tntd 3.0.12 → 3.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/button/button.js +1 -1
- package/es/button/button.js.map +1 -1
- package/es/card/card.js +1 -1
- package/es/card/card.js.map +1 -1
- package/es/descriptions/descriptions.js +1 -1
- package/es/descriptions/descriptions.js.map +1 -1
- package/es/drawer/drawer.js +1 -1
- package/es/drawer/drawer.js.map +1 -1
- package/es/empty/empty.js +1 -1
- package/es/empty/empty.js.map +1 -1
- package/es/exception/exception.js +1 -1
- package/es/exception/exception.js.map +1 -1
- package/es/form/form.js +1 -1
- package/es/form/form.js.map +1 -1
- package/es/input/input.js +6 -6
- package/es/input/input.js.map +1 -1
- package/es/input-number/inputNumber.js +3 -3
- package/es/input-number/inputNumber.js.map +1 -1
- package/es/label/index.js +1 -1
- package/es/label/index.js.map +1 -1
- package/es/modal/modal.js +1 -1
- package/es/modal/modal.js.map +1 -1
- package/es/query-form-v3/Field/Composition/FieldPopover.js +41 -24
- package/es/query-form-v3/Field/Composition/FieldPopover.js.map +1 -1
- package/es/render-empty/render-empty.js +1 -1
- package/es/render-empty/render-empty.js.map +1 -1
- package/es/select/select.js +3 -3
- package/es/select/select.js.map +1 -1
- package/es/steps/steps.js +1 -1
- package/es/steps/steps.js.map +1 -1
- package/es/table/table.js +1 -1
- package/es/table/table.js.map +1 -1
- package/es/tabs/tabs.js +1 -1
- package/es/tabs/tabs.js.map +1 -1
- package/es/tag/tag.js +1 -1
- package/es/tag/tag.js.map +1 -1
- package/es/tntd-cascader/rc-cascader/Cascader.js +2 -2
- package/es/tntd-cascader/rc-cascader/Cascader.js.map +1 -1
- package/es/tntd-rc-select/index.js +2 -2
- package/es/tntd-rc-select/index.js.map +1 -1
- package/es/tntd-select/index.js +24 -13
- package/es/tntd-select/index.js.map +1 -1
- package/es/tntd-virtual-tree/index.less +3 -1
- package/es/tntd-virtual-tree-select/index.js +12 -7
- package/es/tntd-virtual-tree-select/index.js.map +1 -1
- package/es/tntd-virtual-tree-select/utils.js +34 -0
- package/es/tntd-virtual-tree-select/utils.js.map +1 -1
- package/es/tooltip/tooltip.js +1 -1
- package/es/tooltip/tooltip.js.map +1 -1
- package/lib/button/button.js +1 -1
- package/lib/button/button.js.map +1 -1
- package/lib/card/card.js +1 -1
- package/lib/card/card.js.map +1 -1
- package/lib/descriptions/descriptions.js +1 -1
- package/lib/descriptions/descriptions.js.map +1 -1
- package/lib/drawer/drawer.js +1 -1
- package/lib/drawer/drawer.js.map +1 -1
- package/lib/empty/empty.js +1 -1
- package/lib/empty/empty.js.map +1 -1
- package/lib/exception/exception.js +1 -1
- package/lib/exception/exception.js.map +1 -1
- package/lib/form/form.js +1 -1
- package/lib/form/form.js.map +1 -1
- package/lib/input/input.js +6 -6
- package/lib/input/input.js.map +1 -1
- package/lib/input-number/inputNumber.js +3 -3
- package/lib/input-number/inputNumber.js.map +1 -1
- package/lib/label/index.js +1 -1
- package/lib/label/index.js.map +1 -1
- package/lib/modal/modal.js +1 -1
- package/lib/modal/modal.js.map +1 -1
- package/lib/query-form-v3/Field/Composition/FieldPopover.js +53 -42
- package/lib/query-form-v3/Field/Composition/FieldPopover.js.map +1 -1
- package/lib/render-empty/render-empty.js +1 -1
- package/lib/render-empty/render-empty.js.map +1 -1
- package/lib/select/select.js +3 -3
- package/lib/select/select.js.map +1 -1
- package/lib/steps/steps.js +1 -1
- package/lib/steps/steps.js.map +1 -1
- package/lib/table/table.js +1 -1
- package/lib/table/table.js.map +1 -1
- package/lib/tabs/tabs.js +1 -1
- package/lib/tabs/tabs.js.map +1 -1
- package/lib/tag/tag.js +1 -1
- package/lib/tag/tag.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/Cascader.js +2 -2
- package/lib/tntd-cascader/rc-cascader/Cascader.js.map +1 -1
- package/lib/tntd-rc-select/index.js +2 -2
- package/lib/tntd-rc-select/index.js.map +1 -1
- package/lib/tntd-select/index.d.ts +3 -62
- package/lib/tntd-select/index.d.ts.map +1 -1
- package/lib/tntd-select/index.js +22 -12
- package/lib/tntd-select/index.js.map +1 -1
- package/lib/tntd-virtual-tree/index.less +3 -1
- package/lib/tntd-virtual-tree-select/index.d.ts.map +1 -1
- package/lib/tntd-virtual-tree-select/index.js +17 -6
- package/lib/tntd-virtual-tree-select/index.js.map +1 -1
- package/lib/tntd-virtual-tree-select/utils.d.ts +2 -0
- package/lib/tntd-virtual-tree-select/utils.d.ts.map +1 -1
- package/lib/tntd-virtual-tree-select/utils.js +38 -1
- package/lib/tntd-virtual-tree-select/utils.js.map +1 -1
- package/lib/tooltip/tooltip.js +1 -1
- package/lib/tooltip/tooltip.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cascader.js","sourceRoot":"","sources":["../../../src/tntd-cascader/rc-cascader/Cascader.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport type { BaseSelectProps, BaseSelectPropsWithoutPrivate, BaseSelectRef } from 'rc-select'\nimport { BaseSelect } from 'rc-select'\nimport type { DisplayValueType, Placement } from 'rc-select/lib/BaseSelect'\nimport useId from 'rc-select/lib/hooks/useId'\nimport { conductCheck } from 'rc-tree/lib/utils/conductUtil'\nimport useMergedState from 'rc-util/lib/hooks/useMergedState'\nimport * as React from 'react'\nimport CascaderContext from './context'\nimport useDisplayValues from './hooks/useDisplayValues'\nimport useEntities from './hooks/useEntities'\nimport useMissingValues from './hooks/useMissingValues'\nimport useRefFunc from './hooks/useRefFunc'\nimport useSearchConfig from './hooks/useSearchConfig'\nimport useSearchOptions from './hooks/useSearchOptions'\nimport OptionList from './OptionList'\nimport { fillFieldNames, SHOW_CHILD, SHOW_PARENT, toPathKey, toPathKeys } from './utils/commonUtil'\nimport { formatStrategyValues, toPathOptions } from './utils/treeUtil'\nimport warningProps, { warningNullOptions } from './utils/warningPropsUtil'\nimport { RenderItem } from './context'\nimport { getLanguage, getText } from '../../prev-locale'\nimport './index.less'\n\nconst defaultPlacehlder = getText('select', getLanguage())\n\nexport interface ShowSearchType<OptionType extends BaseOptionType = DefaultOptionType> {\n filter?: (inputValue: string, options: OptionType[], fieldNames: FieldNames) => boolean\n render?: (\n inputValue: string,\n path: OptionType[],\n prefixCls: string,\n fieldNames: FieldNames\n ) => React.ReactNode\n sort?: (a: OptionType[], b: OptionType[], inputValue: string, fieldNames: FieldNames) => number\n matchInputWidth?: boolean\n limit?: number | false\n}\n\nexport interface FieldNames {\n label?: string\n value?: string\n children?: string\n}\n\nexport interface InternalFieldNames extends Required<FieldNames> {\n key: string\n}\n\nexport type SingleValueType = (string | number)[]\n\nexport type ValueType = SingleValueType | SingleValueType[]\nexport type ShowCheckedStrategy = typeof SHOW_PARENT | typeof SHOW_CHILD\n\nexport interface BaseOptionType {\n disabled?: boolean\n [name: string]: any\n}\nexport interface DefaultOptionType extends BaseOptionType {\n label: React.ReactNode\n value?: string | number | null\n children?: DefaultOptionType[]\n}\n\ninterface BaseCascaderProps<OptionType extends BaseOptionType = DefaultOptionType>\n extends Omit<\n BaseSelectPropsWithoutPrivate,\n 'tokenSeparators' | 'labelInValue' | 'mode' | 'showSearch'\n > {\n // MISC\n id?: string\n prefixCls?: string\n fieldNames?: FieldNames\n children?: React.ReactElement\n\n // Value\n value?: ValueType\n defaultValue?: ValueType\n changeOnSelect?: boolean\n displayRender?: (label: string[], selectedOptions?: OptionType[]) => React.ReactNode\n checkable?: boolean | React.ReactNode\n showCheckedStrategy?: ShowCheckedStrategy\n\n // Search\n showSearch?: boolean | ShowSearchType<OptionType>\n searchValue?: string\n onSearch?: (value: string) => void\n\n // Trigger\n expandTrigger?: 'hover' | 'click'\n\n // Options\n options?: OptionType[]\n /** @private Internal usage. Do not use in your production. */\n dropdownPrefixCls?: string\n loadData?: (selectOptions: OptionType[]) => void\n\n // Open\n /** @deprecated Use `open` instead */\n popupVisible?: boolean\n\n /** @deprecated Use `dropdownClassName` instead */\n popupClassName?: string\n dropdownClassName?: string\n dropdownMenuColumnStyle?: React.CSSProperties\n\n /** @deprecated Use `placement` instead */\n popupPlacement?: Placement\n placement?: Placement\n\n /** @deprecated Use `onDropdownVisibleChange` instead */\n onPopupVisibleChange?: (open: boolean) => void\n onDropdownVisibleChange?: (open: boolean) => void\n renderItem?: (item: RenderItem) => React.ReactNode\n\n // Icon\n expandIcon?: React.ReactNode\n loadingIcon?: React.ReactNode\n}\n\ntype OnSingleChange<OptionType> = (value: SingleValueType, selectOptions: OptionType[]) => void\ntype OnMultipleChange<OptionType> = (\n value: SingleValueType[],\n selectOptions: OptionType[][]\n) => void\n\nexport interface SingleCascaderProps<OptionType extends BaseOptionType = DefaultOptionType>\n extends BaseCascaderProps<OptionType> {\n checkable?: false\n\n onChange?: OnSingleChange<OptionType>\n}\n\nexport interface MultipleCascaderProps<OptionType extends BaseOptionType = DefaultOptionType>\n extends BaseCascaderProps<OptionType> {\n checkable: true | React.ReactNode\n\n onChange?: OnMultipleChange<OptionType>\n}\n\nexport type CascaderProps<OptionType extends BaseOptionType = DefaultOptionType> =\n | SingleCascaderProps<OptionType>\n | MultipleCascaderProps<OptionType>\n\nexport type InternalCascaderProps<OptionType extends BaseOptionType = DefaultOptionType> = Omit<\n SingleCascaderProps<OptionType> | MultipleCascaderProps<OptionType>,\n 'onChange'\n> & {\n onChange?: (\n value: SingleValueType | SingleValueType[],\n selectOptions: OptionType[] | OptionType[][]\n ) => void\n}\n\nexport type CascaderRef = Omit<BaseSelectRef, 'scrollTo'>\n\nfunction isMultipleValue(value: ValueType): value is SingleValueType[] {\n return Array.isArray(value) && Array.isArray(value[0])\n}\n\nfunction toRawValues(value: ValueType): SingleValueType[] {\n if (!value) {\n return []\n }\n\n if (isMultipleValue(value)) {\n return value\n }\n\n return (value.length === 0 ? [] : [value]).map((val) => (Array.isArray(val) ? val : [val]))\n}\n\nconst Cascader = React.forwardRef<CascaderRef, InternalCascaderProps>((props, ref) => {\n const {\n // MISC\n id,\n prefixCls = 'rc-cascader',\n fieldNames,\n\n // Value\n defaultValue,\n value,\n changeOnSelect,\n onChange,\n displayRender,\n checkable,\n\n // Search\n searchValue,\n onSearch,\n showSearch,\n\n // Trigger\n expandTrigger,\n\n // Options\n options,\n dropdownPrefixCls,\n loadData,\n\n // Open\n popupVisible,\n open,\n\n popupClassName,\n dropdownClassName,\n dropdownMenuColumnStyle,\n\n popupPlacement,\n placement,\n\n onDropdownVisibleChange,\n onPopupVisibleChange,\n renderItem,\n\n // Icon\n expandIcon = '>',\n loadingIcon,\n\n // Children\n children,\n dropdownMatchSelectWidth = false,\n showCheckedStrategy = SHOW_PARENT,\n ...restProps\n } = props\n\n const mergedId = useId(id)\n const multiple = !!checkable\n const [dropdownVisible, setDropdownVisible] = React.useState(false)\n\n // =========================== Values ===========================\n const [rawValues, setRawValues] = useMergedState<ValueType, SingleValueType[]>(defaultValue, {\n value,\n postState: toRawValues,\n })\n\n // ========================= FieldNames =========================\n const mergedFieldNames = React.useMemo(\n () => fillFieldNames(fieldNames),\n /* eslint-disable react-hooks/exhaustive-deps */\n [JSON.stringify(fieldNames)]\n /* eslint-enable react-hooks/exhaustive-deps */\n )\n\n // =========================== Option ===========================\n const mergedOptions = React.useMemo(() => options || [], [options])\n\n // Only used in multiple mode, this fn will not call in single mode\n const getPathKeyEntities = useEntities(mergedOptions, mergedFieldNames)\n\n /** Convert path key back to value format */\n const getValueByKeyPath = React.useCallback(\n (pathKeys: React.Key[]): SingleValueType[] => {\n const keyPathEntities = getPathKeyEntities()\n\n return pathKeys.map((pathKey) => {\n const { nodes } = keyPathEntities[pathKey]\n\n return nodes.map((node) => node[mergedFieldNames.value])\n })\n },\n [getPathKeyEntities, mergedFieldNames]\n )\n\n // =========================== Search ===========================\n const [mergedSearchValue, setSearchValue] = useMergedState('', {\n value: searchValue,\n postState: (search) => search || '',\n })\n\n const onInternalSearch: BaseSelectProps['onSearch'] = (searchText, info) => {\n setSearchValue(searchText)\n\n if (info.source !== 'blur' && onSearch) {\n onSearch(searchText)\n }\n }\n\n const [mergedShowSearch, searchConfig] = useSearchConfig(showSearch)\n\n const searchOptions = useSearchOptions(\n mergedSearchValue,\n mergedOptions,\n mergedFieldNames,\n dropdownPrefixCls || prefixCls,\n searchConfig,\n changeOnSelect\n )\n\n // =========================== Values ===========================\n const getMissingValues = useMissingValues(mergedOptions, mergedFieldNames)\n\n // Fill `rawValues` with checked conduction values\n const [checkedValues, halfCheckedValues, missingCheckedValues] = React.useMemo(() => {\n const [existValues, missingValues] = getMissingValues(rawValues)\n\n if (!multiple || !rawValues.length) {\n return [existValues, [], missingValues]\n }\n\n const keyPathValues = toPathKeys(existValues)\n const keyPathEntities = getPathKeyEntities()\n\n const { checkedKeys, halfCheckedKeys } = conductCheck(keyPathValues, true, keyPathEntities)\n\n // Convert key back to value cells\n return [getValueByKeyPath(checkedKeys), getValueByKeyPath(halfCheckedKeys), missingValues]\n }, [multiple, rawValues, getPathKeyEntities, getValueByKeyPath, getMissingValues])\n\n const deDuplicatedValues = React.useMemo(() => {\n const checkedKeys = toPathKeys(checkedValues)\n const deduplicateKeys = formatStrategyValues(\n checkedKeys,\n getPathKeyEntities,\n showCheckedStrategy\n )\n\n return [...missingCheckedValues, ...getValueByKeyPath(deduplicateKeys)]\n }, [\n checkedValues,\n getPathKeyEntities,\n getValueByKeyPath,\n missingCheckedValues,\n showCheckedStrategy,\n ])\n\n const displayValues = useDisplayValues(\n deDuplicatedValues,\n mergedOptions,\n mergedFieldNames,\n multiple,\n displayRender\n )\n\n // =========================== Change ===========================\n const triggerChange = useRefFunc((nextValues: ValueType) => {\n setRawValues(nextValues)\n\n // Save perf if no need trigger event\n if (onChange) {\n const nextRawValues = toRawValues(nextValues)\n\n const valueOptions = nextRawValues.map((valueCells) =>\n toPathOptions(valueCells, mergedOptions, mergedFieldNames).map(\n (valueOpt) => valueOpt.option\n )\n )\n\n const triggerValues = multiple ? nextRawValues : nextRawValues[0]\n const triggerOptions = multiple ? valueOptions : valueOptions[0]\n\n onChange(triggerValues, triggerOptions)\n }\n })\n\n // =========================== Select ===========================\n const onInternalSelect = useRefFunc((valuePath: SingleValueType) => {\n setSearchValue('')\n if (!multiple) {\n triggerChange(valuePath)\n } else {\n // Prepare conduct required info\n const pathKey = toPathKey(valuePath)\n const checkedPathKeys = toPathKeys(checkedValues)\n const halfCheckedPathKeys = toPathKeys(halfCheckedValues)\n\n const existInChecked = checkedPathKeys.includes(pathKey)\n const existInMissing = missingCheckedValues.some(\n (valueCells) => toPathKey(valueCells) === pathKey\n )\n\n // Do update\n let nextCheckedValues = checkedValues\n let nextMissingValues = missingCheckedValues\n\n if (existInMissing && !existInChecked) {\n // Missing value only do filter\n nextMissingValues = missingCheckedValues.filter(\n (valueCells) => toPathKey(valueCells) !== pathKey\n )\n } else {\n // Update checked key first\n const nextRawCheckedKeys = existInChecked\n ? checkedPathKeys.filter((key) => key !== pathKey)\n : [...checkedPathKeys, pathKey]\n\n const pathKeyEntities = getPathKeyEntities()\n\n // Conduction by selected or not\n let checkedKeys: React.Key[]\n if (existInChecked) {\n ;({ checkedKeys } = conductCheck(\n nextRawCheckedKeys,\n { checked: false, halfCheckedKeys: halfCheckedPathKeys },\n pathKeyEntities\n ))\n } else {\n ;({ checkedKeys } = conductCheck(nextRawCheckedKeys, true, pathKeyEntities))\n }\n\n // Roll up to parent level keys\n const deDuplicatedKeys = formatStrategyValues(\n checkedKeys,\n getPathKeyEntities,\n showCheckedStrategy\n )\n nextCheckedValues = getValueByKeyPath(deDuplicatedKeys)\n }\n\n triggerChange([...nextMissingValues, ...nextCheckedValues])\n }\n })\n\n // Display Value change logic\n const onDisplayValuesChange: BaseSelectProps['onDisplayValuesChange'] = (_, info) => {\n if (info.type === 'clear') {\n triggerChange([])\n return\n }\n\n // Cascader do not support `add` type. Only support `remove`\n const { valueCells } = info.values[0] as DisplayValueType & { valueCells: SingleValueType }\n onInternalSelect(valueCells)\n }\n\n // ============================ Open ============================\n const mergedOpen = open !== undefined ? open : popupVisible\n\n const mergedDropdownClassName = dropdownClassName || popupClassName\n\n const mergedPlacement = placement || popupPlacement\n\n const onInternalDropdownVisibleChange = (nextVisible: boolean) => {\n onDropdownVisibleChange?.(nextVisible)\n onPopupVisibleChange?.(nextVisible)\n setDropdownVisible(nextVisible)\n }\n\n // ========================== Warning ===========================\n if (process.env.NODE_ENV !== 'production') {\n warningProps(props)\n warningNullOptions(mergedOptions, mergedFieldNames)\n }\n\n // ========================== Context ===========================\n const cascaderContext = React.useMemo(\n () => ({\n options: mergedOptions,\n fieldNames: mergedFieldNames,\n values: checkedValues,\n halfValues: halfCheckedValues,\n changeOnSelect,\n onSelect: onInternalSelect,\n checkable,\n searchOptions,\n dropdownPrefixCls,\n loadData,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n renderItem,\n dropdownVisible,\n }),\n [\n mergedOptions,\n mergedFieldNames,\n checkedValues,\n halfCheckedValues,\n changeOnSelect,\n onInternalSelect,\n checkable,\n searchOptions,\n dropdownPrefixCls,\n loadData,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n renderItem,\n dropdownVisible,\n ]\n )\n\n // ==============================================================\n // == Render ==\n // ==============================================================\n const emptyOptions = !(mergedSearchValue ? searchOptions : mergedOptions).length\n\n const dropdownStyle: React.CSSProperties =\n // Search to match width\n (mergedSearchValue && searchConfig.matchInputWidth) ||\n // Empty keep the width\n emptyOptions\n ? {}\n : {\n minWidth: 'auto',\n }\n return (\n <CascaderContext.Provider value={cascaderContext}>\n <BaseSelect\n placeholder={defaultPlacehlder}\n {...restProps}\n // MISC\n ref={ref as any}\n id={mergedId}\n prefixCls={prefixCls}\n dropdownMatchSelectWidth={dropdownMatchSelectWidth}\n dropdownStyle={dropdownStyle}\n // Value\n displayValues={displayValues}\n onDisplayValuesChange={onDisplayValuesChange}\n mode={multiple ? 'multiple' : undefined}\n // Search\n searchValue={mergedSearchValue}\n onSearch={onInternalSearch}\n showSearch={mergedShowSearch}\n // Options\n OptionList={OptionList}\n emptyOptions={emptyOptions}\n // Open\n open={mergedOpen}\n dropdownClassName={mergedDropdownClassName}\n placement={mergedPlacement}\n onDropdownVisibleChange={onInternalDropdownVisibleChange}\n // Children\n getRawInputElement={() => children}\n />\n </CascaderContext.Provider>\n )\n}) as unknown as (<OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(\n props: React.PropsWithChildren<CascaderProps<OptionType>> & {\n ref?: React.Ref<BaseSelectRef>\n }\n) => React.ReactElement) & {\n displayName?: string\n SHOW_PARENT: typeof SHOW_PARENT\n SHOW_CHILD: typeof SHOW_CHILD\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Cascader.displayName = 'Cascader'\n}\n\nCascader.SHOW_PARENT = SHOW_PARENT\nCascader.SHOW_CHILD = SHOW_CHILD\nexport default Cascader\n"]}
|
|
1
|
+
{"version":3,"file":"Cascader.js","sourceRoot":"","sources":["../../../src/tntd-cascader/rc-cascader/Cascader.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport type { BaseSelectProps, BaseSelectPropsWithoutPrivate, BaseSelectRef } from 'rc-select'\nimport { BaseSelect } from 'rc-select'\nimport type { DisplayValueType, Placement } from 'rc-select/lib/BaseSelect'\nimport useId from 'rc-select/lib/hooks/useId'\nimport { conductCheck } from 'rc-tree/lib/utils/conductUtil'\nimport useMergedState from 'rc-util/lib/hooks/useMergedState'\nimport * as React from 'react'\nimport CascaderContext from './context'\nimport useDisplayValues from './hooks/useDisplayValues'\nimport useEntities from './hooks/useEntities'\nimport useMissingValues from './hooks/useMissingValues'\nimport useRefFunc from './hooks/useRefFunc'\nimport useSearchConfig from './hooks/useSearchConfig'\nimport useSearchOptions from './hooks/useSearchOptions'\nimport OptionList from './OptionList'\nimport { fillFieldNames, SHOW_CHILD, SHOW_PARENT, toPathKey, toPathKeys } from './utils/commonUtil'\nimport { formatStrategyValues, toPathOptions } from './utils/treeUtil'\nimport warningProps, { warningNullOptions } from './utils/warningPropsUtil'\nimport { RenderItem } from './context'\nimport { getLanguage, getText } from '../../prev-locale'\nimport './index.less'\n\nconst defaultPlaceholder = getText('select', getLanguage())\n\nexport interface ShowSearchType<OptionType extends BaseOptionType = DefaultOptionType> {\n filter?: (inputValue: string, options: OptionType[], fieldNames: FieldNames) => boolean\n render?: (\n inputValue: string,\n path: OptionType[],\n prefixCls: string,\n fieldNames: FieldNames\n ) => React.ReactNode\n sort?: (a: OptionType[], b: OptionType[], inputValue: string, fieldNames: FieldNames) => number\n matchInputWidth?: boolean\n limit?: number | false\n}\n\nexport interface FieldNames {\n label?: string\n value?: string\n children?: string\n}\n\nexport interface InternalFieldNames extends Required<FieldNames> {\n key: string\n}\n\nexport type SingleValueType = (string | number)[]\n\nexport type ValueType = SingleValueType | SingleValueType[]\nexport type ShowCheckedStrategy = typeof SHOW_PARENT | typeof SHOW_CHILD\n\nexport interface BaseOptionType {\n disabled?: boolean\n [name: string]: any\n}\nexport interface DefaultOptionType extends BaseOptionType {\n label: React.ReactNode\n value?: string | number | null\n children?: DefaultOptionType[]\n}\n\ninterface BaseCascaderProps<OptionType extends BaseOptionType = DefaultOptionType>\n extends Omit<\n BaseSelectPropsWithoutPrivate,\n 'tokenSeparators' | 'labelInValue' | 'mode' | 'showSearch'\n > {\n // MISC\n id?: string\n prefixCls?: string\n fieldNames?: FieldNames\n children?: React.ReactElement\n\n // Value\n value?: ValueType\n defaultValue?: ValueType\n changeOnSelect?: boolean\n displayRender?: (label: string[], selectedOptions?: OptionType[]) => React.ReactNode\n checkable?: boolean | React.ReactNode\n showCheckedStrategy?: ShowCheckedStrategy\n\n // Search\n showSearch?: boolean | ShowSearchType<OptionType>\n searchValue?: string\n onSearch?: (value: string) => void\n\n // Trigger\n expandTrigger?: 'hover' | 'click'\n\n // Options\n options?: OptionType[]\n /** @private Internal usage. Do not use in your production. */\n dropdownPrefixCls?: string\n loadData?: (selectOptions: OptionType[]) => void\n\n // Open\n /** @deprecated Use `open` instead */\n popupVisible?: boolean\n\n /** @deprecated Use `dropdownClassName` instead */\n popupClassName?: string\n dropdownClassName?: string\n dropdownMenuColumnStyle?: React.CSSProperties\n\n /** @deprecated Use `placement` instead */\n popupPlacement?: Placement\n placement?: Placement\n\n /** @deprecated Use `onDropdownVisibleChange` instead */\n onPopupVisibleChange?: (open: boolean) => void\n onDropdownVisibleChange?: (open: boolean) => void\n renderItem?: (item: RenderItem) => React.ReactNode\n\n // Icon\n expandIcon?: React.ReactNode\n loadingIcon?: React.ReactNode\n}\n\ntype OnSingleChange<OptionType> = (value: SingleValueType, selectOptions: OptionType[]) => void\ntype OnMultipleChange<OptionType> = (\n value: SingleValueType[],\n selectOptions: OptionType[][]\n) => void\n\nexport interface SingleCascaderProps<OptionType extends BaseOptionType = DefaultOptionType>\n extends BaseCascaderProps<OptionType> {\n checkable?: false\n\n onChange?: OnSingleChange<OptionType>\n}\n\nexport interface MultipleCascaderProps<OptionType extends BaseOptionType = DefaultOptionType>\n extends BaseCascaderProps<OptionType> {\n checkable: true | React.ReactNode\n\n onChange?: OnMultipleChange<OptionType>\n}\n\nexport type CascaderProps<OptionType extends BaseOptionType = DefaultOptionType> =\n | SingleCascaderProps<OptionType>\n | MultipleCascaderProps<OptionType>\n\nexport type InternalCascaderProps<OptionType extends BaseOptionType = DefaultOptionType> = Omit<\n SingleCascaderProps<OptionType> | MultipleCascaderProps<OptionType>,\n 'onChange'\n> & {\n onChange?: (\n value: SingleValueType | SingleValueType[],\n selectOptions: OptionType[] | OptionType[][]\n ) => void\n}\n\nexport type CascaderRef = Omit<BaseSelectRef, 'scrollTo'>\n\nfunction isMultipleValue(value: ValueType): value is SingleValueType[] {\n return Array.isArray(value) && Array.isArray(value[0])\n}\n\nfunction toRawValues(value: ValueType): SingleValueType[] {\n if (!value) {\n return []\n }\n\n if (isMultipleValue(value)) {\n return value\n }\n\n return (value.length === 0 ? [] : [value]).map((val) => (Array.isArray(val) ? val : [val]))\n}\n\nconst Cascader = React.forwardRef<CascaderRef, InternalCascaderProps>((props, ref) => {\n const {\n // MISC\n id,\n prefixCls = 'rc-cascader',\n fieldNames,\n\n // Value\n defaultValue,\n value,\n changeOnSelect,\n onChange,\n displayRender,\n checkable,\n\n // Search\n searchValue,\n onSearch,\n showSearch,\n\n // Trigger\n expandTrigger,\n\n // Options\n options,\n dropdownPrefixCls,\n loadData,\n\n // Open\n popupVisible,\n open,\n\n popupClassName,\n dropdownClassName,\n dropdownMenuColumnStyle,\n\n popupPlacement,\n placement,\n\n onDropdownVisibleChange,\n onPopupVisibleChange,\n renderItem,\n\n // Icon\n expandIcon = '>',\n loadingIcon,\n\n // Children\n children,\n dropdownMatchSelectWidth = false,\n showCheckedStrategy = SHOW_PARENT,\n ...restProps\n } = props\n\n const mergedId = useId(id)\n const multiple = !!checkable\n const [dropdownVisible, setDropdownVisible] = React.useState(false)\n\n // =========================== Values ===========================\n const [rawValues, setRawValues] = useMergedState<ValueType, SingleValueType[]>(defaultValue, {\n value,\n postState: toRawValues,\n })\n\n // ========================= FieldNames =========================\n const mergedFieldNames = React.useMemo(\n () => fillFieldNames(fieldNames),\n /* eslint-disable react-hooks/exhaustive-deps */\n [JSON.stringify(fieldNames)]\n /* eslint-enable react-hooks/exhaustive-deps */\n )\n\n // =========================== Option ===========================\n const mergedOptions = React.useMemo(() => options || [], [options])\n\n // Only used in multiple mode, this fn will not call in single mode\n const getPathKeyEntities = useEntities(mergedOptions, mergedFieldNames)\n\n /** Convert path key back to value format */\n const getValueByKeyPath = React.useCallback(\n (pathKeys: React.Key[]): SingleValueType[] => {\n const keyPathEntities = getPathKeyEntities()\n\n return pathKeys.map((pathKey) => {\n const { nodes } = keyPathEntities[pathKey]\n\n return nodes.map((node) => node[mergedFieldNames.value])\n })\n },\n [getPathKeyEntities, mergedFieldNames]\n )\n\n // =========================== Search ===========================\n const [mergedSearchValue, setSearchValue] = useMergedState('', {\n value: searchValue,\n postState: (search) => search || '',\n })\n\n const onInternalSearch: BaseSelectProps['onSearch'] = (searchText, info) => {\n setSearchValue(searchText)\n\n if (info.source !== 'blur' && onSearch) {\n onSearch(searchText)\n }\n }\n\n const [mergedShowSearch, searchConfig] = useSearchConfig(showSearch)\n\n const searchOptions = useSearchOptions(\n mergedSearchValue,\n mergedOptions,\n mergedFieldNames,\n dropdownPrefixCls || prefixCls,\n searchConfig,\n changeOnSelect\n )\n\n // =========================== Values ===========================\n const getMissingValues = useMissingValues(mergedOptions, mergedFieldNames)\n\n // Fill `rawValues` with checked conduction values\n const [checkedValues, halfCheckedValues, missingCheckedValues] = React.useMemo(() => {\n const [existValues, missingValues] = getMissingValues(rawValues)\n\n if (!multiple || !rawValues.length) {\n return [existValues, [], missingValues]\n }\n\n const keyPathValues = toPathKeys(existValues)\n const keyPathEntities = getPathKeyEntities()\n\n const { checkedKeys, halfCheckedKeys } = conductCheck(keyPathValues, true, keyPathEntities)\n\n // Convert key back to value cells\n return [getValueByKeyPath(checkedKeys), getValueByKeyPath(halfCheckedKeys), missingValues]\n }, [multiple, rawValues, getPathKeyEntities, getValueByKeyPath, getMissingValues])\n\n const deDuplicatedValues = React.useMemo(() => {\n const checkedKeys = toPathKeys(checkedValues)\n const deduplicateKeys = formatStrategyValues(\n checkedKeys,\n getPathKeyEntities,\n showCheckedStrategy\n )\n\n return [...missingCheckedValues, ...getValueByKeyPath(deduplicateKeys)]\n }, [\n checkedValues,\n getPathKeyEntities,\n getValueByKeyPath,\n missingCheckedValues,\n showCheckedStrategy,\n ])\n\n const displayValues = useDisplayValues(\n deDuplicatedValues,\n mergedOptions,\n mergedFieldNames,\n multiple,\n displayRender\n )\n\n // =========================== Change ===========================\n const triggerChange = useRefFunc((nextValues: ValueType) => {\n setRawValues(nextValues)\n\n // Save perf if no need trigger event\n if (onChange) {\n const nextRawValues = toRawValues(nextValues)\n\n const valueOptions = nextRawValues.map((valueCells) =>\n toPathOptions(valueCells, mergedOptions, mergedFieldNames).map(\n (valueOpt) => valueOpt.option\n )\n )\n\n const triggerValues = multiple ? nextRawValues : nextRawValues[0]\n const triggerOptions = multiple ? valueOptions : valueOptions[0]\n\n onChange(triggerValues, triggerOptions)\n }\n })\n\n // =========================== Select ===========================\n const onInternalSelect = useRefFunc((valuePath: SingleValueType) => {\n setSearchValue('')\n if (!multiple) {\n triggerChange(valuePath)\n } else {\n // Prepare conduct required info\n const pathKey = toPathKey(valuePath)\n const checkedPathKeys = toPathKeys(checkedValues)\n const halfCheckedPathKeys = toPathKeys(halfCheckedValues)\n\n const existInChecked = checkedPathKeys.includes(pathKey)\n const existInMissing = missingCheckedValues.some(\n (valueCells) => toPathKey(valueCells) === pathKey\n )\n\n // Do update\n let nextCheckedValues = checkedValues\n let nextMissingValues = missingCheckedValues\n\n if (existInMissing && !existInChecked) {\n // Missing value only do filter\n nextMissingValues = missingCheckedValues.filter(\n (valueCells) => toPathKey(valueCells) !== pathKey\n )\n } else {\n // Update checked key first\n const nextRawCheckedKeys = existInChecked\n ? checkedPathKeys.filter((key) => key !== pathKey)\n : [...checkedPathKeys, pathKey]\n\n const pathKeyEntities = getPathKeyEntities()\n\n // Conduction by selected or not\n let checkedKeys: React.Key[]\n if (existInChecked) {\n ;({ checkedKeys } = conductCheck(\n nextRawCheckedKeys,\n { checked: false, halfCheckedKeys: halfCheckedPathKeys },\n pathKeyEntities\n ))\n } else {\n ;({ checkedKeys } = conductCheck(nextRawCheckedKeys, true, pathKeyEntities))\n }\n\n // Roll up to parent level keys\n const deDuplicatedKeys = formatStrategyValues(\n checkedKeys,\n getPathKeyEntities,\n showCheckedStrategy\n )\n nextCheckedValues = getValueByKeyPath(deDuplicatedKeys)\n }\n\n triggerChange([...nextMissingValues, ...nextCheckedValues])\n }\n })\n\n // Display Value change logic\n const onDisplayValuesChange: BaseSelectProps['onDisplayValuesChange'] = (_, info) => {\n if (info.type === 'clear') {\n triggerChange([])\n return\n }\n\n // Cascader do not support `add` type. Only support `remove`\n const { valueCells } = info.values[0] as DisplayValueType & { valueCells: SingleValueType }\n onInternalSelect(valueCells)\n }\n\n // ============================ Open ============================\n const mergedOpen = open !== undefined ? open : popupVisible\n\n const mergedDropdownClassName = dropdownClassName || popupClassName\n\n const mergedPlacement = placement || popupPlacement\n\n const onInternalDropdownVisibleChange = (nextVisible: boolean) => {\n onDropdownVisibleChange?.(nextVisible)\n onPopupVisibleChange?.(nextVisible)\n setDropdownVisible(nextVisible)\n }\n\n // ========================== Warning ===========================\n if (process.env.NODE_ENV !== 'production') {\n warningProps(props)\n warningNullOptions(mergedOptions, mergedFieldNames)\n }\n\n // ========================== Context ===========================\n const cascaderContext = React.useMemo(\n () => ({\n options: mergedOptions,\n fieldNames: mergedFieldNames,\n values: checkedValues,\n halfValues: halfCheckedValues,\n changeOnSelect,\n onSelect: onInternalSelect,\n checkable,\n searchOptions,\n dropdownPrefixCls,\n loadData,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n renderItem,\n dropdownVisible,\n }),\n [\n mergedOptions,\n mergedFieldNames,\n checkedValues,\n halfCheckedValues,\n changeOnSelect,\n onInternalSelect,\n checkable,\n searchOptions,\n dropdownPrefixCls,\n loadData,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n renderItem,\n dropdownVisible,\n ]\n )\n\n // ==============================================================\n // == Render ==\n // ==============================================================\n const emptyOptions = !(mergedSearchValue ? searchOptions : mergedOptions).length\n\n const dropdownStyle: React.CSSProperties =\n // Search to match width\n (mergedSearchValue && searchConfig.matchInputWidth) ||\n // Empty keep the width\n emptyOptions\n ? {}\n : {\n minWidth: 'auto',\n }\n return (\n <CascaderContext.Provider value={cascaderContext}>\n <BaseSelect\n placeholder={defaultPlaceholder}\n {...restProps}\n // MISC\n ref={ref as any}\n id={mergedId}\n prefixCls={prefixCls}\n dropdownMatchSelectWidth={dropdownMatchSelectWidth}\n dropdownStyle={dropdownStyle}\n // Value\n displayValues={displayValues}\n onDisplayValuesChange={onDisplayValuesChange}\n mode={multiple ? 'multiple' : undefined}\n // Search\n searchValue={mergedSearchValue}\n onSearch={onInternalSearch}\n showSearch={mergedShowSearch}\n // Options\n OptionList={OptionList}\n emptyOptions={emptyOptions}\n // Open\n open={mergedOpen}\n dropdownClassName={mergedDropdownClassName}\n placement={mergedPlacement}\n onDropdownVisibleChange={onInternalDropdownVisibleChange}\n // Children\n getRawInputElement={() => children}\n />\n </CascaderContext.Provider>\n )\n}) as unknown as (<OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(\n props: React.PropsWithChildren<CascaderProps<OptionType>> & {\n ref?: React.Ref<BaseSelectRef>\n }\n) => React.ReactElement) & {\n displayName?: string\n SHOW_PARENT: typeof SHOW_PARENT\n SHOW_CHILD: typeof SHOW_CHILD\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Cascader.displayName = 'Cascader'\n}\n\nCascader.SHOW_PARENT = SHOW_PARENT\nCascader.SHOW_CHILD = SHOW_CHILD\nexport default Cascader\n"]}
|
|
@@ -23,7 +23,7 @@ import warning from './_util/warning';
|
|
|
23
23
|
import { useCompactItemContext } from './_util/useCompactItemContext';
|
|
24
24
|
import { getLanguage, getText } from '../prev-locale';
|
|
25
25
|
import './style/index.less';
|
|
26
|
-
const
|
|
26
|
+
const defaultPlaceholder = getText('select', getLanguage());
|
|
27
27
|
const SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';
|
|
28
28
|
const InternalSelect = (_a, ref) => {
|
|
29
29
|
var {
|
|
@@ -133,7 +133,7 @@ const InternalSelect = (_a, ref) => {
|
|
|
133
133
|
ref: ref,
|
|
134
134
|
virtual: virtual,
|
|
135
135
|
dropdownMatchSelectWidth: dropdownMatchSelectWidth,
|
|
136
|
-
placeholder:
|
|
136
|
+
placeholder: defaultPlaceholder
|
|
137
137
|
}, selectProps, {
|
|
138
138
|
transitionName: getTransitionName(rootPrefixCls, getTransitionDirection(placement), props.transitionName),
|
|
139
139
|
listHeight: listHeight,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-rc-select/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// TODO: 4.0 - codemod should help to change `filterOption` to support node props.\n\nimport classNames from 'classnames'\nimport type { SelectProps as RcSelectProps } from 'rc-select'\nimport RcSelect, { BaseSelectRef, OptGroup, Option } from 'rc-select'\nimport type { OptionProps } from 'rc-select/lib/Option'\nimport type { BaseOptionType, DefaultOptionType } from 'rc-select/lib/Select'\nimport omit from 'rc-util/lib/omit'\nimport * as React from 'react'\nimport { useContext } from 'react'\nimport { ConfigContext } from './_util/context'\nimport defaultRenderEmpty from './_util/defaultRenderEmpty'\nimport DisabledContext from '../config-provider/DisabledContext'\nimport type { SizeType } from '../config-provider/SizeContext'\nimport SizeContext from '../config-provider/SizeContext'\nimport { FormItemInputContext } from './_util/FormItemInputContext'\nimport type { SelectCommonPlacement } from './_util/motion'\nimport { getTransitionDirection, getTransitionName } from './_util/motion'\nimport getIcons from './_util/getIcons'\nimport warning from './_util/warning'\nimport { useCompactItemContext } from './_util/useCompactItemContext'\nimport { getLanguage, getText } from '../prev-locale'\n\nimport './style/index.less'\n\nconst defaultPlacehlder = getText('select', getLanguage())\ntype RawValue = string | number\n\nexport { OptionProps, BaseSelectRef as RefSelectProps, BaseOptionType, DefaultOptionType }\n\nexport interface LabeledValue {\n key?: string\n value: RawValue\n label: React.ReactNode\n}\n\nexport type SelectValue = RawValue | RawValue[] | LabeledValue | LabeledValue[] | undefined\n\nexport interface InternalSelectProps<\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n> extends Omit<RcSelectProps<ValueType, OptionType>, 'mode'> {\n suffixIcon?: React.ReactNode\n size?: SizeType\n disabled?: boolean\n mode?: 'multiple' | 'tags' | 'SECRET_COMBOBOX_MODE_DO_NOT_USE'\n bordered?: boolean\n}\n\nexport interface SelectProps<\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n> extends Omit<\n InternalSelectProps<ValueType, OptionType>,\n 'inputIcon' | 'mode' | 'getInputElement' | 'getRawInputElement' | 'backfill' | 'placement'\n > {\n placement?: SelectCommonPlacement\n mode?: 'multiple' | 'tags'\n // status?: InputStatus;\n /**\n * @deprecated `dropdownClassName` is deprecated which will be removed in next major\n * version.Please use `popupClassName` instead.\n */\n dropdownClassName?: string\n popupClassName?: string\n}\n\nconst SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE'\n\nconst InternalSelect = <OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(\n {\n prefixCls: customizePrefixCls,\n bordered = true,\n className,\n getPopupContainer,\n dropdownClassName,\n popupClassName,\n listHeight = 256,\n placement,\n listItemHeight = 24,\n size: customizeSize,\n disabled: customDisabled,\n notFoundContent,\n // status: customStatus,\n showArrow,\n ...props\n }: SelectProps<OptionType>,\n ref: React.Ref<BaseSelectRef>\n) => {\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n renderEmpty,\n direction,\n virtual,\n dropdownMatchSelectWidth,\n } = React.useContext(ConfigContext)\n const size = React.useContext(SizeContext)\n\n const prefixCls = getPrefixCls('select', customizePrefixCls)\n\n const rootPrefixCls = getPrefixCls()\n\n const { compactSize, compactItemClassnames } = useCompactItemContext(prefixCls, direction)\n\n const mode = React.useMemo(() => {\n const { mode: m } = props as InternalSelectProps<OptionType>\n\n if ((m as any) === 'combobox') {\n return undefined\n }\n\n if (m === SECRET_COMBOBOX_MODE_DO_NOT_USE) {\n return 'combobox'\n }\n\n return m\n }, [props.mode])\n\n const isMultiple = mode === 'multiple' || mode === 'tags'\n const mergedShowArrow =\n showArrow !== undefined ? showArrow : props.loading || !(isMultiple || mode === 'combobox')\n\n // =================== Warning =====================\n warning(\n !dropdownClassName,\n 'Select',\n '`dropdownClassName` is deprecated which will be removed in next major version. Please use `popupClassName` instead.'\n )\n\n // ===================== Form Status =====================\n const {\n status: contextStatus,\n hasFeedback,\n isFormItemInput,\n feedbackIcon,\n } = useContext(FormItemInputContext)\n // const mergedStatus = getMergedStatus(contextStatus, customStatus);\n\n // ===================== Empty =====================\n let mergedNotFound: React.ReactNode\n if (notFoundContent !== undefined) {\n mergedNotFound = notFoundContent\n } else if (mode === 'combobox') {\n mergedNotFound = null\n } else {\n mergedNotFound = (renderEmpty || defaultRenderEmpty)('Select')\n }\n\n // ===================== Icons =====================\n const { suffixIcon, itemIcon, removeIcon, clearIcon } = getIcons({\n ...props,\n multiple: isMultiple,\n hasFeedback,\n feedbackIcon,\n showArrow: mergedShowArrow,\n prefixCls,\n })\n\n const selectProps = omit(props as typeof props & { itemIcon: any }, ['suffixIcon', 'itemIcon'])\n\n const rcSelectRtlDropdownClassName = classNames(popupClassName || dropdownClassName, {\n [`${prefixCls}-dropdown-${direction}`]: direction === 'rtl',\n })\n\n const mergedSize = compactSize || customizeSize || size\n\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext)\n const mergedDisabled = customDisabled ?? disabled\n\n const mergedClassName = classNames(\n {\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-in-form-item`]: isFormItemInput,\n },\n // prefixCls||hasFeedback,\n // getStatusClassNames(prefixCls, mergedStatus, hasFeedback),\n compactItemClassnames,\n className\n )\n\n // ===================== Placement =====================\n const getPlacement = () => {\n if (placement !== undefined) {\n return placement\n }\n return direction === 'rtl'\n ? ('bottomRight' as SelectCommonPlacement)\n : ('bottomLeft' as SelectCommonPlacement)\n }\n\n return (\n <RcSelect<any, any>\n ref={ref as any}\n virtual={virtual}\n dropdownMatchSelectWidth={dropdownMatchSelectWidth}\n placeholder={defaultPlacehlder}\n {...selectProps}\n transitionName={getTransitionName(\n rootPrefixCls,\n getTransitionDirection(placement),\n props.transitionName\n )}\n listHeight={listHeight}\n listItemHeight={listItemHeight}\n mode={mode as any}\n prefixCls={prefixCls}\n placement={getPlacement()}\n direction={direction}\n inputIcon={suffixIcon}\n menuItemSelectedIcon={itemIcon}\n removeIcon={removeIcon}\n clearIcon={clearIcon}\n notFoundContent={mergedNotFound}\n className={mergedClassName}\n getPopupContainer={getPopupContainer || getContextPopupContainer}\n dropdownClassName={rcSelectRtlDropdownClassName}\n showArrow={hasFeedback || showArrow}\n disabled={mergedDisabled}\n />\n )\n}\n\nconst TntdRcSelect = React.forwardRef(InternalSelect) as unknown as (<\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n>(\n props: React.PropsWithChildren<SelectProps<ValueType, OptionType>> & {\n ref?: React.Ref<BaseSelectRef>\n }\n) => React.ReactElement) & {\n SECRET_COMBOBOX_MODE_DO_NOT_USE: string\n Option: typeof Option\n OptGroup: typeof OptGroup\n}\n\nTntdRcSelect.SECRET_COMBOBOX_MODE_DO_NOT_USE = SECRET_COMBOBOX_MODE_DO_NOT_USE\nTntdRcSelect.Option = Option\nTntdRcSelect.OptGroup = OptGroup\n\nexport default TntdRcSelect\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-rc-select/index.tsx"],"names":[],"mappings":"AAAA,kFAAkF;;;;;;;;;;;;AAElF,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,QAAQ,EAAE,EAAiB,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGrE,OAAO,IAAI,MAAM,kBAAkB,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,kBAAkB,MAAM,4BAA4B,CAAA;AAC3D,OAAO,eAAe,MAAM,oCAAoC,CAAA;AAEhE,OAAO,WAAW,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,QAAQ,MAAM,kBAAkB,CAAA;AACvC,OAAO,OAAO,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAErD,OAAO,oBAAoB,CAAA;AAE3B,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;AA0C3D,MAAM,+BAA+B,GAAG,iCAAiC,CAAA;AAEzE,MAAM,cAAc,GAAG,CACrB,EAgB0B,EAC1B,GAA6B,EAC7B,EAAE;QAlBF,EACE,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,GAAG,IAAI,EACf,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,UAAU,GAAG,GAAG,EAChB,SAAS,EACT,cAAc,GAAG,EAAE,EACnB,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,cAAc,EACxB,eAAe;IACf,wBAAwB;IACxB,SAAS,OAEe,EADrB,KAAK,cAfV,mMAgBC,CADS;IAIV,MAAM,EACJ,iBAAiB,EAAE,wBAAwB,EAC3C,YAAY,EACZ,WAAW,EACX,SAAS,EACT,OAAO,EACP,wBAAwB,GACzB,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IAE1C,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IAE5D,MAAM,aAAa,GAAG,YAAY,EAAE,CAAA;IAEpC,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,GAAG,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAE1F,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC9B,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,KAAwC,CAAA;QAE5D,IAAK,CAAS,KAAK,UAAU,EAAE;YAC7B,OAAO,SAAS,CAAA;SACjB;QAED,IAAI,CAAC,KAAK,+BAA+B,EAAE;YACzC,OAAO,UAAU,CAAA;SAClB;QAED,OAAO,CAAC,CAAA;IACV,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAEhB,MAAM,UAAU,GAAG,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,MAAM,CAAA;IACzD,MAAM,eAAe,GACnB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,KAAK,UAAU,CAAC,CAAA;IAE7F,oDAAoD;IACpD,OAAO,CACL,CAAC,iBAAiB,EAClB,QAAQ,EACR,qHAAqH,CACtH,CAAA;IAED,0DAA0D;IAC1D,MAAM,EACJ,MAAM,EAAE,aAAa,EACrB,WAAW,EACX,eAAe,EACf,YAAY,GACb,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAA;IACpC,uEAAuE;IAEvE,oDAAoD;IACpD,IAAI,cAA+B,CAAA;IACnC,IAAI,eAAe,KAAK,SAAS,EAAE;QACjC,cAAc,GAAG,eAAe,CAAA;KACjC;SAAM,IAAI,IAAI,KAAK,UAAU,EAAE;QAC9B,cAAc,GAAG,IAAI,CAAA;KACtB;SAAM;QACL,cAAc,GAAG,CAAC,WAAW,IAAI,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAA;KAC/D;IAED,oDAAoD;IACpD,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,QAAQ,iCAC3D,KAAK,KACR,QAAQ,EAAE,UAAU,EACpB,WAAW;QACX,YAAY,EACZ,SAAS,EAAE,eAAe,EAC1B,SAAS,IACT,CAAA;IAEF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAyC,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAA;IAE/F,MAAM,4BAA4B,GAAG,UAAU,CAAC,cAAc,IAAI,iBAAiB,EAAE;QACnF,CAAC,GAAG,SAAS,aAAa,SAAS,EAAE,CAAC,EAAE,SAAS,KAAK,KAAK;KAC5D,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,WAAW,IAAI,aAAa,IAAI,IAAI,CAAA;IAEvD,uDAAuD;IACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;IAClD,MAAM,cAAc,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,QAAQ,CAAA;IAEjD,MAAM,eAAe,GAAG,UAAU,CAChC;QACE,CAAC,GAAG,SAAS,KAAK,CAAC,EAAE,UAAU,KAAK,OAAO;QAC3C,CAAC,GAAG,SAAS,KAAK,CAAC,EAAE,UAAU,KAAK,OAAO;QAC3C,CAAC,GAAG,SAAS,MAAM,CAAC,EAAE,SAAS,KAAK,KAAK;QACzC,CAAC,GAAG,SAAS,aAAa,CAAC,EAAE,CAAC,QAAQ;QACtC,CAAC,GAAG,SAAS,eAAe,CAAC,EAAE,eAAe;KAC/C;IACD,0BAA0B;IAC1B,6DAA6D;IAC7D,qBAAqB,EACrB,SAAS,CACV,CAAA;IAED,wDAAwD;IACxD,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,OAAO,SAAS,CAAA;SACjB;QACD,OAAO,SAAS,KAAK,KAAK;YACxB,CAAC,CAAE,aAAuC;YAC1C,CAAC,CAAE,YAAsC,CAAA;IAC7C,CAAC,CAAA;IAED,OAAO,CACL,oBAAC,QAAQ,kBACP,GAAG,EAAE,GAAU,EACf,OAAO,EAAE,OAAO,EAChB,wBAAwB,EAAE,wBAAwB,EAClD,WAAW,EAAE,kBAAkB,IAC3B,WAAW,IACf,cAAc,EAAE,iBAAiB,CAC/B,aAAa,EACb,sBAAsB,CAAC,SAAS,CAAC,EACjC,KAAK,CAAC,cAAc,CACrB,EACD,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,IAAW,EACjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,YAAY,EAAE,EACzB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,UAAU,EACrB,oBAAoB,EAAE,QAAQ,EAC9B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,cAAc,EAC/B,SAAS,EAAE,eAAe,EAC1B,iBAAiB,EAAE,iBAAiB,IAAI,wBAAwB,EAChE,iBAAiB,EAAE,4BAA4B,EAC/C,SAAS,EAAE,WAAW,IAAI,SAAS,EACnC,QAAQ,EAAE,cAAc,IACxB,CACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAWnD,CAAA;AAED,YAAY,CAAC,+BAA+B,GAAG,+BAA+B,CAAA;AAC9E,YAAY,CAAC,MAAM,GAAG,MAAM,CAAA;AAC5B,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAEhC,eAAe,YAAY,CAAA","sourcesContent":["// TODO: 4.0 - codemod should help to change `filterOption` to support node props.\n\nimport classNames from 'classnames'\nimport type { SelectProps as RcSelectProps } from 'rc-select'\nimport RcSelect, { BaseSelectRef, OptGroup, Option } from 'rc-select'\nimport type { OptionProps } from 'rc-select/lib/Option'\nimport type { BaseOptionType, DefaultOptionType } from 'rc-select/lib/Select'\nimport omit from 'rc-util/lib/omit'\nimport * as React from 'react'\nimport { useContext } from 'react'\nimport { ConfigContext } from './_util/context'\nimport defaultRenderEmpty from './_util/defaultRenderEmpty'\nimport DisabledContext from '../config-provider/DisabledContext'\nimport type { SizeType } from '../config-provider/SizeContext'\nimport SizeContext from '../config-provider/SizeContext'\nimport { FormItemInputContext } from './_util/FormItemInputContext'\nimport type { SelectCommonPlacement } from './_util/motion'\nimport { getTransitionDirection, getTransitionName } from './_util/motion'\nimport getIcons from './_util/getIcons'\nimport warning from './_util/warning'\nimport { useCompactItemContext } from './_util/useCompactItemContext'\nimport { getLanguage, getText } from '../prev-locale'\n\nimport './style/index.less'\n\nconst defaultPlaceholder = getText('select', getLanguage())\ntype RawValue = string | number\n\nexport { OptionProps, BaseSelectRef as RefSelectProps, BaseOptionType, DefaultOptionType }\n\nexport interface LabeledValue {\n key?: string\n value: RawValue\n label: React.ReactNode\n}\n\nexport type SelectValue = RawValue | RawValue[] | LabeledValue | LabeledValue[] | undefined\n\nexport interface InternalSelectProps<\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n> extends Omit<RcSelectProps<ValueType, OptionType>, 'mode'> {\n suffixIcon?: React.ReactNode\n size?: SizeType\n disabled?: boolean\n mode?: 'multiple' | 'tags' | 'SECRET_COMBOBOX_MODE_DO_NOT_USE'\n bordered?: boolean\n}\n\nexport interface SelectProps<\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n> extends Omit<\n InternalSelectProps<ValueType, OptionType>,\n 'inputIcon' | 'mode' | 'getInputElement' | 'getRawInputElement' | 'backfill' | 'placement'\n > {\n placement?: SelectCommonPlacement\n mode?: 'multiple' | 'tags'\n // status?: InputStatus;\n /**\n * @deprecated `dropdownClassName` is deprecated which will be removed in next major\n * version.Please use `popupClassName` instead.\n */\n dropdownClassName?: string\n popupClassName?: string\n}\n\nconst SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE'\n\nconst InternalSelect = <OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(\n {\n prefixCls: customizePrefixCls,\n bordered = true,\n className,\n getPopupContainer,\n dropdownClassName,\n popupClassName,\n listHeight = 256,\n placement,\n listItemHeight = 24,\n size: customizeSize,\n disabled: customDisabled,\n notFoundContent,\n // status: customStatus,\n showArrow,\n ...props\n }: SelectProps<OptionType>,\n ref: React.Ref<BaseSelectRef>\n) => {\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n renderEmpty,\n direction,\n virtual,\n dropdownMatchSelectWidth,\n } = React.useContext(ConfigContext)\n const size = React.useContext(SizeContext)\n\n const prefixCls = getPrefixCls('select', customizePrefixCls)\n\n const rootPrefixCls = getPrefixCls()\n\n const { compactSize, compactItemClassnames } = useCompactItemContext(prefixCls, direction)\n\n const mode = React.useMemo(() => {\n const { mode: m } = props as InternalSelectProps<OptionType>\n\n if ((m as any) === 'combobox') {\n return undefined\n }\n\n if (m === SECRET_COMBOBOX_MODE_DO_NOT_USE) {\n return 'combobox'\n }\n\n return m\n }, [props.mode])\n\n const isMultiple = mode === 'multiple' || mode === 'tags'\n const mergedShowArrow =\n showArrow !== undefined ? showArrow : props.loading || !(isMultiple || mode === 'combobox')\n\n // =================== Warning =====================\n warning(\n !dropdownClassName,\n 'Select',\n '`dropdownClassName` is deprecated which will be removed in next major version. Please use `popupClassName` instead.'\n )\n\n // ===================== Form Status =====================\n const {\n status: contextStatus,\n hasFeedback,\n isFormItemInput,\n feedbackIcon,\n } = useContext(FormItemInputContext)\n // const mergedStatus = getMergedStatus(contextStatus, customStatus);\n\n // ===================== Empty =====================\n let mergedNotFound: React.ReactNode\n if (notFoundContent !== undefined) {\n mergedNotFound = notFoundContent\n } else if (mode === 'combobox') {\n mergedNotFound = null\n } else {\n mergedNotFound = (renderEmpty || defaultRenderEmpty)('Select')\n }\n\n // ===================== Icons =====================\n const { suffixIcon, itemIcon, removeIcon, clearIcon } = getIcons({\n ...props,\n multiple: isMultiple,\n hasFeedback,\n feedbackIcon,\n showArrow: mergedShowArrow,\n prefixCls,\n })\n\n const selectProps = omit(props as typeof props & { itemIcon: any }, ['suffixIcon', 'itemIcon'])\n\n const rcSelectRtlDropdownClassName = classNames(popupClassName || dropdownClassName, {\n [`${prefixCls}-dropdown-${direction}`]: direction === 'rtl',\n })\n\n const mergedSize = compactSize || customizeSize || size\n\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext)\n const mergedDisabled = customDisabled ?? disabled\n\n const mergedClassName = classNames(\n {\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-in-form-item`]: isFormItemInput,\n },\n // prefixCls||hasFeedback,\n // getStatusClassNames(prefixCls, mergedStatus, hasFeedback),\n compactItemClassnames,\n className\n )\n\n // ===================== Placement =====================\n const getPlacement = () => {\n if (placement !== undefined) {\n return placement\n }\n return direction === 'rtl'\n ? ('bottomRight' as SelectCommonPlacement)\n : ('bottomLeft' as SelectCommonPlacement)\n }\n\n return (\n <RcSelect<any, any>\n ref={ref as any}\n virtual={virtual}\n dropdownMatchSelectWidth={dropdownMatchSelectWidth}\n placeholder={defaultPlaceholder}\n {...selectProps}\n transitionName={getTransitionName(\n rootPrefixCls,\n getTransitionDirection(placement),\n props.transitionName\n )}\n listHeight={listHeight}\n listItemHeight={listItemHeight}\n mode={mode as any}\n prefixCls={prefixCls}\n placement={getPlacement()}\n direction={direction}\n inputIcon={suffixIcon}\n menuItemSelectedIcon={itemIcon}\n removeIcon={removeIcon}\n clearIcon={clearIcon}\n notFoundContent={mergedNotFound}\n className={mergedClassName}\n getPopupContainer={getPopupContainer || getContextPopupContainer}\n dropdownClassName={rcSelectRtlDropdownClassName}\n showArrow={hasFeedback || showArrow}\n disabled={mergedDisabled}\n />\n )\n}\n\nconst TntdRcSelect = React.forwardRef(InternalSelect) as unknown as (<\n ValueType = any,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n>(\n props: React.PropsWithChildren<SelectProps<ValueType, OptionType>> & {\n ref?: React.Ref<BaseSelectRef>\n }\n) => React.ReactElement) & {\n SECRET_COMBOBOX_MODE_DO_NOT_USE: string\n Option: typeof Option\n OptGroup: typeof OptGroup\n}\n\nTntdRcSelect.SECRET_COMBOBOX_MODE_DO_NOT_USE = SECRET_COMBOBOX_MODE_DO_NOT_USE\nTntdRcSelect.Option = Option\nTntdRcSelect.OptGroup = OptGroup\n\nexport default TntdRcSelect\n"]}
|
package/es/tntd-select/index.js
CHANGED
|
@@ -7,14 +7,15 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
7
7
|
return t;
|
|
8
8
|
};
|
|
9
9
|
import React, { PureComponent } from 'react';
|
|
10
|
-
import
|
|
10
|
+
import { ConfigConsumer } from '../config-provider';
|
|
11
11
|
import Select from '../select';
|
|
12
|
+
import Empty from '../empty';
|
|
12
13
|
import Spin from '../spin';
|
|
13
14
|
import { capitalizeFirstLetter } from '../utils';
|
|
14
15
|
import DropDownWrap from './DropDownWrap';
|
|
15
16
|
import { getLanguage, getText } from '../prev-locale';
|
|
16
17
|
import './index.less';
|
|
17
|
-
const
|
|
18
|
+
const defaultPlaceholder = getText('select', getLanguage());
|
|
18
19
|
// 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER
|
|
19
20
|
const ITEM_ELEMENT_NUMBER = 30;
|
|
20
21
|
// Select size 配置
|
|
@@ -239,7 +240,7 @@ class SuperSelect extends PureComponent {
|
|
|
239
240
|
}
|
|
240
241
|
});
|
|
241
242
|
// 须使用 setTimeout 确保在 dom 加载完成之后添加事件
|
|
242
|
-
Object.defineProperty(this, "
|
|
243
|
+
Object.defineProperty(this, "setSuperDropDownMenu", {
|
|
243
244
|
enumerable: true,
|
|
244
245
|
configurable: true,
|
|
245
246
|
writable: true,
|
|
@@ -290,7 +291,7 @@ class SuperSelect extends PureComponent {
|
|
|
290
291
|
// 如果已有 value, 设置默认滚动位置
|
|
291
292
|
this.setDefaultScrollTop();
|
|
292
293
|
// 设置下拉列表显示数据
|
|
293
|
-
this.
|
|
294
|
+
this.setSuperDropDownMenu(visible);
|
|
294
295
|
} else if (!value && value !== 0 && children && children.length > 0) {
|
|
295
296
|
// 无数据时,下拉回归至第一个
|
|
296
297
|
const val = children[0].props.value;
|
|
@@ -330,7 +331,7 @@ class SuperSelect extends PureComponent {
|
|
|
330
331
|
filterChildren: null
|
|
331
332
|
}, () => {
|
|
332
333
|
// 搜索成功后重新设置列表的总高度
|
|
333
|
-
this.
|
|
334
|
+
this.setSuperDropDownMenu(true);
|
|
334
335
|
});
|
|
335
336
|
}
|
|
336
337
|
}
|
|
@@ -390,7 +391,7 @@ class SuperSelect extends PureComponent {
|
|
|
390
391
|
this.scrollEle.scrollTo(0, 0);
|
|
391
392
|
}
|
|
392
393
|
// 搜索成功后需要重新设置列表的总高度
|
|
393
|
-
this.
|
|
394
|
+
this.setSuperDropDownMenu(true);
|
|
394
395
|
}, 0);
|
|
395
396
|
});
|
|
396
397
|
}
|
|
@@ -516,7 +517,7 @@ class SuperSelect extends PureComponent {
|
|
|
516
517
|
if (!value) {
|
|
517
518
|
this.scrollTop = 0;
|
|
518
519
|
this.scrollEle && this.scrollEle.scrollTo(0, 0);
|
|
519
|
-
this.
|
|
520
|
+
this.setSuperDropDownMenu(true);
|
|
520
521
|
}
|
|
521
522
|
this.formulaWidth();
|
|
522
523
|
if (!this.inputEle) {
|
|
@@ -548,10 +549,11 @@ class SuperSelect extends PureComponent {
|
|
|
548
549
|
dropdownStyle,
|
|
549
550
|
optionLabelProp,
|
|
550
551
|
dropdownClassName,
|
|
551
|
-
placeholder =
|
|
552
|
-
capitalize
|
|
552
|
+
placeholder = defaultPlaceholder,
|
|
553
|
+
capitalize,
|
|
554
|
+
renderEmpty
|
|
553
555
|
} = _a,
|
|
554
|
-
props = __rest(_a, ["dropdownStyle", "optionLabelProp", "dropdownClassName", "placeholder", "capitalize"]);
|
|
556
|
+
props = __rest(_a, ["dropdownStyle", "optionLabelProp", "dropdownClassName", "placeholder", "capitalize", "renderEmpty"]);
|
|
555
557
|
this.allList = this.getUseChildrenList();
|
|
556
558
|
this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
|
|
557
559
|
const {
|
|
@@ -606,7 +608,7 @@ class SuperSelect extends PureComponent {
|
|
|
606
608
|
if (this.allList.length === 0) {
|
|
607
609
|
return React.createElement("div", {
|
|
608
610
|
className: "tntd-select-empty-container"
|
|
609
|
-
}, React.createElement(Empty, {
|
|
611
|
+
}, renderEmpty ? renderEmpty('Select') : React.createElement(Empty, {
|
|
610
612
|
image: Empty.PRESENTED_IMAGE_SIMPLE
|
|
611
613
|
}));
|
|
612
614
|
}
|
|
@@ -625,5 +627,14 @@ class SuperSelect extends PureComponent {
|
|
|
625
627
|
}), this.allList);
|
|
626
628
|
}
|
|
627
629
|
}
|
|
628
|
-
|
|
629
|
-
|
|
630
|
+
function TntdSelect(props) {
|
|
631
|
+
return React.createElement(ConfigConsumer, null, ({
|
|
632
|
+
renderEmpty
|
|
633
|
+
}) => {
|
|
634
|
+
return React.createElement(SuperSelect, Object.assign({}, props, {
|
|
635
|
+
renderEmpty: renderEmpty
|
|
636
|
+
}));
|
|
637
|
+
});
|
|
638
|
+
}
|
|
639
|
+
TntdSelect.Option = Option;
|
|
640
|
+
export default TntdSelect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react'\nimport Empty from '../empty'\nimport Select from '../select'\nimport Spin from '../spin'\nimport { capitalizeFirstLetter } from '../utils'\nimport DropDownWrap from './DropDownWrap'\nimport { getLanguage, getText } from '../prev-locale'\nimport './index.less'\n\nconst defaultPlacehlder = getText('select', getLanguage())\n\n// 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER\nconst ITEM_ELEMENT_NUMBER = 30\n// Select size 配置\nconst ITEM_HEIGHT_CFG = {\n small: 24,\n large: 40,\n default: 32,\n}\n\nconst ARROW_CODE = {\n 40: 'down',\n 38: 'up',\n}\n\nconst DROPDOWN_HEIGHT = 224\n\nconst Option = Select.Option\n\nclass SuperSelect extends PureComponent {\n constructor(props) {\n super(props)\n\n const { mode, defaultValue, value, optionHeight, children: arr } = props\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n const children = this.turnChildren(arr)\n\n // 设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n\n this.state = {\n children: children || [],\n filterChildren: null, // 筛选后的 options,优先显示,所以清除筛选后手动设为 null\n value: defaultV,\n maxWidth: null,\n selectWidth: null,\n }\n // 下拉菜单项行高\n this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default']\n // 可视区 dom 高度\n this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER\n // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表\n this.reactDelta = this.visibleDomHeight / 3\n // 是否拖动滚动条快速滚动状态\n this.isStopReact = false\n // 上一次滚动的 scrollTop 值\n this.prevScrollTop = 0\n // 上一次按下方向键时 scrollTop 值\n this.prevTop = 0\n\n this.scrollTop = 0\n\n // className\n this.dropdownClassName = `dc${+new Date()}`\n\n this.id = `sid${+new Date()}`\n }\n\n componentDidMount() {\n // defaultOpens=true 时添加滚动事件\n setTimeout(() => {\n this.addEvent()\n }, 500)\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n // if (children && children.length > 0) {\n this.formulaWidth()\n // }\n }\n\n turnChildren = (children) => {\n if (!children) return []\n let arr = []\n if (children && children.props) {\n arr.push(children)\n } else {\n children.forEach((item) => {\n if (item) {\n if (item instanceof Array) {\n arr = arr.concat(item)\n } else {\n arr.push(item)\n }\n }\n })\n }\n return arr\n }\n\n formulaWidth = () => {\n // 获取dom设置宽度\n const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props\n const selectDom = document.getElementById(this.id)\n let selectWidth\n if(selectDom){\n selectWidth = selectDom.clientWidth || selectDom.offsetWidth\n }\n let arr = []\n let formulaMaxWidth = 10\n if (!dropdownMatchSelectWidth) {\n formulaMaxWidth = maxWidth || 10\n }\n if (!dropdownMatchSelectWidth && !maxWidth) {\n const children = this.turnChildren(arr2)\n for (let i = 0; i < children.length; i++) {\n const val = children[i].props.children\n const textWidth = this.getTextPixelWith(val)\n arr.push(textWidth.toFixed(2))\n }\n if (arr.length > 0) {\n formulaMaxWidth = Math.max(...arr)\n }\n }\n\n this.setState({\n selectWidth,\n maxWidth: formulaMaxWidth,\n })\n }\n\n // 获取单行文本的像素宽度\n getTextPixelWith = (text, fontStyle = '14px') => {\n let canvas = document.createElement('canvas') // 创建 canvas 画布\n let context = canvas.getContext('2d') // 获取 canvas 绘图上下文环境\n context.font = fontStyle // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度\n let dimension = context.measureText(text) // 测量文字\n return dimension.width\n }\n\n componentDidUpdate(prevProps) {\n const { mode, defaultValue, value, children } = this.props\n let arr = this.turnChildren(children)\n if (prevProps.children !== children) {\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n\n this.setState(\n {\n children: arr || [],\n filterChildren: null,\n },\n () => {\n if (arr && arr.length > 0) {\n // 设置下拉列表显示数据\n if (!value) {\n this.scrollTop = 0\n this.scrollEle && this.scrollEle.scrollTo(0, 0)\n this.setSuperDrowDownMenu(true)\n }\n this.formulaWidth()\n if (!this.inputEle) {\n this.removeEvent()\n this.addEvent()\n }\n }\n }\n )\n }\n if (prevProps.value !== value) {\n // 更新时设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n this.setState({ value: defaultV })\n }\n }\n\n componentWillUnmount() {\n this.removeEvent()\n }\n\n getItemStyle = (i) => ({\n position: 'absolute',\n top: this.ITEM_HEIGHT * i,\n width: '100%',\n height: this.ITEM_HEIGHT,\n })\n\n preventEvent = (e) => {\n e.preventDefault()\n }\n\n addEvent = () => {\n this.scrollEle = document.querySelector(`.${this.dropdownClassName}`)\n // 下拉菜单未展开时元素不存在\n if (!this.scrollEle) return\n\n this.scrollEle.addEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.addEventListener('scroll', this.onScroll, false)\n this.inputEle = document.querySelector(`#${this.id}`)\n\n if (!this.inputEle) return\n this.inputEle.addEventListener('keydown', this.onKeyDown, false)\n }\n\n // 模拟 antd select 按下 上下箭头 键时滚动列表\n onKeyDown = (e) => {\n const { keyCode } = e || {}\n\n setTimeout(() => {\n const activeItem = document.querySelector(\n `.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`\n )\n if (!activeItem) return\n\n const { offsetTop } = activeItem\n const isUp = ARROW_CODE[keyCode] === 'up'\n const isDown = ARROW_CODE[keyCode] === 'down'\n\n // 在所有列表第一行按上键\n if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp && this.scrollEle) {\n this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT)\n this.prevTop = this.allHeight\n\n return\n }\n\n // 在所有列表中最后一行按下键\n if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown && this.scrollEle) {\n this.scrollEle.scrollTo(0, 0)\n this.prevTop = 0\n\n return\n }\n\n this.prevTop = offsetTop\n // 向下滚动到下拉框最后一行时,向下滚动一行的高度\n if (\n offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&\n isDown\n ) {\n this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT)\n return\n }\n // 向上滚动到下拉框第一一行时,向上滚动一行的高度\n if (offsetTop < this.scrollEle.scrollTop && isUp) {\n this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT)\n }\n }, 100)\n }\n\n onScroll = () => this.throttleByHeight(this.onScrollReal)\n\n onScrollReal = () => {\n this.allList = this.getUseChildrenList()\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n this.prevScrollTop = this.scrollTop\n // 重新渲染列表组件 Wrap\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n this.wrap.reactList(allHeight, startIndex, endIndex)\n }\n\n throttleByHeight = () => {\n this.scrollTop = this.scrollEle.scrollTop\n // 滚动的高度\n let delta = this.prevScrollTop - this.scrollTop\n delta = delta < 0 ? 0 - delta : delta\n\n delta > this.reactDelta && this.onScrollReal()\n }\n\n // 列表可展示所有 children\n getUseChildrenList = () => this.state.filterChildren || this.state.children\n\n getStartAndEndIndex = () => {\n // 滚动后显示在列表可视区中的第一个 item 的 index\n const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0))\n\n const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2\n const endIndex = showIndex + ITEM_ELEMENT_NUMBER\n return { startIndex, endIndex }\n }\n\n // 须使用 setTimeout 确保在 dom 加载完成之后添加事件\n setSuperDrowDownMenu = (visible) => {\n if (!visible) return\n\n this.allList = this.getUseChildrenList()\n\n if (!this.eventTimer || !this.scrollEle) {\n this.eventTimer = setTimeout(() => this.addEvent(), 0)\n } else {\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n // 下拉列表单独重新渲染\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n setTimeout(() => {\n this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex)\n }, 0)\n }\n }\n\n onDropdownVisibleChange = (visible) => {\n const { onDropdownVisibleChange } = this.props\n onDropdownVisibleChange && onDropdownVisibleChange(visible)\n\n const { value, children } = this.state\n // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options\n if (!visible) {\n // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁\n setTimeout(() => {\n this.setState({ filterChildren: null })\n this.setDefaultScrollTop(value)\n }, 100)\n // this.removeEvent();\n } else {\n // this.addEvent();\n if (value) {\n // 如果已有 value, 设置默认滚动位置\n this.setDefaultScrollTop()\n // 设置下拉列表显示数据\n this.setSuperDrowDownMenu(visible)\n } else if (!value && value !== 0 && children && children.length > 0) {\n // 无数据时,下拉回归至第一个\n const val = children[0].props.value\n this.setDefaultScrollTop(val)\n }\n }\n }\n\n onDeselect = (value) => {\n const { onDeselect } = this.props\n onDeselect && onDeselect(value)\n }\n\n // 在搜索重新计算下拉滚动条高度\n onChange = (value, opt) => {\n const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props\n if (showSearch || this.isMultiple) {\n // 搜索模式下选择后是否需要重置搜索状态\n if (autoClearSearchValue !== false) {\n this.setState({ filterChildren: null }, () => {\n // 搜索成功后重新设置列表的总高度\n this.setSuperDrowDownMenu(true)\n })\n }\n }\n\n if (mode === 'multiple') {\n if (value.length <= maxCount) {\n this.setState({ value })\n }\n } else {\n this.setState({ value })\n }\n onChange && onChange(value, opt)\n\n if (mode !== 'multiple') {\n this.select && this.select.blur()\n }\n }\n\n onSearch = (v) => {\n const { showSearch, onSearch, filterOption, children: arr } = this.props\n let children = this.turnChildren(arr)\n if (showSearch && filterOption !== false) {\n // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表\n let filterChildren = null\n if (typeof filterOption === 'function') {\n filterChildren = children.filter((item) => filterOption(v, item))\n } else if (filterOption === undefined) {\n filterChildren = children.filter((item) => this.filterOption(v, item))\n }\n\n // 搜索框有值,去除disabled=true的children\n let newFilterChild = []\n filterChildren &&\n filterChildren.forEach((item, index) => {\n if (!item.props.disabled) {\n newFilterChild.push(item)\n }\n })\n filterChildren = newFilterChild\n\n // 设置下拉列表显示数据\n this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {\n setTimeout(() => {\n // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据\n if (filterChildren && this.scrollEle) {\n this.scrollTop = 0\n this.scrollEle.scrollTo(0, 0)\n }\n // 搜索成功后需要重新设置列表的总高度\n this.setSuperDrowDownMenu(true)\n }, 0)\n })\n }\n onSearch && onSearch(v)\n }\n\n filterOption = (v, option) => {\n // 自定义过滤对应的 option 属性配置\n const filterProps = this.props.optionFilterProp || 'value'\n return `${option.props[filterProps]}`.indexOf(v) >= 0\n }\n\n setDefaultScrollTop = (data) => {\n const { value } = this.state\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n\n let val = data || data === 0 ? data : value\n\n for (let i = 0; i < children.length; i++) {\n const item = children[i]\n const itemValue = item.props.value\n if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {\n const targetScrollTop = i * this.ITEM_HEIGHT\n\n setTimeout(() => {\n if (!this.scrollEle) {\n this.addEvent()\n }\n this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop)\n }, 100)\n return\n }\n }\n }\n\n removeEvent = () => {\n if (!this.scrollEle) return\n this.scrollEle.removeEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.removeEventListener('scroll', this.onScroll, false)\n if (!this.inputEle) return\n this.inputEle.removeEventListener('keydown', this.onKeyDown, false)\n }\n\n render() {\n const { maxWidth, selectWidth } = this.state\n let { dropdownStyle, optionLabelProp, dropdownClassName, placeholder = defaultPlacehlder, capitalize, ...props } =\n this.props\n\n this.allList = this.getUseChildrenList()\n\n this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n let dynamicWidth = maxWidth\n if (this.allList.length === 0 || maxWidth < selectWidth) {\n dynamicWidth = selectWidth\n }\n\n dropdownStyle = {\n maxHeight: `${DROPDOWN_HEIGHT}px`,\n ...dropdownStyle,\n overflow: 'auto',\n position: 'relative',\n maxWidth: dynamicWidth,\n }\n\n const { value } = this.state\n // 判断处于 antd Form 中时不自动设置 value\n const _props = { ...props }\n // 先删除 value,再手动赋值,防止空 value 影响 placeholder\n delete _props.value\n\n // value 为空字符会隐藏 placeholder,改为 undefined\n if (typeof value === 'string' && !value) {\n _props.value = undefined\n } else {\n _props.value = value\n }\n\n optionLabelProp = optionLabelProp || 'children'\n return (\n <Select\n {..._props}\n id={this.id}\n placeholder={capitalizeFirstLetter(placeholder, capitalize)}\n onSearch={this.onSearch}\n onChange={this.onChange}\n dropdownClassName={`${this.dropdownClassName} ${dropdownClassName || ''}`}\n optionLabelProp={optionLabelProp}\n dropdownStyle={dropdownStyle}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n onDeselect={this.onDeselect}\n ref={(ele) => (this.select = ele)}\n dropdownRender={(menu, props) => {\n if (_props.loading) {\n return <Spin size=\"small\" style={{ marginLeft: 8 }} />\n }\n if (this.allList.length === 0) {\n return (\n <div className=\"tntd-select-empty-container\">\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n </div>\n )\n }\n\n return (\n <DropDownWrap\n {...{\n startIndex,\n endIndex,\n allHeight: this.allHeight,\n menu,\n itemHeight: this.ITEM_HEIGHT,\n }}\n ref={(ele) => {\n this.wrap = ele\n }}\n />\n )\n }}\n >\n {this.allList}\n </Select>\n )\n }\n}\n\nSuperSelect.Option = Option\n\nexport default SuperSelect\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,cAAc,CAAA;AAErB,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;AAC3D,4CAA4C;AAC5C,MAAM,mBAAmB,GAAG,EAAE,CAAA;AAC9B,iBAAiB;AACjB,MAAM,eAAe,GAAG;IACtB,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;CACZ,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,IAAI;CACT,CAAA;AAED,MAAM,eAAe,GAAG,GAAG,CAAA;AAE3B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;AAE5B,MAAM,WAAY,SAAQ,aAAa;IACrC,YAAY,KAAK;QACf,KAAK,CAAC,KAAK,CAAC,CAAA;QAkDd;;;;mBAAe,CAAC,QAAQ,EAAE,EAAE;gBAC1B,IAAI,CAAC,QAAQ;oBAAE,OAAO,EAAE,CAAA;gBACxB,IAAI,GAAG,GAAG,EAAE,CAAA;gBACZ,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE;oBAC9B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;iBACnB;qBAAM;oBACL,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBACxB,IAAI,IAAI,EAAE;4BACR,IAAI,IAAI,YAAY,KAAK,EAAE;gCACzB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;6BACvB;iCAAM;gCACL,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;6BACf;yBACF;oBACH,CAAC,CAAC,CAAA;iBACH;gBACD,OAAO,GAAG,CAAA;YACZ,CAAC;WAAA;QAED;;;;mBAAe,GAAG,EAAE;gBAClB,YAAY;gBACZ,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,wBAAwB,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAChF,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAClD,IAAI,WAAW,CAAA;gBACf,IAAI,SAAS,EAAE;oBACb,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAA;iBAC7D;gBACD,IAAI,GAAG,GAAG,EAAE,CAAA;gBACZ,IAAI,eAAe,GAAG,EAAE,CAAA;gBACxB,IAAI,CAAC,wBAAwB,EAAE;oBAC7B,eAAe,GAAG,QAAQ,IAAI,EAAE,CAAA;iBACjC;gBACD,IAAI,CAAC,wBAAwB,IAAI,CAAC,QAAQ,EAAE;oBAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;oBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAA;wBACtC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;wBAC5C,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;qBAC/B;oBACD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;wBAClB,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;qBACnC;iBACF;gBAED,IAAI,CAAC,QAAQ,CAAC;oBACZ,WAAW;oBACX,QAAQ,EAAE,eAAe;iBAC1B,CAAC,CAAA;YACJ,CAAC;WAAA;QAED,cAAc;QACd;;;;mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,EAAE;gBAC9C,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA,CAAC,eAAe;gBAC7D,IAAI,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA,CAAC,oBAAoB;gBAC1D,OAAO,CAAC,IAAI,GAAG,SAAS,CAAA,CAAC,wCAAwC;gBACjE,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA,CAAC,OAAO;gBACjD,OAAO,SAAS,CAAC,KAAK,CAAA;YACxB,CAAC;WAAA;QA0CD;;;;mBAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrB,QAAQ,EAAE,UAAU;gBACpB,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC;gBACzB,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,IAAI,CAAC,WAAW;aACzB,CAAC;WAAA;QAEF;;;;mBAAe,CAAC,CAAC,EAAE,EAAE;gBACnB,CAAC,CAAC,cAAc,EAAE,CAAA;YACpB,CAAC;WAAA;QAED;;;;mBAAW,GAAG,EAAE;gBACd,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;gBACrE,gBAAgB;gBAChB,IAAI,CAAC,IAAI,CAAC,SAAS;oBAAE,OAAM;gBAE3B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;gBACtE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;gBAC/D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;gBAErD,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,OAAM;gBAC1B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAClE,CAAC;WAAA;QAED,gCAAgC;QAChC;;;;mBAAY,CAAC,CAAC,EAAE,EAAE;gBAChB,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,CAAA;gBAE3B,UAAU,CAAC,GAAG,EAAE;oBACd,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CACvC,IAAI,IAAI,CAAC,iBAAiB,wCAAwC,CACnE,CAAA;oBACD,IAAI,CAAC,UAAU;wBAAE,OAAM;oBAEvB,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAA;oBAChC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;oBACzC,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,MAAM,CAAA;oBAE7C,cAAc;oBACd,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;wBACxE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,CAAA;wBAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAA;wBAE7B,OAAM;qBACP;oBAED,gBAAgB;oBAChB,IAAI,IAAI,CAAC,OAAO,GAAG,SAAS,GAAG,eAAe,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;wBAC1E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;wBAC7B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;wBAEhB,OAAM;qBACP;oBAED,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;oBACxB,0BAA0B;oBAC1B,IACE,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,eAAe,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE;wBAC9E,MAAM,EACN;wBACA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;wBAC7D,OAAM;qBACP;oBACD,0BAA0B;oBAC1B,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,EAAE;wBAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;qBAC9D;gBACH,CAAC,EAAE,GAAG,CAAC,CAAA;YACT,CAAC;WAAA;QAED;;;;mBAAW,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC;WAAA;QAEzD;;;;mBAAe,GAAG,EAAE;gBAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;gBACxC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;gBAE3D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAA;gBACnC,gBAAgB;gBAChB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,GAAG,CAAA;gBAC/D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;YACtD,CAAC;WAAA;QAED;;;;mBAAmB,GAAG,EAAE;gBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAA;gBACzC,QAAQ;gBACR,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAA;gBAC/C,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;gBAErC,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE,CAAA;YAChD,CAAC;WAAA;QAED,mBAAmB;QACnB;;;;mBAAqB,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;WAAA;QAE3E;;;;mBAAsB,GAAG,EAAE;gBACzB,gCAAgC;gBAChC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;gBAExE,MAAM,UAAU,GAAG,SAAS,GAAG,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,mBAAmB,GAAG,CAAC,CAAA;gBAChG,MAAM,QAAQ,GAAG,SAAS,GAAG,mBAAmB,CAAA;gBAChD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;YACjC,CAAC;WAAA;QAED,oCAAoC;QACpC;;;;mBAAuB,CAAC,OAAO,EAAE,EAAE;gBACjC,IAAI,CAAC,OAAO;oBAAE,OAAM;gBAEpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;gBAExC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;oBACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;iBACvD;qBAAM;oBACL,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,GAAG,CAAA;oBAC/D,aAAa;oBACb,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;oBAC3D,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;oBACnE,CAAC,EAAE,CAAC,CAAC,CAAA;iBACN;YACH,CAAC;WAAA;QAED;;;;mBAA0B,CAAC,OAAO,EAAE,EAAE;gBACpC,MAAM,EAAE,uBAAuB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAC9C,uBAAuB,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAA;gBAE3D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBACtC,sCAAsC;gBACtC,IAAI,CAAC,OAAO,EAAE;oBACZ,sCAAsC;oBACtC,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAA;wBACvC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;oBACjC,CAAC,EAAE,GAAG,CAAC,CAAA;oBACP,sBAAsB;iBACvB;qBAAM;oBACL,mBAAmB;oBACnB,IAAI,KAAK,EAAE;wBACT,uBAAuB;wBACvB,IAAI,CAAC,mBAAmB,EAAE,CAAA;wBAC1B,aAAa;wBACb,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;qBACnC;yBAAM,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;wBACnE,gBAAgB;wBAChB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;wBACnC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;qBAC9B;iBACF;YACH,CAAC;WAAA;QAED;;;;mBAAa,CAAC,KAAK,EAAE,EAAE;gBACrB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBACjC,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;YACjC,CAAC;WAAA;QAED,iBAAiB;QACjB;;;;mBAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACxB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBACjF,IAAI,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE;oBACjC,qBAAqB;oBACrB,IAAI,oBAAoB,KAAK,KAAK,EAAE;wBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;4BAC3C,kBAAkB;4BAClB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;wBACjC,CAAC,CAAC,CAAA;qBACH;iBACF;gBAED,IAAI,IAAI,KAAK,UAAU,EAAE;oBACvB,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE;wBAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;qBACzB;iBACF;qBAAM;oBACL,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;iBACzB;gBACD,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;gBAEhC,IAAI,IAAI,KAAK,UAAU,EAAE;oBACvB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;iBAClC;YACH,CAAC;WAAA;QAED;;;;mBAAW,CAAC,CAAC,EAAE,EAAE;gBACf,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBACxE,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;gBACrC,IAAI,UAAU,IAAI,YAAY,KAAK,KAAK,EAAE;oBACxC,8CAA8C;oBAC9C,IAAI,cAAc,GAAG,IAAI,CAAA;oBACzB,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE;wBACtC,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;qBAClE;yBAAM,IAAI,YAAY,KAAK,SAAS,EAAE;wBACrC,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;qBACvE;oBAED,iCAAiC;oBACjC,IAAI,cAAc,GAAG,EAAE,CAAA;oBACvB,cAAc;wBACZ,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;4BACrC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gCACxB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;6BAC1B;wBACH,CAAC,CAAC,CAAA;oBACJ,cAAc,GAAG,cAAc,CAAA;oBAE/B,aAAa;oBACb,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE;wBACvE,UAAU,CAAC,GAAG,EAAE;4BACd,qCAAqC;4BACrC,IAAI,cAAc,IAAI,IAAI,CAAC,SAAS,EAAE;gCACpC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;gCAClB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;6BAC9B;4BACD,oBAAoB;4BACpB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;wBACjC,CAAC,EAAE,CAAC,CAAC,CAAA;oBACP,CAAC,CAAC,CAAA;iBACH;gBACD,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAA;YACzB,CAAC;WAAA;QAED;;;;mBAAe,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC3B,uBAAuB;gBACvB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,OAAO,CAAA;gBAC1D,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACvD,CAAC;WAAA;QAED;;;;mBAAsB,CAAC,IAAI,EAAE,EAAE;gBAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBAC5B,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;gBACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;gBAEvC,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;gBAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;oBAClC,IAAI,SAAS,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE;wBACxE,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAA;wBAE5C,UAAU,CAAC,GAAG,EAAE;4BACd,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gCACnB,IAAI,CAAC,QAAQ,EAAE,CAAA;6BAChB;4BACD,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,eAAe,CAAC,CAAA;wBAC/D,CAAC,EAAE,GAAG,CAAC,CAAA;wBACP,OAAM;qBACP;iBACF;YACH,CAAC;WAAA;QAED;;;;mBAAc,GAAG,EAAE;gBACjB,IAAI,CAAC,IAAI,CAAC,SAAS;oBAAE,OAAM;gBAC3B,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;gBACzE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;gBAClE,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,OAAM;gBAC1B,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YACrE,CAAC;WAAA;QAlZC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;QACxE,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAEvC,aAAa;QACb,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACxC,QAAQ,GAAG,KAAK,IAAI,YAAY,IAAI,QAAQ,CAAA;QAE5C,IAAI,CAAC,KAAK,GAAG;YACX,QAAQ,EAAE,QAAQ,IAAI,EAAE;YACxB,cAAc,EAAE,IAAI;YACpB,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,IAAI;SAClB,CAAA;QACD,UAAU;QACV,IAAI,CAAC,WAAW,GAAG,YAAY,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,CAAA;QAC3E,aAAa;QACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAA;QAC9D,+CAA+C;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAA;QAC3C,gBAAgB;QAChB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QACxB,qBAAqB;QACrB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;QACtB,wBAAwB;QACxB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAEhB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAElB,YAAY;QACZ,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAA;QAE3C,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,CAAA;IAC/B,CAAC;IAED,iBAAiB;QACf,4BAA4B;QAC5B,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,QAAQ,EAAE,CAAA;QACjB,CAAC,EAAE,GAAG,CAAC,CAAA;QACP,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACvC,yCAAyC;QACzC,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,IAAI;IACN,CAAC;IA6DD,kBAAkB,CAAC,SAAS;QAC1B,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC1D,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QACrC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACnC,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAErD,IAAI,CAAC,QAAQ,CACX;gBACE,QAAQ,EAAE,GAAG,IAAI,EAAE;gBACnB,cAAc,EAAE,IAAI;aACrB,EACD,GAAG,EAAE;gBACH,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,aAAa;oBACb,IAAI,CAAC,KAAK,EAAE;wBACV,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;wBAClB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;wBAC/C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;qBAChC;oBACD,IAAI,CAAC,YAAY,EAAE,CAAA;oBACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;wBAClB,IAAI,CAAC,WAAW,EAAE,CAAA;wBAClB,IAAI,CAAC,QAAQ,EAAE,CAAA;qBAChB;iBACF;YACH,CAAC,CACF,CAAA;SACF;QACD,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,EAAE;YAC7B,gBAAgB;YAChB,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACxC,QAAQ,GAAG,KAAK,IAAI,YAAY,IAAI,QAAQ,CAAA;YAC5C,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;SACnC;IACH,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAmQD,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC5C,IAAI,KACF,IAAI,CAAC,KAAK,EADR,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,GAAG,kBAAkB,EAAE,UAAU,EAAE,WAAW,OACtG,EAD2G,KAAK,cAAxH,qGAA0H,CAClH,CAAA;QAEZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAExC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,GAAG,CAAA;QAC9D,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAE3D,IAAI,YAAY,GAAG,QAAQ,CAAA;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,GAAG,WAAW,EAAE;YACvD,YAAY,GAAG,WAAW,CAAA;SAC3B;QAED,aAAa,iCACX,SAAS,EAAE,GAAG,eAAe,IAAI,IAC9B,aAAa,KAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,YAAY,GACvB,CAAA;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC5B,+BAA+B;QAC/B,MAAM,MAAM,qBAAQ,KAAK,CAAE,CAAA;QAC3B,2CAA2C;QAC3C,OAAO,MAAM,CAAC,KAAK,CAAA;QAEnB,yCAAyC;QACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE;YACvC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAA;SACzB;aAAM;YACL,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;SACrB;QAED,eAAe,GAAG,eAAe,IAAI,UAAU,CAAA;QAC/C,OAAO,CACL,oBAAC,MAAM,oBACD,MAAM,IACV,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,WAAW,EAAE,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC,EAC3D,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,iBAAiB,EAAE,GAAG,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,IAAI,EAAE,EAAE,EACzE,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EACrD,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,EACjC,cAAc,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC9B,IAAI,MAAM,CAAC,OAAO,EAAE;oBAClB,OAAO,oBAAC,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,GAAI,CAAA;iBACvD;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC7B,OAAO,CACL,6BAAK,SAAS,EAAC,6BAA6B,IACzC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,oBAAC,KAAK,IAAC,KAAK,EAAE,KAAK,CAAC,sBAAsB,GAAI,CACjF,CACP,CAAA;iBACF;gBAEK,OAAO,CACP,oBAAC,YAAY,oBACP;oBACF,UAAU;oBACV,QAAQ;oBACR,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,IAAI;oBACJ,UAAU,EAAE,IAAI,CAAC,WAAW;iBAC7B,IACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;wBACX,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;oBACjB,CAAC,IACD,CACD,CAAA;YACT,CAAC,KAEQ,IAAI,CAAC,OAAO,CACN,CACV,CAAA;IACH,CAAC;CACF;AAET,SAAS,UAAU,CAAC,KAAK;IACnB,OAAO,CAAC,oBAAC,cAAc,QACpB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;QACnB,OAAO,oBAAC,WAAW,oBAAK,KAAK,IAAE,WAAW,EAAE,WAAW,IAAI,CAAA;IAC7D,CAAC,CACc,CAAC,CAAA;AACpB,CAAC;AAED,UAAU,CAAC,MAAM,GAAG,MAAM,CAAA;AAE1B,eAAe,UAAU,CAAA","sourcesContent":["import React, { PureComponent } from 'react'\nimport { ConfigConsumer } from '../config-provider'\nimport Select from '../select'\nimport Empty from '../empty'\nimport Spin from '../spin'\nimport { capitalizeFirstLetter } from '../utils'\nimport DropDownWrap from './DropDownWrap'\nimport { getLanguage, getText } from '../prev-locale'\nimport './index.less'\n\nconst defaultPlaceholder = getText('select', getLanguage())\n// 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER\nconst ITEM_ELEMENT_NUMBER = 30\n// Select size 配置\nconst ITEM_HEIGHT_CFG = {\n small: 24,\n large: 40,\n default: 32,\n}\n\nconst ARROW_CODE = {\n 40: 'down',\n 38: 'up',\n}\n\nconst DROPDOWN_HEIGHT = 224\n\nconst Option = Select.Option\n\nclass SuperSelect extends PureComponent {\n constructor(props) {\n super(props)\n\n const { mode, defaultValue, value, optionHeight, children: arr } = props\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n const children = this.turnChildren(arr)\n\n // 设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n\n this.state = {\n children: children || [],\n filterChildren: null, // 筛选后的 options,优先显示,所以清除筛选后手动设为 null\n value: defaultV,\n maxWidth: null,\n selectWidth: null,\n }\n // 下拉菜单项行高\n this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default']\n // 可视区 dom 高度\n this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER\n // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表\n this.reactDelta = this.visibleDomHeight / 3\n // 是否拖动滚动条快速滚动状态\n this.isStopReact = false\n // 上一次滚动的 scrollTop 值\n this.prevScrollTop = 0\n // 上一次按下方向键时 scrollTop 值\n this.prevTop = 0\n\n this.scrollTop = 0\n\n // className\n this.dropdownClassName = `dc${+new Date()}`\n\n this.id = `sid${+new Date()}`\n }\n\n componentDidMount() {\n // defaultOpens=true 时添加滚动事件\n setTimeout(() => {\n this.addEvent()\n }, 500)\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n // if (children && children.length > 0) {\n this.formulaWidth()\n // }\n }\n\n turnChildren = (children) => {\n if (!children) return []\n let arr = []\n if (children && children.props) {\n arr.push(children)\n } else {\n children.forEach((item) => {\n if (item) {\n if (item instanceof Array) {\n arr = arr.concat(item)\n } else {\n arr.push(item)\n }\n }\n })\n }\n return arr\n }\n\n formulaWidth = () => {\n // 获取dom设置宽度\n const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props\n const selectDom = document.getElementById(this.id)\n let selectWidth\n if (selectDom) {\n selectWidth = selectDom.clientWidth || selectDom.offsetWidth\n }\n let arr = []\n let formulaMaxWidth = 10\n if (!dropdownMatchSelectWidth) {\n formulaMaxWidth = maxWidth || 10\n }\n if (!dropdownMatchSelectWidth && !maxWidth) {\n const children = this.turnChildren(arr2)\n for (let i = 0; i < children.length; i++) {\n const val = children[i].props.children\n const textWidth = this.getTextPixelWith(val)\n arr.push(textWidth.toFixed(2))\n }\n if (arr.length > 0) {\n formulaMaxWidth = Math.max(...arr)\n }\n }\n\n this.setState({\n selectWidth,\n maxWidth: formulaMaxWidth,\n })\n }\n\n // 获取单行文本的像素宽度\n getTextPixelWith = (text, fontStyle = '14px') => {\n let canvas = document.createElement('canvas') // 创建 canvas 画布\n let context = canvas.getContext('2d') // 获取 canvas 绘图上下文环境\n context.font = fontStyle // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度\n let dimension = context.measureText(text) // 测量文字\n return dimension.width\n }\n\n componentDidUpdate(prevProps) {\n const { mode, defaultValue, value, children } = this.props\n let arr = this.turnChildren(children)\n if (prevProps.children !== children) {\n this.isMultiple = ['tags', 'multiple'].includes(mode)\n\n this.setState(\n {\n children: arr || [],\n filterChildren: null,\n },\n () => {\n if (arr && arr.length > 0) {\n // 设置下拉列表显示数据\n if (!value) {\n this.scrollTop = 0\n this.scrollEle && this.scrollEle.scrollTo(0, 0)\n this.setSuperDropDownMenu(true)\n }\n this.formulaWidth()\n if (!this.inputEle) {\n this.removeEvent()\n this.addEvent()\n }\n }\n }\n )\n }\n if (prevProps.value !== value) {\n // 更新时设置默认 value\n let defaultV = this.isMultiple ? [] : ''\n defaultV = value || defaultValue || defaultV\n this.setState({ value: defaultV })\n }\n }\n\n componentWillUnmount() {\n this.removeEvent()\n }\n\n getItemStyle = (i) => ({\n position: 'absolute',\n top: this.ITEM_HEIGHT * i,\n width: '100%',\n height: this.ITEM_HEIGHT,\n })\n\n preventEvent = (e) => {\n e.preventDefault()\n }\n\n addEvent = () => {\n this.scrollEle = document.querySelector(`.${this.dropdownClassName}`)\n // 下拉菜单未展开时元素不存在\n if (!this.scrollEle) return\n\n this.scrollEle.addEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.addEventListener('scroll', this.onScroll, false)\n this.inputEle = document.querySelector(`#${this.id}`)\n\n if (!this.inputEle) return\n this.inputEle.addEventListener('keydown', this.onKeyDown, false)\n }\n\n // 模拟 antd select 按下 上下箭头 键时滚动列表\n onKeyDown = (e) => {\n const { keyCode } = e || {}\n\n setTimeout(() => {\n const activeItem = document.querySelector(\n `.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`\n )\n if (!activeItem) return\n\n const { offsetTop } = activeItem\n const isUp = ARROW_CODE[keyCode] === 'up'\n const isDown = ARROW_CODE[keyCode] === 'down'\n\n // 在所有列表第一行按上键\n if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp && this.scrollEle) {\n this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT)\n this.prevTop = this.allHeight\n\n return\n }\n\n // 在所有列表中最后一行按下键\n if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown && this.scrollEle) {\n this.scrollEle.scrollTo(0, 0)\n this.prevTop = 0\n\n return\n }\n\n this.prevTop = offsetTop\n // 向下滚动到下拉框最后一行时,向下滚动一行的高度\n if (\n offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&\n isDown\n ) {\n this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT)\n return\n }\n // 向上滚动到下拉框第一一行时,向上滚动一行的高度\n if (offsetTop < this.scrollEle.scrollTop && isUp) {\n this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT)\n }\n }, 100)\n }\n\n onScroll = () => this.throttleByHeight(this.onScrollReal)\n\n onScrollReal = () => {\n this.allList = this.getUseChildrenList()\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n this.prevScrollTop = this.scrollTop\n // 重新渲染列表组件 Wrap\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n this.wrap.reactList(allHeight, startIndex, endIndex)\n }\n\n throttleByHeight = () => {\n this.scrollTop = this.scrollEle.scrollTop\n // 滚动的高度\n let delta = this.prevScrollTop - this.scrollTop\n delta = delta < 0 ? 0 - delta : delta\n\n delta > this.reactDelta && this.onScrollReal()\n }\n\n // 列表可展示所有 children\n getUseChildrenList = () => this.state.filterChildren || this.state.children\n\n getStartAndEndIndex = () => {\n // 滚动后显示在列表可视区中的第一个 item 的 index\n const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0))\n\n const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2\n const endIndex = showIndex + ITEM_ELEMENT_NUMBER\n return { startIndex, endIndex }\n }\n\n // 须使用 setTimeout 确保在 dom 加载完成之后添加事件\n setSuperDropDownMenu = (visible) => {\n if (!visible) return\n\n this.allList = this.getUseChildrenList()\n\n if (!this.eventTimer || !this.scrollEle) {\n this.eventTimer = setTimeout(() => this.addEvent(), 0)\n } else {\n const allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n // 下拉列表单独重新渲染\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n setTimeout(() => {\n this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex)\n }, 0)\n }\n }\n\n onDropdownVisibleChange = (visible) => {\n const { onDropdownVisibleChange } = this.props\n onDropdownVisibleChange && onDropdownVisibleChange(visible)\n\n const { value, children } = this.state\n // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options\n if (!visible) {\n // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁\n setTimeout(() => {\n this.setState({ filterChildren: null })\n this.setDefaultScrollTop(value)\n }, 100)\n // this.removeEvent();\n } else {\n // this.addEvent();\n if (value) {\n // 如果已有 value, 设置默认滚动位置\n this.setDefaultScrollTop()\n // 设置下拉列表显示数据\n this.setSuperDropDownMenu(visible)\n } else if (!value && value !== 0 && children && children.length > 0) {\n // 无数据时,下拉回归至第一个\n const val = children[0].props.value\n this.setDefaultScrollTop(val)\n }\n }\n }\n\n onDeselect = (value) => {\n const { onDeselect } = this.props\n onDeselect && onDeselect(value)\n }\n\n // 在搜索重新计算下拉滚动条高度\n onChange = (value, opt) => {\n const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props\n if (showSearch || this.isMultiple) {\n // 搜索模式下选择后是否需要重置搜索状态\n if (autoClearSearchValue !== false) {\n this.setState({ filterChildren: null }, () => {\n // 搜索成功后重新设置列表的总高度\n this.setSuperDropDownMenu(true)\n })\n }\n }\n\n if (mode === 'multiple') {\n if (value.length <= maxCount) {\n this.setState({ value })\n }\n } else {\n this.setState({ value })\n }\n onChange && onChange(value, opt)\n\n if (mode !== 'multiple') {\n this.select && this.select.blur()\n }\n }\n\n onSearch = (v) => {\n const { showSearch, onSearch, filterOption, children: arr } = this.props\n let children = this.turnChildren(arr)\n if (showSearch && filterOption !== false) {\n // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表\n let filterChildren = null\n if (typeof filterOption === 'function') {\n filterChildren = children.filter((item) => filterOption(v, item))\n } else if (filterOption === undefined) {\n filterChildren = children.filter((item) => this.filterOption(v, item))\n }\n\n // 搜索框有值,去除disabled=true的children\n let newFilterChild = []\n filterChildren &&\n filterChildren.forEach((item, index) => {\n if (!item.props.disabled) {\n newFilterChild.push(item)\n }\n })\n filterChildren = newFilterChild\n\n // 设置下拉列表显示数据\n this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {\n setTimeout(() => {\n // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据\n if (filterChildren && this.scrollEle) {\n this.scrollTop = 0\n this.scrollEle.scrollTo(0, 0)\n }\n // 搜索成功后需要重新设置列表的总高度\n this.setSuperDropDownMenu(true)\n }, 0)\n })\n }\n onSearch && onSearch(v)\n }\n\n filterOption = (v, option) => {\n // 自定义过滤对应的 option 属性配置\n const filterProps = this.props.optionFilterProp || 'value'\n return `${option.props[filterProps]}`.indexOf(v) >= 0\n }\n\n setDefaultScrollTop = (data) => {\n const { value } = this.state\n const { children: arr } = this.props\n const children = this.turnChildren(arr)\n\n let val = data || data === 0 ? data : value\n\n for (let i = 0; i < children.length; i++) {\n const item = children[i]\n const itemValue = item.props.value\n if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {\n const targetScrollTop = i * this.ITEM_HEIGHT\n\n setTimeout(() => {\n if (!this.scrollEle) {\n this.addEvent()\n }\n this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop)\n }, 100)\n return\n }\n }\n }\n\n removeEvent = () => {\n if (!this.scrollEle) return\n this.scrollEle.removeEventListener('mousedown', this.preventEvent, false)\n this.scrollEle.removeEventListener('scroll', this.onScroll, false)\n if (!this.inputEle) return\n this.inputEle.removeEventListener('keydown', this.onKeyDown, false)\n }\n\n render() {\n const { maxWidth, selectWidth } = this.state\n let { dropdownStyle, optionLabelProp, dropdownClassName, placeholder = defaultPlaceholder, capitalize, renderEmpty, ...props } =\n this.props\n\n this.allList = this.getUseChildrenList()\n\n this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100\n const { startIndex, endIndex } = this.getStartAndEndIndex()\n\n let dynamicWidth = maxWidth\n if (this.allList.length === 0 || maxWidth < selectWidth) {\n dynamicWidth = selectWidth\n }\n\n dropdownStyle = {\n maxHeight: `${DROPDOWN_HEIGHT}px`,\n ...dropdownStyle,\n overflow: 'auto',\n position: 'relative',\n maxWidth: dynamicWidth,\n }\n\n const { value } = this.state\n // 判断处于 antd Form 中时不自动设置 value\n const _props = { ...props }\n // 先删除 value,再手动赋值,防止空 value 影响 placeholder\n delete _props.value\n\n // value 为空字符会隐藏 placeholder,改为 undefined\n if (typeof value === 'string' && !value) {\n _props.value = undefined\n } else {\n _props.value = value\n }\n\n optionLabelProp = optionLabelProp || 'children'\n return (\n <Select\n {..._props}\n id={this.id}\n placeholder={capitalizeFirstLetter(placeholder, capitalize)}\n onSearch={this.onSearch}\n onChange={this.onChange}\n dropdownClassName={`${this.dropdownClassName} ${dropdownClassName || ''}`}\n optionLabelProp={optionLabelProp}\n dropdownStyle={dropdownStyle}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n onDeselect={this.onDeselect}\n ref={(ele) => (this.select = ele)}\n dropdownRender={(menu, props) => {\n if (_props.loading) {\n return <Spin size=\"small\" style={{ marginLeft: 8 }} />\n }\n if (this.allList.length === 0) {\n return (\n <div className=\"tntd-select-empty-container\">\n {renderEmpty ? renderEmpty('Select') : <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />}\n </div>\n )\n }\n\n return (\n <DropDownWrap\n {...{\n startIndex,\n endIndex,\n allHeight: this.allHeight,\n menu,\n itemHeight: this.ITEM_HEIGHT,\n }}\n ref={(ele) => {\n this.wrap = ele\n }}\n />\n )\n }}\n >\n {this.allList}\n </Select>\n )\n }\n }\n\nfunction TntdSelect(props) {\n return (<ConfigConsumer>\n {({ renderEmpty }) => {\n return <SuperSelect {...props} renderEmpty={renderEmpty} />\n }}\n </ConfigConsumer>)\n }\n\n TntdSelect.Option = Option\n\n export default TntdSelect\n"]}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
padding: 4px 0;
|
|
11
11
|
font-size: 14px;
|
|
12
12
|
box-sizing: border-box;
|
|
13
|
+
display: inline-flex;
|
|
13
14
|
|
|
14
15
|
.tntd-virtual-tree-item-expand-icon{
|
|
15
16
|
display: inline-block;
|
|
@@ -31,11 +32,12 @@
|
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
.tntd-virtual-tree-title{
|
|
34
|
-
padding:
|
|
35
|
+
padding: 3px 5px;
|
|
35
36
|
flex: 1;
|
|
36
37
|
overflow: hidden;
|
|
37
38
|
display: inline-block;
|
|
38
39
|
vertical-align: middle;
|
|
40
|
+
flex: 1;
|
|
39
41
|
|
|
40
42
|
&:hover{
|
|
41
43
|
background-color: var(--blue-1);
|
|
@@ -11,12 +11,12 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
11
11
|
* @Author: 郑泳健
|
|
12
12
|
* @Date: 2024-08-05 10:50:17
|
|
13
13
|
* @LastEditors: 郑泳健
|
|
14
|
-
* @LastEditTime: 2024-
|
|
14
|
+
* @LastEditTime: 2024-09-02 19:37:37
|
|
15
15
|
*/
|
|
16
16
|
import React, { useState, useRef, useMemo } from 'react';
|
|
17
17
|
import RcSelect from '../tntd-rc-select';
|
|
18
18
|
import TntdVirtualTree from '../tntd-virtual-tree';
|
|
19
|
-
import { filterLastestNode, flatWithParents } from './utils.js';
|
|
19
|
+
import { filterLastestNode, flatWithParents, getLableByValue, flatTreeData } from './utils.js';
|
|
20
20
|
import './index.less';
|
|
21
21
|
const TntdVirtualTreeSelect = _a => {
|
|
22
22
|
var {
|
|
@@ -48,21 +48,25 @@ const TntdVirtualTreeSelect = _a => {
|
|
|
48
48
|
const treeNodeWithParents = useMemo(() => {
|
|
49
49
|
return flatWithParents(treeData, fieldNames);
|
|
50
50
|
}, [treeData, fieldNames]);
|
|
51
|
+
const treeList = useMemo(() => {
|
|
52
|
+
return flatTreeData(treeData, fieldNames);
|
|
53
|
+
}, [treeData, fieldNames]);
|
|
51
54
|
const selectValue = useMemo(() => {
|
|
52
55
|
if (!treeCheckable) {
|
|
53
|
-
return value;
|
|
56
|
+
return getLableByValue(treeList, value);
|
|
54
57
|
}
|
|
55
58
|
if (Array.isArray(value)) {
|
|
56
59
|
if (showCheckedStrategy === TntdVirtualTreeSelect.SHOW_ALL) {
|
|
57
|
-
return value;
|
|
60
|
+
return value.map(i => getLableByValue(treeList, i));
|
|
58
61
|
}
|
|
59
62
|
// 过滤掉有子节点,
|
|
60
|
-
|
|
63
|
+
const filterList = value.filter(i => {
|
|
61
64
|
return filterLastestNode(treeNodeWithParents, i, value);
|
|
62
65
|
});
|
|
66
|
+
return filterList.map(i => getLableByValue(treeList, i));
|
|
63
67
|
}
|
|
64
68
|
return undefined;
|
|
65
|
-
}, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy]);
|
|
69
|
+
}, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy, treeList]);
|
|
66
70
|
const mergeMode = useMemo(() => {
|
|
67
71
|
if (treeCheckable) {
|
|
68
72
|
return {
|
|
@@ -89,7 +93,8 @@ const TntdVirtualTreeSelect = _a => {
|
|
|
89
93
|
};
|
|
90
94
|
const handleSelect = val => {
|
|
91
95
|
var _a;
|
|
92
|
-
|
|
96
|
+
const item = Array.isArray(treeList) ? treeList.find(i => i.value === val) : {};
|
|
97
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(val, item);
|
|
93
98
|
if (selectRef.current) {
|
|
94
99
|
// 主动触发下拉框消失
|
|
95
100
|
(_a = selectRef.current) === null || _a === void 0 ? void 0 : _a.blur();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/index.jsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/index.jsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9F,OAAO,cAAc,CAAC;AAEtB,MAAM,qBAAqB,GAAG,CAAC,EAiB9B,EAAE,EAAE;QAjB0B,EAC7B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,wBAAwB,EACxB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,eAAe,OAEhB,EADI,SAAS,cAhBiB,qQAiB9B,CADa;IAEZ,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE;QACtC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9B,MAAM,6BAA6B,GAAG,OAAO,CAAC,GAAG,EAAE;QACjD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,CAAC,EAAE,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzC,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,OAAO,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAC9C,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAE1B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,OAAO,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAC3C,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAG1B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,IAAG,CAAC,aAAa,EAAE;YACjB,OAAO,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;SACxC;QAED,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,IAAG,mBAAmB,KAAK,qBAAqB,CAAC,QAAQ,EAAE;gBACzD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;aACpD;YACD,WAAW;YACX,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBAClC,OAAO,iBAAiB,CAAC,mBAAmB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;YACzD,CAAC,CAAC,CAAA;YACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;SACzD;QACD,OAAO,SAAS,CAAA;IAElB,CAAC,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE9E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,IAAG,aAAa,EAAE;YAChB,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,MAAM;aACb,CAAA;SACF;QACD,OAAO,EAAE,CAAA;IACX,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnB,MAAM,YAAY,GAAG,CAAC,EAAuB,EAAE,EAAE;YAA3B,EAAE,UAAU,OAAW,EAAN,IAAI,cAArB,cAAuB,CAAF;QACzC,OAAO,CACL,6BAAK,SAAS,EAAC,sBAAsB;YACnC,oBAAC,eAAe,oBAAK,IAAI,EAAI,CACzB,CACP,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE;QAC3B,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE;QAC3B,YAAY,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE;;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/E,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,GAAG,EAAE,IAAI,CAAC,CAAC;QACtB,IAAI,SAAS,CAAC,OAAO,EAAE;YACrB,YAAY;YACZ,MAAA,SAAS,CAAC,OAAO,0CAAE,IAAI,EAAE,CAAC;SAC3B;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,QAAQ,kBACP,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,YAAY,IAClB,SAAS,EACT,SAAS,IACb,wBAAwB,EAAE,6BAA6B,EACvD,aAAa,kBAAI,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAK,kBAAkB,GAC5E,cAAc,EAAE,GAAG,EAAE;YACnB,IAAI,GAAG,GAAG;gBACR,QAAQ;gBACR,SAAS;gBACT,gBAAgB,EAAE,oBAAoB;gBACtC,YAAY,EAAE,gBAAgB;gBAC9B,UAAU;gBACV,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,eAAe;gBAC5B,QAAQ,EAAE,YAAY;aACvB,CAAC;YACF,IAAI,aAAa,EAAE;gBACjB,GAAG,mCAAQ,GAAG,KAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,GAAE,CAAC;aACxH;iBAAM;gBACL,GAAG,mCAAQ,GAAG,KAAE,KAAK,GAAE,CAAC;aACzB;YACD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,IACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,qBAAqB,CAAC,UAAU,GAAG,YAAY,CAAA;AAC/C,qBAAqB,CAAC,QAAQ,GAAG,UAAU,CAAA;AAE3C,eAAe,qBAAqB,CAAC","sourcesContent":["/*\n * @Descripttion: 用select包裹虚拟树\n * @Author: 郑泳健\n * @Date: 2024-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-09-02 19:37:37\n */\nimport React, { useState, useRef, useMemo } from 'react';\nimport RcSelect from '../tntd-rc-select';\nimport TntdVirtualTree from '../tntd-virtual-tree';\nimport { filterLastestNode, flatWithParents, getLableByValue, flatTreeData } from './utils.js'\nimport './index.less';\n\nconst TntdVirtualTreeSelect = ({\n value,\n onChange,\n treeData,\n showSearch,\n fieldNames,\n dropdownMatchSelectWidth,\n dropdownStyle,\n showCheckedStrategy,\n treeCheckable,\n treeCheckStrictly,\n treeDefaultExpandAll,\n treeExpandedKeys,\n onTreeCheck,\n onTreeExpand,\n treeTitleRender,\n ...restProps\n}) => {\n const selectRef = useRef(null);\n const [filterKey, setFilterKey] = useState(undefined);\n\n const mergeDropdownStyle = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownStyle : {};\n }, [dropdownStyle, treeData]);\n\n const mergeDropdownMatchSelectWidth = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownMatchSelectWidth : true;\n }, [dropdownMatchSelectWidth, treeData]);\n\n const treeNodeWithParents = useMemo(() => {\n return flatWithParents(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n const treeList = useMemo(() => {\n return flatTreeData(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n\n const selectValue = useMemo(() => {\n if(!treeCheckable) {\n return getLableByValue(treeList, value)\n }\n\n if(Array.isArray(value)) {\n if(showCheckedStrategy === TntdVirtualTreeSelect.SHOW_ALL) {\n return value.map(i => getLableByValue(treeList, i))\n }\n // 过滤掉有子节点,\n const filterList = value.filter(i => {\n return filterLastestNode(treeNodeWithParents, i, value)\n })\n return filterList.map(i => getLableByValue(treeList, i))\n }\n return undefined\n\n }, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy, treeList])\n\n const mergeMode = useMemo(() => {\n if(treeCheckable) {\n return {\n multiple: true,\n mode: 'tags'\n }\n }\n return {}\n }, [treeCheckable])\n\n const handleRender = ({ showSearch, ...rest }) => {\n return (\n <div className=\"virtual-tree-options\">\n <TntdVirtualTree {...rest} />\n </div>\n );\n };\n\n const handleChange = (val) => {\n onChange(val);\n };\n\n const handleSearch = (val) => {\n setFilterKey(val);\n };\n\n const handleSelect = (val) => {\n const item = Array.isArray(treeList) ? treeList.find(i => i.value === val) : {}\n onChange?.(val, item);\n if (selectRef.current) {\n // 主动触发下拉框消失\n selectRef.current?.blur();\n }\n };\n\n return (\n <RcSelect\n ref={selectRef}\n value={selectValue}\n onChange={handleChange}\n showSearch={showSearch}\n onSearch={handleSearch}\n {...mergeMode}\n {...restProps}\n dropdownMatchSelectWidth={mergeDropdownMatchSelectWidth}\n dropdownStyle={{ maxHeight: '100vh', overflow: 'auto', ...mergeDropdownStyle }}\n dropdownRender={() => {\n let obj = {\n treeData,\n filterKey,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys: treeExpandedKeys,\n fieldNames,\n onExpand: onTreeExpand,\n titleRender: treeTitleRender,\n onSelect: handleSelect\n };\n if (treeCheckable) {\n obj = { ...obj, checkedKeys: value, checkStrictly: treeCheckStrictly, checkable: treeCheckable, onCheck: onTreeCheck };\n } else {\n obj = { ...obj, value };\n }\n return handleRender(obj);\n }}\n />\n );\n};\n\nTntdVirtualTreeSelect.SHOW_CHILD = 'SHOW_CHILD'\nTntdVirtualTreeSelect.SHOW_ALL = 'SHOW_ALL'\n\nexport default TntdVirtualTreeSelect;\n"]}
|