tntd 3.0.38 → 3.0.39-beta.2

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.
Files changed (91) hide show
  1. package/es/descriptions/descriptions.less +2 -2
  2. package/es/form/style/index.less +5 -5
  3. package/es/index.js +7 -0
  4. package/es/index.js.map +1 -1
  5. package/es/page-container/index.less +1 -1
  6. package/es/query-form/Field/Checkbox.js +1 -1
  7. package/es/query-form/Field/Checkbox.js.map +1 -1
  8. package/es/query-form/Field/SelectInput.js +16 -6
  9. package/es/query-form/Field/SelectInput.js.map +1 -1
  10. package/es/query-form/Field/fieldsMap.js +2 -2
  11. package/es/query-form/Field/fieldsMap.js.map +1 -1
  12. package/es/query-form/Field/index.js +3 -1
  13. package/es/query-form/Field/index.js.map +1 -1
  14. package/es/query-form/index.js +195 -359
  15. package/es/query-form/index.js.map +1 -1
  16. package/es/query-form/index.less +26 -60
  17. package/es/query-list-scene/List.js +16 -3
  18. package/es/query-list-scene/List.js.map +1 -1
  19. package/es/query-list-scene/QueryForm.js +35 -13
  20. package/es/query-list-scene/QueryForm.js.map +1 -1
  21. package/es/query-list-scene/index.js +2 -1
  22. package/es/query-list-scene/index.js.map +1 -1
  23. package/es/tntd-cascader/rc-cascader/Cascader.js +5 -3
  24. package/es/tntd-cascader/rc-cascader/Cascader.js.map +1 -1
  25. package/es/tntd-cascader/rc-cascader/OptionList/Column.js +16 -4
  26. package/es/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
  27. package/es/tntd-cascader/rc-cascader/OptionList/index.js +4 -2
  28. package/es/tntd-cascader/rc-cascader/OptionList/index.js.map +1 -1
  29. package/es/tntd-cascader/rc-cascader/context.js +9 -0
  30. package/es/tntd-cascader/rc-cascader/context.js.map +1 -1
  31. package/es/tntd-cascader/rc-cascader/index.less +21 -15
  32. package/es/tntd-select/index.js.map +1 -1
  33. package/es/tntd-virtual-tree/index.js +0 -3
  34. package/es/tntd-virtual-tree/index.js.map +1 -1
  35. package/lib/descriptions/descriptions.less +2 -2
  36. package/lib/form/style/index.less +5 -5
  37. package/lib/index.d.ts +1 -0
  38. package/lib/index.d.ts.map +1 -1
  39. package/lib/index.js +7 -0
  40. package/lib/index.js.map +1 -1
  41. package/lib/page-container/index.less +1 -1
  42. package/lib/query-form/Field/Checkbox.js +1 -1
  43. package/lib/query-form/Field/Checkbox.js.map +1 -1
  44. package/lib/query-form/Field/SelectInput.d.ts.map +1 -1
  45. package/lib/query-form/Field/SelectInput.js +16 -6
  46. package/lib/query-form/Field/SelectInput.js.map +1 -1
  47. package/lib/query-form/Field/fieldsMap.d.ts +6 -3
  48. package/lib/query-form/Field/fieldsMap.d.ts.map +1 -1
  49. package/lib/query-form/Field/fieldsMap.js +2 -2
  50. package/lib/query-form/Field/fieldsMap.js.map +1 -1
  51. package/lib/query-form/Field/index.d.ts.map +1 -1
  52. package/lib/query-form/Field/index.js +3 -1
  53. package/lib/query-form/Field/index.js.map +1 -1
  54. package/lib/query-form/index.d.ts +1 -36
  55. package/lib/query-form/index.d.ts.map +1 -1
  56. package/lib/query-form/index.js +235 -403
  57. package/lib/query-form/index.js.map +1 -1
  58. package/lib/query-form/index.less +26 -60
  59. package/lib/query-list-scene/List.d.ts.map +1 -1
  60. package/lib/query-list-scene/List.js +16 -3
  61. package/lib/query-list-scene/List.js.map +1 -1
  62. package/lib/query-list-scene/QueryForm.d.ts +5 -4
  63. package/lib/query-list-scene/QueryForm.d.ts.map +1 -1
  64. package/lib/query-list-scene/QueryForm.js +35 -13
  65. package/lib/query-list-scene/QueryForm.js.map +1 -1
  66. package/lib/query-list-scene/index.d.ts.map +1 -1
  67. package/lib/query-list-scene/index.js +2 -1
  68. package/lib/query-list-scene/index.js.map +1 -1
  69. package/lib/tntd-cascader/rc-cascader/Cascader.d.ts +1 -0
  70. package/lib/tntd-cascader/rc-cascader/Cascader.d.ts.map +1 -1
  71. package/lib/tntd-cascader/rc-cascader/Cascader.js +5 -3
  72. package/lib/tntd-cascader/rc-cascader/Cascader.js.map +1 -1
  73. package/lib/tntd-cascader/rc-cascader/OptionList/Column.d.ts +1 -1
  74. package/lib/tntd-cascader/rc-cascader/OptionList/Column.d.ts.map +1 -1
  75. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +16 -4
  76. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
  77. package/lib/tntd-cascader/rc-cascader/OptionList/index.d.ts.map +1 -1
  78. package/lib/tntd-cascader/rc-cascader/OptionList/index.js +4 -2
  79. package/lib/tntd-cascader/rc-cascader/OptionList/index.js.map +1 -1
  80. package/lib/tntd-cascader/rc-cascader/context.d.ts +1 -0
  81. package/lib/tntd-cascader/rc-cascader/context.d.ts.map +1 -1
  82. package/lib/tntd-cascader/rc-cascader/context.js +9 -0
  83. package/lib/tntd-cascader/rc-cascader/context.js.map +1 -1
  84. package/lib/tntd-cascader/rc-cascader/index.less +21 -15
  85. package/lib/tntd-select/index.d.ts.map +1 -1
  86. package/lib/tntd-select/index.js.map +1 -1
  87. package/lib/tntd-virtual-tree/index.js +0 -3
  88. package/lib/tntd-virtual-tree/index.js.map +1 -1
  89. package/package.json +3 -2
  90. package/CHANGELOG.json +0 -1034
  91. package/CHANGELOG.md +0 -605
