@hi-ui/check-cascader 5.0.0-experimental.1 → 5.0.0-rc.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 (28) hide show
  1. package/CHANGELOG.md +39 -49
  2. package/lib/cjs/CheckCascader.js +45 -4
  3. package/lib/cjs/CheckCascaderMenu.js +13 -10
  4. package/lib/cjs/CheckCascaderMenuList.js +11 -5
  5. package/lib/cjs/icons/index.js +7 -2
  6. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js +1 -1
  7. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js +1 -1
  8. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/{rc-resize-observer/node_modules/react-is → react-is}/cjs/react-is.development.js +1 -1
  9. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/{rc-resize-observer/node_modules/react-is → react-is}/cjs/react-is.production.min.js +1 -1
  10. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/{rc-resize-observer/node_modules/react-is → react-is}/index.js +3 -3
  11. package/lib/esm/CheckCascader.js +45 -4
  12. package/lib/esm/CheckCascaderMenu.js +14 -11
  13. package/lib/esm/CheckCascaderMenuList.js +11 -5
  14. package/lib/esm/icons/index.js +8 -3
  15. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js +1 -1
  16. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js +1 -1
  17. package/lib/esm/ui/virtual-list/lib/esm/node_modules/{rc-resize-observer/node_modules/react-is → react-is}/cjs/react-is.development.js +1 -1
  18. package/lib/esm/ui/virtual-list/lib/esm/node_modules/{rc-resize-observer/node_modules/react-is → react-is}/cjs/react-is.production.min.js +1 -1
  19. package/lib/esm/ui/virtual-list/lib/esm/node_modules/{rc-resize-observer/node_modules/react-is → react-is}/index.js +3 -3
  20. package/lib/types/CheckCascader.d.ts +7 -2
  21. package/lib/types/CheckCascaderMenuList.d.ts +8 -0
  22. package/lib/types/context.d.ts +2 -0
  23. package/lib/types/hooks/use-async-switch.d.ts +1 -1
  24. package/lib/types/hooks/use-check.d.ts +2 -2
  25. package/lib/types/icons/index.d.ts +1 -1
  26. package/lib/types/types.d.ts +2 -2
  27. package/lib/types/utils/index.d.ts +4 -4
  28. package/package.json +27 -26
package/CHANGELOG.md CHANGED
@@ -1,20 +1,6 @@
1
1
  # @hi-ui/check-cascader
2
2
 
3
- ## 5.0.0-experimental.1
4
-
5
- ### Patch Changes
6
-
7
- - 8f23e9322: style: 表单类组件统一调整后缀颜色、placeholder 颜色 (5.0)
8
- - 发布 hiui experimental 版本
9
- - Updated dependencies [8f23e9322]
10
- - Updated dependencies [b27483796]
11
- - Updated dependencies [900c6c2f0]
12
- - Updated dependencies
13
- - @hi-ui/input@5.0.0-experimental.1
14
- - @hi-ui/picker@5.0.0-experimental.1
15
- - @hi-ui/tag-input@5.0.0-experimental.1
16
-
17
- ## 5.0.0-experimental.0
3
+ ## 5.0.0-rc.0
18
4
 
19
5
  ### Major Changes
20
6
 
@@ -31,21 +17,21 @@
31
17
  - 6dca7795c: feat: 下拉选择组件增加 showIndicator 参数 & 修改 appearance 中的 unset 样式 (5.0)
32
18
  - 77d969c2e: feat: 下拉选择类组件 appearance 参数增加 contained 类型 (5.0)
33
19
  - 58ad82e94: feat: 输入框和选择器组件增加 borderless 形态 (5.0)
20
+ - 59cef699f: feat: 组件语义化样式改造,增加 styles 和 classNames 属性 (5.0)
34
21
 
35
22
  ### Patch Changes
36
23
 
37
- - 6fb223e3a: style: fix ui bug (5.0)
38
24
  - 9b34d99bc: chore: 将代码中 v4 改为 v5 (5.0)
39
- - 1662753e0: style: fix ui bug (5.0)
40
25
  - cf89262c7: style(picker): 移除 picker 组件中的 \_\_text 样式定义 (5.0)
41
26
  - 68dccedb1: fix(check-cascader): 修复非平铺展示搜索结果时显示出层级问题 (5.0)
42
27
  - 9b34d99bc: fix: 修复 5.0 UI 问题 (5.0)
43
28
  - 1dbc23ca5: feat(check-cascader): 增加全选功能
44
29
  - cb9d8f6db: fix(tag-input): 修复 contained 模式下 displayRender 设置无效问题 (5.0)
45
- - be5a59325: style: 修改样式问题 (5.0)
46
30
  - 79ea480f3: feat(global-context): 增加 size api 全局配置 (5.0)
47
31
  - 2e56529f7: styles: 主题定制功能完善&&样式变量化写法改造&&兼容 RTL (5.0)
48
32
  - 95abba983: fix: 修改 UI 问题 (5.0)
33
+ - 8f23e9322: style: 表单类组件统一调整后缀颜色、placeholder 颜色 (5.0)
34
+ - eb17c4697: style: 修复 UI/样式问题 (5.0)
49
35
  - de8d058dc: perf: 对下拉选择类组件的 customRender 的内容增加 memoization 以优化性能 (5.0)
50
36
  - 5210770d9: feat(picker): add header api (5.0)
51
37
  - 424700fc5: style(cascader&check-cascader): 调整下拉框样式,增加搜索框宽度设置 (5.0)
@@ -73,72 +59,76 @@
73
59
  - Updated dependencies [1e226cd66]
74
60
  - Updated dependencies [cce71cdfa]
75
61
  - Updated dependencies [b9989e482]
76
- - Updated dependencies [1662753e0]
62
+ - Updated dependencies [7f204c892]
77
63
  - Updated dependencies [122d1d859]
78
64
  - Updated dependencies [f1ab51725]
79
65
  - Updated dependencies [41552be0b]
66
+ - Updated dependencies [eb17c4697]
80
67
  - Updated dependencies [8c0ee78f0]
81
68
  - Updated dependencies [9b34d99bc]
82
69
  - Updated dependencies [8f3aa85e4]
83
- - Updated dependencies [f4fc0ef30]
84
70
  - Updated dependencies [cb9d8f6db]
85
71
  - Updated dependencies [ec4c7faa2]
86
72
  - Updated dependencies [29cae09ea]
87
73
  - Updated dependencies [fd4c20bbd]
88
- - Updated dependencies [be5a59325]
89
- - Updated dependencies [71fc15e5c]
90
74
  - Updated dependencies [f8acad4e1]
91
75
  - Updated dependencies [79ea480f3]
92
76
  - Updated dependencies [2e56529f7]
77
+ - Updated dependencies [3a7186e4b]
93
78
  - Updated dependencies [277c5033a]
94
79
  - Updated dependencies [4e0ed3a31]
95
80
  - Updated dependencies [95abba983]
81
+ - Updated dependencies [8f23e9322]
96
82
  - Updated dependencies [4a31cea53]
83
+ - Updated dependencies [b27483796]
84
+ - Updated dependencies [eb17c4697]
97
85
  - Updated dependencies [976ec929d]
98
86
  - Updated dependencies [f1ab51725]
99
87
  - Updated dependencies [6dca7795c]
88
+ - Updated dependencies [900c6c2f0]
100
89
  - Updated dependencies [7b956b1eb]
101
90
  - Updated dependencies [5210770d9]
