ideaz-element
Version:
<p align="center"> <a href="" target="_blank" rel="noopener noreferrer"> <img src="./docs/public/logo.svg" alt="Ideaz Element" width="180" style="width: 180px;" /> </a> </p>
1 lines • 3.95 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../../packages/element/select/src/index.tsx"],"sourcesContent":["import { ElOption, ElOptionGroup, ElSelect } from 'element-plus'\nimport { isArray, isFunction, isSlot } from '@ideaz/utils'\nimport { get } from 'lodash-unified'\nimport type { Slots } from '../../types'\nimport { useOptions, useSelectMethods } from './hooks'\nimport type { SelectOptionsItem } from './props'\nimport { SELECT_SLOTS, selectProps } from './props'\n\nexport default defineComponent({\n name: 'ZSelect',\n props: selectProps,\n emits: ['input', 'update:modelValue'],\n setup(props, { emit, slots }) {\n const { vModelVal } = useVModel(props, emit)\n const { focus, blur } = useSelectMethods()\n const { scopedSlots } = useFormComponentSlots(props, slots, SELECT_SLOTS)\n const { options, handleSelectInput } = useOptions(props, vModelVal)\n const size = useFormSize()\n const attrs = useAttrs()\n\n useExpose({ focus, blur })\n\n const getOption = (option: SelectOptionsItem) => {\n const value = get(option, props.alias?.value || 'value', '')\n const optionSlot: Slots = {}\n if (isSlot(option.render) && slots[option.render as string])\n optionSlot.default = () => slots[option.render as string]!({ option })\n\n return (\n <ElOption\n key={value}\n label={get(option, props.alias?.label || 'label', '')}\n disabled={get(option, props.alias?.disabled || 'disabled', false)}\n value={value}\n v-slots={optionSlot}\n >\n {isFunction(option.render) ? option.render({ option }) : null}\n </ElOption>\n )\n }\n\n return () => (\n <ElSelect\n ref=\"selectRef\"\n modelValue={vModelVal.value}\n {...{ ...attrs, multiple: props.multiple }}\n size={size.value}\n onUpdate:modelValue={handleSelectInput}\n v-slots={scopedSlots.value}\n >\n {options.value.map((option) => {\n if (isArray(option.options)) {\n return (\n <ElOptionGroup label={option.label} key={option.label} disabled={option.disabled}>\n {option.options.map((childOption) => {\n return getOption(childOption)\n })}\n </ElOptionGroup>\n )\n }\n return getOption(option)\n })}\n </ElSelect>\n )\n },\n})\n"],"names":["_isSlot","s","isVNode","Select","defineComponent","name","props","emits","slots","vModelVal","useVModel","emit","blur","scopedSlots","handleSelectInput","useOptions","size","useFormSize","attrs","useAttrs","useExpose","value","get","option","_a","_b","_c","default","createVNode","ElSelect","mergeProps","isArray","_slot"],"mappings":";;;;;;;;;;;;;;AAMmD,SAAAA,EAAAC,GAAA;AAAA,SAAA,OAAAA,KAAA,cAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,MAAA,qBAAA,CAAAC,EAAAD,CAAA;AAAA;AAEnD,MAAAE,IAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,OAAAA,CAAAA,SAAAA,mBAAAA;AAAAA;;IACqBC,OAAAA;AAAAA,EAAM,GAAA;;MACjBC,WAAAA;AAAAA,IAAU,IAAAC,EAAAJ,GAAAK,CAAA;;MACHC,MAAAA;AAAAA;MACPC,aAAAA;AAAAA;;MACSC,mBAAAA;AAAAA,IAAkB,IAAAC,EAAAT,GAAAG,CAAA,GACnCO,IAAAC,EAAA,GACAC,IAAAC,EAAA;AAEAC,IAAAA,EAAAA;AAAAA;MAAmBR,MAAAA;AAAAA,IAAK,CAAA;;;AAGtB,YAAAS,IAAAC,EAAAC,KAAAC,IAAAlB,EAAA,UAAA,gBAAAkB,EAAA,UAAA,SAAA,EAAA;;QAG+DD,QAAAA;AAAAA,MAAO,CAAA;QAEtE,KAAAF;AAAA,QAEc,OAAAC,EAAAC,KAAAE,IAAAnB,EAAA,UAAA,gBAAAmB,EAAA,UAAA,SAAA,EAAA;AAAA,QAC2C,UAAAH,EAAAC,KAAAG,IAAApB,EAAA,UAAA,gBAAAoB,EAAA,aAAA,YAAA,EAAA;AAAA;MAEzC,GAAA;AAAA,QAAAC,SAAAA,MAAAA,CAAAA,EAAAA,EAAAA,MAAAA,IAAAA,EAAAA,OAAAA;AAAAA,UAGiCJ,QAAAA;AAAAA;;MAF1B,CAAA;AAAA;AAOzB,WAAA,MAAAK,EAAAC,GAAAC,EAAA;AAAA,MAAO,KAAA;AAAA,MAAA,YAAArB,EAAA;AAAA,IAGwB,GAAA;AAAA,MACrB,GAAAS;AAAA;IAAkC,GAAA;AAAA;;IAEF,CAAA,GAAA;AAAA;AAIpC,YAAAa,EAAAR,EAAA,OAAA,GAAA;AAA6B,cAAAS;;;;YAE4B,UAAAT,EAAA;AAAA;;UAGjD,CAAA;AAAA,QAGR;;MAEF,CAAA,CAAA;AAAA,MAAE,GAAAV,EAAA;AAAA;EAGR;AACF,CAAA;"}