@hi-ui/check-cascader 4.5.1 → 5.0.0-alpha.0

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 (85) hide show
  1. package/CHANGELOG.md +112 -0
  2. package/lib/cjs/CheckCascader.js +125 -12
  3. package/lib/cjs/CheckCascaderMenu.js +101 -65
  4. package/lib/cjs/CheckCascaderMenuList.js +14 -5
  5. package/lib/cjs/hooks/use-check.js +3 -9
  6. package/lib/cjs/styles/index.scss.js +1 -1
  7. package/lib/cjs/ui/virtual-list/lib/esm/_virtual/index.js +28 -0
  8. package/lib/cjs/ui/virtual-list/lib/esm/_virtual/index2.js +28 -0
  9. package/lib/cjs/ui/virtual-list/lib/esm/_virtual/react-is.development.js +26 -0
  10. package/lib/cjs/ui/virtual-list/lib/esm/_virtual/react-is.production.min.js +26 -0
  11. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/classnames/index.js +74 -0
  12. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/es/index.js +200 -0
  13. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js +52 -0
  14. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Dom/findDOMNode.js +44 -0
  15. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js +71 -0
  16. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/warning.js +45 -0
  17. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-util/es/Dom/canUseDom.js +28 -0
  18. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-util/es/Dom/findDOMNode.js +44 -0
  19. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-util/es/hooks/useLayoutEffect.js +54 -0
  20. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-util/es/raf.js +71 -0
  21. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/Filler.js +128 -0
  22. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/Item.js +57 -0
  23. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/List.js +476 -0
  24. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/ScrollBar.js +363 -0
  25. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useChildren.js +63 -0
  26. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useDiffItem.js +115 -0
  27. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useFrameWheel.js +64 -0
  28. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useHeights.js +161 -0
  29. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js +87 -0
  30. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useOriginScroll.js +61 -0
  31. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useScrollTo.js +141 -0
  32. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/utils/CacheMap.js +68 -0
  33. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/utils/algorithmUtil.js +84 -0
  34. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/utils/isFirefox.js +35 -0
  35. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/react-is/cjs/react-is.development.js +189 -0
  36. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/react-is/cjs/react-is.production.min.js +139 -0
  37. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/react-is/index.js +31 -0
  38. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +970 -0
  39. package/lib/cjs/utils/index.js +89 -30
  40. package/lib/esm/CheckCascader.js +134 -22
  41. package/lib/esm/CheckCascaderMenu.js +108 -72
  42. package/lib/esm/CheckCascaderMenuList.js +19 -10
  43. package/lib/esm/context.js +1 -1
  44. package/lib/esm/hooks/use-check.js +1 -7
  45. package/lib/esm/icons/index.js +4 -4
  46. package/lib/esm/styles/index.scss.js +1 -1
  47. package/lib/esm/ui/virtual-list/lib/esm/_virtual/index.js +22 -0
  48. package/lib/esm/ui/virtual-list/lib/esm/_virtual/index2.js +22 -0
  49. package/lib/esm/ui/virtual-list/lib/esm/_virtual/react-is.development.js +20 -0
  50. package/lib/esm/ui/virtual-list/lib/esm/_virtual/react-is.production.min.js +20 -0
  51. package/lib/esm/ui/virtual-list/lib/esm/node_modules/classnames/index.js +62 -0
  52. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/es/index.js +164 -0
  53. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js +40 -0
  54. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Dom/findDOMNode.js +32 -0
  55. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js +57 -0
  56. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/warning.js +36 -0
  57. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-util/es/Dom/canUseDom.js +22 -0
  58. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-util/es/Dom/findDOMNode.js +32 -0
  59. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-util/es/hooks/useLayoutEffect.js +28 -0
  60. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-util/es/raf.js +65 -0
  61. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/Filler.js +102 -0
  62. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/Item.js +31 -0
  63. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/List.js +450 -0
  64. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/ScrollBar.js +337 -0
  65. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useChildren.js +37 -0
  66. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useDiffItem.js +89 -0
  67. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useFrameWheel.js +59 -0
  68. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useHeights.js +136 -0
  69. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js +82 -0
  70. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useOriginScroll.js +56 -0
  71. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useScrollTo.js +115 -0
  72. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/utils/CacheMap.js +62 -0
  73. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/utils/algorithmUtil.js +78 -0
  74. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/utils/isFirefox.js +29 -0
  75. package/lib/esm/ui/virtual-list/lib/esm/node_modules/react-is/cjs/react-is.development.js +177 -0
  76. package/lib/esm/ui/virtual-list/lib/esm/node_modules/react-is/cjs/react-is.production.min.js +127 -0
  77. package/lib/esm/ui/virtual-list/lib/esm/node_modules/react-is/index.js +29 -0
  78. package/lib/esm/ui/virtual-list/lib/esm/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +964 -0
  79. package/lib/esm/utils/index.js +87 -31
  80. package/lib/types/CheckCascader.d.ts +28 -4
  81. package/lib/types/CheckCascaderMenuList.d.ts +8 -0
  82. package/lib/types/context.d.ts +1 -0
  83. package/lib/types/types.d.ts +7 -1
  84. package/lib/types/utils/index.d.ts +3 -0
  85. package/package.json +27 -26
package/CHANGELOG.md CHANGED
@@ -1,5 +1,117 @@
1
1
  # @hi-ui/check-cascader
2
2
 
