You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 lines
20 KiB

{"ast":null,"code":"import { defineComponent, inject, ref, computed, watch, unref, createVNode, mergeProps, toRaw } from 'vue';\nimport { get } from 'lodash-unified';\nimport GroupItem from './group-item.mjs';\nimport OptionItem from './option-item.mjs';\nimport { useProps } from './useProps.mjs';\nimport { selectV2InjectionKey } from './token.mjs';\nimport FixedSizeList from '../../virtual-list/src/components/fixed-size-list.mjs';\nimport DynamicSizeList from '../../virtual-list/src/components/dynamic-size-list.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { isUndefined } from '../../../utils/types.mjs';\nimport { EVENT_CODE } from '../../../constants/aria.mjs';\nimport { isObject } from '@vue/shared';\nconst props = {\n loading: Boolean,\n data: {\n type: Array,\n required: true\n },\n hoveringIndex: Number,\n width: Number\n};\nvar ElSelectMenu = defineComponent({\n name: \"ElSelectDropdown\",\n props,\n setup(props2, {\n slots,\n expose\n }) {\n const select = inject(selectV2InjectionKey);\n const ns = useNamespace(\"select\");\n const {\n getLabel,\n getValue,\n getDisabled\n } = useProps(select.props);\n const cachedHeights = ref([]);\n const listRef = ref();\n const size = computed(() => props2.data.length);\n watch(() => size.value, () => {\n var _a, _b;\n (_b = (_a = select.tooltipRef.value).updatePopper) == null ? void 0 : _b.call(_a);\n });\n const isSized = computed(() => isUndefined(select.props.estimatedOptionHeight));\n const listProps = computed(() => {\n if (isSized.value) {\n return {\n itemSize: select.props.itemHeight\n };\n }\n return {\n estimatedSize: select.props.estimatedOptionHeight,\n itemSize: idx => cachedHeights.value[idx]\n };\n });\n const contains = (arr = [], target) => {\n const {\n props: {\n valueKey\n }\n } = select;\n if (!isObject(target)) {\n return arr.includes(target);\n }\n return arr && arr.some(item => {\n return toRaw(get(item, valueKey)) === get(target, valueKey);\n });\n };\n const isEqual = (selected, target) => {\n if (!isObject(target)) {\n return selected === target;\n } else {\n const {\n valueKey\n } = select.props;\n return get(selected, valueKey) === get(target, valueKey);\n }\n };\n const isItemSelected = (modelValue, target) => {\n if (select.props.multiple) {\n return contains(modelValue, getValue(target));\n }\n return isEqual(modelValue, getValue(target));\n };\n const isItemDisabled = (modelValue, selected) => {\n const {\n disabled,\n multiple,\n multipleLimit\n } = select.props;\n return disabled || !selected && (multiple ? multipleLimit > 0 && modelValue.length >= multipleLimit : false);\n };\n const isItemHovering = target => props2.hoveringIndex === target;\n const scrollToItem = index => {\n const list = listRef.value;\n if (list) {\n list.scrollToItem(index);\n }\n };\n const resetScrollTop = () => {\n const list = listRef.value;\n if (list) {\n list.resetScrollTop();\n }\n };\n const exposed = {\n listRef,\n isSized,\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n scrollToItem,\n resetScrollTop\n };\n expose(exposed);\n const Item = itemProps => {\n const {\n index,\n data,\n style\n } = itemProps;\n const sized = unref(isSized);\n const {\n itemSize,\n estimatedSize\n } = unref(listProps);\n const {\n modelValue\n } = select.props;\n const {\n onSelect,\n onHover\n } = select;\n const item = data[index];\n if (item.type === \"Group\") {\n return createVNode(GroupItem, {\n \"item\": item,\n \"style\": style,\n \"height\": sized ? itemSize : estimatedSize\n }, null);\n }\n const isSelected = isItemSelected(modelValue, item);\n const isDisabled = isItemDisabled(modelValue, isSelected);\n const isHovering = isItemHovering(index);\n return createVNode(OptionItem, mergeProps(itemProps, {\n \"selected\": isSelected,\n \"disabled\": getDisabled(item) || isDisabled,\n \"created\": !!item.created,\n \"hovering\": isHovering,\n \"item\": item,\n \"onSelect\": onSelect,\n \"onHover\": onHover\n }), {\n default: props3 => {\n var _a;\n return ((_a = slots.default) == null ? void 0 : _a.call(slots, props3)) || createVNode(\"span\", null, [getLabel(item)]);\n }\n });\n };\n const {\n onKeyboardNavigate,\n onKeyboardSelect\n } = select;\n const onForward = () => {\n onKeyboardNavigate(\"forward\");\n };\n const onBackward = () => {\n onKeyboardNavigate(\"backward\");\n };\n const onKeydown = e => {\n const {\n code\n } = e;\n const {\n tab,\n esc,\n down,\n up,\n enter,\n numpadEnter\n } = EVENT_CODE;\n if (code !== tab) {\n e.preventDefault();\n e.stopPropagation();\n }\n switch (code) {\n case tab:\n case esc:\n break;\n case down:\n onForward();\n break;\n case up:\n onBackward();\n break;\n case enter:\n case numpadEnter:\n onKeyboardSelect();\n break;\n }\n };\n return () => {\n var _a, _b, _c, _d;\n const {\n data,\n width\n } = props2;\n const {\n height,\n multiple,\n scrollbarAlwaysOn\n } = select.props;\n const List = unref(isSized) ? FixedSizeList : DynamicSizeList;\n return createVNode(\"div\", {\n \"class\": [ns.b(\"dropdown\"), ns.is(\"multiple\", multiple)],\n \"style\": {\n width: `${width}px`\n }\n }, [(_a = slots.header) == null ? void 0 : _a.call(slots), ((_b = slots.loading) == null ? void 0 : _b.call(slots)) || ((_c = slots.empty) == null ? void 0 : _c.call(slots)) || createVNode(List, mergeProps({\n \"ref\": listRef\n }, unref(listProps), {\n \"className\": ns.be(\"dropdown\", \"list\"),\n \"scrollbarAlwaysOn\": scrollbarAlwaysOn,\n \"data\": data,\n \"height\": height,\n \"width\": width,\n \"total\": data.length,\n \"onKeydown\": onKeydown\n }), {\n default: props3 => createVNode(Item, props3, null)\n }), (_d = slots.footer) == null ? void 0 : _d.call(slots)]);\n };\n }\n});\nexport { ElSelectMenu as default };","map":{"version":3,"names":["props","loading","Boolean","data","type","Array","required","hoveringIndex","Number","width","ElSelectMenu","defineComponent","name","slots","expose","select","inject","selectV2InjectionKey","ns","useNamespace","getLabel","getValue","getDisabled","useProps","cachedHeights","ref","listRef","size","computed","props2","length","watch","value","_a","_b","tooltipRef","updatePopper","call","isSized","isUndefined","estimatedOptionHeight","listProps","itemSize","itemHeight","estimatedSize","idx","contains","arr","target","valueKey","isObject","includes","some","item","toRaw","get","isEqual","selected","isItemSelected","modelValue","multiple","isItemDisabled","disabled","multipleLimit","isItemHovering","scrollToItem","index","list","resetScrollTop","exposed","Item","itemProps","style","sized","unref","onSelect","onHover","createVNode","GroupItem","isSelected","isDisabled","isHovering","OptionItem","mergeProps","created","default","props3","onKeyboardNavigate","onKeyboardSelect","onForward","onBackward","onKeydown","e","tab","esc","down","enter","numpadEnter","EVENT_CODE","preventDefault","stopPropagation","up","_c","_d","height","b","is","header","empty","List","be","scrollbarAlwaysOn","footer"],"sources":["../../../../../../packages/components/select-v2/src/select-dropdown.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n ref,\n toRaw,\n unref,\n watch,\n} from 'vue'\nimport { get } from 'lodash-unified'\nimport { isObject, isUndefined } from '@element-plus/utils'\nimport {\n DynamicSizeList,\n FixedSizeList,\n} from '@element-plus/components/virtual-list'\nimport { useNamespace } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport GroupItem from './group-item.vue'\nimport OptionItem from './option-item.vue'\nimport { useProps } from './useProps'\n\nimport { selectV2InjectionKey } from './token'\n\nimport type {\n DynamicSizeListInstance,\n FixedSizeListInstance,\n ItemProps,\n} from '@element-plus/components/virtual-list'\nimport type { Option, OptionItemProps } from './select.types'\nimport type {\n ComponentPublicInstance,\n ComputedRef,\n ExtractPropTypes,\n Ref,\n} from 'vue'\n\nconst props = {\n loading: Boolean,\n data: {\n type: Array,\n required: true as const,\n },\n hoveringIndex: Number,\n width: Number,\n}\ninterface SelectDropdownExposed {\n listRef: Ref<FixedSizeListInstance | DynamicSizeListInstance | undefined>\n isSized: ComputedRef<boolean>\n isItemDisabled: (modelValue: any[] | any, selected: boolean) => boolean\n isItemHovering: (target: number) => boolean\n isItemSelected: (modelValue: any[] | any, target: Option) => boolean\n scrollToItem: (index: number) => void\n resetScrollTop: () => void\n}\nexport type SelectDropdownInstance = ComponentPublicInstance<\n ExtractPropTypes<typeof props>,\n SelectDropdownExposed\n>\nexport default defineComponent({\n name: 'ElSelectDropdown',\n props,\n setup(props, { slots, expose }) {\n const select = inject(selectV2InjectionKey)!\n const ns = useNamespace('select')\n const { getLabel, getValue, getDisabled } = useProps(select.props)\n\n const cachedHeights = ref<Array<number>>([])\n\n const listRef = ref<FixedSizeListInstance | DynamicSizeListInstance>()\n\n const size = computed(() => props.data.length)\n watch(\n () => size.value,\n () => {\n select.tooltipRef.value!.updatePopper?.()\n }\n )\n\n const isSized = computed(() =>\n isUndefined(select.props.estimatedOptionHeight)\n )\n const listProps = computed(() => {\n if (isSized.value) {\n return {\n itemSize: select.props.itemHeight,\n }\n }\n\n return {\n estimatedSize: select.props.estimatedOptionHeight,\n itemSize: (idx: number) => cachedHeights.value[idx],\n }\n })\n\n const contains = (arr: Array<any> = [], target: any) => {\n const {\n props: { valueKey },\n } = select\n\n if (!isObject(target)) {\n return arr.includes(target)\n }\n\n return (\n arr &&\n arr.some((item) => {\n return toRaw(get(item, valueKey)) === get(target, valueKey)\n })\n )\n }\n const isEqual = (selected: unknown, target: unknown) => {\n if (!isObject(target)) {\n return selected === target\n } else {\n const { valueKey } = select.props\n return get(selected, valueKey) === get(target, valueKey)\n }\n }\n\n const isItemSelected: SelectDropdownExposed['isItemSelected'] = (\n modelValue,\n target\n ) => {\n if (select.props.multiple) {\n return contains(modelValue, getValue(target))\n }\n return isEqual(modelValue, getValue(target))\n }\n\n const isItemDisabled: SelectDropdownExposed['isItemDisabled'] = (\n modelValue,\n selected\n ) => {\n const { disabled, multiple, multipleLimit } = select.props\n return (\n disabled ||\n (!selected &&\n (multiple\n ? multipleLimit > 0 && modelValue.length >= multipleLimit\n : false))\n )\n }\n\n const isItemHovering: SelectDropdownExposed['isItemHovering'] = (target) =>\n props.hoveringIndex === target\n\n const scrollToItem: SelectDropdownExposed['scrollToItem'] = (index) => {\n const list = listRef.value\n if (list) {\n list.scrollToItem(index)\n }\n }\n\n const resetScrollTop: SelectDropdownExposed['resetScrollTop'] = () => {\n const list = listRef.value\n if (list) {\n list.resetScrollTop()\n }\n }\n const exposed: SelectDropdownExposed = {\n listRef,\n isSized,\n\n isItemDisabled,\n isItemHovering,\n isItemSelected,\n scrollToItem,\n resetScrollTop,\n }\n expose(exposed)\n\n const Item = (itemProps: ItemProps<any>) => {\n const { index, data, style } = itemProps\n const sized = unref(isSized)\n const { itemSize, estimatedSize } = unref(listProps)\n const { modelValue } = select.props\n const { onSelect, onHover } = select\n const item = data[index]\n if (item.type === 'Group') {\n return (\n <GroupItem\n item={item}\n style={style}\n height={sized ? (itemSize as number) : estimatedSize}\n />\n )\n }\n\n const isSelected = isItemSelected(modelValue, item)\n const isDisabled = isItemDisabled(modelValue, isSelected)\n const isHovering = isItemHovering(index)\n return (\n <OptionItem\n {...itemProps}\n selected={isSelected}\n disabled={getDisabled(item) || isDisabled}\n created={!!item.created}\n hovering={isHovering}\n item={item}\n onSelect={onSelect}\n onHover={onHover}\n >\n {{\n default: (props: OptionItemProps) =>\n slots.default?.(props) || <span>{getLabel(item)}</span>,\n }}\n </OptionItem>\n )\n }\n\n // computed\n const { onKeyboardNavigate, onKeyboardSelect } = select\n\n const onForward = () => {\n onKeyboardNavigate('forward')\n }\n\n const onBackward = () => {\n onKeyboardNavigate('backward')\n }\n\n const onEscOrTab = () => {\n // The following line actually doesn't work. Fixing it may introduce a small breaking change for some users, so just comment it out for now.\n // select.expanded = false\n }\n\n const onKeydown = (e: KeyboardEvent) => {\n const { code } = e\n const { tab, esc, down, up, enter, numpadEnter } = EVENT_CODE\n if (code !== tab) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n switch (code) {\n case tab:\n case esc:\n onEscOrTab()\n break\n case down:\n onForward()\n break\n case up:\n onBackward()\n break\n case enter:\n case numpadEnter:\n onKeyboardSelect()\n break\n }\n }\n\n return () => {\n const { data, width } = props\n const { height, multiple, scrollbarAlwaysOn } = select.props\n\n const List = unref(isSized) ? FixedSizeList : DynamicSizeList\n\n return (\n <div\n class={[ns.b('dropdown'), ns.is('multiple', multiple)]}\n style={{\n width: `${width}px`,\n }}\n >\n {slots.header?.()}\n {slots.loading?.() || slots.empty?.() || (\n <List\n ref={listRef}\n {...unref(listProps)}\n className={ns.be('dropdown', 'list')}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n data={data}\n height={height}\n width={width}\n total={data.length}\n // @ts-ignore - dts problem\n onKeydown={onKeydown}\n >\n {{\n default: (props: ItemProps<any>) => <Item {...props} />,\n }}\n </List>\n )}\n {slots.footer?.()}\n </div>\n )\n }\n },\n})\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}