102
- - Updated dependencies [e2d184e74]
103
91
  - Updated dependencies [4006b2c8c]
92
+ - Updated dependencies [c407744fe]
93
+ - Updated dependencies [d91a8bb0f]
104
94
  - Updated dependencies [77d969c2e]
105
95
  - Updated dependencies [9ecf354ba]
106
96
  - Updated dependencies [e42e2badf]
107
97
  - Updated dependencies [33da3144e]
108
98
  - Updated dependencies [e7b64347e]
109
- - Updated dependencies [7f3abee55]
110
99
  - Updated dependencies [6fcda9bf2]
111
100
  - Updated dependencies [0a4e90dbd]
112
101
  - Updated dependencies [58ad82e94]
113
- - Updated dependencies [a0f0c9d6b]
102
+ - Updated dependencies [95d930354]
114
103
  - Updated dependencies [f2be367e9]
115
104
  - Updated dependencies [1972fd16a]
105
+ - Updated dependencies [59cef699f]
116
106
  - Updated dependencies [99801c2d1]
117
- - Updated dependencies [86910f5e2]
118
107
  - Updated dependencies [cb7b794d0]
119
- - @hi-ui/picker@5.0.0-experimental.0
120
- - @hi-ui/input@5.0.0-experimental.0
121
- - @hi-ui/popper@5.0.0-experimental.0
122
- - @hi-ui/tag-input@5.0.0-experimental.0
123
- - @hi-ui/icons@5.0.0-experimental.0
124
- - @hi-ui/core@5.0.0-experimental.0
125
- - @hi-ui/use-check@5.0.0-experimental.0
126
- - @hi-ui/use-data-source@5.0.0-experimental.0
127
- - @hi-ui/use-latest@5.0.0-experimental.0
128
- - @hi-ui/use-merge-refs@5.0.0-experimental.0
129
- - @hi-ui/use-outside-click@5.0.0-experimental.0
130
- - @hi-ui/use-search-mode@5.0.0-experimental.0
131
- - @hi-ui/use-toggle@5.0.0-experimental.0
132
- - @hi-ui/use-uncontrolled-state@5.0.0-experimental.0
133
- - @hi-ui/checkbox@5.0.0-experimental.0
134
- - @hi-ui/spinner@5.0.0-experimental.0
135
- - @hi-ui/array-utils@5.0.0-experimental.0
136
- - @hi-ui/classname@5.0.0-experimental.0
137
- - @hi-ui/env@5.0.0-experimental.0
138
- - @hi-ui/func-utils@5.0.0-experimental.0
139
- - @hi-ui/times@5.0.0-experimental.0
140
- - @hi-ui/tree-utils@5.0.0-experimental.0
141
- - @hi-ui/type-assertion@5.0.0-experimental.0
108
+ - @hi-ui/picker@5.0.0-rc.0
109
+ - @hi-ui/input@5.0.0-rc.0
110
+ - @hi-ui/popper@5.0.0-rc.0
111
+ - @hi-ui/tag-input@5.0.0-rc.0
112
+ - @hi-ui/icons@5.0.0-rc.0
113
+ - @hi-ui/core@5.0.0-rc.0
114
+ - @hi-ui/use-check@5.0.0-rc.0
115
+ - @hi-ui/use-data-source@5.0.0-rc.0
116
+ - @hi-ui/use-latest@5.0.0-rc.0
117
+ - @hi-ui/use-merge-refs@5.0.0-rc.0
118
+ - @hi-ui/use-outside-click@5.0.0-rc.0
119
+ - @hi-ui/use-search-mode@5.0.0-rc.0
120
+ - @hi-ui/use-toggle@5.0.0-rc.0
121
+ - @hi-ui/use-uncontrolled-state@5.0.0-rc.0
122
+ - @hi-ui/checkbox@5.0.0-rc.0
123
+ - @hi-ui/spinner@5.0.0-rc.0
124
+ - @hi-ui/array-utils@5.0.0-rc.0
125
+ - @hi-ui/classname@5.0.0-rc.0
126
+ - @hi-ui/env@5.0.0-rc.0
127
+ - @hi-ui/func-utils@5.0.0-rc.0
128
+ - @hi-ui/times@5.0.0-rc.0
129
+ - @hi-ui/tree-utils@5.0.0-rc.0
130
+ - @hi-ui/type-assertion@5.0.0-rc.0
131
+ - @hi-ui/use-merge-semantic@5.0.0-rc.0
142
132
 
143
133
  ## 4.5.2
144
134
 
@@ -23,6 +23,7 @@ var icons = require('@hi-ui/icons');
23
23
  var index = require('./hooks/use-cache/lib/esm/index.js');
24
24
  var picker = require('@hi-ui/picker');
25
25
  var tagInput = require('@hi-ui/tag-input');
26
+ var useMergeSemantic = require('@hi-ui/use-merge-semantic');
26
27
  var CheckCascaderMenuList = require('./CheckCascaderMenuList.js');
27
28
  var useSearchMode = require('@hi-ui/use-search-mode');
28
29
  var index$1 = require('./utils/index.js');
@@ -100,11 +101,33 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
100
101
  _a$showIndicator = _a.showIndicator,
101
102
  showIndicator = _a$showIndicator === void 0 ? true : _a$showIndicator,
102
103
  renderExtraHeader = _a.renderExtraHeader,
103
- 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", "clearSearchOnClosed", "overlayClassName", "type", "flattedSearchResult", "checkedMode", "visible", "onOpen", "onClose", "tagInputProps", "size", "prefix", "suffix", "renderExtraFooter", "dropdownColumnRender", "customRender", "fieldNames", "label", "showOnlyShowChecked", "virtual", "showCheckAll", "showIndicator", "renderExtraHeader"]);
104
+ classNamesProp = _a.classNames,
105
+ stylesProp = _a.styles,
106
+ 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", "clearSearchOnClosed", "overlayClassName", "type", "flattedSearchResult", "checkedMode", "visible", "onOpen", "onClose", "tagInputProps", "size", "prefix", "suffix", "renderExtraFooter", "dropdownColumnRender", "customRender", "fieldNames", "label", "showOnlyShowChecked", "virtual", "showCheckAll", "showIndicator", "renderExtraHeader", "classNames", "styles"]);
104
107
  var _useGlobalContext = core.useGlobalContext(),
105
- globalSize = _useGlobalContext.size;
108
+ globalSize = _useGlobalContext.size,
109
+ checkCascaderConfig = _useGlobalContext.checkCascader;
106
110
  var size = (_b = sizeProp !== null && sizeProp !== void 0 ? sizeProp : globalSize) !== null && _b !== void 0 ? _b : 'md';
111
+ var _useGlobalContext2 = core.useGlobalContext(),
112
+ direction = _useGlobalContext2.direction;
107
113
  var i18n = core.useLocaleContext();
114
+ var _useMergeSemantic = useMergeSemantic.useMergeSemantic({
115
+ classNamesList: [checkCascaderConfig === null || checkCascaderConfig === void 0 ? void 0 : checkCascaderConfig.classNames, classNamesProp],
116
+ stylesList: [checkCascaderConfig === null || checkCascaderConfig === void 0 ? void 0 : checkCascaderConfig.styles, stylesProp],
117
+ info: {
118
+ props: Object.assign(Object.assign({}, rest), {
119
+ data: data,
120
+ disabled: disabled,
121
+ searchable: searchableProp,
122
+ visible: visible,
123
+ size: size,
124
+ appearance: appearance,
125
+ expandTrigger: expandTrigger
126
+ })
127
+ }
128
+ }),
129
+ classNames = _useMergeSemantic.classNames,
130
+ styles = _useMergeSemantic.styles;
108
131
  var pickerInnerRef = React.useRef(null);