3
+ ## 5.0.0-alpha.0
4
+
5
+ ### Major Changes
6
+
7
+ - 1b05b44a4: feat: 组件的 package.json 中的 exports 统一加上 types 配置 (5.0)
8
+
9
+ ### Minor Changes
10
+
11
+ - 77ed66eac: <br>
12
+ - feat(picker): 下拉选择类组件增加 xs 尺寸 (5.0)
13
+ - feat(input): 输入框组件增加 xs 尺寸 (5.0)
14
+ - cee645726: feat(check-cascader): 增加 checkbox 级联禁用功能和相关样式调整 (5.0)
15
+ - 74ca77b9c: feat(check-cascader): add showOnlyShowChecked api (5.0)
16
+ - 632dbda3a: feat: 下拉选择组件增加 showIndicator 参数 & 修改 appearance 中的 unset 样式 (5.0)
17
+ - 1b51c1bbe: feat: 下拉选择类组件 appearance 参数增加 contained 类型 (5.0)
18
+ - 6eac4b78b: feat: 输入框和选择器组件增加 borderless 形态 (5.0)
19
+
20
+ ### Patch Changes
21
+
22
+ - 5de7a848b: chore: 将代码中 v4 改为 v5 (5.0)
23
+ - eb5506b8d: style(picker): 移除 picker 组件中的 \_\_text 样式定义 (5.0)
24
+ - 5de7a848b: fix: 修复 5.0 UI 问题 (5.0)
25
+ - da1f63a55: feat(check-cascader): 增加全选功能
26
+ - 958805d8b: fix(tag-input): 修复 contained 模式下 displayRender 设置无效问题 (5.0)
27
+ - 8116f0304: fix: 修改 UI 问题 (5.0)
28
+ - cfaf8c48d: perf: 对下拉选择类组件的 customRender 的内容增加 memoization 以优化性能 (5.0)
29
+ - b29639844: style(cascader&check-cascader): 调整下拉框样式,增加搜索框宽度设置 (5.0)
30
+ - 2e0eca2d3: perf(cascader): 性能优化 (5.0)
31
+ - eaa96c960: <br>
32
+ - style(cascader&check-cascader): 增加 white-space: nowrap; 样式以防止文本换行 (5.0)
33
+ - style(cascader&check-cascader): 调整搜索框默认宽度为 100px (5.0)
34
+ - feat(check-cascader): 增加 flattedSearchResult 属性,用于控制搜索结果的展现形式 (5.0)
35
+ - fix(cascader): 修复当搜索结果为空时,下拉框没有显示空状态问题 (5.0)
36
+ - 61d132802: build: 将 package.json 中 exports 配置中的 types 配置放在最上面 (5.0)
37
+ - e39572f8f: style(tag-input): 增加 flex-wrap 属性以优化标签换行展示 (5.0)
38
+ - 9f2ee08cf: <br>
39
+ - style(tag-input): 间距调整 (5.0)
40
+ - style(select): 选择类组件选项圆角改为 4px (5.0)
41
+ - style(picker): 搜索框样式调整 (5.0)
42
+ - 1fc825e2f: <br>
43
+ - fix(cascader): 处理当 value 为空时清空选项的选中态(5.0)
44
+ - style(cascader&check-cascader): 调整选项容器最小宽度为 160px (5.0)
45
+ - style(cascader&check-cascader): 优化下拉框宽度,让内容和搜索框默认宽度对齐 (5.0)
46
+ - perf(cascader&check-cascader): 优化 customRender 函数,支持传递选中项和当前值 (5.0)
47
+ - 85bb84874: style: 统一调整选择类组件 hover 时的背景色 (5.0)
48
+ - c125e4c48: fix: 修复 UI 问题 (5.0)
49
+ - Updated dependencies [abebb5eed]
50
+ - Updated dependencies [7bda04e64]
51
+ - Updated dependencies [7ac9bc99a]
52
+ - Updated dependencies [77ed66eac]
53
+ - Updated dependencies [ddd2acc79]
54
+ - Updated dependencies [5de7a848b]
55
+ - Updated dependencies [1b05b44a4]
56
+ - Updated dependencies [0cd15438e]
57
+ - Updated dependencies [958805d8b]
58
+ - Updated dependencies [eb69f0baa]
59
+ - Updated dependencies [a01771e8d]
60
+ - Updated dependencies [67960d871]
61
+ - Updated dependencies [cee645726]
62
+ - Updated dependencies [de7f92b26]
63
+ - Updated dependencies [b35327262]
64
+ - Updated dependencies [8116f0304]
65
+ - Updated dependencies [85bb84874]
66
+ - Updated dependencies [77ed66eac]
67
+ - Updated dependencies [632dbda3a]
68
+ - Updated dependencies [2c7c65a5a]
69
+ - Updated dependencies [36bb992d3]
70
+ - Updated dependencies [1b51c1bbe]
71
+ - Updated dependencies [2e0eca2d3]
72
+ - Updated dependencies [61d132802]
73
+ - Updated dependencies [e39572f8f]
74
+ - Updated dependencies [6ebf40f96]
75
+ - Updated dependencies [9f2ee08cf]
76
+ - Updated dependencies [6eac4b78b]
77
+ - Updated dependencies [bcd3d08dd]
78
+ - Updated dependencies [4fb586f6f]
79
+ - Updated dependencies [c125e4c48]
80
+ - Updated dependencies [b7ad460d8]
81
+ - Updated dependencies [df25ec39b]
82
+ - @hi-ui/picker@5.0.0-alpha.0
83
+ - @hi-ui/input@5.0.0-alpha.0
84
+ - @hi-ui/tag-input@5.0.0-alpha.0
85
+ - @hi-ui/core@5.0.0-alpha.0
86
+ - @hi-ui/use-check@5.0.0-alpha.0
87
+ - @hi-ui/use-data-source@5.0.0-alpha.0
88
+ - @hi-ui/use-latest@5.0.0-alpha.0
89
+ - @hi-ui/use-merge-refs@5.0.0-alpha.0
90
+ - @hi-ui/use-outside-click@5.0.0-alpha.0
91
+ - @hi-ui/use-search-mode@5.0.0-alpha.0
92
+ - @hi-ui/use-toggle@5.0.0-alpha.0
93
+ - @hi-ui/use-uncontrolled-state@5.0.0-alpha.0
94
+ - @hi-ui/icons@5.0.0-alpha.0
95
+ - @hi-ui/checkbox@5.0.0-alpha.0
96
+ - @hi-ui/popper@5.0.0-alpha.0
97
+ - @hi-ui/spinner@5.0.0-alpha.0
98
+ - @hi-ui/array-utils@5.0.0-alpha.0
99
+ - @hi-ui/classname@5.0.0-alpha.0
100
+ - @hi-ui/env@5.0.0-alpha.0
101
+ - @hi-ui/func-utils@5.0.0-alpha.0
102
+ - @hi-ui/times@5.0.0-alpha.0
103
+ - @hi-ui/tree-utils@5.0.0-alpha.0
104
+ - @hi-ui/type-assertion@5.0.0-alpha.0
105
+
106
+ ## 4.5.2
107
+
108
+ ### Patch Changes
109
+
110
+ - [#3336](https://github.com/XiaoMi/hiui/pull/3336) [`9356e8c`](https://github.com/XiaoMi/hiui/commit/9356e8ca43ae75f2886bd5225723ee9afad501a6) Thanks [@zyprepare](https://github.com/zyprepare)! - fix(use-search-mode): 优化初次搜索逻辑 (#3335)
111
+
112
+ - Updated dependencies [[`9356e8c`](https://github.com/XiaoMi/hiui/commit/9356e8ca43ae75f2886bd5225723ee9afad501a6)]:
113
+ - @hi-ui/use-search-mode@4.2.3
114
+
3
115
  ## 4.5.1
4
116
 
5
117
  ### Patch Changes
@@ -30,6 +30,7 @@ var treeUtils = require('@hi-ui/tree-utils');
30
30
  var useLatest = require('@hi-ui/use-latest');
31
31
  var typeAssertion = require('@hi-ui/type-assertion');
32
32
  var core = require('@hi-ui/core');
33
+ var Checkbox = require('@hi-ui/checkbox');
33
34
  var funcUtils = require('@hi-ui/func-utils');
34
35
  function _interopDefaultCompat(e) {
35
36
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
@@ -37,6 +38,7 @@ function _interopDefaultCompat(e) {
37
38
  };
38
39
  }
39
40
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
41
+ var Checkbox__default = /*#__PURE__*/_interopDefaultCompat(Checkbox);
40
42
  var _prefix = classname.getPrefixCls('check-cascader');
41
43
  var NOOP_ARRAY = [];
42
44
  /**
@@ -73,6 +75,8 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
73
75
  overlayClassName = _a.overlayClassName,
74
76
  _a$type = _a.type,
75
77
  type = _a$type === void 0 ? 'tree' : _a$type,
78
+ _a$flattedSearchResul = _a.flattedSearchResult,
79
+ flattedSearchResult = _a$flattedSearchResul === void 0 ? true : _a$flattedSearchResul,
76
80
  checkedMode = _a.checkedMode,
77
81
  visible = _a.visible,
78
82
  onOpen = _a.onOpen,
@@ -86,7 +90,13 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
86
90
  dropdownColumnRender = _a.dropdownColumnRender,
87
91
  customRender = _a.customRender,
88
92
  fieldNames = _a.fieldNames,
89
- rest = tslib.__rest(_a, ["prefixCls", "className", "defaultValue", "value", "onChange", "data", "placeholder", "clearable", "onClear", "onSelect", "expandTrigger", "disabled", "emptyContent", "changeOnSelect", "render", "displayRender", "checkCascaded", "searchPlaceholder", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "keyword", "onSearch", "overlayClassName", "type", "checkedMode", "visible", "onOpen", "onClose", "tagInputProps", "size", "prefix", "suffix", "renderExtraFooter", "dropdownColumnRender", "customRender", "fieldNames"]);
93
+ label = _a.label,
94
+ showOnlyShowChecked = _a.showOnlyShowChecked,
95
+ virtual = _a.virtual,
96
+ showCheckAll = _a.showCheckAll,
97
+ _a$showIndicator = _a.showIndicator,
98
+ showIndicator = _a$showIndicator === void 0 ? true : _a$showIndicator,
99
+ rest = tslib.__rest(_a, ["prefixCls", "className", "defaultValue", "value", "onChange", "data", "placeholder", "clearable", "onClear", "onSelect", "expandTrigger", "disabled", "emptyContent", "changeOnSelect", "render", "displayRender", "checkCascaded", "searchPlaceholder", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "keyword", "onSearch", "overlayClassName", "type", "flattedSearchResult", "checkedMode", "visible", "onOpen", "onClose", "tagInputProps", "size", "prefix", "suffix", "renderExtraFooter", "dropdownColumnRender", "customRender", "fieldNames", "label", "showOnlyShowChecked", "virtual", "showCheckAll", "showIndicator"]);
90
100
  var i18n = core.useLocaleContext();
91
101
  var pickerInnerRef = React.useRef(null);
92
102
  var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('checkCascader.placeholder') : placeholderProp;
@@ -99,6 +109,11 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
99
109
  }),
100
110
  menuVisible = _useUncontrolledToggl[0],
101
111
  menuVisibleAction = _useUncontrolledToggl[1];
112
+ var _useState = React.useState(null),
113
+ filterItems = _useState[0],
114
+ setFilterItems = _useState[1];
115
+ var expandedViewRef = React.useRef('normal');
116
+ var activeExpandable = showOnlyShowChecked && !!filterItems && menuVisible;
102
117
  var _useCache = index.useCache(data),
103
118
  cascaderData = _useCache[0],
104
119
  setCascaderData = _useCache[1];
@@ -115,9 +130,11 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
115
130
  _value = _useUncontrolledState[0],
116
131
  tryChangeValue = _useUncontrolledState[1];
117
132
  // 内部实现使用尾部 id
118
- var value = _value.map(function (path) {
119
- return path[path.length - 1];
120
- });
133
+ var value = React.useMemo(function () {
134
+ return _value.map(function (path) {
135
+ return path[path.length - 1];
136
+ });
137
+ }, [_value]);
121
138
  var proxyOnChange = useLatest.useLatestCallback(function (value, item, shouldChecked) {
122
139
  var dataItemsPaths = [];
123
140
  var itemsPaths = value.map(function (lastId) {
@@ -207,7 +224,7 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
207
224
  }, [titleRender, searchValue, searchMode]);
208
225
  var shouldUseSearch = !!searchValue;
209
226
  var selectProps = {
210
- data: shouldUseSearch ? stateInSearch.data : flattedData,
227
+ data: filterItems || (shouldUseSearch ? stateInSearch.data : flattedData),
211
228
  titleRender: proxyTitleRender
212
229
  };
213
230
  var cls = classname.cx(prefixCls, className, prefixCls + "--" + (menuVisible ? 'open' : 'closed'));
@@ -216,13 +233,46 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
216
233
  return flattedDataMap.get(selectedId);
217
234
  });
218
235
  }, [flattedDataMap, value]);
219
- React.useEffect(function () {
236
+ var _useMemo2 = React.useMemo(function () {
237
+ if (!showCheckAll) return [];
238
+ var parsedCheckedIds = index$1.parseCheckDataDirty(checkedMode, value, flattedData, index$1.allowCheck);
239
+ return index$1.getAllCheckedStatus(flattedData, parsedCheckedIds);
240
+ }, [showCheckAll, value, flattedData, checkedMode]),
241
+ currentAllChecked = _useMemo2[0],
242
+ hasCheckedAll = _useMemo2[1];
243
+ var toggleCheckAll = React.useCallback(function () {
244
+ var shouldChecked = !currentAllChecked;
245
+ // 全选操作
246
+ if (!currentAllChecked && !hasCheckedAll) {
247
+ var checkedIds = index$1.processCheckedIds(checkedMode, flattedData.filter(function (item) {
248
+ return index$1.allowCheck(item);
249
+ }).map(function (_ref2) {
250
+ var id = _ref2.id;
251
+ return id;
252
+ }), flattedData, index$1.allowCheck);
253
+ proxyOnChange(checkedIds, null, shouldChecked);
254
+ } else {
255
+ proxyOnChange([], null, shouldChecked);
256
+ }
257
+ }, [checkedMode, flattedData, currentAllChecked, hasCheckedAll, proxyOnChange]);
258
+ var renderDefaultFooter = React.useCallback(function () {
259
+ if (!showCheckAll) return null;
260
+ return /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
261
+ indeterminate: hasCheckedAll,
262
+ checked: currentAllChecked,
263
+ onChange: toggleCheckAll
264
+ }, i18n.get('checkSelect.checkAll'));
265
+ }, [i18n, showCheckAll, currentAllChecked, hasCheckedAll, toggleCheckAll]);
266
+ var customRenderContent = React.useMemo(function () {
267
+ return customRender ? typeof customRender === 'function' ? customRender(selectedItems, value) : customRender : null;
268
+ }, [customRender, selectedItems, value]);
269
+ var handleMenuListChange = React.useCallback(function () {
220
270
  var _a;
221
271
  if (menuVisible) {
222
272
  // 数据改变时更新弹窗显示位置,避免弹窗内容被遮挡
223
273
  (_a = pickerInnerRef.current) === null || _a === void 0 ? void 0 : _a.update();
224
274
  }
225
- }, [menuVisible, selectProps.data]);
275
+ }, [menuVisible]);
226
276
  return /*#__PURE__*/React__default["default"].createElement(picker.Picker, Object.assign({
227
277
  ref: ref,
228
278
  innerRef: pickerInnerRef,
@@ -242,10 +292,14 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
242
292
  onClose: menuVisibleAction.off,
243
293
  searchable: searchable,
244
294
  scrollable: false,
245
- footer: typeAssertion.isFunction(renderExtraFooter) && renderExtraFooter(),
295
+ footer: typeAssertion.isFunction(renderExtraFooter) ? renderExtraFooter() : renderDefaultFooter(),
246
296
  keyword: keywordProp,
247
297
  onSearch: funcUtils.callAllFuncs(onSearchProp, onSearch),
248
- trigger: customRender ? typeof customRender === 'function' ? customRender(selectedItems) : customRender : ( /*#__PURE__*/React__default["default"].createElement(tagInput.TagInputMock, Object.assign({}, tagInputProps, {
298
+ trigger: customRender ? customRenderContent : ( /*#__PURE__*/React__default["default"].createElement(tagInput.TagInputMock, Object.assign({
299
+ style: {
300
+ maxWidth: appearance === 'contained' ? '360px' : undefined
301
+ }
302
+ }, tagInputProps, {
249
303
  size: size,
250
304
  clearable: clearable,
251
305
  onClear: onClear,
@@ -253,6 +307,7 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
253
307
  // @ts-ignore
254
308
  displayRender: displayRender,
255
309
  prefix: prefix,
310
+ showIndicator: showIndicator,
256
311
  suffix: [menuVisible ? /*#__PURE__*/React__default["default"].createElement(icons.UpOutlined, null) : /*#__PURE__*/React__default["default"].createElement(icons.DownOutlined, null), suffix],
257
312
  focused: menuVisible,
258
313
  appearance: appearance,
@@ -260,7 +315,63 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
260
315
  // @ts-ignore
261
316
  onChange: proxyOnChange,
262
317
  data: flattedData,
263
- invalid: invalid
318
+ invalid: invalid,
319
+ label: label,
320
+ // onExpand={() => {
321
+ // // setViewSelected(true)
322
+ // menuVisibleAction.on()
323
+ // }}
324
+ onClick: function onClick(evt) {
325
+ if (!showOnlyShowChecked) return;
326
+ evt.preventDefault();
327
+ if (filterItems) {
328
+ setFilterItems(null);
329
+ }
330
+ if (menuVisible) {
331
+ if (expandedViewRef.current === 'normal') {
332
+ menuVisibleAction.off();
333
+ }
334
+ } else {
335
+ menuVisibleAction.on();
336
+ }
337
+ expandedViewRef.current = 'normal';
338
+ },
339
+ expandable: showOnlyShowChecked,
340
+ activeExpandable: activeExpandable,
341
+ onExpand: function onExpand(evt) {
342
+ if (!showOnlyShowChecked) return;
343
+ // 阻止冒泡触发外层 onClick
344
+ evt.preventDefault();
345
+ evt.stopPropagation();
346
+ // 选中数据
347
+ setFilterItems(function () {
348
+ var filterFunc = function filterFunc(node) {
349
+ var _a;
350
+ if (value.includes(node.id)) {
351
+ return true;
352
+ }
353
+ if (node.children && ((_a = node.children) === null || _a === void 0 ? void 0 : _a.length) > 0) {
354
+ return node.children.some(function (child) {
355
+ return filterFunc(child);
356
+ });
357
+ }
358
+ return false;
359
+ };
360
+ // filterTree 过滤树结构,将不包含value中的节点分支过滤掉
361
+ // 返回过滤后的树结构
362
+ var treeData = treeUtils.filterTree(data, filterFunc);
363
+ return index$1.flattenTreeData(treeData, fieldNames);
364
+ });
365
+ // 展开/关闭操作
366
+ if (menuVisible) {
367
+ if (expandedViewRef.current !== 'normal') {
368
+ menuVisibleAction.off();
369
+ }
370
+ } else {
371
+ menuVisibleAction.on();
372
+ }
373
+ expandedViewRef.current = 'onlyChecked';
374
+ }
264
375
  })))
265
376
  }), typeAssertion.isArrayNonEmpty(selectProps.data) ? ( /*#__PURE__*/React__default["default"].createElement(CheckCascaderMenuList.CheckCascaderMenuList, {
266
377
  disabled: disabled,
@@ -273,14 +384,16 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
273
384
  onSelect: onSelect,
274
385
  onLoadChildren: onLoadChildren,
275
386
  titleRender: proxyTitleRender,
276
- flatted: flatted || !!searchValue,
387
+ flatted: flatted || !!searchValue && flattedSearchResult || activeExpandable,
277
388
  // @ts-ignore
278
389
  flattedData: selectProps.data,
279
390
  originalFlattedData: flattedData,
280
391
  data: cascaderData,
281
392
  onChangeData: setCascaderData,
282
393
  checkedMode: checkedMode,
283
- dropdownColumnRender: dropdownColumnRender
394
+ dropdownColumnRender: dropdownColumnRender,
395
+ virtual: virtual,
396
+ onMenuListChange: handleMenuListChange
284
397
  })) : null);
285
398
  });
286
399
  if (env.__DEV__) {
@@ -20,6 +20,8 @@ var Checkbox = require('@hi-ui/checkbox');
20
20
  var context = require('./context.js');
21
21
  var index = require('./utils/index.js');
22
22
  var treeUtils = require('@hi-ui/tree-utils');
23
+ var List = require('./ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/List.js');
24
+ var env = require('@hi-ui/env');
23
25
  function _interopDefaultCompat(e) {
24
26
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
25
27
  'default': e
@@ -39,17 +41,59 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
39
41
  menu = _ref.data,
40
42
  getCascaderItemRequiredProps = _ref.getCascaderItemRequiredProps;
41
43
  var _useCheckCascaderCont = context.useCheckCascaderContext(),
42
- _useCheckCascaderCont2 = _useCheckCascaderCont.flatted,
43
- flatted = _useCheckCascaderCont2 === void 0 ? false : _useCheckCascaderCont2,
44
- _useCheckCascaderCont3 = _useCheckCascaderCont.changeOnSelect,
45
- changeOnSelect = _useCheckCascaderCont3 === void 0 ? false : _useCheckCascaderCont3,
46
- _useCheckCascaderCont4 = _useCheckCascaderCont.disabled,
47
- disabledContext = _useCheckCascaderCont4 === void 0 ? false : _useCheckCascaderCont4,
48
- onLoadChildren = _useCheckCascaderCont.onLoadChildren,
49
- expandTrigger = _useCheckCascaderCont.expandTrigger,
50
- onCheck = _useCheckCascaderCont.onCheck,
51
- onSelect = _useCheckCascaderCont.onSelect,
52
- titleRender = _useCheckCascaderCont.titleRender;
44
+ virtual = _useCheckCascaderCont.virtual;
45
+ var isCheckableMenu = menu.some(function (_ref2) {
46
+ var checkable = _ref2.checkable;
47
+ return checkable;
48
+ });
49
+ var cls = classname.cx(prefixCls, className, isCheckableMenu && prefixCls + "--checkable");
50
+ var virtualListProps = {
51
+ virtual: virtual,
52
+ data: menu,
53
+ height: 260,
54
+ itemHeight: 32
55
+ };
56
+ return /*#__PURE__*/React__default["default"].createElement("ul", {
57
+ className: cls,
58
+ style: style,
59
+ role: role
60
+ }, virtual ? ( /*#__PURE__*/React__default["default"].createElement(List["default"], Object.assign({
61
+ itemKey: 'id',
62
+ fullHeight: false
63
+ }, virtualListProps), function (option) {
64
+ return /*#__PURE__*/React__default["default"].createElement(MenuItem, {
65
+ key: option.id,
66
+ option: option,
67
+ prefixCls: prefixCls,
68
+ getCascaderItemRequiredProps: getCascaderItemRequiredProps
69
+ });
70
+ })) : menu.map(function (option) {
71
+ return /*#__PURE__*/React__default["default"].createElement(MenuItem, {
72
+ key: option.id,
73
+ option: option,
74
+ prefixCls: prefixCls,
75
+ getCascaderItemRequiredProps: getCascaderItemRequiredProps
76
+ });
77
+ }));
78
+ };
79
+ var MenuItem = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
80
+ var option = _ref3.option,
81
+ _ref3$prefixCls = _ref3.prefixCls,
82
+ prefixCls = _ref3$prefixCls === void 0 ? _prefix : _ref3$prefixCls,
83
+ getCascaderItemRequiredProps = _ref3.getCascaderItemRequiredProps;
84
+ var _a;
85
+ var _useCheckCascaderCont2 = context.useCheckCascaderContext(),
86
+ _useCheckCascaderCont3 = _useCheckCascaderCont2.flatted,
87
+ flatted = _useCheckCascaderCont3 === void 0 ? false : _useCheckCascaderCont3,
88
+ _useCheckCascaderCont4 = _useCheckCascaderCont2.changeOnSelect,
89
+ changeOnSelect = _useCheckCascaderCont4 === void 0 ? false : _useCheckCascaderCont4,
90
+ _useCheckCascaderCont5 = _useCheckCascaderCont2.disabled,
91
+ disabledContext = _useCheckCascaderCont5 === void 0 ? false : _useCheckCascaderCont5,
92
+ onLoadChildren = _useCheckCascaderCont2.onLoadChildren,
93
+ expandTrigger = _useCheckCascaderCont2.expandTrigger,
94
+ onCheck = _useCheckCascaderCont2.onCheck,
95
+ onSelect = _useCheckCascaderCont2.onSelect,
96
+ titleRender = _useCheckCascaderCont2.titleRender;
53
97
  var renderTitle = React.useCallback(function (option) {
54
98
  // 如果 titleRender 返回 `true`,则使用默认 title
55
99
  var title = titleRender ? titleRender(option) : true;
@@ -67,63 +111,55 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
67
111
  className: "title__text"
68
112
  }, option.title));
69
113
  }, [titleRender, flatted]);
70
- var isCheckableMenu = menu.some(function (_ref2) {
71
- var checkable = _ref2.checkable;
72
- return checkable;
73
- });
74
- var cls = classname.cx(prefixCls, className, isCheckableMenu && prefixCls + "--checkable");
75
- return /*#__PURE__*/React__default["default"].createElement("ul", {
76
- className: cls,
77
- style: style,
78
- role: role
79
- }, menu.map(function (option) {
80
- var _a;
81
- var eventOption = index.getCascaderItemEventData(option, getCascaderItemRequiredProps(option));
82
- var selected = eventOption.selected,
83
- checked = eventOption.checked,
84
- loading = eventOption.loading,
85
- semiChecked = eventOption.semiChecked;
86
- var disabled = disabledContext || option.disabled;
87
- var optionCls = classname.cx(prefixCls + "-option", option.checkable && checked && prefixCls + "-option--checked",
88
- // 此处 option.children?.length || !option.checkable 的含义是
89
- // 如果存在子节点,则可以展现选择态
90
- // 不存在子节点,如不是可勾选item,则可以展现勾选态
91
- selected && (((_a = option.children) === null || _a === void 0 ? void 0 : _a.length) || !option.checkable) && prefixCls + "-option--selected", loading && prefixCls + "-option--loading", disabled && prefixCls + "-option--disabled");
92
- return /*#__PURE__*/React__default["default"].createElement("li", {
93
- role: "menu-item",
94
- className: prefixCls + "-item",
95
- key: option.id
96
- }, /*#__PURE__*/React__default["default"].createElement("div", {
97
- className: optionCls,
98
- onClick: function onClick(evt) {
99
- if (disabled) return;
100
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventOption);
101
- if (changeOnSelect) {
102
- onCheck === null || onCheck === void 0 ? void 0 : onCheck(eventOption, !checked);
103
- }
104
- },
105
- onMouseEnter: function onMouseEnter(evt) {
106
- if (expandTrigger === 'hover') {
107
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventOption);
108
- }
109
- }
110
- }, option.checkable ? ( /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
111
- className: prefixCls + "-checkbox",
112
- indeterminate: semiChecked,
113
- checked: checked,
114
- disabled: disabled || option.disabledCheckbox,
115
- onClick: function onClick(evt) {
116
- return evt.stopPropagation();
117
- },
118
- // 当前是半选时,点击将设置为全选,
119
- // 又因子节点某个选项未选中但是禁用,当前态将一直是半选,那操作将一直是设置全选操作
120
- onChange: function onChange(evt) {
114
+ var eventOption = index.getCascaderItemEventData(option, getCascaderItemRequiredProps(option));
115
+ var selected = eventOption.selected,
116
+ checked = eventOption.checked,
117
+ loading = eventOption.loading,
118
+ semiChecked = eventOption.semiChecked;
119
+ var disabled = disabledContext || option.disabled;
120
+ var optionCls = classname.cx(prefixCls + "-option", option.checkable && checked && prefixCls + "-option--checked",
121
+ // 此处 option.children?.length || !option.checkable 的含义是
122
+ // 如果存在子节点,则可以展现选择态
123
+ // 不存在子节点,如不是可勾选item,则可以展现勾选态
124
+ selected && (((_a = option.children) === null || _a === void 0 ? void 0 : _a.length) || !option.checkable) && prefixCls + "-option--selected", loading && prefixCls + "-option--loading", disabled && prefixCls + "-option--disabled");
125
+ return /*#__PURE__*/React__default["default"].createElement("li", {
126
+ ref: ref,
127
+ role: "menu-item",
128
+ className: prefixCls + "-item",
129
+ key: option.id
130
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
131
+ className: optionCls,
132
+ onClick: function onClick(evt) {
133
+ if (disabled) return;
134
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventOption);
135
+ if (changeOnSelect) {
121
136
  onCheck === null || onCheck === void 0 ? void 0 : onCheck(eventOption, !checked);
137
+ }
138
+ },
139
+ onMouseEnter: function onMouseEnter(evt) {
140
+ if (expandTrigger === 'hover') {
122
141
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventOption);
123
142
  }
124
- })) : null, renderTitle(eventOption), flatted ? null : renderSuffix(prefixCls, option, loading, onLoadChildren)));
125
- }));
126
- };
143
+ }
144
+ }, option.checkable ? ( /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
145
+ className: prefixCls + "-checkbox",
146
+ indeterminate: semiChecked,
147
+ checked: checked,
148
+ disabled: disabled || option.disabledCheckbox || option.disabledCheckboxCascaded,
149
+ onClick: function onClick(evt) {
150
+ return evt.stopPropagation();
151
+ },
152
+ // 当前是半选时,点击将设置为全选,
153
+ // 又因子节点某个选项未选中但是禁用,当前态将一直是半选,那操作将一直是设置全选操作
154
+ onChange: function onChange(evt) {
155
+ onCheck === null || onCheck === void 0 ? void 0 : onCheck(eventOption, !checked);
156
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventOption);
157
+ }
158
+ })) : null, renderTitle(eventOption), flatted ? null : renderSuffix(prefixCls, option, loading, onLoadChildren)));
159
+ });
160
+ if (env.__DEV__) {
161
+ MenuItem.displayName = 'MenuItem';
162
+ }
127
163
  /**
128
164
  * 渲染菜单子项的展开提示图标
129
165
  */
