element-plus
Version:
A Component Library for Vue 3
1 lines • 2.96 kB
Source Map (JSON)
{"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=\"!isLabeledByFormItem ? label || 'checkbox-group' : undefined\"\n :aria-labelledby=\"isLabeledByFormItem ? elFormItem.labelId : undefined\"\n >\n <slot />\n </component>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, provide, toRefs, watch } from 'vue'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { debugWarn } from '@element-plus/utils'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport {\n checkboxGroupEmits,\n useCheckboxGroup,\n useCheckboxGroupId,\n useCheckboxGroupProps,\n} from './checkbox'\nimport type { CheckboxValueType } from './checkbox'\n\ndefineOptions({\n name: 'ElCheckboxGroup',\n})\n\nconst props = defineProps(useCheckboxGroupProps)\nconst emit = defineEmits(checkboxGroupEmits)\n\nconst { elFormItem } = useCheckboxGroup()\nconst { groupId, isLabeledByFormItem } = useCheckboxGroupId(props, {\n elFormItem,\n})\nconst checkboxGroupSize = useSize()\nconst ns = useNamespace('checkbox')\n\nconst changeEvent = (value: CheckboxValueType[]) => {\n emit(UPDATE_MODEL_EVENT, value)\n nextTick(() => {\n emit('change', value)\n })\n}\n\nconst modelValue = computed({\n get() {\n return props.modelValue\n },\n set(val: CheckboxValueType[]) {\n changeEvent(val)\n },\n})\n\nprovide('CheckboxGroup', {\n name: 'ElCheckboxGroup',\n ...toRefs(props),\n modelValue,\n checkboxGroupSize,\n changeEvent,\n})\n\nwatch(\n () => props.modelValue,\n () => {\n if (props.validateEvent) {\n elFormItem.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAiCA,IAAA,MAAA,EAAA,eAAA,gBAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,OAAA,EAAA,mBAAA,EAAA,GAAA,kBAAA,CAAA,KAAA,EAAA;AAAA,MACA,UAAA;AAAA,KACA,CAAA,CAAA;AACA,IAAA,MAAA,oBAAA,OAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,UAAA,CAAA,CAAA;AAEA,IAAA,MAAA,WAAA,GAAA,CAAA,KAAA,KAAA;AACA,MAAA,IAAA,CAAA,oBAAA,KAAA,CAAA,CAAA;AACA,MAAA,QAAA,CAAA,MAAA;AACA,QAAA,IAAA,CAAA,UAAA,KAAA,CAAA,CAAA;AAAA,OACA,CAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,MAAA,aAAA,QAAA,CAAA;AAAA,MACA,GAAA,GAAA;AACA,QAAA,OAAA,KAAA,CAAA,UAAA,CAAA;AAAA,OACA;AAAA,MACA,IAAA,GAAA,EAAA;AACA,QAAA,WAAA,CAAA,GAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,OAAA,CAAA,eAAA,EAAA;AAAA,MACA,IAAA,EAAA,iBAAA;AAAA,MACA,GAAA,OAAA,KAAA,CAAA;AAAA,MACA,UAAA;AAAA,MACA,iBAAA;AAAA,MACA,WAAA;AAAA,KACA,CAAA,CAAA;AAEA,IACA,KAAA,CAAA,MAAA,KAAA,CAAA,UAAA,EACA,MAAA;AACA,MAAA,IAAA;AACA,MAAA,IAAA,KAAA,CAAA,aAAA;AAAA,QACA,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;AAAA,OAEA;;;;;;;;;;;;;;;;;;;;;;"}