@@ -180,7 +180,8 @@ var Cascader = React.forwardRef(function (props, ref) {
180
180
  dropdownMatchSelectWidth = _props$dropdownMatchS === void 0 ? false : _props$dropdownMatchS,
181
181
  _props$showCheckedStr = props.showCheckedStrategy,
182
182
  showCheckedStrategy = _props$showCheckedStr === void 0 ? _commonUtil.SHOW_PARENT : _props$showCheckedStr,
183
- restProps = __rest(props, ["id", "prefixCls", "fieldNames", "defaultValue", "value", "changeOnSelect", "onChange", "displayRender", "checkable", "searchValue", "onSearch", "showSearch", "expandTrigger", "options", "dropdownPrefixCls", "loadData", "popupVisible", "open", "popupClassName", "dropdownClassName", "dropdownMenuColumnStyle", "popupPlacement", "placement", "onDropdownVisibleChange", "onPopupVisibleChange", "renderItem", "expandIcon", "loadingIcon", "children", "dropdownMatchSelectWidth", "showCheckedStrategy"]);
183
+ optionsNum = props.optionsNum,
184
+ restProps = __rest(props, ["id", "prefixCls", "fieldNames", "defaultValue", "value", "changeOnSelect", "onChange", "displayRender", "checkable", "searchValue", "onSearch", "showSearch", "expandTrigger", "options", "dropdownPrefixCls", "loadData", "popupVisible", "open", "popupClassName", "dropdownClassName", "dropdownMenuColumnStyle", "popupPlacement", "placement", "onDropdownVisibleChange", "onPopupVisibleChange", "renderItem", "expandIcon", "loadingIcon", "children", "dropdownMatchSelectWidth", "showCheckedStrategy", "optionsNum"]);
184
185
  var mergedId = (0, _useId["default"])(id);
185
186
  var multiple = !!checkable;
186
187
  var _React$useState = React.useState(false),
@@ -374,9 +375,10 @@ var Cascader = React.forwardRef(function (props, ref) {
374
375
  loadingIcon: loadingIcon,
375
376
  dropdownMenuColumnStyle: dropdownMenuColumnStyle,
376
377
  renderItem: renderItem,
377
- dropdownVisible: dropdownVisible
378
+ dropdownVisible: dropdownVisible,
379
+ optionsNum: optionsNum
378
380
  };
379
- }, [mergedOptions, mergedFieldNames, checkedValues, halfCheckedValues, changeOnSelect, onInternalSelect, checkable, searchOptions, dropdownPrefixCls, loadData, expandTrigger, expandIcon, loadingIcon, dropdownMenuColumnStyle, renderItem, dropdownVisible]);
381
+ }, [mergedOptions, mergedFieldNames, checkedValues, halfCheckedValues, changeOnSelect, onInternalSelect, checkable, searchOptions, dropdownPrefixCls, loadData, expandTrigger, expandIcon, loadingIcon, dropdownMenuColumnStyle, renderItem, dropdownVisible, optionsNum]);
380
382
  // ==============================================================
381
383
  // == Render ==
382
384
  // ==============================================================
@@ -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 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"]}
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 optionsNum?: number\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 optionsNum,\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 optionsNum,\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 optionsNum,\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,5 +23,5 @@ export interface ColumnProps {
23
23
  dropdownVisible?: boolean;
24
24
  optionHeight?: number;
25
25
  }
26
- export default function Column({ prefixCls, multiple, options, activeValue, prevValuePath, onToggleOpen, onSelect, onActive, checkedSet, halfCheckedSet, loadingKeys, isSelectable, renderItem, searchValue, level, dropdownVisible, optionHeight, isEmpty, }: ColumnProps): React.JSX.Element;
26
+ export default function Column({ prefixCls, multiple, options, activeValue, prevValuePath, onToggleOpen, onSelect, onActive, checkedSet, halfCheckedSet, loadingKeys, isSelectable, renderItem, searchValue, level, dropdownVisible, optionHeight, isEmpty, optionsNum, }: ColumnProps): React.JSX.Element;
27
27
  //# sourceMappingURL=Column.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Column.d.ts","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/Column.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAGrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,eAAO,MAAM,SAAS,2BAA2B,CAAA;AAEjD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,qCAAqC;IACrC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAA;IACvB,2CAA2C;IAC3C,aAAa,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;IAC1B,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7D,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAA;IAC9C,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9B,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;IACxB,YAAY,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAA;IACpD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,KAAK,CAAC,SAAS,CAAA;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,OAAO,EACP,WAAW,EACX,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,KAAK,EACL,eAAe,EACf,YAAY,EACZ,OAAO,GACR,EAAE,WAAW,qBA+Lb"}