@@ -61,7 +61,9 @@ var CheckCascaderMenuList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
61
61
  flatted = _a.flatted,
62
62
  _a$checkedMode = _a.checkedMode,
63
63
  checkedMode = _a$checkedMode === void 0 ? 'ALL' : _a$checkedMode,
64
- rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "data", "flattedData", "originalFlattedData", "onChangeData", "value", "defaultValue", "disabled", "expandTrigger", "changeOnSelect", "checkCascaded", "onLoadChildren", "onChange", "onSelect", "titleRender", "dropdownColumnRender", "flatted", "checkedMode"]);
64
+ virtual = _a.virtual,
65
+ onMenuListChange = _a.onMenuListChange,
66
+ rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "data", "flattedData", "originalFlattedData", "onChangeData", "value", "defaultValue", "disabled", "expandTrigger", "changeOnSelect", "checkCascaded", "onLoadChildren", "onChange", "onSelect", "titleRender", "dropdownColumnRender", "flatted", "checkedMode", "virtual", "onMenuListChange"]);
65
67
  if (checkCascaded === false) {
66
68
  checkedMode = 'SEPARATE';
67
69
  }
@@ -101,10 +103,17 @@ var CheckCascaderMenuList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
101
103
  changeOnSelect: changeOnSelect,
102
104
  titleRender: titleRender,
