{"version":3,"file":"VCheckbox.mjs","names":["filterInputProps","makeVInputProps","VInput","filterCheckboxBtnProps","makeVCheckboxBtnProps","VCheckboxBtn","useFocus","computed","filterInputAttrs","genericComponent","getUid","useRender","VCheckbox","name","inheritAttrs","props","emits","focused","setup","attrs","slots","isFocused","focus","blur","uid","id","inputAttrs","controlAttrs","inputProps","_1","checkboxProps","_2","value","default","messagesId","isDisabled","isReadonly"],"sources":["../../../src/components/VCheckbox/VCheckbox.tsx"],"sourcesContent":["// Styles\nimport './VCheckbox.sass'\n\n// Components\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { filterCheckboxBtnProps, makeVCheckboxBtnProps, VCheckboxBtn } from './VCheckboxBtn'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\n\n// Utilities\nimport { computed } from 'vue'\nimport { filterInputAttrs, genericComponent, getUid, useRender } from '@/util'\n\n// Types\nimport type { VSelectionControlSlots } from '../VSelectionControl/VSelectionControl'\n\nexport type VCheckboxSlots = VInputSlots & VSelectionControlSlots\n\nexport const VCheckbox = genericComponent<VCheckboxSlots>()({\n  name: 'VCheckbox',\n\n  inheritAttrs: false,\n\n  props: {\n    ...makeVInputProps(),\n    ...makeVCheckboxBtnProps(),\n  },\n\n  emits: {\n    'update:focused': (focused: boolean) => true,\n  },\n\n  setup (props, { attrs, slots }) {\n    const { isFocused, focus, blur } = useFocus(props)\n\n    const uid = getUid()\n    const id = computed(() => props.id || `checkbox-${uid}`)\n\n    useRender(() => {\n      const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n      const [inputProps, _1] = filterInputProps(props)\n      const [checkboxProps, _2] = filterCheckboxBtnProps(props)\n\n      return (\n        <VInput\n          class=\"v-checkbox\"\n          { ...inputAttrs }\n          { ...inputProps }\n          id={ id.value }\n          focused={ isFocused.value }\n        >\n          {{\n            ...slots,\n            default: ({\n              id,\n              messagesId,\n              isDisabled,\n              isReadonly,\n            }) => (\n              <VCheckboxBtn\n                { ...checkboxProps }\n                id={ id.value }\n                aria-describedby={ messagesId.value }\n                disabled={ isDisabled.value }\n                readonly={ isReadonly.value }\n                { ...controlAttrs }\n                onFocus={ focus }\n                onBlur={ blur }\n                v-slots={ slots }\n              />\n            ),\n          }}\n        </VInput>\n      )\n    })\n\n    return {}\n  },\n})\n\nexport type VCheckbox = InstanceType<typeof VCheckbox>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SAESA,gBAAgB,EAAEC,eAAe,EAAEC,MAAM;AAAA,SACzCC,sBAAsB,EAAEC,qBAAqB,EAAEC,YAAY,8BAEpE;AAAA,SACSC,QAAQ,uCAEjB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,gBAAgB,EAAEC,MAAM,EAAEC,SAAS,gCAE9D;AAKA,OAAO,MAAMC,SAAS,GAAGH,gBAAgB,EAAkB,CAAC;EAC1DI,IAAI,EAAE,WAAW;EAEjBC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAE;IACL,GAAGd,eAAe,EAAE;IACpB,GAAGG,qBAAqB;EAC1B,CAAC;EAEDY,KAAK,EAAE;IACL,gBAAgB,EAAGC,OAAgB,IAAK;EAC1C,CAAC;EAEDC,KAAK,CAAEH,KAAK,QAAoB;IAAA,IAAlB;MAAEI,KAAK;MAAEC;IAAM,CAAC;IAC5B,MAAM;MAAEC,SAAS;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAGjB,QAAQ,CAACS,KAAK,CAAC;IAElD,MAAMS,GAAG,GAAGd,MAAM,EAAE;IACpB,MAAMe,EAAE,GAAGlB,QAAQ,CAAC,MAAMQ,KAAK,CAACU,EAAE,IAAK,YAAWD,GAAI,EAAC,CAAC;IAExDb,SAAS,CAAC,MAAM;MACd,MAAM,CAACe,UAAU,EAAEC,YAAY,CAAC,GAAGnB,gBAAgB,CAACW,KAAK,CAAC;MAC1D,MAAM,CAACS,UAAU,EAAEC,EAAE,CAAC,GAAG7B,gBAAgB,CAACe,KAAK,CAAC;MAChD,MAAM,CAACe,aAAa,EAAEC,EAAE,CAAC,GAAG5B,sBAAsB,CAACY,KAAK,CAAC;MAEzD;QAAA,SAEU;MAAY,GACbW,UAAU,EACVE,UAAU;QAAA,MACVH,EAAE,CAACO,KAAK;QAAA,WACHX,SAAS,CAACW;MAAK;QAGvB,GAAGZ,KAAK;QACRa,OAAO,EAAE;UAAA,IAAC;YACRR,EAAE;YACFS,UAAU;YACVC,UAAU;YACVC;UACF,CAAC;UAAA,8CAEQN,aAAa;YAAA,MACbL,EAAE,CAACO,KAAK;YAAA,oBACME,UAAU,CAACF,KAAK;YAAA,YACxBG,UAAU,CAACH,KAAK;YAAA,YAChBI,UAAU,CAACJ;UAAK,GACtBL,YAAY;YAAA,WACPL,KAAK;YAAA,UACNC;UAAI,IACHH,KAAK;QAAA;MAElB;IAIT,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}