{"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":";;;;;;;;;;;;AAmBA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,iBAAA;AAAA,EAEN,KAAO,EAAA;AAAA,IACL,UAAY,EAAA;AAAA,MACV,IAAM,EAAA,KAAA;AAAA,MACN,OAAA,EAAS,MAAM,EAAC;AAAA,KAClB;AAAA,IACA,QAAU,EAAA,OAAA;AAAA,IACV,GAAK,EAAA;AAAA,MACH,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,KAAA,CAAA;AAAA,KACX;AAAA,IACA,GAAK,EAAA;AAAA,MACH,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,KAAA,CAAA;AAAA,KACX;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,MAAA;AAAA,MACN,SAAW,EAAA,oBAAA;AAAA,KACb;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,KAAA,CAAA;AAAA,KACX;AAAA,IACA,SAAW,EAAA;AAAA,MACT,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,KAAA,CAAA;AAAA,KACX;AAAA,IACA,GAAK,EAAA;AAAA,MACH,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,KAAA;AAAA,KACX;AAAA,GACF;AAAA,EAEA,KAAA,EAAO,CAAC,kBAAA,EAAoB,QAAQ,CAAA;AAAA,EAEpC,KAAM,CAAA,KAAA,EAAO,EAAE,IAAA,EAAM,KAAS,EAAA,EAAA;AAC5B,IAAM,MAAA,EAAE,eAAe,gBAAiB,EAAA,CAAA;AACxC,IAAA,MAAM,oBAAoB,OAAQ,EAAA,CAAA;AAClC,IAAM,MAAA,EAAA,GAAK,aAAa,UAAU,CAAA,CAAA;AAElC,IAAM,MAAA,WAAA,GAAc,CAAC,KAAU,KAAA;AAC7B,MAAA,IAAA,CAAK,oBAAoB,KAAK,CAAA,CAAA;AAC9B,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,IAAA,CAAK,UAAU,KAAK,CAAA,CAAA;AAAA,OACrB,CAAA,CAAA;AAAA,KACH,CAAA;AAEA,IAAA,MAAM,aAAa,QAAS,CAAA;AAAA,MAC1B,GAAM,GAAA;AACJ,QAAA,OAAO,KAAM,CAAA,UAAA,CAAA;AAAA,OACf;AAAA,MACA,IAAI,GAAK,EAAA;AACP,QAAA,WAAA,CAAY,GAAG,CAAA,CAAA;AAAA,OACjB;AAAA,KACD,CAAA,CAAA;AAED,IAAA,OAAA,CAAQ,eAAiB,EAAA;AAAA,MACvB,IAAM,EAAA,iBAAA;AAAA,MACN,UAAA;AAAA,MAAA,GACG,OAAO,KAAK,CAAA;AAAA,MACf,iBAAA;AAAA,MACA,WAAA;AAAA,KACD,CAAA,CAAA;AAED,IACE,KAAA,CAAA,MAAM,KAAM,CAAA,UAAA,EACZ,MAAM;AACJ,MAAW,IAAA,EAAA,CAAA;AAAkD,MAEjE,CAAA,EAAA,GAAA,UAAA,CAAA,QAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,UAAA,EAAA,QAAA,CAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAA,SAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACA,KAAA,CAAA,CAAA;AACE,IAAO,OAAA;AAEL,MACE,OAAA,CAAA,CAAO,KAAK,CAAO,GAAA,EAAA;AAAA,QACnB,KAAM,EAAA,EAAA,CAAA,CAAA,CAAA,OAAA,CAAA;AAAA,QACN,IAAc,EAAA,OAAA;AAAA,oBAEf,EAAkB,gBAAU;AAC/B,OACF,EAAA,CAAA,UAAA,CAAA,KAAA,EAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACF,CAAA;AACF,GAAC;;;;;;"}