UNPKG

hongluan-ui

Version:
70 lines (67 loc) 1.93 kB
import '../../../../hooks/index.mjs'; import '../../../../utils/index.mjs'; import { useCheckboxDisabled } from './use-checkbox-disabled.mjs'; import { useCheckboxEvent } from './use-checkbox-event.mjs'; import { useCheckboxModel } from './use-checkbox-model.mjs'; import { useCheckboxStatus } from './use-checkbox-status.mjs'; import { useFormItem, useFormItemInputId } from '../../../../hooks/use-form-item/index.mjs'; import { isArray } from '@vue/shared'; const useCheckbox = (props, slots) => { const { formItem } = useFormItem(); const { model, isGroup, isLimitExceeded } = useCheckboxModel(props); const { isFocused, isCustom, isRound, isFill, checkboxType, isChecked, checkboxSize, hasOwnLabel, actualValue } = useCheckboxStatus(props, slots, { model }); const { isDisabled } = useCheckboxDisabled({ model, isChecked }); const { inputId, isLabeledByFormItem } = useFormItemInputId(props, { formItemContext: formItem, disableIdGeneration: hasOwnLabel, disableIdManagement: isGroup }); const { handleChange, onClickRoot } = useCheckboxEvent(props, { model, isLimitExceeded, hasOwnLabel, isDisabled, isLabeledByFormItem }); const setStoreValue = () => { function addToStore() { var _a, _b; if (isArray(model.value) && !model.value.includes(actualValue.value)) { model.value.push(actualValue.value); } else { model.value = (_b = (_a = props.trueValue) != null ? _a : props.trueLabel) != null ? _b : true; } } props.checked && addToStore(); }; setStoreValue(); return { inputId, isLabeledByFormItem, isChecked, isDisabled, isFocused, isCustom, isRound, isFill, checkboxType, checkboxSize, hasOwnLabel, model, actualValue, handleChange, onClickRoot }; }; export { useCheckbox }; //# sourceMappingURL=use-checkbox.mjs.map