{"version":3,"file":"checkbox-group.vue2.mjs","sources":["../../../../../packages/components/checkbox/src/checkbox-group.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n  name: 'ElCheckboxGroup'\n});\n</script>\n<template>\n  <component :is=\"tag\" :class=\"ns.b('group')\">\n    <slot>\n      <el-checkbox v-for=\"item of items\" :key=\"item.value\" :value=\"item.value\">\n        {{ item.label }}\n      </el-checkbox>\n    </slot>\n  </component>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, provide, ref } from 'vue'\nimport { useEventWatch, useFormItem, useNamespace } from '@element-ultra/hooks'\nimport { checkboxGroupProps, checkboxGroupEmit } from './checkbox-group'\nimport { checkboxGroupInjectionKey } from './token'\nimport ElCheckbox from './checkbox.vue'\n\n\n\nconst ns = useNamespace('checkbox')\n\nconst props = defineProps(checkboxGroupProps)\nconst emit = defineEmits(checkboxGroupEmit)\n\nlet checkedValue = ref(new Set<string | number>())\nlet checkedLabel = ref(new Set<string | number>())\n\nconst { formItem, form } = useFormItem()\n\nconst handleItemChange = (\n  checked: boolean,\n  value: string | number,\n  label: string | number\n) => {\n  run(() => {\n    checkedValue.value[checked ? 'add' : 'delete'](value)\n    checkedLabel.value[checked ? 'add' : 'delete'](label)\n\n    const modelValue = Array.from(checkedValue.value)\n    const labelValue = Array.from(checkedValue.value)\n\n    emit('update:modelValue', modelValue)\n    emit('change', modelValue, labelValue)\n    formItem?.validate()\n  })\n}\n\nconst groupDisabled = computed(() => {\n  return props.disabled || form?.props.disabled\n})\n\nconst [run] = useEventWatch(\n  () => props.modelValue,\n  {\n    onChangeNotByEvent: v => (checkedValue.value = new Set(v))\n  },\n  {\n    immediate: true\n  }\n)\n\nprovide(checkboxGroupInjectionKey, {\n  isGroup: true,\n  groupDisabled,\n  groupProps: props,\n  groupCheckedSet: checkedValue,\n  handleItemChange\n})\n</script>\n"],"names":["__MACROS_defineComponent"],"mappings":";;;;;;;;;AAEA,MAA6B,cAAAA,eAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,iBAAA;AACR,CAAC,CAAA,CAAA;;;;;;;AAqBD,IAAM,MAAA,EAAA,GAAK,aAAa,UAAU,CAAA,CAAA;AAKlC,IAAA,IAAI,YAAe,GAAA,GAAA,iBAAQ,IAAA,GAAA,EAAsB,CAAA,CAAA;AACjD,IAAA,IAAI,YAAe,GAAA,GAAA,iBAAQ,IAAA,GAAA,EAAsB,CAAA,CAAA;AAEjD,IAAA,MAAM,EAAE,QAAA,EAAU,IAAK,EAAA,GAAI,WAAY,EAAA,CAAA;AAEvC,IAAA,MAAM,gBAAmB,GAAA,CACvB,OACA,EAAA,KAAA,EACA,KACG,KAAA;AACH,MAAA,GAAA,CAAI,MAAM;AACR,QAAA,YAAA,CAAa,KAAM,CAAA,OAAA,GAAU,KAAQ,GAAA,QAAQ,EAAE,KAAK,CAAA,CAAA;AACpD,QAAA,YAAA,CAAa,KAAM,CAAA,OAAA,GAAU,KAAQ,GAAA,QAAQ,EAAE,KAAK,CAAA,CAAA;AAEpD,QAAA,MAAM,UAAa,GAAA,KAAA,CAAM,IAAK,CAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AAChD,QAAA,MAAM,UAAa,GAAA,KAAA,CAAM,IAAK,CAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AAEhD,QAAA,IAAA,CAAK,qBAAqB,UAAU,CAAA,CAAA;AACpC,QAAK,IAAA,CAAA,QAAA,EAAU,YAAY,UAAU,CAAA,CAAA;AACrC,QAAU,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,QAAA,EAAA,CAAA;AAAA,OACX,CAAA,CAAA;AAAA,KACH,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgB,SAAS,MAAM;AACnC,MAAO,OAAA,KAAA,CAAM,QAAY,KAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,KAAM,CAAA,QAAA,CAAA,CAAA;AAAA,KACtC,CAAA,CAAA;AAED,IAAM,MAAA,CAAC,GAAG,CAAI,GAAA,aAAA;AAAA,MACZ,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ;AAAA,QACE,oBAAoB,CAAM,CAAA,KAAA,YAAA,CAAa,KAAQ,GAAA,IAAI,IAAI,CAAC,CAAA;AAAA,OAC1D;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAA,OAAA,CAAQ,yBAA2B,EAAA;AAAA,MACjC,OAAS,EAAA,IAAA;AAAA,MACT,aAAA;AAAA,MACA,UAAY,EAAA,KAAA;AAAA,MACZ,eAAiB,EAAA,YAAA;AAAA,MACjB,gBAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}