1
+ {"version":3,"file":"Column.d.ts","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/Column.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAGrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,eAAO,MAAM,SAAS,2BAA2B,CAAA;AAEjD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,qCAAqC;IACrC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAA;IACvB,2CAA2C;IAC3C,aAAa,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;IAC1B,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7D,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAA;IAC9C,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9B,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;IACxB,YAAY,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAA;IACpD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,KAAK,CAAC,SAAS,CAAA;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,OAAO,EACP,WAAW,EACX,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,KAAK,EACL,eAAe,EACf,YAAiB,EACjB,OAAO,EACP,UAAc,GACf,EAAE,WAAW,qBAsMb"}
@@ -115,11 +115,20 @@ function Column(_ref) {
115
115
  searchValue = _ref.searchValue,
116
116
  level = _ref.level,
117
117
  dropdownVisible = _ref.dropdownVisible,
118
- optionHeight = _ref.optionHeight,
119
- isEmpty = _ref.isEmpty;
118
+ _ref$optionHeight = _ref.optionHeight,
119
+ optionHeight = _ref$optionHeight === void 0 ? 32 : _ref$optionHeight,
120
+ isEmpty = _ref.isEmpty,
121
+ _ref$optionsNum = _ref.optionsNum,
122
+ optionsNum = _ref$optionsNum === void 0 ? 7 : _ref$optionsNum;
120
123
  var ref = React.useRef(null);
121
124
  var menuPrefixCls = "".concat(prefixCls, "-menu ").concat(prefixCls, "-menu-").concat(level);
122
125
  var menuItemPrefixCls = "".concat(prefixCls, "-menu-item");
126
+ var listHeight = React.useMemo(function () {
127
+ if (optionsNum) {
128
+ return Math.ceil((optionHeight || 36) * optionsNum) || 180;
129
+ }
130
+ return 180;
131
+ }, [optionsNum, optionHeight]);
123
132
  var _React$useContext = React.useContext(_context["default"]),
124
133
  fieldNames = _React$useContext.fieldNames,
125
134
  changeOnSelect = _React$useContext.changeOnSelect,
@@ -186,11 +195,14 @@ function Column(_ref) {
186
195
  // ============================ Render ============================
187
196
  return React.createElement("ul", {
188
197
  className: menuPrefixCls,
189
- role: "menu"
198
+ role: "menu",
199
+ style: !isEmpty ? {
200
+ height: listHeight + 'px'
201
+ } : {}
190
202
  }, React.createElement(_rcVirtualList["default"], {
191
203
  className: optionInfoList[0].fullPathKey === '__EMPTY__' || !!searchValue ? 'rc-virtual-list-full' : '',
192
204
  data: optionInfoList,
193
- height: isEmpty ? 'auto' : 180,
205
+ height: isEmpty ? 'auto' : listHeight,
194
206
  itemHeight: optionHeight || 36,
195
207
  itemKey: "fullPathKey",
196
208
  ref: ref
@@ -1 +1 @@
1
- {"version":3,"file":"Column.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/Column.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { isLeaf, toPathKey } from '../utils/commonUtil'\nimport CascaderContext from '../context'\nimport Checkbox from './Checkbox'\nimport type { DefaultOptionType, SingleValueType } from '../Cascader'\nimport { SEARCH_MARK } from '../hooks/useSearchOptions'\nimport List, { ListRef } from 'rc-virtual-list'\nimport type { RenderItem } from '../context'\n\nexport const FIX_LABEL = '__cascader_fix_label__'\n\nexport interface ColumnProps {\n prefixCls: string\n multiple?: boolean\n options: DefaultOptionType[]\n /** Current Column opened item key */\n activeValue?: React.Key\n /** The value path before current column */\n prevValuePath: React.Key[]\n onToggleOpen: (open: boolean) => void\n onSelect: (valuePath: SingleValueType, leaf: boolean) => void\n onActive: (valuePath: SingleValueType) => void\n checkedSet: Set<React.Key>\n halfCheckedSet: Set<React.Key>\n loadingKeys: React.Key[]\n isSelectable: (option: DefaultOptionType) => boolean\n renderItem?: (item: RenderItem) => React.ReactNode\n searchValue?: string\n level?: number\n dropdownVisible?: boolean\n optionHeight?: number\n}\n\nexport default function Column({\n prefixCls,\n multiple,\n options,\n activeValue,\n prevValuePath,\n onToggleOpen,\n onSelect,\n onActive,\n checkedSet,\n halfCheckedSet,\n loadingKeys,\n isSelectable,\n renderItem,\n searchValue,\n level,\n dropdownVisible,\n optionHeight,\n isEmpty,\n}: ColumnProps) {\n const ref = React.useRef<ListRef>(null)\n const menuPrefixCls = `${prefixCls}-menu ${prefixCls}-menu-${level}`\n const menuItemPrefixCls = `${prefixCls}-menu-item`\n\n const {\n fieldNames,\n changeOnSelect,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n } = React.useContext(CascaderContext)\n\n const hoverOpen = expandTrigger === 'hover'\n\n /** 单选情况下滚动到相应的位置 */\n React.useEffect(() => {\n let timer = null\n if (ref.current && ref.current.scrollTo && !multiple && dropdownVisible) {\n const index = options.findIndex((it) => it[fieldNames.value] === activeValue)\n\n if (index > 0 && !isNaN(index)) {\n timer = window.setTimeout(() => {\n ref.current.scrollTo((optionHeight || 36) * index)\n }, 5)\n }\n }\n\n return () => {\n if (timer) {\n window.clearTimeout(timer)\n }\n timer = null\n }\n }, [multiple, activeValue, options, fieldNames, dropdownVisible, optionHeight])\n\n // ============================ Option ============================\n const optionInfoList = React.useMemo(\n () =>\n options.map((option) => {\n const { disabled } = option\n const searchOptions = option[SEARCH_MARK]\n const label = option[FIX_LABEL] ?? option[fieldNames.label]\n const value = option[fieldNames.value]\n\n const isMergedLeaf = isLeaf(option, fieldNames)\n\n // Get real value of option. Search option is different way.\n const fullPath = searchOptions\n ? // @ts-ignore\n searchOptions.map((opt) => opt[fieldNames.value])\n : [...prevValuePath, value]\n const fullPathKey = toPathKey(fullPath)\n\n const isLoading = loadingKeys.includes(fullPathKey)\n\n // >>>>> checked\n const checked = checkedSet.has(fullPathKey)\n\n // >>>>> halfChecked\n const halfChecked = halfCheckedSet.has(fullPathKey)\n\n return {\n disabled,\n label,\n value,\n isLeaf: isMergedLeaf,\n isLoading,\n checked,\n halfChecked,\n option,\n fullPath,\n fullPathKey,\n }\n }),\n [options, checkedSet, fieldNames, halfCheckedSet, loadingKeys, prevValuePath]\n )\n // ============================ Render ============================\n return (\n <ul className={menuPrefixCls} role=\"menu\">\n <List\n className={\n optionInfoList[0].fullPathKey === '__EMPTY__' || !!searchValue\n ? 'rc-virtual-list-full'\n : ''\n }\n data={optionInfoList}\n height={isEmpty ? 'auto' : 180}\n itemHeight={optionHeight || 36}\n itemKey=\"fullPathKey\"\n ref={ref}\n >\n {({\n disabled,\n label,\n value,\n isLeaf: isMergedLeaf,\n isLoading,\n checked,\n halfChecked,\n option,\n fullPath,\n fullPathKey,\n }) => {\n // >>>>> Open\n const triggerOpenPath = () => {\n if (!disabled && (!hoverOpen || !isMergedLeaf)) {\n onActive(fullPath)\n }\n }\n\n // >>>>> Selection\n const triggerSelect = () => {\n if (isSelectable(option)) {\n onSelect(fullPath, isMergedLeaf)\n }\n }\n\n // >>>>> Title\n let title: string\n if (typeof option.title === 'string') {\n title = option.title\n } else if (typeof label === 'string') {\n title = label\n }\n return (\n <li\n key={fullPathKey}\n className={classNames(menuItemPrefixCls, {\n [`${menuItemPrefixCls}-expand`]: !isMergedLeaf,\n [`${menuItemPrefixCls}-active`]: activeValue === value,\n [`${menuItemPrefixCls}-disabled`]: disabled,\n [`${menuItemPrefixCls}-loading`]: isLoading,\n })}\n style={dropdownMenuColumnStyle}\n role=\"menuitemcheckbox\"\n // @ts-ignore\n title={title}\n aria-checked={checked}\n data-path-key={fullPathKey}\n onClick={() => {\n triggerOpenPath()\n if (!multiple || isMergedLeaf) {\n triggerSelect()\n }\n }}\n onDoubleClick={() => {\n if (changeOnSelect) {\n onToggleOpen(false)\n }\n }}\n onMouseEnter={() => {\n if (hoverOpen) {\n triggerOpenPath()\n }\n }}\n onMouseDown={(e) => {\n // Prevent selector from blurring\n e.preventDefault()\n }}\n >\n {multiple && (\n <Checkbox\n prefixCls={`${prefixCls}-checkbox`}\n checked={checked}\n halfChecked={halfChecked}\n disabled={disabled}\n onClick={(e: React.MouseEvent<HTMLSpanElement>) => {\n e.stopPropagation()\n triggerSelect()\n }}\n />\n )}\n <div className={`${menuItemPrefixCls}-content`}>\n {optionInfoList[0].fullPathKey !== '__EMPTY__' && renderItem\n ? renderItem(option, level)\n : label}\n </div>\n {!isLoading && expandIcon && !isMergedLeaf && (\n <div className={`${menuItemPrefixCls}-expand-icon`}>{expandIcon}</div>\n )}\n {isLoading && loadingIcon && (\n <div className={`${menuItemPrefixCls}-loading-icon`}>{loadingIcon}</div>\n )}\n </li>\n )\n }}\n </List>\n </ul>\n )\n}\n"]}
1
+ {"version":3,"file":"Column.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/Column.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { isLeaf, toPathKey } from '../utils/commonUtil'\nimport CascaderContext from '../context'\nimport Checkbox from './Checkbox'\nimport type { DefaultOptionType, SingleValueType } from '../Cascader'\nimport { SEARCH_MARK } from '../hooks/useSearchOptions'\nimport List, { ListRef } from 'rc-virtual-list'\nimport type { RenderItem } from '../context'\n\nexport const FIX_LABEL = '__cascader_fix_label__'\n\nexport interface ColumnProps {\n prefixCls: string\n multiple?: boolean\n options: DefaultOptionType[]\n /** Current Column opened item key */\n activeValue?: React.Key\n /** The value path before current column */\n prevValuePath: React.Key[]\n onToggleOpen: (open: boolean) => void\n onSelect: (valuePath: SingleValueType, leaf: boolean) => void\n onActive: (valuePath: SingleValueType) => void\n checkedSet: Set<React.Key>\n halfCheckedSet: Set<React.Key>\n loadingKeys: React.Key[]\n isSelectable: (option: DefaultOptionType) => boolean\n renderItem?: (item: RenderItem) => React.ReactNode\n searchValue?: string\n level?: number\n dropdownVisible?: boolean\n optionHeight?: number\n}\n\nexport default function Column({\n prefixCls,\n multiple,\n options,\n activeValue,\n prevValuePath,\n onToggleOpen,\n onSelect,\n onActive,\n checkedSet,\n halfCheckedSet,\n loadingKeys,\n isSelectable,\n renderItem,\n searchValue,\n level,\n dropdownVisible,\n optionHeight = 32,\n isEmpty,\n optionsNum = 7,\n}: ColumnProps) {\n const ref = React.useRef<ListRef>(null)\n const menuPrefixCls = `${prefixCls}-menu ${prefixCls}-menu-${level}`\n const menuItemPrefixCls = `${prefixCls}-menu-item`\n\n const listHeight = React.useMemo(() => {\n if (optionsNum) {\n return Math.ceil((optionHeight || 36) * optionsNum) || 180\n }\n return 180\n }, [optionsNum, optionHeight])\n\n const {\n fieldNames,\n changeOnSelect,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n } = React.useContext(CascaderContext)\n\n const hoverOpen = expandTrigger === 'hover'\n\n /** 单选情况下滚动到相应的位置 */\n React.useEffect(() => {\n let timer = null\n if (ref.current && ref.current.scrollTo && !multiple && dropdownVisible) {\n const index = options.findIndex((it) => it[fieldNames.value] === activeValue)\n\n if (index > 0 && !isNaN(index)) {\n timer = window.setTimeout(() => {\n ref.current.scrollTo((optionHeight || 36) * index)\n }, 5)\n }\n }\n\n return () => {\n if (timer) {\n window.clearTimeout(timer)\n }\n timer = null\n }\n }, [multiple, activeValue, options, fieldNames, dropdownVisible, optionHeight])\n\n // ============================ Option ============================\n const optionInfoList = React.useMemo(\n () =>\n options.map((option) => {\n const { disabled } = option\n const searchOptions = option[SEARCH_MARK]\n const label = option[FIX_LABEL] ?? option[fieldNames.label]\n const value = option[fieldNames.value]\n\n const isMergedLeaf = isLeaf(option, fieldNames)\n\n // Get real value of option. Search option is different way.\n const fullPath = searchOptions\n ? // @ts-ignore\n searchOptions.map((opt) => opt[fieldNames.value])\n : [...prevValuePath, value]\n const fullPathKey = toPathKey(fullPath)\n\n const isLoading = loadingKeys.includes(fullPathKey)\n\n // >>>>> checked\n const checked = checkedSet.has(fullPathKey)\n\n // >>>>> halfChecked\n const halfChecked = halfCheckedSet.has(fullPathKey)\n\n return {\n disabled,\n label,\n value,\n isLeaf: isMergedLeaf,\n isLoading,\n checked,\n halfChecked,\n option,\n fullPath,\n fullPathKey,\n }\n }),\n [options, checkedSet, fieldNames, halfCheckedSet, loadingKeys, prevValuePath]\n )\n // ============================ Render ============================\n return (\n <ul className={menuPrefixCls} role=\"menu\" style={!isEmpty ? { height: listHeight + 'px' } : {}}>\n <List\n className={\n optionInfoList[0].fullPathKey === '__EMPTY__' || !!searchValue\n ? 'rc-virtual-list-full'\n : ''\n }\n data={optionInfoList}\n height={isEmpty ? 'auto' : listHeight}\n itemHeight={optionHeight || 36}\n itemKey=\"fullPathKey\"\n ref={ref}\n >\n {({\n disabled,\n label,\n value,\n isLeaf: isMergedLeaf,\n isLoading,\n checked,\n halfChecked,\n option,\n fullPath,\n fullPathKey,\n }) => {\n // >>>>> Open\n const triggerOpenPath = () => {\n if (!disabled && (!hoverOpen || !isMergedLeaf)) {\n onActive(fullPath)\n }\n }\n\n // >>>>> Selection\n const triggerSelect = () => {\n if (isSelectable(option)) {\n onSelect(fullPath, isMergedLeaf)\n }\n }\n\n // >>>>> Title\n let title: string\n if (typeof option.title === 'string') {\n title = option.title\n } else if (typeof label === 'string') {\n title = label\n }\n return (\n <li\n key={fullPathKey}\n className={classNames(menuItemPrefixCls, {\n [`${menuItemPrefixCls}-expand`]: !isMergedLeaf,\n [`${menuItemPrefixCls}-active`]: activeValue === value,\n [`${menuItemPrefixCls}-disabled`]: disabled,\n [`${menuItemPrefixCls}-loading`]: isLoading,\n })}\n style={dropdownMenuColumnStyle}\n role=\"menuitemcheckbox\"\n // @ts-ignore\n title={title}\n aria-checked={checked}\n data-path-key={fullPathKey}\n onClick={() => {\n triggerOpenPath()\n if (!multiple || isMergedLeaf) {\n triggerSelect()\n }\n }}\n onDoubleClick={() => {\n if (changeOnSelect) {\n onToggleOpen(false)\n }\n }}\n onMouseEnter={() => {\n if (hoverOpen) {\n triggerOpenPath()\n }\n }}\n onMouseDown={(e) => {\n // Prevent selector from blurring\n e.preventDefault()\n }}\n >\n {multiple && (\n <Checkbox\n prefixCls={`${prefixCls}-checkbox`}\n checked={checked}\n halfChecked={halfChecked}\n disabled={disabled}\n onClick={(e: React.MouseEvent<HTMLSpanElement>) => {\n e.stopPropagation()\n triggerSelect()\n }}\n />\n )}\n <div className={`${menuItemPrefixCls}-content`}>\n {optionInfoList[0].fullPathKey !== '__EMPTY__' && renderItem\n ? renderItem(option, level)\n : label}\n </div>\n {!isLoading && expandIcon && !isMergedLeaf && (\n <div className={`${menuItemPrefixCls}-expand-icon`}>{expandIcon}</div>\n )}\n {isLoading && loadingIcon && (\n <div className={`${menuItemPrefixCls}-loading-icon`}>{loadingIcon}</div>\n )}\n </li>\n )\n }}\n </List>\n </ul>\n )\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAe9B,QAAA,MAAM,aAAa,0EAiNjB,CAAA;AAEF,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAe9B,QAAA,MAAM,aAAa,0EAmNjB,CAAA;AAEF,eAAe,aAAa,CAAA"}
@@ -158,7 +158,8 @@ var RefOptionList = React.forwardRef(function (props, ref) {
158
158
  loadData = _React$useContext.loadData,
159
159
  expandTrigger = _React$useContext.expandTrigger,
160
160
  renderItem = _React$useContext.renderItem,
161
- dropdownVisible = _React$useContext.dropdownVisible;
161
+ dropdownVisible = _React$useContext.dropdownVisible,
162
+ optionsNum = _React$useContext.optionsNum;
162
163
  var mergedPrefixCls = dropdownPrefixCls || prefixCls;
163
164
  // ========================= loadData =========================
164
165
  var _React$useState = React.useState([]),
@@ -298,7 +299,8 @@ var RefOptionList = React.forwardRef(function (props, ref) {
298
299
  checkedSet: checkedSet,
299
300
  halfCheckedSet: halfCheckedSet,
300
301
  loadingKeys: loadingKeys,
301
- isSelectable: isSelectable
302
+ isSelectable: isSelectable,
303
+ optionsNum: optionsNum
302
304
  });
303
305
  // >>>>> Columns
304
306
  var mergedOptionColumns = isEmpty ? [{
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/index.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable default-case */\n// @ts-nocheck\nimport classNames from 'classnames'\nimport { useBaseProps } from 'rc-select'\nimport type { RefOptionListProps } from 'rc-select/lib/OptionList'\nimport * as React from 'react'\nimport type { DefaultOptionType, SingleValueType } from '../Cascader'\nimport CascaderContext from '../context'\nimport {\n isLeaf,\n scrollIntoParentView,\n toPathKey,\n toPathKeys,\n toPathValueStr,\n} from '../utils/commonUtil'\nimport { toPathOptions } from '../utils/treeUtil'\nimport Column, { FIX_LABEL } from './Column'\nimport useActive from './useActive'\nimport useKeyboard from './useKeyboard'\n\nconst RefOptionList = React.forwardRef<RefOptionListProps>((props, ref) => {\n const { prefixCls, multiple, searchValue, toggleOpen, notFoundContent, direction, optionHeight } =\n useBaseProps()\n\n const containerRef = React.useRef<HTMLDivElement>()\n const rtl = direction === 'rtl'\n\n const {\n options,\n values,\n halfValues,\n fieldNames,\n changeOnSelect,\n onSelect,\n searchOptions,\n dropdownPrefixCls,\n loadData,\n expandTrigger,\n renderItem,\n dropdownVisible,\n } = React.useContext(CascaderContext)\n\n const mergedPrefixCls = dropdownPrefixCls || prefixCls\n\n // ========================= loadData =========================\n const [loadingKeys, setLoadingKeys] = React.useState([])\n\n const internalLoadData = (valueCells: React.Key[]) => {\n // Do not load when search\n if (!loadData || searchValue) {\n return\n }\n\n const optionList = toPathOptions(valueCells, options, fieldNames)\n const rawOptions = optionList.map(({ option }) => option)\n const lastOption = rawOptions[rawOptions.length - 1]\n\n if (lastOption && !isLeaf(lastOption, fieldNames)) {\n const pathKey = toPathKey(valueCells)\n\n setLoadingKeys((keys) => [...keys, pathKey])\n\n loadData(rawOptions)\n }\n }\n\n // zombieJ: This is bad. We should make this same as `rc-tree` to use Promise instead.\n React.useEffect(() => {\n if (loadingKeys.length) {\n loadingKeys.forEach((loadingKey) => {\n const valueStrCells = toPathValueStr(loadingKey)\n const optionList = toPathOptions(valueStrCells, options, fieldNames, true).map(\n ({ option }) => option\n )\n const lastOption = optionList[optionList.length - 1]\n\n if (!lastOption || lastOption[fieldNames.children] || isLeaf(lastOption, fieldNames)) {\n setLoadingKeys((keys) => keys.filter((key) => key !== loadingKey))\n }\n })\n }\n }, [options, loadingKeys, fieldNames])\n\n // ========================== Values ==========================\n const checkedSet = React.useMemo(() => new Set(toPathKeys(values)), [values])\n const halfCheckedSet = React.useMemo(() => new Set(toPathKeys(halfValues)), [halfValues])\n\n // ====================== Accessibility =======================\n const [activeValueCells, setActiveValueCells] = useActive()\n\n // =========================== Path ===========================\n const onPathOpen = (nextValueCells: React.Key[]) => {\n setActiveValueCells(nextValueCells)\n\n // Trigger loadData\n internalLoadData(nextValueCells)\n }\n\n const isSelectable = (option: DefaultOptionType) => {\n const { disabled } = option\n\n const isMergedLeaf = isLeaf(option, fieldNames)\n return !disabled && (isMergedLeaf || changeOnSelect || multiple)\n }\n\n const onPathSelect = (valuePath: SingleValueType, leaf: boolean, fromKeyboard = false) => {\n onSelect(valuePath)\n\n if (!multiple && (leaf || (changeOnSelect && (expandTrigger === 'hover' || fromKeyboard)))) {\n toggleOpen(false)\n }\n }\n\n // ========================== Option ==========================\n const mergedOptions = React.useMemo(() => {\n if (searchValue) {\n return searchOptions\n }\n\n return options\n }, [searchValue, searchOptions, options])\n\n // ========================== Column ==========================\n const optionColumns = React.useMemo(() => {\n const optionList = [{ options: mergedOptions }]\n let currentList = mergedOptions\n\n for (let i = 0; i < activeValueCells.length; i += 1) {\n const activeValueCell = activeValueCells[i]\n const currentOption = currentList.find(\n (option) => option[fieldNames.value] === activeValueCell\n )\n\n const subOptions = currentOption?.[fieldNames.children]\n if (!subOptions?.length) {\n break\n }\n\n currentList = subOptions\n optionList.push({ options: subOptions })\n }\n\n return optionList\n }, [mergedOptions, activeValueCells, fieldNames])\n\n // ========================= Keyboard =========================\n const onKeyboardSelect = (selectValueCells: SingleValueType, option: DefaultOptionType) => {\n if (isSelectable(option)) {\n onPathSelect(selectValueCells, isLeaf(option, fieldNames), true)\n }\n }\n\n useKeyboard(ref, mergedOptions, fieldNames, activeValueCells, onPathOpen, onKeyboardSelect)\n\n // >>>>> Active Scroll\n React.useEffect(() => {\n for (let i = 0; i < activeValueCells.length; i += 1) {\n const cellPath = activeValueCells.slice(0, i + 1)\n const cellKeyPath = toPathKey(cellPath)\n const ele = containerRef.current?.querySelector<HTMLElement>(\n `li[data-path-key=\"${cellKeyPath.replace(/\\\\{0,2}\"/g, '\\\\\"')}\"]` // matches unescaped double quotes\n )\n if (ele) {\n scrollIntoParentView(ele)\n }\n }\n }, [activeValueCells])\n\n // ========================== Render ==========================\n // >>>>> Empty\n const isEmpty = !optionColumns[0]?.options?.length\n\n const emptyList: DefaultOptionType[] = [\n {\n [fieldNames.value as 'value']: '__EMPTY__',\n [FIX_LABEL as 'label']: notFoundContent,\n disabled: true,\n },\n ]\n\n const columnProps = {\n ...props,\n multiple: !isEmpty && multiple,\n onSelect: onPathSelect,\n onActive: onPathOpen,\n onToggleOpen: toggleOpen,\n checkedSet,\n halfCheckedSet,\n loadingKeys,\n isSelectable,\n }\n\n // >>>>> Columns\n const mergedOptionColumns = isEmpty ? [{ options: emptyList }] : optionColumns\n\n const columnNodes: React.ReactElement[] = mergedOptionColumns.map((col, index) => {\n const prevValuePath = activeValueCells.slice(0, index)\n const activeValue = activeValueCells[index]\n\n return (\n <Column\n key={index}\n level={index}\n isEmpty={isEmpty}\n optionHeight={optionHeight}\n dropdownVisible={dropdownVisible}\n {...columnProps}\n prefixCls={mergedPrefixCls}\n options={col.options}\n searchValue={searchValue}\n prevValuePath={prevValuePath}\n activeValue={activeValue}\n renderItem={renderItem}\n />\n )\n })\n\n // >>>>> Render\n return (\n <div\n className={classNames(`${mergedPrefixCls}-menus`, {\n [`${mergedPrefixCls}-menu-empty`]: isEmpty,\n [`${mergedPrefixCls}-rtl`]: rtl,\n })}\n ref={containerRef}\n >\n {columnNodes}\n </div>\n )\n})\n\nexport default RefOptionList\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/index.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable default-case */\n// @ts-nocheck\nimport classNames from 'classnames'\nimport { useBaseProps } from 'rc-select'\nimport type { RefOptionListProps } from 'rc-select/lib/OptionList'\nimport * as React from 'react'\nimport type { DefaultOptionType, SingleValueType } from '../Cascader'\nimport CascaderContext from '../context'\nimport {\n isLeaf,\n scrollIntoParentView,\n toPathKey,\n toPathKeys,\n toPathValueStr,\n} from '../utils/commonUtil'\nimport { toPathOptions } from '../utils/treeUtil'\nimport Column, { FIX_LABEL } from './Column'\nimport useActive from './useActive'\nimport useKeyboard from './useKeyboard'\n\nconst RefOptionList = React.forwardRef<RefOptionListProps>((props, ref) => {\n const { prefixCls, multiple, searchValue, toggleOpen, notFoundContent, direction, optionHeight } =\n useBaseProps()\n\n const containerRef = React.useRef<HTMLDivElement>()\n const rtl = direction === 'rtl'\n\n const {\n options,\n values,\n halfValues,\n fieldNames,\n changeOnSelect,\n onSelect,\n searchOptions,\n dropdownPrefixCls,\n loadData,\n expandTrigger,\n renderItem,\n dropdownVisible,\n optionsNum,\n } = React.useContext(CascaderContext)\n\n const mergedPrefixCls = dropdownPrefixCls || prefixCls\n\n // ========================= loadData =========================\n const [loadingKeys, setLoadingKeys] = React.useState([])\n\n const internalLoadData = (valueCells: React.Key[]) => {\n // Do not load when search\n if (!loadData || searchValue) {\n return\n }\n\n const optionList = toPathOptions(valueCells, options, fieldNames)\n const rawOptions = optionList.map(({ option }) => option)\n const lastOption = rawOptions[rawOptions.length - 1]\n\n if (lastOption && !isLeaf(lastOption, fieldNames)) {\n const pathKey = toPathKey(valueCells)\n\n setLoadingKeys((keys) => [...keys, pathKey])\n\n loadData(rawOptions)\n }\n }\n\n // zombieJ: This is bad. We should make this same as `rc-tree` to use Promise instead.\n React.useEffect(() => {\n if (loadingKeys.length) {\n loadingKeys.forEach((loadingKey) => {\n const valueStrCells = toPathValueStr(loadingKey)\n const optionList = toPathOptions(valueStrCells, options, fieldNames, true).map(\n ({ option }) => option\n )\n const lastOption = optionList[optionList.length - 1]\n\n if (!lastOption || lastOption[fieldNames.children] || isLeaf(lastOption, fieldNames)) {\n setLoadingKeys((keys) => keys.filter((key) => key !== loadingKey))\n }\n })\n }\n }, [options, loadingKeys, fieldNames])\n\n // ========================== Values ==========================\n const checkedSet = React.useMemo(() => new Set(toPathKeys(values)), [values])\n const halfCheckedSet = React.useMemo(() => new Set(toPathKeys(halfValues)), [halfValues])\n\n // ====================== Accessibility =======================\n const [activeValueCells, setActiveValueCells] = useActive()\n\n // =========================== Path ===========================\n const onPathOpen = (nextValueCells: React.Key[]) => {\n setActiveValueCells(nextValueCells)\n\n // Trigger loadData\n internalLoadData(nextValueCells)\n }\n\n const isSelectable = (option: DefaultOptionType) => {\n const { disabled } = option\n\n const isMergedLeaf = isLeaf(option, fieldNames)\n return !disabled && (isMergedLeaf || changeOnSelect || multiple)\n }\n\n const onPathSelect = (valuePath: SingleValueType, leaf: boolean, fromKeyboard = false) => {\n onSelect(valuePath)\n\n if (!multiple && (leaf || (changeOnSelect && (expandTrigger === 'hover' || fromKeyboard)))) {\n toggleOpen(false)\n }\n }\n\n // ========================== Option ==========================\n const mergedOptions = React.useMemo(() => {\n if (searchValue) {\n return searchOptions\n }\n\n return options\n }, [searchValue, searchOptions, options])\n\n // ========================== Column ==========================\n const optionColumns = React.useMemo(() => {\n const optionList = [{ options: mergedOptions }]\n let currentList = mergedOptions\n\n for (let i = 0; i < activeValueCells.length; i += 1) {\n const activeValueCell = activeValueCells[i]\n const currentOption = currentList.find(\n (option) => option[fieldNames.value] === activeValueCell\n )\n\n const subOptions = currentOption?.[fieldNames.children]\n if (!subOptions?.length) {\n break\n }\n\n currentList = subOptions\n optionList.push({ options: subOptions })\n }\n\n return optionList\n }, [mergedOptions, activeValueCells, fieldNames])\n\n // ========================= Keyboard =========================\n const onKeyboardSelect = (selectValueCells: SingleValueType, option: DefaultOptionType) => {\n if (isSelectable(option)) {\n onPathSelect(selectValueCells, isLeaf(option, fieldNames), true)\n }\n }\n\n useKeyboard(ref, mergedOptions, fieldNames, activeValueCells, onPathOpen, onKeyboardSelect)\n\n // >>>>> Active Scroll\n React.useEffect(() => {\n for (let i = 0; i < activeValueCells.length; i += 1) {\n const cellPath = activeValueCells.slice(0, i + 1)\n const cellKeyPath = toPathKey(cellPath)\n const ele = containerRef.current?.querySelector<HTMLElement>(\n `li[data-path-key=\"${cellKeyPath.replace(/\\\\{0,2}\"/g, '\\\\\"')}\"]` // matches unescaped double quotes\n )\n if (ele) {\n scrollIntoParentView(ele)\n }\n }\n }, [activeValueCells])\n\n // ========================== Render ==========================\n // >>>>> Empty\n const isEmpty = !optionColumns[0]?.options?.length\n\n const emptyList: DefaultOptionType[] = [\n {\n [fieldNames.value as 'value']: '__EMPTY__',\n [FIX_LABEL as 'label']: notFoundContent,\n disabled: true,\n },\n ]\n\n const columnProps = {\n ...props,\n multiple: !isEmpty && multiple,\n onSelect: onPathSelect,\n onActive: onPathOpen,\n onToggleOpen: toggleOpen,\n checkedSet,\n halfCheckedSet,\n loadingKeys,\n isSelectable,\n optionsNum,\n }\n\n // >>>>> Columns\n const mergedOptionColumns = isEmpty ? [{ options: emptyList }] : optionColumns\n\n const columnNodes: React.ReactElement[] = mergedOptionColumns.map((col, index) => {\n const prevValuePath = activeValueCells.slice(0, index)\n const activeValue = activeValueCells[index]\n\n return (\n <Column\n key={index}\n level={index}\n isEmpty={isEmpty}\n optionHeight={optionHeight}\n dropdownVisible={dropdownVisible}\n {...columnProps}\n prefixCls={mergedPrefixCls}\n options={col.options}\n searchValue={searchValue}\n prevValuePath={prevValuePath}\n activeValue={activeValue}\n renderItem={renderItem}\n />\n )\n })\n\n // >>>>> Render\n return (\n <div\n className={classNames(`${mergedPrefixCls}-menus`, {\n [`${mergedPrefixCls}-menu-empty`]: isEmpty,\n [`${mergedPrefixCls}-rtl`]: rtl,\n })}\n ref={containerRef}\n >\n {columnNodes}\n </div>\n )\n})\n\nexport default RefOptionList\n"]}
@@ -20,6 +20,7 @@ export interface CascaderContextProps {
20
20
  loadingIcon?: React.ReactNode;
21
21
  dropdownMenuColumnStyle?: React.CSSProperties;
22
22
  renderItem?: (item: RenderItem) => React.ReactNode;
23
+ optionsNum?: number;
23
24
  }
24
25
  declare const CascaderContext: React.Context<CascaderContextProps | null>;
25
26
  export default CascaderContext;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/tntd-cascader/rc-cascader/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EAChB,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,GAAG,CAAA;IACV,KAAK,EAAE,GAAG,CAAA;CACX;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACjC,UAAU,EAAE,kBAAkB,CAAA;IAC9B,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAA;IAC9C,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAA;IACrC,aAAa,EAAE,iBAAiB,EAAE,CAAA;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAA;IACvD,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IACjC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,uBAAuB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC7C,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,KAAK,CAAC,SAAS,CAAA;CACnD;AAED,QAAA,MAAM,eAAe,4CAAyD,CAAA;AAE9E,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/tntd-cascader/rc-cascader/context.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EAChB,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,GAAG,CAAA;IACV,KAAK,EAAE,GAAG,CAAA;CACX;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACjC,UAAU,EAAE,kBAAkB,CAAA;IAC9B,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAA;IAC9C,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAA;IACrC,aAAa,EAAE,iBAAiB,EAAE,CAAA;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAA;IACvD,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IACjC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,uBAAuB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC7C,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,KAAK,CAAC,SAAS,CAAA;IAClD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,QAAA,MAAM,eAAe,4CAAyD,CAAA;AAE9E,eAAe,eAAe,CAAA"}
@@ -39,5 +39,14 @@ function _interopRequireWildcard(e, r) {
39
39
  }
40
40
  return n["default"] = e, t && t.set(e, n), n;
41
41
  }
42
+ /*
43
+ * @Author: 周泽飞 zefei.zhou@tongdun.net
44
+ * @Date: 2024-08-20 18:18:42
45
+ * @LastEditors: 周泽飞 zefei.zhou@tongdun.net
46
+ * @LastEditTime: 2024-12-10 16:11:51
47
+ * @FilePath: /tntd/packages/tntd/src/tntd-cascader/rc-cascader/context.ts
48
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
49
+ */
50
+
42
51
  var CascaderContext = React.createContext(null);
43
52
  var _default = exports["default"] = CascaderContext;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/tntd-cascader/rc-cascader/context.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA8B;AA+B9B,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAA8B,IAAI,CAAC,CAAA;AAE9E,kBAAe,eAAe,CAAA","sourcesContent":["import * as React from 'react'\nimport type {\n CascaderProps,\n InternalFieldNames,\n DefaultOptionType,\n SingleValueType,\n} from './Cascader'\n\nexport interface RenderItem {\n label: any\n value: any\n}\n\nexport interface CascaderContextProps {\n options: CascaderProps['options']\n fieldNames: InternalFieldNames\n values: SingleValueType[]\n halfValues: SingleValueType[]\n changeOnSelect?: boolean\n onSelect: (valuePath: SingleValueType) => void\n checkable?: boolean | React.ReactNode\n searchOptions: DefaultOptionType[]\n dropdownPrefixCls?: string\n loadData?: (selectOptions: DefaultOptionType[]) => void\n expandTrigger?: 'hover' | 'click'\n expandIcon?: React.ReactNode\n loadingIcon?: React.ReactNode\n dropdownMenuColumnStyle?: React.CSSProperties\n renderItem?: (item: RenderItem) => React.ReactNode\n}\n\nconst CascaderContext = React.createContext<CascaderContextProps | null>(null)\n\nexport default CascaderContext\n"]}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/tntd-cascader/rc-cascader/context.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,6CAA8B;AAgC9B,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAA8B,IAAI,CAAC,CAAA;AAE9E,kBAAe,eAAe,CAAA","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2024-08-20 18:18:42\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2024-12-10 16:11:51\n * @FilePath: /tntd/packages/tntd/src/tntd-cascader/rc-cascader/context.ts\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport * as React from 'react'\nimport type {\n CascaderProps,\n InternalFieldNames,\n DefaultOptionType,\n SingleValueType,\n} from './Cascader'\n\nexport interface RenderItem {\n label: any\n value: any\n}\n\nexport interface CascaderContextProps {\n options: CascaderProps['options']\n fieldNames: InternalFieldNames\n values: SingleValueType[]\n halfValues: SingleValueType[]\n changeOnSelect?: boolean\n onSelect: (valuePath: SingleValueType) => void\n checkable?: boolean | React.ReactNode\n searchOptions: DefaultOptionType[]\n dropdownPrefixCls?: string\n loadData?: (selectOptions: DefaultOptionType[]) => void\n expandTrigger?: 'hover' | 'click'\n expandIcon?: React.ReactNode\n loadingIcon?: React.ReactNode\n dropdownMenuColumnStyle?: React.CSSProperties\n renderItem?: (item: RenderItem) => React.ReactNode\n optionsNum?: number\n}\n\nconst CascaderContext = React.createContext<CascaderContextProps | null>(null)\n\nexport default CascaderContext\n"]}
@@ -1,19 +1,25 @@
1
- .tntd-cascader-menu {
2
- .rc-virtual-list {
3
- width: 140px;
4
- }
1
+ .tntd-cascader-dropdown{
2
+ .tntd-cascader-menu {
3
+ padding:0;
4
+ .rc-virtual-list {
5
+ width: 140px;
6
+ }
5
7
 
6
- .rc-virtual-list-full {
7
- width: auto;
8
- }
8
+ .rc-virtual-list-full {
9
+ width: auto;
10
+ }
9
11
 
10
- .tntd-cascader-menu-item {
11
- display: flex;
12
- .tntd-cascader-menu-item-content {
13
- flex: 1;
14
- overflow: hidden;
15
- white-space: nowrap;
16
- text-overflow: ellipsis;
12
+ .tntd-cascader-menu-item {
13
+ display: flex;
14
+ line-height: 20px;
15
+ padding: 6px 12px;
16
+ .tntd-cascader-menu-item-content {
17
+ flex: 1;
18
+ overflow: hidden;
19
+ white-space: nowrap;
20
+ text-overflow: ellipsis;
21
+ }
22
+ }
17
23
  }
18
- }
24
+
19
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":";AAygBA,2DAMK;;;;;AApfL,wFAA4B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tntd-select/index.js"],"names":[],"mappings":";AAygBA,2DAMC;;;;;AApfD,wFAA4B"}