UNPKG

@vuesax-alpha/nightly

Version:
1 lines 2.53 kB
{"version":3,"file":"option-group2.mjs","sources":["../../../../../../packages/components/select/src/option-group.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is('hidden', !visible)]\">\n <h5>{{ label }}</h5>\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, provide, ref, watch } from 'vue'\nimport { useNamespace } from '@vuesax-alpha/hooks'\nimport { throwError } from '@vuesax-alpha/utils'\nimport { optionGroupProps } from './option-group'\nimport { optionGroupRegisterKey, selectContextKey } from './tokens'\nimport type { SelectOptionContext, SelectOptionValue } from './tokens'\n\ndefineOptions({\n name: 'VsOptionGroup',\n})\n\ndefineProps(optionGroupProps)\n\nconst ns = useNamespace('option-group')\n\nconst select = inject(selectContextKey)\n\nif (!select) {\n throwError(\n 'Option Group',\n '`option-group` component must be called inside `select` component'\n )\n}\n\nconst visible = ref(true)\nconst options = ref<Map<SelectOptionValue, SelectOptionContext>>(new Map())\n\nconst optionsArray = computed(() => Array.from(options.value.values()))\n\nwatch(\n () => select.queryChange,\n () => {\n visible.value = optionsArray.value.some((option) => option.visible === true)\n },\n { flush: 'post' }\n)\n\nprovide(optionGroupRegisterKey, (option: SelectOptionContext) => {\n options.value.set(option.value, option)\n\n return {\n unregister() {\n options.value.delete(option.value)\n },\n }\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;mCAec,CAAA;AAAA,EACZ,IAAM,EAAA,eAAA;AACR,CAAA,CAAA,CAAA;;;;;AAIM,IAAA,MAAA,EAAA,GAAK,aAAa,cAAc,CAAA,CAAA;AAEhC,IAAA,MAAA,MAAA,GAAS,OAAO,gBAAgB,CAAA,CAAA;AAEtC,IAAA,IAAI,CAAC,MAAQ,EAAA;AACX,MAAA,UAAA;AAAA,QACE,cAAA;AAAA,QACA,mEAAA;AAAA,OACF,CAAA;AAAA,KACF;AAEM,IAAA,MAAA,OAAA,GAAU,IAAI,IAAI,CAAA,CAAA;AACxB,IAAA,MAAM,OAAU,GAAA,GAAA,iBAAqD,IAAA,GAAA,EAAK,CAAA,CAAA;AAEpE,IAAA,MAAA,YAAA,GAAe,SAAS,MAAM,KAAA,CAAM,KAAK,OAAQ,CAAA,KAAA,CAAM,MAAO,EAAC,CAAC,CAAA,CAAA;AAEtE,IAAA,KAAA;AAAA,MACE,MAAM,MAAO,CAAA,WAAA;AAAA,MACb,MAAM;AACI,QAAA,OAAA,CAAA,KAAA,GAAQ,aAAa,KAAM,CAAA,IAAA,CAAK,CAAC,MAAW,KAAA,MAAA,CAAO,YAAY,IAAI,CAAA,CAAA;AAAA,OAC7E;AAAA,MACA,EAAE,OAAO,MAAO,EAAA;AAAA,KAClB,CAAA;AAEQ,IAAA,OAAA,CAAA,sBAAA,EAAwB,CAAC,MAAgC,KAAA;AAC/D,MAAA,OAAA,CAAQ,KAAM,CAAA,GAAA,CAAI,MAAO,CAAA,KAAA,EAAO,MAAM,CAAA,CAAA;AAE/B,MAAA,OAAA;AAAA,QACL,UAAa,GAAA;AACH,UAAA,OAAA,CAAA,KAAA,CAAM,MAAO,CAAA,MAAA,CAAO,KAAK,CAAA,CAAA;AAAA,SACnC;AAAA,OACF,CAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}