{"version":3,"file":"checkbox-group.mjs","sources":["../../../../../../../packages/components/checkbox/src/checkbox-group.vue"],"sourcesContent":["<template>\n  <component\n    :is=\"tag\"\n    :id=\"groupId\"\n    :class=\"ns.b('group')\"\n    role=\"group\"\n    :aria-label=\"\n      !isLabeledByFormItem ? ariaLabel || 'checkbox-group' : undefined\n    \"\n    :aria-labelledby=\"isLabeledByFormItem ? formItem?.labelId : undefined\"\n  >\n    <slot>\n      <el-checkbox\n        v-for=\"(item, index) in props.options\"\n        :key=\"index\"\n        v-bind=\"getOptionProps(item)\"\n      />\n    </slot>\n  </component>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, provide, toRefs, watch } from 'vue'\nimport { isEqual, pick } from 'lodash-unified'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@hd-front-end/constants'\nimport { debugWarn } from '@hd-front-end/utils'\nimport { useNamespace } from '@hd-front-end/hooks'\nimport { useFormItem, useFormItemInputId } from '@hd-front-end/components/form'\nimport {\n  checkboxDefaultProps,\n  checkboxGroupEmits,\n  checkboxGroupProps,\n} from './checkbox-group'\nimport { checkboxGroupContextKey } from './constants'\nimport ElCheckbox from './checkbox.vue'\n\nimport type { CheckboxGroupValueType } from './checkbox-group'\n\ndefineOptions({\n  name: 'ElCheckboxGroup',\n})\n\nconst props = defineProps(checkboxGroupProps)\nconst emit = defineEmits(checkboxGroupEmits)\nconst ns = useNamespace('checkbox')\n\nconst { formItem } = useFormItem()\nconst { inputId: groupId, isLabeledByFormItem } = useFormItemInputId(props, {\n  formItemContext: formItem,\n})\n\nconst changeEvent = async (value: CheckboxGroupValueType) => {\n  emit(UPDATE_MODEL_EVENT, value)\n  await nextTick()\n  emit(CHANGE_EVENT, value)\n}\n\nconst modelValue = computed({\n  get() {\n    return props.modelValue\n  },\n  set(val: CheckboxGroupValueType) {\n    changeEvent(val)\n  },\n})\n\nconst aliasProps = computed(() => ({\n  ...checkboxDefaultProps,\n  ...props.props,\n}))\nconst getOptionProps = (option: Record<string, any>) => {\n  const base = {\n    label: option[aliasProps.value.label],\n    value: option[aliasProps.value.value],\n    disabled: option[aliasProps.value.disabled],\n  }\n  return { ...option, ...base }\n}\n\nprovide(checkboxGroupContextKey, {\n  ...pick(toRefs(props), [\n    'size',\n    'min',\n    'max',\n    'disabled',\n    'validateEvent',\n    'fill',\n    'textColor',\n  ]),\n  modelValue,\n  changeEvent,\n})\n\nwatch(\n  () => props.modelValue,\n  (newVal, oldValue) => {\n    if (props.validateEvent && !isEqual(newVal, oldValue)) {\n      formItem?.validate('change').catch((err) => debugWarn(err))\n    }\n  }\n)\n</script>\n"],"names":["_openBlock","_createBlock","_resolveDynamicComponent","tag","_unref","_normalizeClass","ariaLabel","_renderSlot","_createElementBlock","_Fragment","_renderList","ElCheckbox","_mergeProps"],"mappings":"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"}