element-plus
Version:
A Component Library for Vue 3
1 lines • 4.38 kB
Source Map (JSON)
{"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;;;;;;"}