103
105
  onLoadChildren: onLoadChildren,
104
- disabled: disabled
106
+ disabled: disabled,
107
+ virtual: virtual
105
108
  };
106
- }, [expandTrigger, onOptionCheck, onItemExpand, flatted, changeOnSelect, titleRender, onLoadChildren, disabled]);
107
- var menus = flatted ? index.getFlattedMenus(flattedData) : index.getActiveMenus(flattedData, selectedId);
109
+ }, [expandTrigger, onOptionCheck, onItemExpand, flatted, changeOnSelect, titleRender, onLoadChildren, disabled, virtual]);
110
+ var filteredMenus = React.useMemo(function () {
111
+ var menus = flatted ? index.getFlattedMenus(originalFlattedData) : index.getActiveMenus(originalFlattedData, selectedId);
112
+ return index.getFilteredMenuList(menus, flattedData);
113
+ }, [flatted, flattedData, originalFlattedData, selectedId]);
114
+ React.useEffect(function () {
115
+ onMenuListChange === null || onMenuListChange === void 0 ? void 0 : onMenuListChange(filteredMenus);
116
+ }, [filteredMenus, onMenuListChange]);
108
117
  var cls = classname.cx(prefixCls, className, flatted && prefixCls + "--flatted", changeOnSelect && prefixCls + "--selectchange");