109
132
  var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('checkCascader.placeholder') : placeholderProp;
110
133
  var flatted = type === 'flatted';
@@ -288,15 +311,31 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
288
311
  (_a = pickerInnerRef.current) === null || _a === void 0 ? void 0 : _a.update();
289
312
  }
290
313
  }, [menuVisible]);
314
+ var pickerSemanticKeys = ['root', 'container', 'panel', 'header', 'search', 'body', 'footer', 'loading', 'empty', 'creator'];
315
+ var pickerClassNames = pickerSemanticKeys.reduce(function (acc, key) {
316
+ if ((classNames === null || classNames === void 0 ? void 0 : classNames[key]) !== undefined) {
317
+ acc[key] = classNames[key];
318
+ }
319
+ return acc;
320
+ }, {});
321
+ var pickerStyles = pickerSemanticKeys.reduce(function (acc, key) {
322
+ if (styles === null || styles === void 0 ? void 0 : styles[key]) {
323
+ acc[key] = styles[key];
324
+ }
325
+ return acc;
326
+ }, {});
291
327
  return /*#__PURE__*/React__default["default"].createElement(picker.Picker, Object.assign({
292
328
  ref: ref,
293
329
  innerRef: pickerInnerRef,
294
330
  className: cls,
295
- overlayClassName: classname.cx(prefixCls + "__popper", overlayClassName)
331
+ overlayClassName: classname.cx(prefixCls + "__popper", overlayClassName),
332
+ classNames: pickerClassNames,
333
+ styles: pickerStyles
296
334
  }, rest, {
297
335
  // 这种展现形式宽度是不固定的,关掉宽度匹配策略
298
336
  overlay: Object.assign({
299
- matchWidth: false
337
+ matchWidth: false,
338
+ placement: direction === 'rtl' ? 'bottom-end' : 'bottom-start'
300
339
  }, rest.overlay),
301
340
  visible: menuVisible,
302
341
  onOpen: function onOpen() {
@@ -393,6 +432,8 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
393
432
  }), typeAssertion.isArrayNonEmpty(selectProps.data) ? ( /*#__PURE__*/React__default["default"].createElement(CheckCascaderMenuList.CheckCascaderMenuList, {
394
433
  disabled: disabled,
395
434
  value: value,
435
+ classNames: classNames,
436
+ styles: styles,
396
437
  // @ts-ignore
397
438
  onChange: proxyOnChange,
398
439
  expandTrigger: expandTrigger,
@@ -42,12 +42,15 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
42
42
  menu = _ref.data,
43
43
  getCascaderItemRequiredProps = _ref.getCascaderItemRequiredProps;
44
44
  var _useCheckCascaderCont = context.useCheckCascaderContext(),
45
- virtual = _useCheckCascaderCont.virtual;
45
+ virtual = _useCheckCascaderCont.virtual,
46
+ classNames = _useCheckCascaderCont.classNames,
47
+ styles = _useCheckCascaderCont.styles;
46
48
  var isCheckableMenu = menu.some(function (_ref2) {
47
49
  var checkable = _ref2.checkable;
48
50
  return checkable;
49
51
  });
50
- var cls = classname.cx(prefixCls, className, isCheckableMenu && prefixCls + "--checkable");
52
+ var cls = classname.cx(prefixCls, className, classNames === null || classNames === void 0 ? void 0 : classNames.menu, isCheckableMenu && prefixCls + "--checkable");
53
+ var menuStyle = Object.assign(Object.assign({}, style), styles === null || styles === void 0 ? void 0 : styles.menu);
51
54
  var virtualListProps = {
52
55
  virtual: virtual,
53
56
  data: menu,
@@ -56,7 +59,7 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
56
59
  };
57
60
  return /*#__PURE__*/React__default["default"].createElement("ul", {
58
61
  className: cls,
59
- style: style,
62
+ style: menuStyle,
60
63
  role: role
61
64
  }, virtual ? ( /*#__PURE__*/React__default["default"].createElement(List["default"], Object.assign({
62
65
  itemKey: 'id',
@@ -94,7 +97,9 @@ var MenuItem = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
94
97
  expandTrigger = _useCheckCascaderCont2.expandTrigger,
95
98
  onCheck = _useCheckCascaderCont2.onCheck,
96
99
  onSelect = _useCheckCascaderCont2.onSelect,
97
- titleRender = _useCheckCascaderCont2.titleRender;
100
+ titleRender = _useCheckCascaderCont2.titleRender,
101
+ classNames = _useCheckCascaderCont2.classNames,
102
+ styles = _useCheckCascaderCont2.styles;
98
103
  var renderTitle = React.useCallback(function (option) {
99
104
  // 如果 titleRender 返回 `true`,则使用默认 title
100
105
  var title = titleRender ? titleRender(option) : true;
@@ -122,7 +127,7 @@ var MenuItem = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
122
127
  // 此处 option.children?.length || !option.checkable 的含义是
123
128
  // 如果存在子节点,则可以展现选择态
124
129
  // 不存在子节点,如不是可勾选item,则可以展现勾选态
125
- 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");
130
+ 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", classNames === null || classNames === void 0 ? void 0 : classNames.option);
126
131
  return /*#__PURE__*/React__default["default"].createElement("li", {
127
132
  ref: ref,
128
133
  role: "menu-item",
@@ -131,6 +136,7 @@ var MenuItem = /*#__PURE__*/React.forwardRef(function (_ref3, ref) {
131
136
  title: typeof option.title === 'string' ? option.title : undefined
132
137
  }, /*#__PURE__*/React__default["default"].createElement("div", {
133
138
  className: optionCls,
139
+ style: styles === null || styles === void 0 ? void 0 : styles.option,
134
140
  onClick: function onClick(evt) {
135
141
  if (disabled) return;
136
142
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventOption);
@@ -175,11 +181,8 @@ var renderSuffix = function renderSuffix(prefixCls, node, loading, onLoadChildre
175
181
  var canLoadChildren = onLoadChildren && !node.children && !node.isLeaf;
176
182
  if (hasChildren || canLoadChildren) {
177
183
  return /*#__PURE__*/React__default["default"].createElement("span", {
178
- className: classname.cx(prefixCls + "-switcher"),
179
- style: {
180
- transform: "rotate(-90deg)"
181
- }
182
- }, index$1.defaultSuffixIcon);
184
+ className: classname.cx(prefixCls + "-switcher")
185
+ }, /*#__PURE__*/React__default["default"].createElement(index$1.DefaultSuffixIcon, null));
183
186
  }
184
187
  return /*#__PURE__*/React__default["default"].createElement("span", {
185
188
  className: classname.cx(prefixCls + "-switcher", prefixCls + "-switcher--noop")
@@ -63,7 +63,9 @@ var CheckCascaderMenuList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
63
63
  checkedMode = _a$checkedMode === void 0 ? 'ALL' : _a$checkedMode,
64
64
  virtual = _a.virtual,
65
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"]);
66
+ classNames = _a.classNames,
67
+ styles = _a.styles,
68
+ 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", "classNames", "styles"]);
67
69
  if (checkCascaded === false) {
68
70
  checkedMode = 'SEPARATE';
69
71
  }
@@ -104,9 +106,11 @@ var CheckCascaderMenuList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
104
106
  titleRender: titleRender,
105
107
  onLoadChildren: onLoadChildren,
106
108
  disabled: disabled,
107
- virtual: virtual
109
+ virtual: virtual,
110
+ classNames: classNames,
111
+ styles: styles
108
112
  };
109
- }, [expandTrigger, onOptionCheck, onItemExpand, flatted, changeOnSelect, titleRender, onLoadChildren, disabled, virtual]);
113
+ }, [expandTrigger, onOptionCheck, onItemExpand, flatted, changeOnSelect, titleRender, onLoadChildren, disabled, virtual, classNames, styles]);
110
114
  var filteredMenus = React.useMemo(function () {
111
115
  var menus = flatted ? index.getFlattedMenus(originalFlattedData) : index.getActiveMenus(originalFlattedData, selectedId);
112
116
  return index.getFilteredMenuList(menus, flattedData);
@@ -114,13 +118,15 @@ var CheckCascaderMenuList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
114
118
  React.useEffect(function () {
115
119
  onMenuListChange === null || onMenuListChange === void 0 ? void 0 : onMenuListChange(filteredMenus);
116
120
  }, [filteredMenus, onMenuListChange]);
117
- var cls = classname.cx(prefixCls, className, flatted && prefixCls + "--flatted", changeOnSelect && prefixCls + "--selectchange");
121
+ var cls = classname.cx(prefixCls, className, classNames === null || classNames === void 0 ? void 0 : classNames.menuList, flatted && prefixCls + "--flatted", changeOnSelect && prefixCls + "--selectchange");
122
+ var rootStyle = styles === null || styles === void 0 ? void 0 : styles.menuList;
118
123
  return /*#__PURE__*/React__default["default"].createElement(context.CheckCascaderProvider, {
119
124
  value: providedValue
120
125
  }, /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
121
126
  ref: ref,
122
127
  role: role,
123
- className: cls
128
+ className: cls,
129
+ style: rootStyle
124
130
  }, rest), filteredMenus.map(function (menu, menuIndex) {
125
131
  var menuContent = /*#__PURE__*/React__default["default"].createElement(CheckCascaderMenu.CheckCascaderMenu, {
126
132
  key: menuIndex,
@@ -16,17 +16,22 @@ Object.defineProperty(exports, '__esModule', {
16
16
  var React = require('react');
17
17
  var icons = require('@hi-ui/icons');
18
18
  var spinner = require('@hi-ui/spinner');
19
+ var core = require('@hi-ui/core');
19
20
  function _interopDefaultCompat(e) {
20
21
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
21
22
  'default': e
22
23
  };
23
24
  }
24
25
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
25
- var defaultSuffixIcon = /*#__PURE__*/React__default["default"].createElement(icons.DownOutlined, null);
26
+ var DefaultSuffixIcon = function DefaultSuffixIcon() {
27
+ var _useGlobalContext = core.useGlobalContext(),
28
+ direction = _useGlobalContext.direction;
29
+ return direction === 'rtl' ? /*#__PURE__*/React__default["default"].createElement(icons.LeftOutlined, null) : /*#__PURE__*/React__default["default"].createElement(icons.RightOutlined, null);
30
+ };
26
31
  var defaultLeafIcon = null;
27
32
  var defaultLoadingIcon = /*#__PURE__*/React__default["default"].createElement(spinner.Spinner, {
28
33
  size: "sm"
29
34
  });
35
+ exports.DefaultSuffixIcon = DefaultSuffixIcon;
30
36
  exports.defaultLeafIcon = defaultLeafIcon;
31
37
  exports.defaultLoadingIcon = defaultLoadingIcon;
32
- exports.defaultSuffixIcon = defaultSuffixIcon;
@@ -14,7 +14,7 @@ Object.defineProperty(exports, '__esModule', {
14
14
  value: true
15
15
  });
16
16
  var React = require('react');
17
- require('../../../react-is/index.js');
17
+ require('../../../../../react-is/index.js');
18
18
  var index2 = require('../../../../../../_virtual/index2.js');
19
19
  function _interopDefaultCompat(e) {
20
20
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
@@ -14,7 +14,7 @@ Object.defineProperty(exports, '__esModule', {
14
14
  value: true
15
15
  });
16
16
  var _typeof = require('@babel/runtime/helpers/esm/typeof');
17
- require('../../react-is/index.js');
17
+ require('../../../../react-is/index.js');
18
18
  var index2 = require('../../../../../_virtual/index2.js');
19
19
  function _interopDefaultCompat(e) {
20
20
  return e && _typeof2(e) === 'object' && 'default' in e ? e : {
@@ -14,7 +14,7 @@ Object.defineProperty(exports, '__esModule', {
14
14
  value: true
15
15
  });
16
16
  var _typeof = require('@babel/runtime/helpers/esm/typeof');
17
- var reactIs_development = require('../../../../../_virtual/react-is.development.js');
17
+ var reactIs_development = require('../../../_virtual/react-is.development.js');
18
18
  function _interopDefaultCompat(e) {
19
19
  return e && _typeof2(e) === 'object' && 'default' in e ? e : {
20
20
  'default': e
@@ -14,7 +14,7 @@ Object.defineProperty(exports, '__esModule', {
14
14
  value: true
15
15
  });
16
16
  var _typeof = require('@babel/runtime/helpers/esm/typeof');
17
- var reactIs_production_min = require('../../../../../_virtual/react-is.production.min.js');
17
+ var reactIs_production_min = require('../../../_virtual/react-is.production.min.js');
18
18
  function _interopDefaultCompat(e) {
19
19
  return e && _typeof2(e) === 'object' && 'default' in e ? e : {
20
20
  'default': e
@@ -9,11 +9,11 @@
9
9
  */
10
10
  'use strict';
11
11
 
12
- var index2 = require('../../../../_virtual/index2.js');
12
+ var index2 = require('../../_virtual/index2.js');
13
13
  require('./cjs/react-is.production.min.js');
14
14
  require('./cjs/react-is.development.js');
15
- var reactIs_production_min = require('../../../../_virtual/react-is.production.min.js');
16
- var reactIs_development = require('../../../../_virtual/react-is.development.js');
15
+ var reactIs_production_min = require('../../_virtual/react-is.production.min.js');
16
+ var reactIs_development = require('../../_virtual/react-is.development.js');
17
17
 
18
18
  /** @LICENSE
19
19
  * @hi-ui/virtual-list
@@ -17,6 +17,7 @@ import { UpOutlined, DownOutlined } from '@hi-ui/icons';
17
17
  import { useCache } from './hooks/use-cache/lib/esm/index.js';
18
18
  import { Picker } from '@hi-ui/picker';
19
19
  import { TagInputMock } from '@hi-ui/tag-input';
20
+ import { useMergeSemantic } from '@hi-ui/use-merge-semantic';
20
21
  import { CheckCascaderMenuList } from './CheckCascaderMenuList.js';
21
22
  import { useTreeCustomSearch, useTreeUpMatchSearch, useSearchMode, matchStrategy } from '@hi-ui/use-search-mode';
22
23
  import { flattenTreeData, parseCheckDataDirty, getAllCheckedStatus, processCheckedIds, allowCheck } from './utils/index.js';
@@ -87,11 +88,33 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
87
88
  _a$showIndicator = _a.showIndicator,
88
89
  showIndicator = _a$showIndicator === void 0 ? true : _a$showIndicator,
89
90
  renderExtraHeader = _a.renderExtraHeader,
90
- rest = __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", "clearSearchOnClosed", "overlayClassName", "type", "flattedSearchResult", "checkedMode", "visible", "onOpen", "onClose", "tagInputProps", "size", "prefix", "suffix", "renderExtraFooter", "dropdownColumnRender", "customRender", "fieldNames", "label", "showOnlyShowChecked", "virtual", "showCheckAll", "showIndicator", "renderExtraHeader"]);
91
+ classNamesProp = _a.classNames,
92
+ stylesProp = _a.styles,
93
+ rest = __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", "clearSearchOnClosed", "overlayClassName", "type", "flattedSearchResult", "checkedMode", "visible", "onOpen", "onClose", "tagInputProps", "size", "prefix", "suffix", "renderExtraFooter", "dropdownColumnRender", "customRender", "fieldNames", "label", "showOnlyShowChecked", "virtual", "showCheckAll", "showIndicator", "renderExtraHeader", "classNames", "styles"]);
91
94
  var _useGlobalContext = useGlobalContext(),
92
- globalSize = _useGlobalContext.size;
95
+ globalSize = _useGlobalContext.size,
96
+ checkCascaderConfig = _useGlobalContext.checkCascader;
93
97
  var size = (_b = sizeProp !== null && sizeProp !== void 0 ? sizeProp : globalSize) !== null && _b !== void 0 ? _b : 'md';
98
+ var _useGlobalContext2 = useGlobalContext(),
99
+ direction = _useGlobalContext2.direction;
94
100
  var i18n = useLocaleContext();
101
+ var _useMergeSemantic = useMergeSemantic({
102
+ classNamesList: [checkCascaderConfig === null || checkCascaderConfig === void 0 ? void 0 : checkCascaderConfig.classNames, classNamesProp],
103
+ stylesList: [checkCascaderConfig === null || checkCascaderConfig === void 0 ? void 0 : checkCascaderConfig.styles, stylesProp],
104
+ info: {
105
+ props: Object.assign(Object.assign({}, rest), {
106
+ data: data,
107
+ disabled: disabled,
108
+ searchable: searchableProp,
109
+ visible: visible,
110
+ size: size,
111
+ appearance: appearance,
112
+ expandTrigger: expandTrigger
113
+ })
114
+ }
115
+ }),
116
+ classNames = _useMergeSemantic.classNames,
117
+ styles = _useMergeSemantic.styles;
95
118
  var pickerInnerRef = useRef(null);
96
119
  var placeholder = isUndef(placeholderProp) ? i18n.get('checkCascader.placeholder') : placeholderProp;
97
120
  var flatted = type === 'flatted';
@@ -275,15 +298,31 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
275
298
  (_a = pickerInnerRef.current) === null || _a === void 0 ? void 0 : _a.update();
276
299
  }
277
300
  }, [menuVisible]);
301
+ var pickerSemanticKeys = ['root', 'container', 'panel', 'header', 'search', 'body', 'footer', 'loading', 'empty', 'creator'];
302
+ var pickerClassNames = pickerSemanticKeys.reduce(function (acc, key) {
303
+ if ((classNames === null || classNames === void 0 ? void 0 : classNames[key]) !== undefined) {
304
+ acc[key] = classNames[key];
305
+ }
306
+ return acc;
307
+ }, {});
308
+ var pickerStyles = pickerSemanticKeys.reduce(function (acc, key) {
309
+ if (styles === null || styles === void 0 ? void 0 : styles[key]) {
310
+ acc[key] = styles[key];
311
+ }
312
+ return acc;
313
+ }, {});
278
314
  return /*#__PURE__*/React__default.createElement(Picker, Object.assign({
279
315
  ref: ref,
280
316
  innerRef: pickerInnerRef,
281
317
  className: cls,
282
- overlayClassName: cx(prefixCls + "__popper", overlayClassName)
318
+ overlayClassName: cx(prefixCls + "__popper", overlayClassName),
319
+ classNames: pickerClassNames,
320
+ styles: pickerStyles
283
321
  }, rest, {
284
322
  // 这种展现形式宽度是不固定的,关掉宽度匹配策略
285
323
  overlay: Object.assign({
286
- matchWidth: false
324
+ matchWidth: false,
325
+ placement: direction === 'rtl' ? 'bottom-end' : 'bottom-start'
287
326
  }, rest.overlay),
288
327
  visible: menuVisible,
289
328
  onOpen: function onOpen() {
@@ -380,6 +419,8 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
380
419
  }), isArrayNonEmpty(selectProps.data) ? ( /*#__PURE__*/React__default.createElement(CheckCascaderMenuList, {
381
420
  disabled: disabled,
382
421
  value: value,
422
+ classNames: classNames,
423
+ styles: styles,
383
424
  // @ts-ignore
384
425
  onChange: proxyOnChange,
385
426
  expandTrigger: expandTrigger,
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import React__default, { forwardRef, useCallback } from 'react';
11
11
  import { getPrefixCls, cx } from '@hi-ui/classname';
12
- import { defaultLoadingIcon, defaultSuffixIcon, defaultLeafIcon } from './icons/index.js';
12
+ import { defaultLoadingIcon, DefaultSuffixIcon, defaultLeafIcon } from './icons/index.js';
13
13
  import Checkbox from '@hi-ui/checkbox';
14
14
  import { useCheckCascaderContext } from './context.js';
15
15
  import { getCascaderItemEventData } from './utils/index.js';
@@ -29,12 +29,15 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
29
29
  menu = _ref.data,
30
30
  getCascaderItemRequiredProps = _ref.getCascaderItemRequiredProps;
31
31
  var _useCheckCascaderCont = useCheckCascaderContext(),
32
- virtual = _useCheckCascaderCont.virtual;
32
+ virtual = _useCheckCascaderCont.virtual,
33
+ classNames = _useCheckCascaderCont.classNames,
34
+ styles = _useCheckCascaderCont.styles;
33
35
  var isCheckableMenu = menu.some(function (_ref2) {
34
36
  var checkable = _ref2.checkable;
35
37
  return checkable;
36
38
  });
37
- var cls = cx(prefixCls, className, isCheckableMenu && prefixCls + "--checkable");
39
+ var cls = cx(prefixCls, className, classNames === null || classNames === void 0 ? void 0 : classNames.menu, isCheckableMenu && prefixCls + "--checkable");
40
+ var menuStyle = Object.assign(Object.assign({}, style), styles === null || styles === void 0 ? void 0 : styles.menu);
38
41
  var virtualListProps = {
39
42
  virtual: virtual,
40
43
  data: menu,
@@ -43,7 +46,7 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
43
46
  };
44
47
  return /*#__PURE__*/React__default.createElement("ul", {
45
48
  className: cls,
46
- style: style,
49
+ style: menuStyle,
47
50
  role: role
48
51
  }, virtual ? ( /*#__PURE__*/React__default.createElement(List, Object.assign({
49
52
  itemKey: 'id',
@@ -81,7 +84,9 @@ var MenuItem = /*#__PURE__*/forwardRef(function (_ref3, ref) {
81
84
  expandTrigger = _useCheckCascaderCont2.expandTrigger,
82
85
  onCheck = _useCheckCascaderCont2.onCheck,
83
86
  onSelect = _useCheckCascaderCont2.onSelect,
84
- titleRender = _useCheckCascaderCont2.titleRender;
87
+ titleRender = _useCheckCascaderCont2.titleRender,
88
+ classNames = _useCheckCascaderCont2.classNames,
89
+ styles = _useCheckCascaderCont2.styles;
85
90
  var renderTitle = useCallback(function (option) {
86
91
  // 如果 titleRender 返回 `true`,则使用默认 title
87
92
  var title = titleRender ? titleRender(option) : true;
@@ -109,7 +114,7 @@ var MenuItem = /*#__PURE__*/forwardRef(function (_ref3, ref) {
109
114
  // 此处 option.children?.length || !option.checkable 的含义是
110
115
  // 如果存在子节点,则可以展现选择态
111
116
  // 不存在子节点,如不是可勾选item,则可以展现勾选态
112
- 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");
117
+ 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", classNames === null || classNames === void 0 ? void 0 : classNames.option);
113
118
  return /*#__PURE__*/React__default.createElement("li", {
114
119
  ref: ref,
115
120
  role: "menu-item",
@@ -118,6 +123,7 @@ var MenuItem = /*#__PURE__*/forwardRef(function (_ref3, ref) {
118
123
  title: typeof option.title === 'string' ? option.title : undefined
119
124
  }, /*#__PURE__*/React__default.createElement("div", {
120
125
  className: optionCls,
126
+ style: styles === null || styles === void 0 ? void 0 : styles.option,
121
127
  onClick: function onClick(evt) {
122
128
  if (disabled) return;
123
129
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventOption);
@@ -162,11 +168,8 @@ var renderSuffix = function renderSuffix(prefixCls, node, loading, onLoadChildre
162
168
  var canLoadChildren = onLoadChildren && !node.children && !node.isLeaf;
163
169
  if (hasChildren || canLoadChildren) {
164
170
  return /*#__PURE__*/React__default.createElement("span", {
165
- className: cx(prefixCls + "-switcher"),
166
- style: {
167
- transform: "rotate(-90deg)"
168
- }
169
- }, defaultSuffixIcon);
171
+ className: cx(prefixCls + "-switcher")
172
+ }, /*#__PURE__*/React__default.createElement(DefaultSuffixIcon, null));
170
173
  }
171
174
  return /*#__PURE__*/React__default.createElement("span", {
172
175
  className: cx(prefixCls + "-switcher", prefixCls + "-switcher--noop")
@@ -51,7 +51,9 @@ var CheckCascaderMenuList = /*#__PURE__*/forwardRef(function (_a, ref) {
51
51
  checkedMode = _a$checkedMode === void 0 ? 'ALL' : _a$checkedMode,
52
52
  virtual = _a.virtual,
53
53
  onMenuListChange = _a.onMenuListChange,
54
- rest = __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"]);
54
+ classNames = _a.classNames,
55
+ styles = _a.styles,
56
+ rest = __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", "classNames", "styles"]);
55
57
  if (checkCascaded === false) {
56
58
  checkedMode = 'SEPARATE';
57
59
  }
@@ -92,9 +94,11 @@ var CheckCascaderMenuList = /*#__PURE__*/forwardRef(function (_a, ref) {
92
94
  titleRender: titleRender,
93
95
  onLoadChildren: onLoadChildren,
94
96
  disabled: disabled,
95
- virtual: virtual
97
+ virtual: virtual,
98
+ classNames: classNames,
99
+ styles: styles
96
100
  };
97
- }, [expandTrigger, onOptionCheck, onItemExpand, flatted, changeOnSelect, titleRender, onLoadChildren, disabled, virtual]);
101
+ }, [expandTrigger, onOptionCheck, onItemExpand, flatted, changeOnSelect, titleRender, onLoadChildren, disabled, virtual, classNames, styles]);
98
102
  var filteredMenus = useMemo(function () {
99
103
  var menus = flatted ? getFlattedMenus(originalFlattedData) : getActiveMenus(originalFlattedData, selectedId);
100
104
  return getFilteredMenuList(menus, flattedData);
@@ -102,13 +106,15 @@ var CheckCascaderMenuList = /*#__PURE__*/forwardRef(function (_a, ref) {
102
106
  useEffect(function () {
103
107
  onMenuListChange === null || onMenuListChange === void 0 ? void 0 : onMenuListChange(filteredMenus);
104
108
  }, [filteredMenus, onMenuListChange]);
105
- var cls = cx(prefixCls, className, flatted && prefixCls + "--flatted", changeOnSelect && prefixCls + "--selectchange");
109
+ var cls = cx(prefixCls, className, classNames === null || classNames === void 0 ? void 0 : classNames.menuList, flatted && prefixCls + "--flatted", changeOnSelect && prefixCls + "--selectchange");
110
+ var rootStyle = styles === null || styles === void 0 ? void 0 : styles.menuList;
106
111
  return /*#__PURE__*/React__default.createElement(CheckCascaderProvider, {
107
112
  value: providedValue
108
113
  }, /*#__PURE__*/React__default.createElement("div", Object.assign({
109
114
  ref: ref,
110
115
  role: role,
111
- className: cls
116
+ className: cls,
117
+ style: rootStyle
112
118
  }, rest), filteredMenus.map(function (menu, menuIndex) {
113
119
  var menuContent = /*#__PURE__*/React__default.createElement(CheckCascaderMenu, {
114
120
  key: menuIndex,
@@ -8,11 +8,16 @@
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
10
  import React__default from 'react';
11
- import { DownOutlined } from '@hi-ui/icons';
11
+ import { LeftOutlined, RightOutlined } from '@hi-ui/icons';
12
12
  import { Spinner } from '@hi-ui/spinner';
13
- var defaultSuffixIcon = /*#__PURE__*/React__default.createElement(DownOutlined, null);
13
+ import { useGlobalContext } from '@hi-ui/core';
14
+ var DefaultSuffixIcon = function DefaultSuffixIcon() {
15
+ var _useGlobalContext = useGlobalContext(),
16
+ direction = _useGlobalContext.direction;
17
+ return direction === 'rtl' ? /*#__PURE__*/React__default.createElement(LeftOutlined, null) : /*#__PURE__*/React__default.createElement(RightOutlined, null);
18
+ };
14
19
  var defaultLeafIcon = null;
15
20
  var defaultLoadingIcon = /*#__PURE__*/React__default.createElement(Spinner, {
16
21
  size: "sm"
17
22
  });
18
- export { defaultLeafIcon, defaultLoadingIcon, defaultSuffixIcon };
23
+ export { DefaultSuffixIcon, defaultLeafIcon, defaultLoadingIcon };
@@ -8,7 +8,7 @@
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
10
  import React__default from 'react';
11
- import '../../../react-is/index.js';
11
+ import '../../../../../react-is/index.js';
12
12
  import { r as reactIs } from '../../../../../../_virtual/index2.js';
13
13
 
14
14
  /** @LICENSE
@@ -8,7 +8,7 @@
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
10
  import _typeof from '@babel/runtime/helpers/esm/typeof';
11
- import '../../react-is/index.js';
11
+ import '../../../../react-is/index.js';
12
12
  import { r as reactIs } from '../../../../../_virtual/index2.js';
13
13
 
14
14
  /** @LICENSE
@@ -8,7 +8,7 @@
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
10
  import _typeof from '@babel/runtime/helpers/esm/typeof';
11
- import { __exports as reactIs_development } from '../../../../../_virtual/react-is.development.js';
11
+ import { __exports as reactIs_development } from '../../../_virtual/react-is.development.js';
12
12
 
13
13
  /** @license React v16.13.1
14
14
  * react-is.development.js
@@ -8,7 +8,7 @@
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
10
  import _typeof from '@babel/runtime/helpers/esm/typeof';
11
- import { __exports as reactIs_production_min } from '../../../../../_virtual/react-is.production.min.js';
11
+ import { __exports as reactIs_production_min } from '../../../_virtual/react-is.production.min.js';
12
12
 
13
13
  /** @license React v16.13.1
14
14
  * react-is.production.min.js
@@ -7,11 +7,11 @@
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
- import { r as reactIs } from '../../../../_virtual/index2.js';
10
+ import { r as reactIs } from '../../_virtual/index2.js';
11
11
  import './cjs/react-is.production.min.js';
12
12
  import './cjs/react-is.development.js';
13
- import { __exports as reactIs_production_min } from '../../../../_virtual/react-is.production.min.js';
14
- import { __exports as reactIs_development } from '../../../../_virtual/react-is.development.js';
13
+ import { __exports as reactIs_production_min } from '../../_virtual/react-is.production.min.js';
14
+ import { __exports as reactIs_development } from '../../_virtual/react-is.development.js';
15
15
 
16
16
  /** @LICENSE
17
17
  * @hi-ui/virtual-list
@@ -1,13 +1,18 @@
1
1
  import React from 'react';
2
2
  import { CheckCascaderDataItem, CheckCascaderExpandTriggerEnum, CheckCascaderItemEventData, CheckCascaderAppearanceEnum, FlattedCheckCascaderDataItem } from './types';
3
- import { PickerProps } from '@hi-ui/picker';
3
+ import { PickerProps, PickerSemanticName } from '@hi-ui/picker';
4
4
  import { TagInputMockProps } from '@hi-ui/tag-input';
5
+ import type { ComponentSemantic, SemanticClassNamesType, SemanticStylesType } from '@hi-ui/use-merge-semantic';
5
6
  import { HiBaseFieldNames, HiBaseSizeEnum } from '@hi-ui/core';
6
7
  /**
7
8
  * 多项级联选择器
8
9
  */
9
10
  export declare const CheckCascader: React.ForwardRefExoticComponent<CheckCascaderProps & React.RefAttributes<HTMLDivElement | null>>;
10
- export interface CheckCascaderProps extends Omit<PickerProps, 'trigger' | 'scrollable' | 'header' | 'footer'> {
11
+ export declare type CheckCascaderSemanticName = PickerSemanticName | 'menuList' | 'menu' | 'option';
12
+ export declare type CheckCascaderSemanticClassNames = SemanticClassNamesType<CheckCascaderProps, CheckCascaderSemanticName>;
13
+ export declare type CheckCascaderSemanticStyles = SemanticStylesType<CheckCascaderProps, CheckCascaderSemanticName>;
14
+ export declare type CheckCascaderSemantic = ComponentSemantic<CheckCascaderSemanticClassNames, CheckCascaderSemanticStyles>;
15
+ export interface CheckCascaderProps extends Omit<PickerProps, 'trigger' | 'scrollable' | 'header' | 'footer' | 'classNames' | 'styles'>, CheckCascaderSemantic {
11
16
  /**
12
17
  * 设置选择项数据源
13
18
  */
@@ -99,4 +99,12 @@ export interface CascaderMenusProps {
99
99
  * 菜单列表改变时的回调
100
100
  */
101
101
  onMenuListChange?: (menuList: FlattedCheckCascaderDataItem[][]) => void;
102
+ /**
103
+ * 语义化 classNames(由 CheckCascader 传入,用于 menuList/menu/option)
104
+ */
105
+ classNames?: Partial<Record<string, string>>;
106
+ /**
107
+ * 语义化 styles(由 CheckCascader 传入,用于 menuList/menu/option)
108
+ */
109
+ styles?: Partial<Record<string, React.CSSProperties>>;
102
110
  }
@@ -11,6 +11,8 @@ interface CheckCascaderContext {
11
11
  titleRender?: (item: CheckCascaderItemEventData) => React.ReactNode;
12
12
  getCascaderItemRequiredProps?: (item: FlattedCheckCascaderDataItem) => CheckCascaderDataItemRequiredProps;
13
13
  virtual?: boolean;
14
+ classNames?: Partial<Record<string, string>>;
15
+ styles?: Partial<Record<string, React.CSSProperties>>;
14
16
  }
15
17
  export declare const CheckCascaderProvider: React.Provider<CheckCascaderContext>;
16
18
  export declare const useCheckCascaderContext: () => CheckCascaderContext;
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import { CheckCascaderDataItem, CheckCascaderItemEventData } from '../types';
3
- export declare const useAsyncSwitch: (setCascaderData: React.Dispatch<React.SetStateAction<CheckCascaderDataItem[]>>, onExpand?: (selectedOption: CheckCascaderItemEventData) => void, onLoadChildren?: (item: CheckCascaderItemEventData, idPaths: React.ReactText[]) => Promise<CheckCascaderDataItem[] | void> | void) => readonly [(id: React.ReactText) => boolean, (node: CheckCascaderItemEventData) => Promise<void>];
3
+ export declare const useAsyncSwitch: (setCascaderData: React.Dispatch<React.SetStateAction<CheckCascaderDataItem[]>>, onExpand?: ((selectedOption: CheckCascaderItemEventData) => void) | undefined, onLoadChildren?: ((item: CheckCascaderItemEventData, idPaths: React.ReactText[]) => Promise<CheckCascaderDataItem[] | void> | void) | undefined) => readonly [(id: React.ReactText) => boolean, (node: CheckCascaderItemEventData) => Promise<void>];
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { CheckCascaderItemEventData, FlattedCheckCascaderDataItem } from '../types';
3
- export declare const useCheck: (checkedMode: string, disabled: boolean, flattedData: FlattedCheckCascaderDataItem[], defaultCheckedIds?: React.ReactText[], checkedIdsProp?: React.ReactText[], onCheck?: (checkedInfo: {
3
+ export declare const useCheck: (checkedMode: string, disabled: boolean, flattedData: FlattedCheckCascaderDataItem[], defaultCheckedIds?: React.ReactText[], checkedIdsProp?: React.ReactText[] | undefined, onCheck?: ((checkedInfo: {
4
4
  checkedIds: React.ReactText[];
5
5
  semiCheckedIds: React.ReactText[];
6
- }, node: CheckCascaderItemEventData, checked: boolean) => void) => readonly [(targetItem: import("@hi-ui/use-check").UseCascadeCheckItem, shouldChecked: boolean) => void, (id: React.ReactText) => boolean, (id: React.ReactText) => boolean];
6
+ }, node: CheckCascaderItemEventData, checked: boolean) => void) | undefined) => readonly [(targetItem: import("@hi-ui/use-check").UseCascadeCheckItem, shouldChecked: boolean) => void, (id: React.ReactText) => boolean, (id: React.ReactText) => boolean];
@@ -1,3 +1,3 @@
1
- export declare const defaultSuffixIcon: JSX.Element;
1
+ export declare const DefaultSuffixIcon: () => JSX.Element;
2
2
  export declare const defaultLeafIcon: null;
3
3
  export declare const defaultLoadingIcon: JSX.Element;
@@ -63,5 +63,5 @@ export interface CheckCascaderDataItemRequiredProps {
63
63
  }
64
64
  export interface CheckCascaderItemEventData extends FlattedCheckCascaderDataItem, CheckCascaderDataItemRequiredProps {
65
65
  }
66
- export type CheckCascaderExpandTriggerEnum = 'click' | 'hover';
67
- export type CheckCascaderAppearanceEnum = HiBaseAppearanceEnum | 'contained' | undefined;
66
+ export declare type CheckCascaderExpandTriggerEnum = 'click' | 'hover';
67
+ export declare type CheckCascaderAppearanceEnum = HiBaseAppearanceEnum | 'contained' | undefined;
@@ -7,10 +7,10 @@ import { CheckCascaderDataItemRequiredProps, CheckCascaderItemEventData, CheckCa
7
7
  * @param treeData
8
8
  * @returns
9
9
  */
10
- export declare const flattenTreeData: (treeData: CheckCascaderDataItem[], fieldNames?: HiBaseFieldNames) => FlattedCheckCascaderDataItem[];
11
- export declare const getActiveMenus: (data: FlattedCheckCascaderDataItem[], selectedIds?: React.ReactText) => FlattedCheckCascaderDataItem[][];
10
+ export declare const flattenTreeData: (treeData: CheckCascaderDataItem[], fieldNames?: HiBaseFieldNames | undefined) => FlattedCheckCascaderDataItem[];
11
+ export declare const getActiveMenus: (data: FlattedCheckCascaderDataItem[], selectedIds?: React.ReactText | undefined) => FlattedCheckCascaderDataItem[][];
12
12
  export declare const getFlattedMenus: (data: FlattedCheckCascaderDataItem[]) => FlattedCheckCascaderDataItem[][];
13
- export declare const getActiveMenuIds: (data: FlattedCheckCascaderDataItem[], selectedIds?: React.ReactText) => React.ReactText[];
13
+ export declare const getActiveMenuIds: (data: FlattedCheckCascaderDataItem[], selectedIds?: React.ReactText | undefined) => React.ReactText[];
14
14
  export declare function getCascaderItemEventData(node: FlattedCheckCascaderDataItem, requiredProps: CheckCascaderDataItemRequiredProps): CheckCascaderItemEventData;
15
15
  /**
16
16
  * 处理选中的回显数据
@@ -23,7 +23,7 @@ export declare const processCheckedIds: (type: string, checkedIds: React.ReactTe
23
23
  /**
24
24
  * 根据传入的 checkedIds 解析全选/半选数据
25
25
  */
26
- export declare const parseCheckDataDirty: (type: string, checkedIds: React.ReactText[], flattenData: any, allowCheck?: (node: any) => boolean) => React.ReactText[];
26
+ export declare const parseCheckDataDirty: (type: string, checkedIds: React.ReactText[], flattenData: any, allowCheck?: ((node: any) => boolean) | undefined) => React.ReactText[];
27
27
  export declare const allowCheck: (targetItem: CheckCascaderItemEventData) => boolean;
28
28
  export declare const getAllCheckedStatus: (flattedData: any[], values: React.ReactText[]) => boolean[];
29
29
  export declare const getFilteredMenuList: (menuList: FlattedCheckCascaderDataItem[][], searchedData: any[]) => any[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-ui/check-cascader",
3
- "version": "5.0.0-experimental.1",
3
+ "version": "5.0.0-rc.0",
4
4
  "description": "A sub-package for @hi-ui/hiui.",
5
5
  "keywords": [],
6
6
  "author": "HiUI <mi-hiui@xiaomi.com>",
@@ -45,37 +45,38 @@
45
45
  "url": "https://github.com/XiaoMi/hiui/issues"
46
46
  },
47
47
  "dependencies": {
48
- "@hi-ui/array-utils": "^5.0.0-experimental.0",
49
- "@hi-ui/checkbox": "^5.0.0-experimental.0",
50
- "@hi-ui/classname": "^5.0.0-experimental.0",
51
- "@hi-ui/env": "^5.0.0-experimental.0",
52
- "@hi-ui/func-utils": "^5.0.0-experimental.0",
53
- "@hi-ui/icons": "^5.0.0-experimental.0",
54
- "@hi-ui/input": "^5.0.0-experimental.1",
55
- "@hi-ui/picker": "^5.0.0-experimental.1",
56
- "@hi-ui/popper": "^5.0.0-experimental.0",
57
- "@hi-ui/spinner": "^5.0.0-experimental.0",
58
- "@hi-ui/tag-input": "^5.0.0-experimental.1",
59
- "@hi-ui/times": "^5.0.0-experimental.0",
60
- "@hi-ui/tree-utils": "^5.0.0-experimental.0",
61
- "@hi-ui/type-assertion": "^5.0.0-experimental.0",
62
- "@hi-ui/use-check": "^5.0.0-experimental.0",
63
- "@hi-ui/use-data-source": "^5.0.0-experimental.0",
64
- "@hi-ui/use-latest": "^5.0.0-experimental.0",
65
- "@hi-ui/use-merge-refs": "^5.0.0-experimental.0",
66
- "@hi-ui/use-outside-click": "^5.0.0-experimental.0",
67
- "@hi-ui/use-search-mode": "^5.0.0-experimental.0",
68
- "@hi-ui/use-toggle": "^5.0.0-experimental.0",
69
- "@hi-ui/use-uncontrolled-state": "^5.0.0-experimental.0"
48
+ "@hi-ui/array-utils": "^5.0.0-rc.0",
49
+ "@hi-ui/checkbox": "^5.0.0-rc.0",
50
+ "@hi-ui/classname": "^5.0.0-rc.0",
51
+ "@hi-ui/env": "^5.0.0-rc.0",
52
+ "@hi-ui/func-utils": "^5.0.0-rc.0",
53
+ "@hi-ui/icons": "^5.0.0-rc.0",
54
+ "@hi-ui/input": "^5.0.0-rc.0",
55
+ "@hi-ui/picker": "^5.0.0-rc.0",
56
+ "@hi-ui/popper": "^5.0.0-rc.0",
57
+ "@hi-ui/spinner": "^5.0.0-rc.0",
58
+ "@hi-ui/tag-input": "^5.0.0-rc.0",
59
+ "@hi-ui/times": "^5.0.0-rc.0",
60
+ "@hi-ui/tree-utils": "^5.0.0-rc.0",
61
+ "@hi-ui/type-assertion": "^5.0.0-rc.0",
62
+ "@hi-ui/use-check": "^5.0.0-rc.0",
63
+ "@hi-ui/use-data-source": "^5.0.0-rc.0",
64
+ "@hi-ui/use-latest": "^5.0.0-rc.0",
65
+ "@hi-ui/use-merge-refs": "^5.0.0-rc.0",
66
+ "@hi-ui/use-merge-semantic": "^5.0.0-rc.0",
67
+ "@hi-ui/use-outside-click": "^5.0.0-rc.0",
68
+ "@hi-ui/use-search-mode": "^5.0.0-rc.0",
69
+ "@hi-ui/use-toggle": "^5.0.0-rc.0",
70
+ "@hi-ui/use-uncontrolled-state": "^5.0.0-rc.0"
70
71
  },
71
72
  "peerDependencies": {
72
- "@hi-ui/core": ">=5.0.0-experimental.0",
73
+ "@hi-ui/core": ">=5.0.0-rc.0",
73
74
  "react": ">=16.8.6",
74
75
  "react-dom": ">=16.8.6"
75
76
  },
76
77
  "devDependencies": {
77
- "@hi-ui/core": "^5.0.0-experimental.0",
78
- "@hi-ui/core-css": "^5.0.0-experimental.1",
78
+ "@hi-ui/core": "^5.0.0-rc.0",
79
+ "@hi-ui/core-css": "^5.0.0-rc.0",
79
80
  "react": "^17.0.1",
80
81
  "react-dom": "^17.0.1"
81
82
  }