{"version":3,"file":"Checkbox.mjs","sources":["../../../../../../packages/components/checkbox/src/Checkbox.tsx"],"sourcesContent":["import type { EventHandler } from '@antdv/types';\nimport type { CSSProperties } from 'vue';\nimport type { CheckboxChangeEvent } from './interface';\nimport type { CheckboxProps } from './props';\nimport { classNames, devWarning, flattenChildren } from '@antdv/utils';\nimport { VcCheckbox } from '@antdv/vue-components';\nimport {\n  computed,\n  defineComponent,\n  inject,\n  onBeforeUnmount,\n  onMounted,\n  ref,\n  watchEffect,\n} from 'vue';\nimport { useInjectDisabled } from '../../config-provider';\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\nimport { FormItemInputContext, useInjectFormItemContext } from '../../form/src/FormItemContext';\n\nimport useStyle from '../style';\nimport { CheckboxGroupContextKey } from './interface';\n\n// CSSINJS\nimport { checkboxProps } from './props';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'ACheckbox',\n  inheritAttrs: false,\n  __ANT_CHECKBOX: true,\n  props: checkboxProps(),\n  // emits: ['change', 'update:checked'],\n  setup(props, { emit, attrs, slots, expose }) {\n    const formItemContext = useInjectFormItemContext();\n    const formItemInputContext = FormItemInputContext.useInject();\n    const { prefixCls, direction, disabled } = useConfigInject('checkbox', props);\n\n    const contextDisabled = useInjectDisabled();\n    // style\n    const [wrapSSR, hashId] = useStyle(prefixCls);\n\n    const checkboxGroup = inject(CheckboxGroupContextKey, undefined);\n    const uniId = Symbol('checkboxUniId');\n    const mergedDisabled = computed(() => {\n      return checkboxGroup?.disabled.value || disabled.value;\n    });\n    watchEffect(() => {\n      if (!props.skipGroup && checkboxGroup)\n        checkboxGroup.registerValue(uniId, props.value);\n    });\n    onBeforeUnmount(() => {\n      if (checkboxGroup)\n        checkboxGroup.cancelValue(uniId);\n    });\n    onMounted(() => {\n      devWarning(\n        !!(props.checked !== undefined || checkboxGroup || props.value === undefined),\n        'Checkbox',\n        '`value` is not validate prop, do you mean `checked`?',\n      );\n    });\n\n    const handleChange = (event: CheckboxChangeEvent) => {\n      const targetChecked = event.target.checked;\n      emit('update:checked', targetChecked);\n      emit('change', event);\n      formItemContext.onFieldChange();\n    };\n    const checkboxRef = ref();\n    const focus = () => {\n      checkboxRef.value?.focus();\n    };\n    const blur = () => {\n      checkboxRef.value?.blur();\n    };\n    expose({\n      focus,\n      blur,\n    });\n    return () => {\n      const children = flattenChildren(slots.default?.());\n      const { indeterminate, skipGroup, id = formItemContext.id.value, ...restProps } = props;\n      const { onMouseenter, onMouseleave, class: className, style, ...restAttrs } = attrs;\n      const getCheckboxProps: CheckboxProps = {\n        ...restProps,\n        id,\n        prefixCls: prefixCls.value,\n        ...restAttrs,\n        disabled: mergedDisabled.value,\n      };\n      if (checkboxGroup && !skipGroup) {\n        getCheckboxProps.onChange = (...args) => {\n          emit('change', ...args);\n          checkboxGroup.toggleOption({ label: children, value: props.value });\n        };\n        getCheckboxProps.name = checkboxGroup.name.value;\n        getCheckboxProps.checked = checkboxGroup.mergedValue.value.includes(props.value);\n        getCheckboxProps.disabled = mergedDisabled.value || contextDisabled.value;\n        getCheckboxProps.indeterminate = indeterminate;\n      } else {\n        getCheckboxProps.onChange = handleChange;\n      }\n      const classString = classNames(\n        {\n          [`${prefixCls.value}-wrapper`]: true,\n          [`${prefixCls.value}-rtl`]: direction.value === 'rtl',\n          [`${prefixCls.value}-wrapper-checked`]: getCheckboxProps.checked,\n          [`${prefixCls.value}-wrapper-disabled`]: getCheckboxProps.disabled,\n          [`${prefixCls.value}-wrapper-in-form-item`]: formItemInputContext.isFormItemInput,\n        },\n        className,\n        hashId.value,\n      );\n      const checkboxClass = classNames(\n        {\n          [`${prefixCls.value}-indeterminate`]: indeterminate,\n        },\n        hashId.value,\n      );\n      const ariaChecked = indeterminate ? 'mixed' : undefined;\n      return wrapSSR(\n        <label\n          class={classString}\n          style={style as CSSProperties}\n          onMouseenter={onMouseenter as EventHandler}\n          onMouseleave={onMouseleave as EventHandler}\n        >\n          <VcCheckbox\n            aria-checked={ariaChecked}\n            {...getCheckboxProps}\n            class={checkboxClass}\n            ref={checkboxRef}\n          />\n          {children.length ? <span>{children}</span> : null}\n        </label>,\n      );\n    };\n  },\n});\n"],"names":["compatConfig","MODE","name","inheritAttrs","__ANT_CHECKBOX","props","checkboxProps","setup","emit","attrs","slots","expose","formItemContext","useInjectFormItemContext","formItemInputContext","FormItemInputContext","useInject","prefixCls","direction","disabled","useConfigInject","contextDisabled","useInjectDisabled","wrapSSR","hashId","useStyle","checkboxGroup","inject","CheckboxGroupContextKey","undefined","uniId","Symbol","mergedDisabled","computed","value","watchEffect","skipGroup","registerValue","onBeforeUnmount","cancelValue","onMounted","devWarning","checked","handleChange","event","targetChecked","target","onFieldChange","checkboxRef","ref","focus","blur","children","flattenChildren","default","indeterminate","id","restProps","onMouseenter","onMouseleave","class","className","style","restAttrs","getCheckboxProps","onChange","args","toggleOption","label","mergedValue","includes","classString","classNames","isFormItemInput","checkboxClass","ariaChecked","_createVNode","VcCheckbox","length"],"mappings":"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"}