109
118
  return /*#__PURE__*/React__default["default"].createElement(context.CheckCascaderProvider, {
110
119
  value: providedValue
@@ -112,7 +121,7 @@ var CheckCascaderMenuList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
112
121
  ref: ref,
113
122
  role: role,
114
123
  className: cls
115
- }, rest), menus.map(function (menu, menuIndex) {
124
+ }, rest), filteredMenus.map(function (menu, menuIndex) {
116
125
  var menuContent = /*#__PURE__*/React__default["default"].createElement(CheckCascaderMenu.CheckCascaderMenu, {
117
126
  key: menuIndex,
118
127
  data: menu,
@@ -30,7 +30,7 @@ var useCheck = function useCheck(checkedMode, disabled, flattedData, defaultChec
30
30
  checkedIds = _useUncontrolledState[0],
31
31
  trySetCheckedIds = _useUncontrolledState[1];
32
32
  // 入口数据处理
33
- var parsedCheckedIds = index.parseCheckDataDirty(checkedMode, checkedIds, flattedData, allowCheck);
33
+ var parsedCheckedIds = index.parseCheckDataDirty(checkedMode, checkedIds, flattedData, index.allowCheck);
34
34
  // 合并 checkedIds,防止部分模式(PARENT和CHILD)在搜索场景下 id 丢失 (https://github.com/XiaoMi/hiui/issues/2750)
35
35
  var mergedCheckedIds = Array.from(new Set([].concat(parsedCheckedIds, checkedIds)));
36
36
  var cascaded = checkedMode !== 'SEPARATE';
@@ -41,16 +41,10 @@ var useCheck = function useCheck(checkedMode, disabled, flattedData, defaultChec
41
41
  checkedIds: mergedCheckedIds,
42
42
  onCheck: function onCheck(checkedIds, checkedNode, shouldChecked, semiCheckedIds) {
43
43
  // 出口数据处理
44
- var processedIds = index.processCheckedIds(checkedMode, checkedIds, flattedData, allowCheck);
44
+ var processedIds = index.processCheckedIds(checkedMode, checkedIds, flattedData, index.allowCheck);
45
45
  trySetCheckedIds(processedIds, checkedNode, shouldChecked, semiCheckedIds);
46
46
  },
47
- allowCheck: allowCheck
47
+ allowCheck: index.allowCheck
48
48
  });
49
49
  };
50
- var allowCheck = function allowCheck(targetItem) {
51
- if (targetItem.disabled || targetItem.disabledCheckbox || targetItem.checkable === false) {
52
- return false;
53
- }
54
- return true;
55
- };
56
50
  exports.useCheck = useCheck;
@@ -12,7 +12,7 @@
12
12
  Object.defineProperty(exports, '__esModule', {
13
13
  value: true
14
14
  });
15
- var css_248z = "@charset \"UTF-8\";.hi-v4-check-cascader__popper .hi-v4-picker__body {padding-left: 0;padding-right: 0;overflow-y: hidden;}.hi-v4-check-cascader__popper .hi-v4-picker__loading, .hi-v4-check-cascader__popper .hi-v4-picker__empty {padding: var(--hi-v4-spacing-5, 10px) var(--hi-v4-spacing-8, 16px);}.hi-v4-check-cascader-panel {white-space: nowrap;-webkit-box-sizing: border-box;box-sizing: border-box;}.hi-v4-check-cascader-panel-search {-webkit-box-sizing: border-box;box-sizing: border-box;padding: 0 10px 10px;position: relative;}.hi-v4-check-cascader-panel-search .hi-v4-input__prefix {font-size: 16px;padding-left: 0;}.hi-v4-check-cascader-panel-search__empty {display: inline-block;margin-top: 20px;font-size: 14px;font-weight: 400;color: #999;line-height: 20px;}.hi-v4-check-cascader-menus {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-sizing: border-box;box-sizing: border-box;overflow-x: auto;}.hi-v4-check-cascader-menus--flatted .hi-v4-check-cascader-menu {-ms-flex-preferred-size: 100%;flex-basis: 100%;}.hi-v4-check-cascader-menu {-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0;padding: 0;border: none;outline: none;font-size: var(--hi-v4-text-size-md, 0.875rem);vertical-align: middle;list-style: none;width: auto;box-sizing: border-box;-ms-flex-negative: 0;flex-shrink: 0;display: inline-block;min-width: 140px;max-height: 256px;overflow: auto;padding: 0 var(--hi-v4-spacing-4, 8px);border-right: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0);}.hi-v4-check-cascader-menu:last-of-type {border: none;}.hi-v4-check-cascader-menu--checkable .hi-v4-check-cascader-menu-checkbox + .title__text {padding-left: 8px;}.hi-v4-check-cascader-menu-item {width: 100%;position: relative;cursor: pointer;display: -webkit-box;display: -ms-flexbox;display: flex;}.hi-v4-check-cascader-menu-checkbox {position: relative;}.hi-v4-check-cascader-menu-checkbox::after {right: 0;top: -8px;bottom: -8px;left: -8px;content: \"\";position: absolute;display: block;}.hi-v4-check-cascader-menu-option {padding: var(--hi-v4-spacing-1, 2px) var(--hi-v4-spacing-3, 6px);-webkit-box-sizing: border-box;box-sizing: border-box;height: var(--hi-v4-height-8, 32px);width: 100%;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;position: relative;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;border-radius: var(--hi-v4-border-radius-md, 4px);}.hi-v4-check-cascader-menu-option:hover {background-color: var(--hi-v4-color-gray-100, #f2f4f7);}.hi-v4-check-cascader-menus--selectchange .hi-v4-check-cascader-menu-option:hover .hi-v4-checkbox__icon {border-color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-check-cascader-menu-option.hi-v4-check-cascader-menu-option--selected {background: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-check-cascader-menu-option.hi-v4-check-cascader-menu-option--selected .hi-v4-check-cascader-menu-switcher {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-check-cascader-menu-option--focused {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-check-cascader-menu-option--disabled {cursor: not-allowed;color: var(--hi-v4-color-gray-500, #929aa6);background: transparent;}.hi-v4-check-cascader-menu-option--disabled .hi-v4-check-cascader-menu-switcher {color: var(--hi-v4-color-gray-400, #b5bcc7);}.hi-v4-check-cascader-menu .title__text {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;}.hi-v4-check-cascader-menu .title__text--cols {display: block;width: 100%;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0;padding: 0;border: none;outline: none;font-size: var(--hi-v4-text-size-md, 0.875rem);vertical-align: middle;list-style: none;}.hi-v4-check-cascader-menu .title__text--col {display: inline-block;}.hi-v4-check-cascader-menu .title__text--col::after {content: \" / \";}.hi-v4-check-cascader-menu .title__text--col:last-child::after {content: none;}.hi-v4-check-cascader-menu .title__text--matched {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-check-cascader-menu-switcher {-ms-flex-negative: 0;flex-shrink: 0;font-size: 16px;color: var(--hi-v4-color-gray-500, #929aa6);}.hi-v4-check-cascader-menu-switcher--loading {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-tree--icon-loading {-webkit-animation-name: hi-rotate;animation-name: hi-rotate;-webkit-animation-duration: 2s;animation-duration: 2s;-webkit-animation-iteration-count: infinite;animation-iteration-count: infinite;}@-webkit-keyframes hi-rotate {from {-webkit-transform: rotate(0);transform: rotate(0);}to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}@keyframes hi-rotate {from {-webkit-transform: rotate(0);transform: rotate(0);}to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}";
15
+ var css_248z = "@charset \"UTF-8\";.hi-v5-check-cascader__popper .hi-v5-picker__panel {-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 160px;}.hi-v5-check-cascader__popper .hi-v5-picker__search .hi-v5-input__text {width: 100px;}.hi-v5-check-cascader__popper .hi-v5-picker__body {padding-left: 0;padding-right: 0;overflow-y: hidden;}.hi-v5-check-cascader__popper .hi-v5-picker__loading, .hi-v5-check-cascader__popper .hi-v5-picker__empty {padding: var(--hi-v5-spacing-5, 10px) var(--hi-v5-spacing-8, 16px);}.hi-v5-check-cascader-panel {white-space: nowrap;-webkit-box-sizing: border-box;box-sizing: border-box;}.hi-v5-check-cascader-panel-search {-webkit-box-sizing: border-box;box-sizing: border-box;padding: 0 10px 10px;position: relative;}.hi-v5-check-cascader-panel-search .hi-v5-input__prefix {font-size: 16px;padding-left: 0;}.hi-v5-check-cascader-panel-search__empty {display: inline-block;margin-top: 20px;font-size: 14px;font-weight: 400;color: #999;line-height: 20px;}.hi-v5-check-cascader-menus {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-sizing: border-box;box-sizing: border-box;overflow-x: auto;}.hi-v5-check-cascader-menus--flatted .hi-v5-check-cascader-menu {-ms-flex-preferred-size: 100%;flex-basis: 100%;}.hi-v5-check-cascader-menu {-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0;padding: 0;border: none;outline: none;font-size: var(--hi-v5-text-size-md, 0.875rem);vertical-align: middle;list-style: none;width: auto;box-sizing: border-box;-ms-flex-negative: 0;flex-shrink: 0;display: inline-block;min-width: 160px;max-height: 260px;overflow: auto;padding: 0 var(--hi-v5-spacing-2, 4px);border-right: var(--hi-v5-border-size-normal, 1px solid) var(--hi-v5-color-gray-200, #e6e8eb);}.hi-v5-check-cascader-menu:last-of-type {border: none;}.hi-v5-check-cascader-menu--checkable .hi-v5-check-cascader-menu-checkbox + .title__text {padding-left: 8px;}.hi-v5-check-cascader-menu-item {width: 100%;position: relative;cursor: pointer;display: -webkit-box;display: -ms-flexbox;display: flex;}.hi-v5-check-cascader-menu-checkbox {position: relative;}.hi-v5-check-cascader-menu-checkbox::after {right: 0;top: -8px;bottom: -8px;left: -8px;content: \"\";position: absolute;display: block;}.hi-v5-check-cascader-menu-option {padding: var(--hi-v5-spacing-1, 2px) var(--hi-v5-spacing-4, 8px);-webkit-box-sizing: border-box;box-sizing: border-box;height: var(--hi-v5-height-8, 32px);width: 100%;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;position: relative;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;border-radius: var(--hi-v5-border-radius-md, 4px);white-space: nowrap;}.hi-v5-check-cascader-menu-option:hover {background-color: var(--hi-v5-color-gray-50, #f2f4f7);}.hi-v5-check-cascader-menus--selectchange .hi-v5-check-cascader-menu-option:hover .hi-v5-checkbox__icon {border-color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-check-cascader-menu-option.hi-v5-check-cascader-menu-option--selected {background: var(--hi-v5-color-primary-50, var(--hi-v5-color-brandblue-50, #edf2ff));color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-check-cascader-menu-option.hi-v5-check-cascader-menu-option--selected .hi-v5-check-cascader-menu-switcher {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-check-cascader-menu-option--focused {background-color: var(--hi-v5-color-primary-50, var(--hi-v5-color-brandblue-50, #edf2ff));}.hi-v5-check-cascader-menu-option--disabled {cursor: not-allowed;color: var(--hi-v5-color-gray-500, #91959e);background: transparent;}.hi-v5-check-cascader-menu-option--disabled .hi-v5-check-cascader-menu-switcher {color: var(--hi-v5-color-gray-400, #babcc2);}.hi-v5-check-cascader-menu .title__text {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;}.hi-v5-check-cascader-menu .title__text--cols {display: block;width: 100%;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0;padding: 0;border: none;outline: none;font-size: var(--hi-v5-text-size-md, 0.875rem);vertical-align: middle;list-style: none;}.hi-v5-check-cascader-menu .title__text--col {display: inline-block;}.hi-v5-check-cascader-menu .title__text--col::after {content: \" / \";}.hi-v5-check-cascader-menu .title__text--col:last-child::after {content: none;}.hi-v5-check-cascader-menu .title__text--matched {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-check-cascader-menu-switcher {-ms-flex-negative: 0;flex-shrink: 0;font-size: 16px;color: var(--hi-v5-color-gray-500, #91959e);}.hi-v5-check-cascader-menu-switcher--loading {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-tree--icon-loading {-webkit-animation-name: hi-rotate;animation-name: hi-rotate;-webkit-animation-duration: 2s;animation-duration: 2s;-webkit-animation-iteration-count: infinite;animation-iteration-count: infinite;}@-webkit-keyframes hi-rotate {from {-webkit-transform: rotate(0);transform: rotate(0);}to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}@keyframes hi-rotate {from {-webkit-transform: rotate(0);transform: rotate(0);}to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}";
16
16
  var __styleInject__ = require('@hi-ui/style-inject')["default"];
17
17
  __styleInject__(css_248z);
18
18
  exports["default"] = css_248z;