{"version":3,"file":"checkbox-group.mjs","sources":["../../../../../../packages/components/checkbox/src/checkbox-group.vue"],"sourcesContent":["<script lang=\"ts\">\nimport {\n  computed,\n  defineComponent,\n  h,\n  nextTick,\n  provide,\n  renderSlot,\n  toRefs,\n  watch,\n} from 'vue'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { debugWarn, isValidComponentSize } from '@element-plus/utils'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { useCheckboxGroup } from './useCheckbox'\n\nimport type { PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\n\nexport default defineComponent({\n  name: 'ElCheckboxGroup',\n\n  props: {\n    modelValue: {\n      type: Array,\n      default: () => [],\n    },\n    disabled: Boolean,\n    min: {\n      type: Number,\n      default: undefined,\n    },\n    max: {\n      type: Number,\n      default: undefined,\n    },\n    size: {\n      type: String as PropType<ComponentSize>,\n      validator: isValidComponentSize,\n    },\n    fill: {\n      type: String,\n      default: undefined,\n    },\n    textColor: {\n      type: String,\n      default: undefined,\n    },\n    tag: {\n      type: String,\n      default: 'div',\n    },\n  },\n\n  emits: [UPDATE_MODEL_EVENT, 'change'],\n\n  setup(props, { emit, slots }) {\n    const { elFormItem } = useCheckboxGroup()\n    const checkboxGroupSize = useSize()\n    const ns = useNamespace('checkbox')\n\n    const changeEvent = (value) => {\n      emit(UPDATE_MODEL_EVENT, value)\n      nextTick(() => {\n        emit('change', value)\n      })\n    }\n\n    const modelValue = computed({\n      get() {\n        return props.modelValue\n      },\n      set(val) {\n        changeEvent(val)\n      },\n    })\n\n    provide('CheckboxGroup', {\n      name: 'ElCheckboxGroup',\n      modelValue,\n      ...toRefs(props),\n      checkboxGroupSize,\n      changeEvent,\n    })\n\n    watch(\n      () => props.modelValue,\n      () => {\n        elFormItem.validate?.('change').catch((err) => debugWarn(err))\n      }\n    )\n    return () => {\n      return h(\n        props.tag,\n        {\n          class: ns.b('group'),\n          role: 'group',\n          'aria-label': 'checkbox-group',\n        },\n        [renderSlot(slots, 'default')]\n      )\n    }\n  },\n})\n</script>\n"],"names":[],"mappings":"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"}