UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 5.07 kB
{"version":3,"file":"use-checkbox.mjs","sources":["../../../../../../../packages/components/checkbox/src/composables/use-checkbox.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { useFormItem, useFormItemInputId } from '@element-plus/components/form'\nimport { isArray, isPropAbsent } from '@element-plus/utils'\nimport { useDeprecated } from '@element-plus/hooks'\nimport { useCheckboxDisabled } from './use-checkbox-disabled'\nimport { useCheckboxEvent } from './use-checkbox-event'\nimport { useCheckboxModel } from './use-checkbox-model'\nimport { useCheckboxStatus } from './use-checkbox-status'\n\nimport type { ComponentInternalInstance } from 'vue'\nimport type { CheckboxProps } from '../checkbox'\n\nexport const useCheckbox = (\n props: CheckboxProps,\n slots: ComponentInternalInstance['slots']\n) => {\n const { formItem: elFormItem } = useFormItem()\n const { model, isGroup, isLimitExceeded } = useCheckboxModel(props)\n const {\n isFocused,\n isChecked,\n checkboxButtonSize,\n checkboxSize,\n hasOwnLabel,\n actualValue,\n } = useCheckboxStatus(props, slots, { model })\n const { isDisabled } = useCheckboxDisabled({ model, isChecked })\n const { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n disableIdGeneration: hasOwnLabel,\n disableIdManagement: isGroup,\n })\n const { handleChange, onClickRoot } = useCheckboxEvent(props, {\n model,\n isLimitExceeded,\n hasOwnLabel,\n isDisabled,\n isLabeledByFormItem,\n })\n\n const setStoreValue = () => {\n function addToStore() {\n if (isArray(model.value) && !model.value.includes(actualValue.value)) {\n model.value.push(actualValue.value)\n } else {\n model.value = props.trueValue ?? props.trueLabel ?? true\n }\n }\n props.checked && addToStore()\n }\n\n setStoreValue()\n\n useDeprecated(\n {\n from: 'label act as value',\n replacement: 'value',\n version: '3.0.0',\n scope: 'el-checkbox',\n ref: 'https://element-plus.org/en-US/component/checkbox.html',\n },\n computed(() => isGroup.value && isPropAbsent(props.value))\n )\n\n useDeprecated(\n {\n from: 'true-label',\n replacement: 'true-value',\n version: '3.0.0',\n scope: 'el-checkbox',\n ref: 'https://element-plus.org/en-US/component/checkbox.html',\n },\n computed(() => !!props.trueLabel)\n )\n\n useDeprecated(\n {\n from: 'false-label',\n replacement: 'false-value',\n version: '3.0.0',\n scope: 'el-checkbox',\n ref: 'https://element-plus.org/en-US/component/checkbox.html',\n },\n computed(() => !!props.falseLabel)\n )\n\n return {\n inputId,\n isLabeledByFormItem,\n isChecked,\n isDisabled,\n isFocused,\n checkboxButtonSize,\n checkboxSize,\n hasOwnLabel,\n model,\n actualValue,\n handleChange,\n onClickRoot,\n }\n}\n"],"names":[],"mappings":"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"}