tntd 3.0.78 → 3.0.80
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/input/style/mixin.less +46 -45
- package/es/page-loading/index.js.map +1 -1
- package/es/tntd-cascader/AntdCascader/index.js +52 -1
- package/es/tntd-cascader/AntdCascader/index.js.map +1 -1
- package/es/tntd-cascader/rc-cascader/Cascader.js +5 -3
- package/es/tntd-cascader/rc-cascader/Cascader.js.map +1 -1
- package/es/tntd-cascader/rc-cascader/OptionList/Column.js +3 -2
- package/es/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
- package/es/tntd-cascader/rc-cascader/OptionList/useActive.js +6 -2
- package/es/tntd-cascader/rc-cascader/OptionList/useActive.js.map +1 -1
- package/es/tntd-cascader/rc-cascader/context.js +1 -1
- package/es/tntd-cascader/rc-cascader/context.js.map +1 -1
- package/es/tntd-cascader/rc-cascader/utils/commonUtil.js +4 -1
- package/es/tntd-cascader/rc-cascader/utils/commonUtil.js.map +1 -1
- package/lib/input/style/mixin.less +46 -45
- package/lib/page-loading/index.js.map +1 -1
- package/lib/tntd-cascader/AntdCascader/index.d.ts +1 -0
- package/lib/tntd-cascader/AntdCascader/index.d.ts.map +1 -1
- package/lib/tntd-cascader/AntdCascader/index.js +84 -1
- package/lib/tntd-cascader/AntdCascader/index.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/Cascader.d.ts +1 -0
- package/lib/tntd-cascader/rc-cascader/Cascader.d.ts.map +1 -1
- package/lib/tntd-cascader/rc-cascader/Cascader.js +5 -3
- package/lib/tntd-cascader/rc-cascader/Cascader.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/OptionList/Column.d.ts.map +1 -1
- package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +3 -2
- package/lib/tntd-cascader/rc-cascader/OptionList/Column.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/OptionList/useActive.d.ts.map +1 -1
- package/lib/tntd-cascader/rc-cascader/OptionList/useActive.js +6 -2
- package/lib/tntd-cascader/rc-cascader/OptionList/useActive.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/context.d.ts +1 -0
- package/lib/tntd-cascader/rc-cascader/context.d.ts.map +1 -1
- package/lib/tntd-cascader/rc-cascader/context.js +1 -1
- package/lib/tntd-cascader/rc-cascader/context.js.map +1 -1
- package/lib/tntd-cascader/rc-cascader/utils/commonUtil.d.ts.map +1 -1
- package/lib/tntd-cascader/rc-cascader/utils/commonUtil.js +4 -1
- package/lib/tntd-cascader/rc-cascader/utils/commonUtil.js.map +1 -1
- package/package.json +2 -2
|
@@ -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 = 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 initDropRenderRef = React.useRef(dropdownVisible)\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 // 将drop展示赋值给ref\n React.useEffect(() => {\n initDropRenderRef.current = dropdownVisible\n }, [dropdownVisible])\n\n /** 单选情况下滚动到相应的位置 */\n React.useEffect(() => {\n let timer = null\n\n if (\n ref.current &&\n ref.current.scrollTo &&\n !multiple &&\n dropdownVisible &&\n initDropRenderRef.current\n ) {\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 initDropRenderRef.current = false\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 initDropRenderRef = React.useRef(dropdownVisible)\n\n const {\n fieldNames,\n changeOnSelect,\n expandTrigger,\n expandIcon,\n loadingIcon,\n dropdownMenuColumnStyle,\n multipleItemValue,\n } = React.useContext(CascaderContext)\n\n const hoverOpen = expandTrigger === 'hover'\n\n // 将drop展示赋值给ref\n React.useEffect(() => {\n initDropRenderRef.current = dropdownVisible\n }, [dropdownVisible])\n\n /** 单选情况下滚动到相应的位置 */\n React.useEffect(() => {\n let timer = null\n\n if (\n ref.current &&\n ref.current.scrollTo &&\n (!multiple || multipleItemValue) &&\n dropdownVisible &&\n initDropRenderRef.current\n ) {\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 initDropRenderRef.current = false\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"]}
|
|
@@ -25,7 +25,8 @@ var _default = exports["default"] = function _default() {
|
|
|
25
25
|
multiple = _useBaseProps.multiple,
|
|
26
26
|
open = _useBaseProps.open;
|
|
27
27
|
var _React$useContext = React.useContext(_context["default"]),
|
|
28
|
-
values = _React$useContext.values
|
|
28
|
+
values = _React$useContext.values,
|
|
29
|
+
multipleItemValue = _React$useContext.multipleItemValue;
|
|
29
30
|
// Record current dropdown active options
|
|
30
31
|
// This also control the open status
|
|
31
32
|
var _React$useState = React.useState([]),
|
|
@@ -33,8 +34,11 @@ var _default = exports["default"] = function _default() {
|
|
|
33
34
|
activeValueCells = _React$useState2[0],
|
|
34
35
|
setActiveValueCells = _React$useState2[1];
|
|
35
36
|
React.useEffect(function () {
|
|
36
|
-
if (open && !multiple) {
|
|
37
|
+
if (open && (!multiple || multipleItemValue)) {
|
|
37
38
|
var firstValueCells = values[0];
|
|
39
|
+
if (multiple && multipleItemValue) {
|
|
40
|
+
firstValueCells = multipleItemValue === null || multipleItemValue === void 0 ? void 0 : multipleItemValue[0];
|
|
41
|
+
}
|
|
38
42
|
setActiveValueCells(firstValueCells || []);
|
|
39
43
|
}
|
|
40
44
|
}, /* eslint-disable react-hooks/exhaustive-deps */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActive.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/useActive.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,eAAe,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC;;GAEG;AACH,eAAe,GAA2D,EAAE;IAC1E,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAA;IACzC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"useActive.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/OptionList/useActive.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,eAAe,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC;;GAEG;AACH,eAAe,GAA2D,EAAE;IAC1E,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAA;IACzC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;IAEvE,yCAAyC;IACzC,oCAAoC;IACpC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAc,EAAE,CAAC,CAAA;IAE/E,KAAK,CAAC,SAAS,CACb,GAAG,EAAE;QACH,IAAI,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,iBAAiB,CAAC,EAAE;YAC5C,IAAI,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YAC/B,IAAI,QAAQ,IAAI,iBAAiB,EAAE;gBACjC,eAAe,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAG,CAAC,CAAC,CAAA;aACzC;YACD,mBAAmB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAA;SAC3C;IACH,CAAC;IACD,gDAAgD;IAChD,CAAC,IAAI,CAAC;IACN,+CAA+C;KAChD,CAAA;IAED,OAAO,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAA;AAChD,CAAC,CAAA","sourcesContent":["// @ts-nocheck\nimport * as React from 'react'\nimport CascaderContext from '../context'\nimport { useBaseProps } from 'rc-select'\n\n/**\n * Control the active open options path.\n */\nexport default (): [React.Key[], (activeValueCells: React.Key[]) => void] => {\n const { multiple, open } = useBaseProps()\n const { values, multipleItemValue } = React.useContext(CascaderContext)\n\n // Record current dropdown active options\n // This also control the open status\n const [activeValueCells, setActiveValueCells] = React.useState<React.Key[]>([])\n\n React.useEffect(\n () => {\n if (open && (!multiple || multipleItemValue)) {\n let firstValueCells = values[0]\n if (multiple && multipleItemValue) {\n firstValueCells = multipleItemValue?.[0]\n }\n setActiveValueCells(firstValueCells || [])\n }\n },\n /* eslint-disable react-hooks/exhaustive-deps */\n [open]\n /* eslint-enable react-hooks/exhaustive-deps */\n )\n\n return [activeValueCells, setActiveValueCells]\n}\n"]}
|
|
@@ -12,7 +12,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
12
12
|
* @Author: 周泽飞 zefei.zhou@tongdun.net
|
|
13
13
|
* @Date: 2024-08-20 18:18:42
|
|
14
14
|
* @LastEditors: 周泽飞 zefei.zhou@tongdun.net
|
|
15
|
-
* @LastEditTime:
|
|
15
|
+
* @LastEditTime: 2025-12-17 16:11:14
|
|
16
16
|
* @FilePath: /tntd/packages/tntd/src/tntd-cascader/rc-cascader/context.ts
|
|
17
17
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
18
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/tntd-cascader/rc-cascader/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/tntd-cascader/rc-cascader/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAiC9B,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAA8B,IAAI,CAAC,CAAA;AAE9E,eAAe,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: 2025-12-17 16:11:14\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 multipleItemValue?: SingleValueType[]\n}\n\nconst CascaderContext = React.createContext<CascaderContextProps | null>(null)\n\nexport default CascaderContext\n"]}
|
|
@@ -14,7 +14,10 @@ var VALUE_SPLIT = exports.VALUE_SPLIT = '__RC_CASCADER_SPLIT__';
|
|
|
14
14
|
var SHOW_PARENT = exports.SHOW_PARENT = 'SHOW_PARENT';
|
|
15
15
|
var SHOW_CHILD = exports.SHOW_CHILD = 'SHOW_CHILD';
|
|
16
16
|
function toPathKey(value) {
|
|
17
|
-
|
|
17
|
+
if (Array.isArray(value)) {
|
|
18
|
+
return value.join(VALUE_SPLIT);
|
|
19
|
+
}
|
|
20
|
+
return value;
|
|
18
21
|
}
|
|
19
22
|
function toPathKeys(value) {
|
|
20
23
|
return value.map(toPathKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commonUtil.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/utils/commonUtil.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,WAAW,GAAG,uBAAuB,CAAA;AAClD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAA;AACxC,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAA;AAEtC,MAAM,UAAU,SAAS,CAAC,KAAsB;IAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"commonUtil.js","sourceRoot":"","sources":["../../../../src/tntd-cascader/rc-cascader/utils/commonUtil.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,WAAW,GAAG,uBAAuB,CAAA;AAClD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAA;AACxC,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAA;AAEtC,MAAM,UAAU,SAAS,CAAC,KAAsB;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;KAC/B;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAwB;IACjD,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAAuB;IACpD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,IAAI,EAAE,CAAA;IACnD,MAAM,GAAG,GAAG,KAAK,IAAI,OAAO,CAAA;IAC5B,OAAO;QACL,KAAK,EAAE,KAAK,IAAI,OAAO;QACvB,KAAK,EAAE,GAAG;QACV,GAAG,EAAE,GAAG;QACR,QAAQ,EAAE,QAAQ,IAAI,UAAU;KACjC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,MAAyB,EAAE,UAAsB;;IACtE,aAAa;IACb,OAAO,MAAA,MAAM,CAAC,MAAM,mCAAI,CAAC,CAAA,MAAA,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,0CAAE,MAAM,CAAA,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAoB;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAA;IACpC,IAAI,CAAC,MAAM,EAAE;QACX,OAAM;KACP;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA,CAAC,kCAAkC;IAC/F,IAAI,eAAe,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE;QAC1C,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAA;KAC1C;SAAM,IAAI,eAAe,GAAG,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE;QAC1F,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;KACvF;AACH,CAAC","sourcesContent":["import type {\n DefaultOptionType,\n FieldNames,\n InternalFieldNames,\n SingleValueType,\n} from '../Cascader'\n\nexport const VALUE_SPLIT = '__RC_CASCADER_SPLIT__'\nexport const SHOW_PARENT = 'SHOW_PARENT'\nexport const SHOW_CHILD = 'SHOW_CHILD'\n\nexport function toPathKey(value: SingleValueType) {\n if (Array.isArray(value)) {\n return value.join(VALUE_SPLIT)\n }\n return value\n}\n\nexport function toPathKeys(value: SingleValueType[]) {\n return value.map(toPathKey)\n}\n\nexport function toPathValueStr(pathKey: string): string[] {\n return pathKey.split(VALUE_SPLIT)\n}\n\nexport function fillFieldNames(fieldNames?: FieldNames): InternalFieldNames {\n const { label, value, children } = fieldNames || {}\n const val = value || 'value'\n return {\n label: label || 'label',\n value: val,\n key: val,\n children: children || 'children',\n }\n}\n\nexport function isLeaf(option: DefaultOptionType, fieldNames: FieldNames) {\n // @ts-ignore\n return option.isLeaf ?? !option[fieldNames.children]?.length\n}\n\nexport function scrollIntoParentView(element: HTMLElement) {\n const parent = element.parentElement\n if (!parent) {\n return\n }\n\n const elementToParent = element.offsetTop - parent.offsetTop // offsetParent may not be parent.\n if (elementToParent - parent.scrollTop < 0) {\n parent.scrollTo({ top: elementToParent })\n } else if (elementToParent + element.offsetHeight - parent.scrollTop > parent.offsetHeight) {\n parent.scrollTo({ top: elementToParent + element.offsetHeight - parent.offsetHeight })\n }\n}\n"]}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
// input status
|
|
20
20
|
// == when focus or actived
|
|
21
21
|
.active(@color: @outline-color) {
|
|
22
|
-
border-color
|
|
22
|
+
border-color:~`colorPalette('@{color}', 5) `;
|
|
23
23
|
border-right-width: @border-width-base !important;
|
|
24
24
|
outline: 0;
|
|
25
25
|
box-shadow: @input-outline-offset @outline-blur-size @outline-width fade(@color, 20%);
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
padding-left: 0;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
>
|
|
113
|
+
>[class*='col-'] {
|
|
114
114
|
padding-right: 8px;
|
|
115
115
|
|
|
116
116
|
&:last-child {
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
|
|
121
121
|
&-addon,
|
|
122
122
|
&-wrap,
|
|
123
|
-
|
|
123
|
+
>.@{inputClass} {
|
|
124
124
|
display: table-cell;
|
|
125
125
|
|
|
126
126
|
&:not(:first-child):not(:last-child) {
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
vertical-align: middle;
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
&-wrap
|
|
138
|
+
&-wrap>* {
|
|
139
139
|
display: block !important;
|
|
140
140
|
}
|
|
141
141
|
|
|
@@ -171,6 +171,7 @@
|
|
|
171
171
|
// Reset Select's style in addon
|
|
172
172
|
.@{ant-prefix}-select {
|
|
173
173
|
margin: calc(-1px - @input-padding-vertical-base) (-@input-padding-horizontal-base);
|
|
174
|
+
|
|
174
175
|
.@{ant-prefix}-select-selection {
|
|
175
176
|
margin: -1px;
|
|
176
177
|
background-color: inherit;
|
|
@@ -178,17 +179,17 @@
|
|
|
178
179
|
box-shadow: none;
|
|
179
180
|
}
|
|
180
181
|
|
|
181
|
-
&-open,
|
|
182
|
-
&-focused {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
}
|
|
182
|
+
// &-open,
|
|
183
|
+
// &-focused {
|
|
184
|
+
// .@{ant-prefix}-select-selection {
|
|
185
|
+
// color: @primary-color;
|
|
186
|
+
// }
|
|
187
|
+
// }
|
|
187
188
|
}
|
|
188
189
|
|
|
189
190
|
// Expand addon icon click area
|
|
190
191
|
// https://github.com/ant-design/ant-design/issues/3714
|
|
191
|
-
>
|
|
192
|
+
>i:only-child::after {
|
|
192
193
|
position: absolute;
|
|
193
194
|
top: 0;
|
|
194
195
|
right: 0;
|
|
@@ -199,7 +200,7 @@
|
|
|
199
200
|
}
|
|
200
201
|
|
|
201
202
|
// Reset rounded corners
|
|
202
|
-
|
|
203
|
+
>.@{inputClass}:first-child,
|
|
203
204
|
&-addon:first-child {
|
|
204
205
|
border-top-right-radius: 0;
|
|
205
206
|
border-bottom-right-radius: 0;
|
|
@@ -211,7 +212,7 @@
|
|
|
211
212
|
}
|
|
212
213
|
}
|
|
213
214
|
|
|
214
|
-
|
|
215
|
+
>.@{inputClass}-affix-wrapper {
|
|
215
216
|
&:not(:first-child) .@{inputClass} {
|
|
216
217
|
border-top-left-radius: 0;
|
|
217
218
|
border-bottom-left-radius: 0;
|
|
@@ -231,7 +232,7 @@
|
|
|
231
232
|
border-left: 0;
|
|
232
233
|
}
|
|
233
234
|
|
|
234
|
-
|
|
235
|
+
>.@{inputClass}:last-child,
|
|
235
236
|
&-addon:last-child {
|
|
236
237
|
border-top-left-radius: 0;
|
|
237
238
|
border-bottom-left-radius: 0;
|
|
@@ -245,12 +246,12 @@
|
|
|
245
246
|
|
|
246
247
|
// Sizing options
|
|
247
248
|
&-lg .@{inputClass},
|
|
248
|
-
&-lg
|
|
249
|
+
&-lg>&-addon {
|
|
249
250
|
.input-lg();
|
|
250
251
|
}
|
|
251
252
|
|
|
252
253
|
&-sm .@{inputClass},
|
|
253
|
-
&-sm
|
|
254
|
+
&-sm>&-addon {
|
|
254
255
|
.input-sm();
|
|
255
256
|
}
|
|
256
257
|
|
|
@@ -275,7 +276,7 @@
|
|
|
275
276
|
|
|
276
277
|
&-addon,
|
|
277
278
|
&-wrap,
|
|
278
|
-
|
|
279
|
+
>.@{inputClass} {
|
|
279
280
|
&:not(:first-child):not(:last-child) {
|
|
280
281
|
border-right-width: @border-width-base;
|
|
281
282
|
|
|
@@ -289,14 +290,14 @@
|
|
|
289
290
|
}
|
|
290
291
|
}
|
|
291
292
|
|
|
292
|
-
|
|
293
|
+
&>* {
|
|
293
294
|
display: inline-block;
|
|
294
295
|
float: none;
|
|
295
296
|
vertical-align: top; // https://github.com/ant-design/ant-design-pro/issues/139
|
|
296
297
|
border-radius: 0;
|
|
297
298
|
}
|
|
298
299
|
|
|
299
|
-
|
|
300
|
+
&>*:not(:last-child) {
|
|
300
301
|
margin-right: -@border-width-base;
|
|
301
302
|
border-right-width: @border-width-base;
|
|
302
303
|
}
|
|
@@ -307,13 +308,13 @@
|
|
|
307
308
|
}
|
|
308
309
|
|
|
309
310
|
// reset border for Select, DatePicker, AutoComplete, Cascader, Mention, TimePicker, Input
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
311
|
+
&>.@{ant-prefix}-select>.@{ant-prefix}-select-selection,
|
|
312
|
+
&>.@{ant-prefix}-calendar-picker .@{ant-prefix}-input,
|
|
313
|
+
&>.@{ant-prefix}-select-auto-complete .@{ant-prefix}-input,
|
|
314
|
+
&>.@{ant-prefix}-cascader-picker .@{ant-prefix}-input,
|
|
315
|
+
&>.@{ant-prefix}-mention-wrapper .@{ant-prefix}-mention-editor,
|
|
316
|
+
&>.@{ant-prefix}-time-picker .@{ant-prefix}-time-picker-input,
|
|
317
|
+
&>.@{ant-prefix}-input-group-wrapper .@{ant-prefix}-input {
|
|
317
318
|
border-right-width: @border-width-base;
|
|
318
319
|
border-radius: 0;
|
|
319
320
|
|
|
@@ -326,32 +327,32 @@
|
|
|
326
327
|
}
|
|
327
328
|
}
|
|
328
329
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
330
|
+
&>*:first-child,
|
|
331
|
+
&>.@{ant-prefix}-select:first-child>.@{ant-prefix}-select-selection,
|
|
332
|
+
&>.@{ant-prefix}-calendar-picker:first-child .@{ant-prefix}-input,
|
|
333
|
+
&>.@{ant-prefix}-select-auto-complete:first-child .@{ant-prefix}-input,
|
|
334
|
+
&>.@{ant-prefix}-cascader-picker:first-child .@{ant-prefix}-input,
|
|
335
|
+
&>.@{ant-prefix}-mention-wrapper:first-child .@{ant-prefix}-mention-editor,
|
|
336
|
+
&>.@{ant-prefix}-time-picker:first-child .@{ant-prefix}-time-picker-input {
|
|
336
337
|
border-top-left-radius: @border-radius-base;
|
|
337
338
|
border-bottom-left-radius: @border-radius-base;
|
|
338
339
|
}
|
|
339
340
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
341
|
+
&>*:last-child,
|
|
342
|
+
&>.@{ant-prefix}-select:last-child>.@{ant-prefix}-select-selection,
|
|
343
|
+
&>.@{ant-prefix}-calendar-picker:last-child .@{ant-prefix}-input,
|
|
344
|
+
&>.@{ant-prefix}-select-auto-complete:last-child .@{ant-prefix}-input,
|
|
345
|
+
&>.@{ant-prefix}-cascader-picker:last-child .@{ant-prefix}-input,
|
|
346
|
+
&>.@{ant-prefix}-cascader-picker-focused:last-child .@{ant-prefix}-input,
|
|
347
|
+
&>.@{ant-prefix}-mention-wrapper:last-child .@{ant-prefix}-mention-editor,
|
|
348
|
+
&>.@{ant-prefix}-time-picker:last-child .@{ant-prefix}-time-picker-input {
|
|
348
349
|
border-right-width: @border-width-base;
|
|
349
350
|
border-top-right-radius: @border-radius-base;
|
|
350
351
|
border-bottom-right-radius: @border-radius-base;
|
|
351
352
|
}
|
|
352
353
|
|
|
353
354
|
// https://github.com/ant-design/ant-design/issues/12493
|
|
354
|
-
|
|
355
|
+
&>.@{ant-prefix}-select-auto-complete .@{ant-prefix}-input {
|
|
355
356
|
vertical-align: top;
|
|
356
357
|
}
|
|
357
358
|
}
|
|
@@ -394,7 +395,7 @@
|
|
|
394
395
|
}
|
|
395
396
|
}
|
|
396
397
|
|
|
397
|
-
.@{inputClass}-disabled
|
|
398
|
+
.@{inputClass}-disabled~.@{inputClass}-suffix {
|
|
398
399
|
.anticon {
|
|
399
400
|
color: @disabled-color;
|
|
400
401
|
cursor: not-allowed;
|
|
@@ -442,7 +443,7 @@
|
|
|
442
443
|
color: @text-color;
|
|
443
444
|
}
|
|
444
445
|
|
|
445
|
-
+
|
|
446
|
+
+i {
|
|
446
447
|
margin-left: 6px;
|
|
447
448
|
}
|
|
448
|
-
}
|
|
449
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/page-loading/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAyB;AACzB,4DAA2B;AAC3B,4FAAmE;AAEnE,wBAAqB;AAErB,kBAAe,CAAC,KAAK,EAAE,EAAE;IACvB,MAAM,EAAE,SAAS,EAAE,OAAO,KAAe,KAAK,EAAf,KAAK,UAAK,KAAK,EAAxC,wBAAgC,CAAQ,CAAA;IAC9C,MAAM,cAAc,GAAG,OAAO,IAAI,IAAI,CAAA;IACtC,OAAO,CACL,8BAAC,wBAAc,IAAC,aAAa,EAAC,aAAa,IACxC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;QACtB,OAAO,CACL,qDAAK,SAAS,EAAE,IAAA,oBAAE,EAAC,4BAA4B,EAAE,cAAc,GAAG,cAAc,EAAE,SAAS,CAAC,IAAM,KAAK;YACrG,uCAAK,SAAS,EAAC,qBAAqB;gBAClC,4CAAO,MAAM,CAAC,IAAI,CAAQ,CACtB,CACF,CACP,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAC","sourcesContent":["import React from 'react'\nimport cn from 'classnames'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\n\nimport './index.less'\n\nexport default (props) => {\n const { className, version, ...other } = props\n const currentVersion = version || 'v3'\n return (\n <LocaleReceiver componentName=\"PageLoading\">\n {(locale, localeCode) => {\n return (\n <div className={cn('tnt-page-loading-container', 'tnt-current-' + currentVersion, className)} {...other}>\n <div className=\"tnt-page-loading-bg\">\n <span>{locale.text}</span>\n </div>\n </div>\n )\n }}\n </LocaleReceiver>\n )\n}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/page-loading/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAyB;AACzB,4DAA2B;AAC3B,4FAAmE;AAEnE,wBAAqB;AAErB,kBAAe,CAAC,KAAK,EAAE,EAAE;IACvB,MAAM,EAAE,SAAS,EAAE,OAAO,KAAe,KAAK,EAAf,KAAK,UAAK,KAAK,EAAxC,wBAAgC,CAAQ,CAAA;IAC9C,MAAM,cAAc,GAAG,OAAO,IAAI,IAAI,CAAA;IACtC,OAAO,CACL,8BAAC,wBAAc,IAAC,aAAa,EAAC,aAAa,IACxC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;QACtB,OAAO,CACL,qDAAK,SAAS,EAAE,IAAA,oBAAE,EAAC,4BAA4B,EAAE,cAAc,GAAG,cAAc,EAAE,SAAS,CAAC,IAAM,KAAK;YACrG,uCAAK,SAAS,EAAC,qBAAqB;gBAClC,4CAAO,MAAM,CAAC,IAAI,CAAQ,CACtB,CACF,CACP,CAAA;IACH,CAAC,CACc,CAClB,CAAA;AACH,CAAC,CAAC","sourcesContent":["import React from 'react'\nimport cn from 'classnames'\nimport LocaleReceiver from 'antd/lib/locale-provider/LocaleReceiver'\n\nimport './index.less'\n\nexport default (props) => {\n const { className, version, ...other } = props\n const currentVersion = version || 'v3'\n return (\n <LocaleReceiver componentName=\"PageLoading\">\n {(locale, localeCode) => {\n return (\n <div className={cn('tnt-page-loading-container', 'tnt-current-' + currentVersion, className)} {...other}>\n <div className=\"tnt-page-loading-bg\">\n <span>{locale.text}</span>\n </div>\n </div>\n )\n }}\n </LocaleReceiver>\n )\n};"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tntd-cascader/AntdCascader/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,qBAAqB,IAAI,uBAAuB,EAEhD,mBAAmB,IAAI,qBAAqB,EAC7C,MAAM,gBAAgB,CAAA;AAGvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAK3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tntd-cascader/AntdCascader/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,qBAAqB,IAAI,uBAAuB,EAEhD,mBAAmB,IAAI,qBAAqB,EAC7C,MAAM,gBAAgB,CAAA;AAGvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAK3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAQxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAG9C,OAAO,cAAc,CAAA;AAOrB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAA;AAE5C,oBAAY,cAAc,GAAG,UAAU,CAAA;AAEvC,oBAAY,oBAAoB,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAA;AAwD3D,aAAK,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,EAAE,WAAW,GAAG,SAAS,CAAC,GAAG;IAChF,QAAQ,CAAC,EAAE,KAAK,CAAA;CACjB,CAAA;AACD,aAAK,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,EAAE,WAAW,GAAG,SAAS,CAAC,GAAG;IACpF,QAAQ,EAAE,IAAI,CAAA;CACf,CAAA;AAED,aAAK,kBAAkB,GAAG,mBAAmB,GAAG,qBAAqB,CAAA;AAErE,oBAAY,aAAa,CAAC,YAAY,IAAI,kBAAkB,GAAG;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,qBAAqB,CAAA;IACjC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,IAAI,EAAE,MAAM,IAAI,CAAA;CACjB;AAID,QAAA,MAAM,QAAQ;;MAsOT,MAAM,YAAY;iBACR,MAAM;;;CAGpB,CAAA;AAOD,eAAe,QAAQ,CAAA"}
|
|
@@ -17,6 +17,7 @@ var _useCompactItemContext = require("./component/useCompactItemContext");
|
|
|
17
17
|
var _FormItemInputContext = require("./component/FormItemInputContext");
|
|
18
18
|
var _getIcons2 = _interopRequireDefault(require("./component/getIcons"));
|
|
19
19
|
var _utils = require("./config/utils");
|
|
20
|
+
var _commonUtil = require("../rc-cascader/utils/commonUtil");
|
|
20
21
|
var _warning = _interopRequireDefault(require("./config/warning"));
|
|
21
22
|
var _icon = _interopRequireDefault(require("../../icon"));
|
|
22
23
|
require("./index.less");
|
|
@@ -72,6 +73,42 @@ function _toPrimitive(t, r) {
|
|
|
72
73
|
}
|
|
73
74
|
return ("string" === r ? String : Number)(t);
|
|
74
75
|
}
|
|
76
|
+
function _slicedToArray(r, e) {
|
|
77
|
+
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
|
|
78
|
+
}
|
|
79
|
+
function _nonIterableRest() {
|
|
80
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
81
|
+
}
|
|
82
|
+
function _iterableToArrayLimit(r, l) {
|
|
83
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
84
|
+
if (null != t) {
|
|
85
|
+
var e,
|
|
86
|
+
n,
|
|
87
|
+
i,
|
|
88
|
+
u,
|
|
89
|
+
a = [],
|
|
90
|
+
f = !0,
|
|
91
|
+
o = !1;
|
|
92
|
+
try {
|
|
93
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
94
|
+
if (Object(t) !== t) return;
|
|
95
|
+
f = !1;
|
|
96
|
+
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
97
|
+
} catch (r) {
|
|
98
|
+
o = !0, n = r;
|
|
99
|
+
} finally {
|
|
100
|
+
try {
|
|
101
|
+
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
102
|
+
} finally {
|
|
103
|
+
if (o) throw n;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return a;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
function _arrayWithHoles(r) {
|
|
110
|
+
if (Array.isArray(r)) return r;
|
|
111
|
+
}
|
|
75
112
|
function _typeof(o) {
|
|
76
113
|
"@babel/helpers - typeof";
|
|
77
114
|
|
|
@@ -175,8 +212,54 @@ var Cascader = React.forwardRef(function (props, ref) {
|
|
|
175
212
|
getPopupContainer = props.getPopupContainer,
|
|
176
213
|
customStatus = props.status,
|
|
177
214
|
showArrow = props.showArrow,
|
|
178
|
-
|
|
215
|
+
defaultTagRender = props.defaultTagRender,
|
|
216
|
+
rest = __rest(props, ["prefixCls", "size", "disabled", "className", "multiple", "bordered", "transitionName", "choiceTransitionName", "popupClassName", "dropdownClassName", "expandIcon", "placement", "showSearch", "allowClear", "notFoundContent", "direction", "getPopupContainer", "status", "showArrow", "defaultTagRender"]);
|
|
179
217
|
var restProps = (0, _omit["default"])(rest, ['suffixIcon']);
|
|
218
|
+
var _React$useState = React.useState(),
|
|
219
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
220
|
+
multipleItemValue = _React$useState2[0],
|
|
221
|
+
setMultipleItemValue = _React$useState2[1];
|
|
222
|
+
if (defaultTagRender && multiple && !(props === null || props === void 0 ? void 0 : props.multipleItemValue) && !(props === null || props === void 0 ? void 0 : props.tagRender)) {
|
|
223
|
+
Object.assign(restProps, {
|
|
224
|
+
tagRender: function tagRender(props) {
|
|
225
|
+
var label = props.label,
|
|
226
|
+
closable = props.closable,
|
|
227
|
+
onClose = props.onClose,
|
|
228
|
+
disabled = props.disabled,
|
|
229
|
+
value = props.value;
|
|
230
|
+
return React.createElement("span", {
|
|
231
|
+
// 4. 补充鼠标事件的类型标注
|
|
232
|
+
onMouseDown: function onMouseDown(e) {
|
|
233
|
+
e.preventDefault(); // 可选:阻止默认行为(如选中文本)
|
|
234
|
+
var newValue = (0, _commonUtil.toPathValueStr)(value);
|
|
235
|
+
setMultipleItemValue([newValue]);
|
|
236
|
+
},
|
|
237
|
+
// 7. 优化类名拼接:优先使用props的disabled,兜底restProps的disabled
|
|
238
|
+
className: "tntd-select-selection-item ".concat((disabled || customDisabled) && 'tntd-select-selection-item-disabled')
|
|
239
|
+
}, React.createElement("span", {
|
|
240
|
+
className: "tntd-select-selection-item-content"
|
|
241
|
+
}, label), closable && !disabled && !customDisabled ?
|
|
242
|
+
// 8. 禁用时隐藏关闭按钮
|
|
243
|
+
// 9. 修复onClose立即执行的问题:改为回调函数
|
|
244
|
+
React.createElement("span", {
|
|
245
|
+
className: "tntd-select-selection-item-remove",
|
|
246
|
+
onClick: function onClick() {
|
|
247
|
+
return onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
248
|
+
}
|
|
249
|
+
}, React.createElement(_icon["default"], {
|
|
250
|
+
type: "close"
|
|
251
|
+
})) : null);
|
|
252
|
+
},
|
|
253
|
+
multipleItemValue: multipleItemValue
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
React.useEffect(function () {
|
|
257
|
+
if (multiple && defaultTagRender) {
|
|
258
|
+
return function () {
|
|
259
|
+
setMultipleItemValue(undefined);
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
}, [multiple, defaultTagRender]);
|
|
180
263
|
var _useContext = (0, _react.useContext)(_context.ConfigContext),
|
|
181
264
|
getContextPopupContainer = _useContext.getPopupContainer,
|
|
182
265
|
getPrefixCls = _useContext.getPrefixCls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tntd-cascader/AntdCascader/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames'\nimport type {\n BaseOptionType,\n DefaultOptionType,\n FieldNames,\n MultipleCascaderProps as RcMultipleCascaderProps,\n ShowSearchType,\n SingleCascaderProps as RcSingleCascaderProps,\n} from '../rc-cascader'\nimport RcCascader from '../rc-cascader'\nimport omit from 'rc-util/lib/omit'\nimport * as React from 'react'\nimport { useContext } from 'react'\nimport { ConfigContext } from './component/context'\nimport defaultRenderEmpty from './component/defaultRenderEmpty'\nimport DisabledContext from './component/DisabledContext'\nimport type { SizeType } from './interface'\nimport { SizeContext } from './component/SizeContext'\nimport { useCompactItemContext } from './component/useCompactItemContext'\nimport { FormItemInputContext } from './component/FormItemInputContext'\nimport getIcons from './component/getIcons'\nimport type { SelectCommonPlacement } from './interface'\nimport {\n getTransitionDirection,\n getTransitionName,\n getMergedStatus,\n getStatusClassNames,\n} from './config/utils'\nimport type { InputStatus } from './interface'\nimport warning from './config/warning'\nimport Icon from '../../icon'\nimport './index.less'\n\n// Align the design since we use `rc-select` in root. This help:\n// - List search content will show all content\n// - Hover opacity style\n// - Search filter match case\n\nexport { BaseOptionType, DefaultOptionType }\n\nexport type FieldNamesType = FieldNames\n\nexport type FilledFieldNamesType = Required<FieldNamesType>\n\nconst { SHOW_CHILD, SHOW_PARENT } = RcCascader\n\nfunction highlightKeyword(str: string, lowerKeyword: string, prefixCls: string | undefined) {\n const cells = str\n .toLowerCase()\n .split(lowerKeyword)\n .reduce(\n (list, cur, index) => (index === 0 ? [cur] : [...list, lowerKeyword, cur]),\n [] as string[]\n )\n const fillCells: React.ReactNode[] = []\n let start = 0\n\n cells.forEach((cell: string, index: number) => {\n const end = start + cell.length\n let originWorld: React.ReactNode = str.slice(start, end)\n start = end\n\n if (index % 2 === 1) {\n originWorld = (\n <span className={`${prefixCls}-menu-item-keyword`} key={`seperator-${index}`}>\n {originWorld}\n </span>\n )\n }\n\n fillCells.push(originWorld)\n })\n\n return fillCells\n}\n\nconst defaultSearchRender: ShowSearchType['render'] = (inputValue, path, prefixCls, fieldNames) => {\n const optionList: React.ReactNode[] = []\n\n // We do lower here to save perf\n const lower = inputValue.toLowerCase()\n\n path.forEach((node, index) => {\n if (index !== 0) {\n optionList.push(' / ')\n }\n\n let label = (node as any)[fieldNames.label!]\n const type = typeof label\n if (type === 'string' || type === 'number') {\n label = highlightKeyword(String(label), lower, prefixCls)\n }\n\n optionList.push(label)\n })\n return optionList\n}\n\ntype SingleCascaderProps = Omit<RcSingleCascaderProps, 'checkable' | 'options'> & {\n multiple?: false\n}\ntype MultipleCascaderProps = Omit<RcMultipleCascaderProps, 'checkable' | 'options'> & {\n multiple: true\n}\n\ntype UnionCascaderProps = SingleCascaderProps | MultipleCascaderProps\n\nexport type CascaderProps<DataNodeType> = UnionCascaderProps & {\n multiple?: boolean\n size?: SizeType\n disabled?: boolean\n bordered?: boolean\n placement?: SelectCommonPlacement\n suffixIcon?: React.ReactNode\n options?: DataNodeType[]\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}\n\nexport interface CascaderRef {\n focus: () => void\n blur: () => void\n}\n\nconst Cascader = React.forwardRef((props: CascaderProps<any>, ref: React.Ref<CascaderRef>) => {\n const {\n prefixCls: customizePrefixCls,\n size: customizeSize,\n disabled: customDisabled,\n className,\n multiple,\n bordered = true,\n transitionName,\n choiceTransitionName = '',\n popupClassName,\n dropdownClassName,\n expandIcon,\n placement,\n showSearch,\n allowClear = true,\n notFoundContent,\n direction,\n getPopupContainer,\n status: customStatus,\n showArrow,\n ...rest\n } = props\n\n const restProps = omit(rest, ['suffixIcon' as any])\n\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n renderEmpty,\n direction: rootDirection,\n // virtual,\n // dropdownMatchSelectWidth,\n } = useContext(ConfigContext)\n\n const mergedDirection = direction || rootDirection\n const isRtl = mergedDirection === 'rtl'\n\n // =================== Form =====================\n const {\n status: contextStatus,\n hasFeedback,\n isFormItemInput,\n feedbackIcon,\n } = useContext(FormItemInputContext)\n const mergedStatus = getMergedStatus(contextStatus, customStatus)\n\n // =================== Warning =====================\n warning(\n !dropdownClassName,\n 'Cascader',\n '`dropdownClassName` is deprecated which will be removed in next major version. Please use `popupClassName` instead.'\n )\n\n warning(\n !multiple || !props.displayRender,\n 'Cascader',\n '`displayRender` not work on `multiple`. Please use `tagRender` instead.'\n )\n\n // =================== No Found ====================\n const mergedNotFoundContent = notFoundContent || (renderEmpty || defaultRenderEmpty)('Cascader')\n\n // ==================== Prefix =====================\n const rootPrefixCls = getPrefixCls()\n const prefixCls = getPrefixCls('select', customizePrefixCls)\n const cascaderPrefixCls = getPrefixCls('cascader', customizePrefixCls)\n const { compactSize, compactItemClassnames } = useCompactItemContext(prefixCls, direction)\n // =================== Dropdown ====================\n const mergedDropdownClassName = classNames(\n popupClassName || dropdownClassName,\n `${cascaderPrefixCls}-dropdown`,\n {\n [`${cascaderPrefixCls}-dropdown-rtl`]: mergedDirection === 'rtl',\n }\n )\n\n // ==================== Search =====================\n const mergedShowSearch = React.useMemo(() => {\n if (!showSearch) {\n return showSearch\n }\n\n let searchConfig: ShowSearchType = {\n render: defaultSearchRender,\n }\n\n if (typeof showSearch === 'object') {\n searchConfig = {\n ...searchConfig,\n ...showSearch,\n }\n }\n\n return searchConfig\n }, [showSearch])\n\n // ===================== Size ======================\n const size = React.useContext(SizeContext)\n const mergedSize = compactSize || customizeSize || size\n\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext)\n const mergedDisabled = customDisabled ?? disabled\n\n // ===================== Icon ======================\n let mergedExpandIcon = expandIcon\n if (!expandIcon) {\n mergedExpandIcon = isRtl ? <Icon type=\"left\" /> : <Icon type=\"right\" />\n }\n\n const loadingIcon = (\n <span className={`${prefixCls}-menu-item-loading-icon`}>\n <Icon type=\"loading\" />\n </span>\n )\n\n // =================== Multiple ====================\n const checkable = React.useMemo(\n () => (multiple ? <span className={`${cascaderPrefixCls}-checkbox-inner`} /> : false),\n [multiple]\n )\n\n // ===================== Icons =====================\n const mergedShowArrow = showArrow !== undefined ? showArrow : props.loading || !multiple\n const { suffixIcon, removeIcon, clearIcon } = getIcons({\n ...props,\n hasFeedback,\n feedbackIcon,\n showArrow: mergedShowArrow,\n multiple,\n prefixCls,\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 // ==================== Render =====================\n return (\n <RcCascader\n prefixCls={prefixCls}\n className={classNames(\n !customizePrefixCls && cascaderPrefixCls,\n {\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-rtl`]: isRtl,\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-in-form-item`]: isFormItemInput,\n },\n getStatusClassNames(prefixCls, mergedStatus, hasFeedback),\n compactItemClassnames,\n className\n )}\n disabled={mergedDisabled}\n {...(restProps as any)}\n direction={mergedDirection}\n placement={getPlacement()}\n notFoundContent={mergedNotFoundContent}\n allowClear={allowClear}\n showSearch={mergedShowSearch}\n expandIcon={mergedExpandIcon}\n inputIcon={suffixIcon}\n removeIcon={removeIcon}\n clearIcon={clearIcon}\n loadingIcon={loadingIcon}\n checkable={checkable}\n dropdownClassName={mergedDropdownClassName}\n dropdownPrefixCls={customizePrefixCls || cascaderPrefixCls}\n choiceTransitionName={getTransitionName(rootPrefixCls, '', choiceTransitionName)}\n transitionName={getTransitionName(\n rootPrefixCls,\n getTransitionDirection(placement),\n transitionName\n )}\n getPopupContainer={getPopupContainer || getContextPopupContainer}\n ref={ref}\n showArrow={hasFeedback || showArrow}\n />\n )\n}) as unknown as (<OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(\n props: React.PropsWithChildren<CascaderProps<OptionType>> & { ref?: React.Ref<CascaderRef> }\n) => React.ReactElement) & {\n displayName: string\n SHOW_PARENT: typeof SHOW_PARENT\n SHOW_CHILD: typeof SHOW_CHILD\n}\nif (process.env.NODE_ENV !== 'production') {\n Cascader.displayName = 'Cascader'\n}\nCascader.SHOW_PARENT = SHOW_PARENT\nCascader.SHOW_CHILD = SHOW_CHILD\n\nexport default Cascader\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tntd-cascader/AntdCascader/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import classNames from 'classnames'\nimport type {\n BaseOptionType,\n DefaultOptionType,\n FieldNames,\n MultipleCascaderProps as RcMultipleCascaderProps,\n ShowSearchType,\n SingleCascaderProps as RcSingleCascaderProps,\n} from '../rc-cascader'\nimport RcCascader from '../rc-cascader'\nimport omit from 'rc-util/lib/omit'\nimport * as React from 'react'\nimport { useContext } from 'react'\nimport { ConfigContext } from './component/context'\nimport defaultRenderEmpty from './component/defaultRenderEmpty'\nimport DisabledContext from './component/DisabledContext'\nimport type { SizeType } from './interface'\nimport { SizeContext } from './component/SizeContext'\nimport { useCompactItemContext } from './component/useCompactItemContext'\nimport { FormItemInputContext } from './component/FormItemInputContext'\nimport getIcons from './component/getIcons'\nimport type { SelectCommonPlacement } from './interface'\nimport {\n getTransitionDirection,\n getTransitionName,\n getMergedStatus,\n getStatusClassNames,\n} from './config/utils'\nimport { toPathValueStr } from '../rc-cascader/utils/commonUtil'\nimport type { InputStatus } from './interface'\nimport warning from './config/warning'\nimport Icon from '../../icon'\nimport './index.less'\n\n// Align the design since we use `rc-select` in root. This help:\n// - List search content will show all content\n// - Hover opacity style\n// - Search filter match case\n\nexport { BaseOptionType, DefaultOptionType }\n\nexport type FieldNamesType = FieldNames\n\nexport type FilledFieldNamesType = Required<FieldNamesType>\n\nconst { SHOW_CHILD, SHOW_PARENT } = RcCascader\n\nfunction highlightKeyword(str: string, lowerKeyword: string, prefixCls: string | undefined) {\n const cells = str\n .toLowerCase()\n .split(lowerKeyword)\n .reduce(\n (list, cur, index) => (index === 0 ? [cur] : [...list, lowerKeyword, cur]),\n [] as string[]\n )\n const fillCells: React.ReactNode[] = []\n let start = 0\n\n cells.forEach((cell: string, index: number) => {\n const end = start + cell.length\n let originWorld: React.ReactNode = str.slice(start, end)\n start = end\n\n if (index % 2 === 1) {\n originWorld = (\n <span className={`${prefixCls}-menu-item-keyword`} key={`seperator-${index}`}>\n {originWorld}\n </span>\n )\n }\n\n fillCells.push(originWorld)\n })\n\n return fillCells\n}\n\nconst defaultSearchRender: ShowSearchType['render'] = (inputValue, path, prefixCls, fieldNames) => {\n const optionList: React.ReactNode[] = []\n\n // We do lower here to save perf\n const lower = inputValue.toLowerCase()\n\n path.forEach((node, index) => {\n if (index !== 0) {\n optionList.push(' / ')\n }\n\n let label = (node as any)[fieldNames.label!]\n const type = typeof label\n if (type === 'string' || type === 'number') {\n label = highlightKeyword(String(label), lower, prefixCls)\n }\n\n optionList.push(label)\n })\n return optionList\n}\n\ntype SingleCascaderProps = Omit<RcSingleCascaderProps, 'checkable' | 'options'> & {\n multiple?: false\n}\ntype MultipleCascaderProps = Omit<RcMultipleCascaderProps, 'checkable' | 'options'> & {\n multiple: true\n}\n\ntype UnionCascaderProps = SingleCascaderProps | MultipleCascaderProps\n\nexport type CascaderProps<DataNodeType> = UnionCascaderProps & {\n multiple?: boolean\n size?: SizeType\n disabled?: boolean\n bordered?: boolean\n placement?: SelectCommonPlacement\n suffixIcon?: React.ReactNode\n options?: DataNodeType[]\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 defaultTagRender?: boolean\n}\n\nexport interface CascaderRef {\n focus: () => void\n blur: () => void\n}\n\ntype MultipleItemValueType = undefined | string[][]\n\nconst Cascader = React.forwardRef((props: CascaderProps<any>, ref: React.Ref<CascaderRef>) => {\n const {\n prefixCls: customizePrefixCls,\n size: customizeSize,\n disabled: customDisabled,\n className,\n multiple,\n bordered = true,\n transitionName,\n choiceTransitionName = '',\n popupClassName,\n dropdownClassName,\n expandIcon,\n placement,\n showSearch,\n allowClear = true,\n notFoundContent,\n direction,\n getPopupContainer,\n status: customStatus,\n showArrow,\n defaultTagRender,\n ...rest\n } = props\n\n const restProps = omit(rest, ['suffixIcon' as any])\n\n const [multipleItemValue, setMultipleItemValue] = React.useState<MultipleItemValueType>()\n\n if (defaultTagRender && multiple && !props?.multipleItemValue && !props?.tagRender) {\n Object.assign(restProps, {\n tagRender: (props: any) => {\n const { label, closable, onClose, disabled, value } = props\n return (\n <span\n // 4. 补充鼠标事件的类型标注\n onMouseDown={(e: React.MouseEvent<HTMLSpanElement>) => {\n e.preventDefault() // 可选:阻止默认行为(如选中文本)\n const newValue = toPathValueStr(value)\n setMultipleItemValue([newValue])\n }}\n // 7. 优化类名拼接:优先使用props的disabled,兜底restProps的disabled\n className={`tntd-select-selection-item ${\n (disabled || customDisabled) && 'tntd-select-selection-item-disabled'\n }`}\n >\n <span className=\"tntd-select-selection-item-content\">{label}</span>\n {closable && !disabled && !customDisabled ? ( // 8. 禁用时隐藏关闭按钮\n // 9. 修复onClose立即执行的问题:改为回调函数\n <span className=\"tntd-select-selection-item-remove\" onClick={() => onClose?.()}>\n <Icon type=\"close\" />\n </span>\n ) : null}\n </span>\n )\n },\n multipleItemValue,\n })\n }\n React.useEffect(() => {\n if (multiple && defaultTagRender) {\n return () => {\n setMultipleItemValue(undefined)\n }\n }\n }, [multiple, defaultTagRender])\n\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n renderEmpty,\n direction: rootDirection,\n // virtual,\n // dropdownMatchSelectWidth,\n } = useContext(ConfigContext)\n\n const mergedDirection = direction || rootDirection\n const isRtl = mergedDirection === 'rtl'\n\n // =================== Form =====================\n const {\n status: contextStatus,\n hasFeedback,\n isFormItemInput,\n feedbackIcon,\n } = useContext(FormItemInputContext)\n const mergedStatus = getMergedStatus(contextStatus, customStatus)\n\n // =================== Warning =====================\n warning(\n !dropdownClassName,\n 'Cascader',\n '`dropdownClassName` is deprecated which will be removed in next major version. Please use `popupClassName` instead.'\n )\n\n warning(\n !multiple || !props.displayRender,\n 'Cascader',\n '`displayRender` not work on `multiple`. Please use `tagRender` instead.'\n )\n\n // =================== No Found ====================\n const mergedNotFoundContent = notFoundContent || (renderEmpty || defaultRenderEmpty)('Cascader')\n\n // ==================== Prefix =====================\n const rootPrefixCls = getPrefixCls()\n const prefixCls = getPrefixCls('select', customizePrefixCls)\n const cascaderPrefixCls = getPrefixCls('cascader', customizePrefixCls)\n const { compactSize, compactItemClassnames } = useCompactItemContext(prefixCls, direction)\n // =================== Dropdown ====================\n const mergedDropdownClassName = classNames(\n popupClassName || dropdownClassName,\n `${cascaderPrefixCls}-dropdown`,\n {\n [`${cascaderPrefixCls}-dropdown-rtl`]: mergedDirection === 'rtl',\n }\n )\n\n // ==================== Search =====================\n const mergedShowSearch = React.useMemo(() => {\n if (!showSearch) {\n return showSearch\n }\n\n let searchConfig: ShowSearchType = {\n render: defaultSearchRender,\n }\n\n if (typeof showSearch === 'object') {\n searchConfig = {\n ...searchConfig,\n ...showSearch,\n }\n }\n\n return searchConfig\n }, [showSearch])\n\n // ===================== Size ======================\n const size = React.useContext(SizeContext)\n const mergedSize = compactSize || customizeSize || size\n\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext)\n const mergedDisabled = customDisabled ?? disabled\n\n // ===================== Icon ======================\n let mergedExpandIcon = expandIcon\n if (!expandIcon) {\n mergedExpandIcon = isRtl ? <Icon type=\"left\" /> : <Icon type=\"right\" />\n }\n\n const loadingIcon = (\n <span className={`${prefixCls}-menu-item-loading-icon`}>\n <Icon type=\"loading\" />\n </span>\n )\n\n // =================== Multiple ====================\n const checkable = React.useMemo(\n () => (multiple ? <span className={`${cascaderPrefixCls}-checkbox-inner`} /> : false),\n [multiple]\n )\n\n // ===================== Icons =====================\n const mergedShowArrow = showArrow !== undefined ? showArrow : props.loading || !multiple\n const { suffixIcon, removeIcon, clearIcon } = getIcons({\n ...props,\n hasFeedback,\n feedbackIcon,\n showArrow: mergedShowArrow,\n multiple,\n prefixCls,\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 // ==================== Render =====================\n return (\n <RcCascader\n prefixCls={prefixCls}\n className={classNames(\n !customizePrefixCls && cascaderPrefixCls,\n {\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-rtl`]: isRtl,\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-in-form-item`]: isFormItemInput,\n },\n getStatusClassNames(prefixCls, mergedStatus, hasFeedback),\n compactItemClassnames,\n className\n )}\n disabled={mergedDisabled}\n {...(restProps as any)}\n direction={mergedDirection}\n placement={getPlacement()}\n notFoundContent={mergedNotFoundContent}\n allowClear={allowClear}\n showSearch={mergedShowSearch}\n expandIcon={mergedExpandIcon}\n inputIcon={suffixIcon}\n removeIcon={removeIcon}\n clearIcon={clearIcon}\n loadingIcon={loadingIcon}\n checkable={checkable}\n dropdownClassName={mergedDropdownClassName}\n dropdownPrefixCls={customizePrefixCls || cascaderPrefixCls}\n choiceTransitionName={getTransitionName(rootPrefixCls, '', choiceTransitionName)}\n transitionName={getTransitionName(\n rootPrefixCls,\n getTransitionDirection(placement),\n transitionName\n )}\n getPopupContainer={getPopupContainer || getContextPopupContainer}\n ref={ref}\n showArrow={hasFeedback || showArrow}\n />\n )\n}) as unknown as (<OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(\n props: React.PropsWithChildren<CascaderProps<OptionType>> & { ref?: React.Ref<CascaderRef> }\n) => React.ReactElement) & {\n displayName: string\n SHOW_PARENT: typeof SHOW_PARENT\n SHOW_CHILD: typeof SHOW_CHILD\n}\nif (process.env.NODE_ENV !== 'production') {\n Cascader.displayName = 'Cascader'\n}\nCascader.SHOW_PARENT = SHOW_PARENT\nCascader.SHOW_CHILD = SHOW_CHILD\n\nexport default Cascader\n"]}
|
|
@@ -66,6 +66,7 @@ interface BaseCascaderProps<OptionType extends BaseOptionType = DefaultOptionTyp
|
|
|
66
66
|
expandIcon?: React.ReactNode;
|
|
67
67
|
loadingIcon?: React.ReactNode;
|
|
68
68
|
optionsNum?: number;
|
|
69
|
+
multipleItemValue?: SingleValueType[];
|
|
69
70
|
}
|
|
70
71
|
declare type OnSingleChange<OptionType> = (value: SingleValueType, selectOptions: OptionType[]) => void;
|
|
71
72
|
declare type OnMultipleChange<OptionType> = (value: SingleValueType[], selectOptions: OptionType[][]) => void;
|