{"version":3,"file":"VCheckbox.mjs","names":["makeVCheckboxBtnProps","VCheckboxBtn","makeVInputProps","VInput","useFocus","useProxiedModel","computed","filterInputAttrs","genericComponent","getUid","omit","propsFactory","useRender","makeVCheckboxProps","VCheckbox","name","inheritAttrs","props","emits","value","focused","setup","_ref","attrs","slots","model","isFocused","focus","blur","uid","id","rootAttrs","controlAttrs","inputProps","filterProps","checkboxProps","_createVNode","_mergeProps","class","$event","style","default","_ref2","messagesId","isDisabled","isReadonly"],"sources":["../../../src/components/VCheckbox/VCheckbox.tsx"],"sourcesContent":["// Styles\nimport './VCheckbox.sass'\n\n// Components\nimport { makeVCheckboxBtnProps, VCheckboxBtn } from './VCheckboxBtn'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { filterInputAttrs, genericComponent, getUid, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VSelectionControlSlots } from '../VSelectionControl/VSelectionControl'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { GenericProps } from '@/util'\n\nexport type VCheckboxSlots = Omit<VInputSlots, 'default'> & VSelectionControlSlots\n\nexport const makeVCheckboxProps = propsFactory({\n  ...makeVInputProps(),\n  ...omit(makeVCheckboxBtnProps(), ['inline']),\n}, 'VCheckbox')\n\nexport const VCheckbox = genericComponent<new <T>(\n  props: {\n    modelValue?: T | null\n    'onUpdate:modelValue'?: (value: T | null) => void\n  },\n  slots: VCheckboxSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n  name: 'VCheckbox',\n\n  inheritAttrs: false,\n\n  props: makeVCheckboxProps(),\n\n  emits: {\n    'update:modelValue': (value: any) => true,\n    'update:focused': (focused: boolean) => true,\n  },\n\n  setup (props, { attrs, slots }) {\n    const model = useProxiedModel(props, 'modelValue')\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 [rootAttrs, controlAttrs] = filterInputAttrs(attrs)\n      const inputProps = VInput.filterProps(props)\n      const checkboxProps = VCheckboxBtn.filterProps(props)\n\n      return (\n        <VInput\n          class={[\n            'v-checkbox',\n            props.class,\n          ]}\n          { ...rootAttrs }\n          { ...inputProps }\n          v-model={ model.value }\n          id={ id.value }\n          focused={ isFocused.value }\n          style={ props.style }\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                v-model={ model.value }\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,SACSA,qBAAqB,EAAEC,YAAY;AAAA,SACnCC,eAAe,EAAEC,MAAM,gCAEhC;AAAA,SACSC,QAAQ;AAAA,SACRC,eAAe,8CAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,gBAAgB,EAAEC,MAAM,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAElF;AAOA,OAAO,MAAMC,kBAAkB,GAAGF,YAAY,CAAC;EAC7C,GAAGT,eAAe,CAAC,CAAC;EACpB,GAAGQ,IAAI,CAACV,qBAAqB,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC;AAC7C,CAAC,EAAE,WAAW,CAAC;AAEf,OAAO,MAAMc,SAAS,GAAGN,gBAAgB,CAMM,CAAC,CAAC;EAC/CO,IAAI,EAAE,WAAW;EAEjBC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAEJ,kBAAkB,CAAC,CAAC;EAE3BK,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK,IAAI;IACzC,gBAAgB,EAAGC,OAAgB,IAAK;EAC1C,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAoB;IAAA,IAAlB;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC5B,MAAMG,KAAK,GAAGpB,eAAe,CAACY,KAAK,EAAE,YAAY,CAAC;IAClD,MAAM;MAAES,SAAS;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAGxB,QAAQ,CAACa,KAAK,CAAC;IAElD,MAAMY,GAAG,GAAGpB,MAAM,CAAC,CAAC;IACpB,MAAMqB,EAAE,GAAGxB,QAAQ,CAAC,MAAMW,KAAK,CAACa,EAAE,IAAK,YAAWD,GAAI,EAAC,CAAC;IAExDjB,SAAS,CAAC,MAAM;MACd,MAAM,CAACmB,SAAS,EAAEC,YAAY,CAAC,GAAGzB,gBAAgB,CAACgB,KAAK,CAAC;MACzD,MAAMU,UAAU,GAAG9B,MAAM,CAAC+B,WAAW,CAACjB,KAAK,CAAC;MAC5C,MAAMkB,aAAa,GAAGlC,YAAY,CAACiC,WAAW,CAACjB,KAAK,CAAC;MAErD,OAAAmB,YAAA,CAAAjC,MAAA,EAAAkC,WAAA;QAAA,SAEW,CACL,YAAY,EACZpB,KAAK,CAACqB,KAAK;MACZ,GACIP,SAAS,EACTE,UAAU;QAAA,cACLR,KAAK,CAACN,KAAK;QAAA,uBAAAoB,MAAA,IAAXd,KAAK,CAACN,KAAK,GAAAoB,MAAA;QAAA,MAChBT,EAAE,CAACX,KAAK;QAAA,WACHO,SAAS,CAACP,KAAK;QAAA,SACjBF,KAAK,CAACuB;MAAK;QAGjB,GAAGhB,KAAK;QACRiB,OAAO,EAAEC,KAAA;UAAA,IAAC;YACRZ,EAAE;YACFa,UAAU;YACVC,UAAU;YACVC;UACF,CAAC,GAAAH,KAAA;UAAA,OAAAN,YAAA,CAAAnC,YAAA,EAAAoC,WAAA,CAEQF,aAAa;YAAA,MACbL,EAAE,CAACX,KAAK;YAAA,oBACMwB,UAAU,CAACxB,KAAK;YAAA,YACxByB,UAAU,CAACzB,KAAK;YAAA,YAChB0B,UAAU,CAAC1B;UAAK,GACtBa,YAAY;YAAA,cACPP,KAAK,CAACN,KAAK;YAAA,uBAAAoB,MAAA,IAAXd,KAAK,CAACN,KAAK,GAAAoB,MAAA;YAAA,WACXZ,KAAK;YAAA,UACNC;UAAI,IACHJ,KAAK;QAAA;MAElB;IAIT,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}