@hi-ui/cascader 4.4.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 (82) hide show
  1. package/CHANGELOG.md +99 -0
  2. package/lib/cjs/Cascader.js +34 -7
  3. package/lib/cjs/CascaderMenuList.js +65 -32
  4. package/lib/cjs/styles/index.scss.js +1 -1
  5. package/lib/cjs/ui/virtual-list/lib/esm/_virtual/index.js +28 -0
  6. package/lib/cjs/ui/virtual-list/lib/esm/_virtual/index2.js +28 -0
  7. package/lib/cjs/ui/virtual-list/lib/esm/_virtual/react-is.development.js +26 -0
  8. package/lib/cjs/ui/virtual-list/lib/esm/_virtual/react-is.production.min.js +26 -0
  9. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/classnames/index.js +74 -0
  10. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/es/index.js +200 -0
  11. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js +52 -0
  12. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Dom/findDOMNode.js +44 -0
  13. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js +71 -0
  14. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/warning.js +45 -0
  15. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-util/es/Dom/canUseDom.js +28 -0
  16. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-util/es/Dom/findDOMNode.js +44 -0
  17. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-util/es/hooks/useLayoutEffect.js +54 -0
  18. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-util/es/raf.js +71 -0
  19. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/Filler.js +128 -0
  20. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/Item.js +57 -0
  21. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/List.js +476 -0
  22. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/ScrollBar.js +363 -0
  23. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useChildren.js +63 -0
  24. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useDiffItem.js +115 -0
  25. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useFrameWheel.js +64 -0
  26. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useHeights.js +161 -0
  27. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js +87 -0
  28. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useOriginScroll.js +61 -0
  29. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useScrollTo.js +141 -0
  30. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/utils/CacheMap.js +68 -0
  31. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/utils/algorithmUtil.js +84 -0
  32. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/utils/isFirefox.js +35 -0
  33. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/react-is/cjs/react-is.development.js +189 -0
  34. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/react-is/cjs/react-is.production.min.js +139 -0
  35. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/react-is/index.js +31 -0
  36. package/lib/cjs/ui/virtual-list/lib/esm/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +970 -0
  37. package/lib/cjs/use-cascader.js +5 -1
  38. package/lib/cjs/utils/index.js +1 -0
  39. package/lib/esm/Cascader.js +46 -19
  40. package/lib/esm/CascaderMenuList.js +76 -43
  41. package/lib/esm/icons/index.js +4 -4
  42. package/lib/esm/styles/index.scss.js +1 -1
  43. package/lib/esm/ui/virtual-list/lib/esm/_virtual/index.js +22 -0
  44. package/lib/esm/ui/virtual-list/lib/esm/_virtual/index2.js +22 -0
  45. package/lib/esm/ui/virtual-list/lib/esm/_virtual/react-is.development.js +20 -0
  46. package/lib/esm/ui/virtual-list/lib/esm/_virtual/react-is.production.min.js +20 -0
  47. package/lib/esm/ui/virtual-list/lib/esm/node_modules/classnames/index.js +62 -0
  48. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/es/index.js +164 -0
  49. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js +40 -0
  50. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Dom/findDOMNode.js +32 -0
  51. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js +57 -0
  52. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/warning.js +36 -0
  53. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-util/es/Dom/canUseDom.js +22 -0
  54. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-util/es/Dom/findDOMNode.js +32 -0
  55. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-util/es/hooks/useLayoutEffect.js +28 -0
  56. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-util/es/raf.js +65 -0
  57. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/Filler.js +102 -0
  58. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/Item.js +31 -0
  59. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/List.js +450 -0
  60. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/ScrollBar.js +337 -0
  61. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useChildren.js +37 -0
  62. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useDiffItem.js +89 -0
  63. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useFrameWheel.js +59 -0
  64. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useHeights.js +136 -0
  65. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js +82 -0
  66. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useOriginScroll.js +56 -0
  67. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/hooks/useScrollTo.js +115 -0
  68. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/utils/CacheMap.js +62 -0
  69. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/utils/algorithmUtil.js +78 -0
  70. package/lib/esm/ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/utils/isFirefox.js +29 -0
  71. package/lib/esm/ui/virtual-list/lib/esm/node_modules/react-is/cjs/react-is.development.js +177 -0
  72. package/lib/esm/ui/virtual-list/lib/esm/node_modules/react-is/cjs/react-is.production.min.js +127 -0
  73. package/lib/esm/ui/virtual-list/lib/esm/node_modules/react-is/index.js +29 -0
  74. package/lib/esm/ui/virtual-list/lib/esm/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +964 -0
  75. package/lib/esm/use-cascader.js +5 -1
  76. package/lib/esm/utils/index.js +1 -0
  77. package/lib/types/Cascader.d.ts +20 -4
  78. package/lib/types/context.d.ts +6 -0
  79. package/lib/types/types.d.ts +2 -0
  80. package/lib/types/use-cascader.d.ts +2 -1
  81. package/lib/types/utils/index.d.ts +1 -1
  82. package/package.json +23 -22
package/CHANGELOG.md CHANGED
@@ -1,5 +1,104 @@
1
1
  # @hi-ui/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
+ - cf982a1d0: feat(cascader): add onItemClick api (5.0)
15
+ - 632dbda3a: feat: 下拉选择组件增加 showIndicator 参数 & 修改 appearance 中的 unset 样式 (5.0)
16
+ - 1b51c1bbe: feat: 下拉选择类组件 appearance 参数增加 contained 类型 (5.0)
17
+ - 6eac4b78b: feat: 输入框和选择器组件增加 borderless 形态 (5.0)
18
+
19
+ ### Patch Changes
20
+
21
+ - eb5506b8d: style(picker): 移除 picker 组件中的 \_\_text 样式定义 (5.0)
22
+ - 5de7a848b: fix: 修复 5.0 UI 问题 (5.0)
23
+ - c3ec579cd: fix: 修改组件问题 (5.0)
24
+ - 8116f0304: fix: 修改 UI 问题 (5.0)
25
+ - cfaf8c48d: perf: 对下拉选择类组件的 customRender 的内容增加 memoization 以优化性能 (5.0)
26
+ - b29639844: style(cascader&check-cascader): 调整下拉框样式,增加搜索框宽度设置 (5.0)
27
+ - eaa96c960: <br>
28
+ - style(cascader&check-cascader): 增加 white-space: nowrap; 样式以防止文本换行 (5.0)
29
+ - style(cascader&check-cascader): 调整搜索框默认宽度为 100px (5.0)
30
+ - feat(check-cascader): 增加 flattedSearchResult 属性,用于控制搜索结果的展现形式 (5.0)
31
+ - fix(cascader): 修复当搜索结果为空时,下拉框没有显示空状态问题 (5.0)
32
+ - 61d132802: build: 将 package.json 中 exports 配置中的 types 配置放在最上面 (5.0)
33
+ - 9f2ee08cf: <br>
34
+ - style(tag-input): 间距调整 (5.0)
35
+ - style(select): 选择类组件选项圆角改为 4px (5.0)
36
+ - style(picker): 搜索框样式调整 (5.0)
37
+ - 1fc825e2f: <br>
38
+ - fix(cascader): 处理当 value 为空时清空选项的选中态(5.0)
39
+ - style(cascader&check-cascader): 调整选项容器最小宽度为 160px (5.0)
40
+ - style(cascader&check-cascader): 优化下拉框宽度,让内容和搜索框默认宽度对齐 (5.0)
41
+ - perf(cascader&check-cascader): 优化 customRender 函数,支持传递选中项和当前值 (5.0)
42
+ - 85bb84874: style: 统一调整选择类组件 hover 时的背景色 (5.0)
43
+ - c125e4c48: fix: 修复 UI 问题 (5.0)
44
+ - Updated dependencies [abebb5eed]
45
+ - Updated dependencies [7bda04e64]
46
+ - Updated dependencies [77ed66eac]
47
+ - Updated dependencies [ddd2acc79]
48
+ - Updated dependencies [5de7a848b]
49
+ - Updated dependencies [1b05b44a4]
50
+ - Updated dependencies [0cd15438e]
51
+ - Updated dependencies [eb69f0baa]
52
+ - Updated dependencies [a01771e8d]
53
+ - Updated dependencies [67960d871]
54
+ - Updated dependencies [de7f92b26]
55
+ - Updated dependencies [8116f0304]
56
+ - Updated dependencies [85bb84874]
57
+ - Updated dependencies [77ed66eac]
58
+ - Updated dependencies [632dbda3a]
59
+ - Updated dependencies [2c7c65a5a]
60
+ - Updated dependencies [36bb992d3]
61
+ - Updated dependencies [1b51c1bbe]
62
+ - Updated dependencies [61d132802]
63
+ - Updated dependencies [6ebf40f96]
64
+ - Updated dependencies [9f2ee08cf]
65
+ - Updated dependencies [6eac4b78b]
66
+ - Updated dependencies [bcd3d08dd]
67
+ - Updated dependencies [4fb586f6f]
68
+ - Updated dependencies [c125e4c48]
69
+ - Updated dependencies [b7ad460d8]
70
+ - Updated dependencies [df25ec39b]
71
+ - @hi-ui/picker@5.0.0-alpha.0
72
+ - @hi-ui/input@5.0.0-alpha.0
73
+ - @hi-ui/core@5.0.0-alpha.0
74
+ - @hi-ui/use-check-state@5.0.0-alpha.0
75
+ - @hi-ui/use-data-source@5.0.0-alpha.0
76
+ - @hi-ui/use-latest@5.0.0-alpha.0
77
+ - @hi-ui/use-search-mode@5.0.0-alpha.0
78
+ - @hi-ui/use-toggle@5.0.0-alpha.0
79
+ - @hi-ui/use-uncontrolled-state@5.0.0-alpha.0
80
+ - @hi-ui/icons@5.0.0-alpha.0
81
+ - @hi-ui/highlighter@5.0.0-alpha.0
82
+ - @hi-ui/popper@5.0.0-alpha.0
83
+ - @hi-ui/spinner@5.0.0-alpha.0
84
+ - @hi-ui/array-utils@5.0.0-alpha.0
85
+ - @hi-ui/classname@5.0.0-alpha.0
86
+ - @hi-ui/env@5.0.0-alpha.0
87
+ - @hi-ui/func-utils@5.0.0-alpha.0
88
+ - @hi-ui/tree-utils@5.0.0-alpha.0
89
+ - @hi-ui/type-assertion@5.0.0-alpha.0
90
+
91
+ ## 4.5.0
92
+
93
+ ### Minor Changes
94
+
95
+ - [#3231](https://github.com/XiaoMi/hiui/pull/3231) [`bbba46153`](https://github.com/XiaoMi/hiui/commit/bbba4615313cd0618deff633bebc657e7f34ec94) Thanks [@zyprepare](https://github.com/zyprepare)! - feat(cascader): onChange 回调中增加选中项对象参数返回 (#3230)
96
+
97
+ ### Patch Changes
98
+
99
+ - Updated dependencies [[`dc1311a91`](https://github.com/XiaoMi/hiui/commit/dc1311a917518bc5debef755a9fcd4e33fb58790)]:
100
+ - @hi-ui/use-search-mode@4.2.1
101
+
3
102
  ## 4.4.1
4
103
 
5
104
  ### Patch Changes
@@ -88,7 +88,12 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
88
88
  _props$closeOnSelect = props.closeOnSelect,
89
89
  closeOnSelect = _props$closeOnSelect === void 0 ? true : _props$closeOnSelect,
90
90
  customRender = props.customRender,
91
- rest = tslib.__rest(props, ["prefixCls", "className", "placeholder", "disabled", "clearable", "type", "fieldNames", "expandTrigger", "displayRender", "onSelect", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "keyword", "onSearch", "render", "overlayClassName", "data", "flattedSearchResult", "visible", "size", "prefix", "suffix", "onOpen", "onClose", "onClear", "renderExtraFooter", "dropdownColumnRender", "closeOnSelect", "customRender"]);
91
+ label = props.label,
92
+ virtual = props.virtual,
93
+ onItemClickProp = props.onItemClick,
94
+ _props$showIndicator = props.showIndicator,
95
+ showIndicator = _props$showIndicator === void 0 ? true : _props$showIndicator,
96
+ rest = tslib.__rest(props, ["prefixCls", "className", "placeholder", "disabled", "clearable", "type", "fieldNames", "expandTrigger", "displayRender", "onSelect", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "keyword", "onSearch", "render", "overlayClassName", "data", "flattedSearchResult", "visible", "size", "prefix", "suffix", "onOpen", "onClose", "onClear", "renderExtraFooter", "dropdownColumnRender", "closeOnSelect", "customRender", "label", "virtual", "onItemClick", "showIndicator"]);
92
97
  var i18n = core.useLocaleContext();
93
98
  var pickerInnerRef = React.useRef(null);
94
99
  var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('cascader.placeholder') : placeholderProp;
@@ -195,6 +200,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
195
200
  var value = context$1.value,
196
201
  tryChangeValue = context$1.tryChangeValue,
197
202
  reset = context$1.reset,
203
+ clear = context$1.clear,
198
204
  menuList = context$1.menuList,
199
205
  getItemRequiredProps = context$1.getItemRequiredProps;
200
206
  var showData = React.useMemo(function () {
@@ -220,6 +226,14 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
220
226
  }
221
227
  return flattedData;
222
228
  }, [selectedItem, flattedData]);
229
+ var mergedDataSelectedItem = React.useMemo(function () {
230
+ return mergedData.find(function (d) {
231
+ return d.id === value[value.length - 1];
232
+ });
233
+ }, [mergedData, value]);
234
+ var customRenderContent = React.useMemo(function () {
235
+ return customRender ? typeof customRender === 'function' ? customRender(mergedDataSelectedItem, value) : customRender : null;
236
+ }, [customRender, mergedDataSelectedItem, value]);
223
237
  var cls = classname.cx(prefixCls, className, prefixCls + "--" + (menuVisible ? 'open' : 'closed'));
224
238
  React.useEffect(function () {
225
239
  var _a;
@@ -228,12 +242,19 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
228
242
  (_a = pickerInnerRef.current) === null || _a === void 0 ? void 0 : _a.update();
229
243
  }
230
244
  }, [menuVisible, showData]);
245
+ React.useEffect(function () {
246
+ if (!value || value.length === 0) {
247
+ clear();
248
+ }
249
+ }, [value, clear]);
231
250
  return /*#__PURE__*/React__default["default"].createElement(context.CascaderProvider, {
232
251
  value: Object.assign(Object.assign({}, context$1), {
233
252
  expandTrigger: expandTrigger,
234
253
  titleRender: proxyTitleRender,
235
254
  menuList: showData,
236
- dropdownColumnRender: dropdownColumnRender
255
+ dropdownColumnRender: dropdownColumnRender,
256
+ virtual: virtual,
257
+ onItemClickProp: onItemClickProp
237
258
  })
238
259
  }, /*#__PURE__*/React__default["default"].createElement(picker.Picker, Object.assign({
239
260
  ref: ref,
@@ -254,13 +275,17 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
254
275
  footer: typeAssertion.isFunction(renderExtraFooter) && renderExtraFooter(),
255
276
  keyword: keywordProp,
256
277
  onSearch: funcUtils.callAllFuncs(onSearchProp, onSearch),
257
- trigger: customRender ? typeof customRender === 'function' ? customRender(selectedItem) : customRender : ( /*#__PURE__*/React__default["default"].createElement(input.MockInput, {
278
+ trigger: customRender ? customRenderContent : ( /*#__PURE__*/React__default["default"].createElement(input.MockInput, {
279
+ style: {
280
+ maxWidth: appearance === 'contained' ? '360px' : undefined
281
+ },
258
282
  size: size,
259
283
  clearable: clearable,
260
284
  onClear: onClear,
261
285
  placeholder: placeholder,
262
286
  displayRender: displayRender,
263
287
  prefix: prefix,
288
+ showIndicator: showIndicator,
264
289
  suffix: [menuVisible ? /*#__PURE__*/React__default["default"].createElement(icons.UpOutlined, null) : /*#__PURE__*/React__default["default"].createElement(icons.DownOutlined, null), suffix],
265
290
  focused: menuVisible,
266
291
  value: value[value.length - 1],
@@ -269,7 +294,8 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
269
294
  },
270
295
  data: mergedData,
271
296
  invalid: invalid,
272
- appearance: appearance
297
+ appearance: appearance,
298
+ label: label
273
299
  }))
274
300
  }), typeAssertion.isArrayNonEmpty(showData) ? /*#__PURE__*/React__default["default"].createElement(CascaderMenuList.CascaderMenuList, null) : null));
275
301
  });
@@ -282,7 +308,7 @@ var renderHighlightTitle = function renderHighlightTitle(keyword, option, titleR
282
308
  if (title !== true) return title;
283
309
  return /*#__PURE__*/React__default["default"].createElement(Highlighter__default["default"], {
284
310
  key: option.id,
285
- keyword: keyword
311
+ keyword: new RegExp(keyword, 'ig')
286
312
  }, option.title);
287
313
  };
288
314
  var renderHighlightTitles = function renderHighlightTitles(keyword, option, titleRender) {
@@ -305,17 +331,18 @@ var renderHighlightTitles = function renderHighlightTitles(keyword, option, titl
305
331
  }, title);
306
332
  if (typeof title !== 'string') return raw;
307
333
  if (found) return raw;
308
- var index = title.indexOf(keyword);
334
+ var index = useSearchMode.matchStrategy(title, keyword);
309
335
  if (index === -1) return raw;
310
336
  found = true;
311
337
  var beforeStr = title.substr(0, index);
338
+ var matchedStr = title.substr(index, keyword.length);
312
339
  var afterStr = title.substr(index + keyword.length);
313
340
  return /*#__PURE__*/React__default["default"].createElement("span", {
314
341
  key: id,
315
342
  className: "title__text--col"
316
343
  }, beforeStr, /*#__PURE__*/React__default["default"].createElement("span", {
317
344
  className: "title__text--matched"
318
- }, keyword), afterStr);
345
+ }, matchedStr), afterStr);
319
346
  }).reverse());
320
347
  };
321
348
  exports.Cascader = Cascader;
@@ -22,6 +22,7 @@ var index = require('./utils/index.js');
22
22
  var context = require('./context.js');
23
23
  var treeUtils = require('@hi-ui/tree-utils');
24
24
  var typeAssertion = require('@hi-ui/type-assertion');
25
+ var List = require('./ui/virtual-list/lib/esm/node_modules/rc-virtual-list/es/List.js');
25
26
  function _interopDefaultCompat(e) {
26
27
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
27
28
  'default': e
@@ -65,45 +66,77 @@ var CascaderMenu = function CascaderMenu(_ref) {
65
66
  style = _ref.style,
66
67
  menu = _ref.data;
67
68
  var _useCascaderContext2 = context.useCascaderContext(),
68
- flatted = _useCascaderContext2.flatted,
69
- disabledContext = _useCascaderContext2.disabled,
70
- expandTrigger = _useCascaderContext2.expandTrigger,
71
- onItemClick = _useCascaderContext2.onItemClick,
72
- onItemHover = _useCascaderContext2.onItemHover,
73
- titleRender = _useCascaderContext2.titleRender,
74
- onLoadChildren = _useCascaderContext2.onLoadChildren,
75
- getItemRequiredProps = _useCascaderContext2.getItemRequiredProps;
69
+ virtual = _useCascaderContext2.virtual;
76
70
  var cls = classname.cx(prefixCls, className);
71
+ var virtualListProps = {
72
+ virtual: virtual,
73
+ data: menu,
74
+ height: 260,
75
+ itemHeight: 32
76
+ };
77
77
  return /*#__PURE__*/React__default["default"].createElement("ul", {
78
78
  className: cls,
79
79
  style: style,
80
80
  role: role
81
- }, menu.map(function (option) {
82
- var eventOption = index.getItemEventData(option, getItemRequiredProps(option));
83
- var selected = eventOption.selected,
84
- loading = eventOption.loading,
85
- active = eventOption.active;
86
- var disabled = disabledContext || option.disabled;
87
- var optionCls = classname.cx(prefixCls + "-option", active && prefixCls + "-option--active", loading && prefixCls + "-option--loading", disabled && prefixCls + "-option--disabled", selected && prefixCls + "-option--selected");
88
- return /*#__PURE__*/React__default["default"].createElement("li", {
81
+ }, typeAssertion.isArrayNonEmpty(menu) ? virtual ? ( /*#__PURE__*/React__default["default"].createElement(List["default"], Object.assign({
82
+ itemKey: 'id',
83
+ fullHeight: false
84
+ }, virtualListProps), function (option) {
85
+ return /*#__PURE__*/React__default["default"].createElement(MenuItem, {
89
86
  key: option.id,
90
- role: "menu-item",
91
- className: prefixCls + "-item"
92
- }, /*#__PURE__*/React__default["default"].createElement("div", {
93
- className: optionCls,
94
- onClick: function onClick() {
95
- if (disabled) return;
96
- onItemClick(eventOption);
97
- },
98
- onMouseEnter: function onMouseEnter() {
99
- if (disabled) return;
100
- if (expandTrigger === 'hover') {
101
- onItemHover(eventOption);
102
- }
103
- }
104
- }, flatted ? renderFlattedTitle(eventOption, titleRender) : ( /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, renderDefaultTitle(eventOption, titleRender), renderSuffix(prefixCls, option, loading, onLoadChildren)))));
105
- }));
87
+ option: option,
88
+ prefixCls: prefixCls
89
+ });
90
+ })) : menu.map(function (option) {
91
+ return /*#__PURE__*/React__default["default"].createElement(MenuItem, {
92
+ key: option.id,
93
+ option: option,
94
+ prefixCls: prefixCls
95
+ });
96
+ }) : null);
106
97
  };
98
+ var MenuItem = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
99
+ var option = _ref2.option,
100
+ prefixCls = _ref2.prefixCls;
101
+ var _useCascaderContext3 = context.useCascaderContext(),
102
+ flatted = _useCascaderContext3.flatted,
103
+ disabledContext = _useCascaderContext3.disabled,
104
+ expandTrigger = _useCascaderContext3.expandTrigger,
105
+ onItemClick = _useCascaderContext3.onItemClick,
106
+ onItemClickProp = _useCascaderContext3.onItemClickProp,
107
+ onItemHover = _useCascaderContext3.onItemHover,
108
+ titleRender = _useCascaderContext3.titleRender,
109
+ onLoadChildren = _useCascaderContext3.onLoadChildren,
110
+ getItemRequiredProps = _useCascaderContext3.getItemRequiredProps;
111
+ var eventOption = index.getItemEventData(option, getItemRequiredProps(option));
112
+ var selected = eventOption.selected,
113
+ loading = eventOption.loading,
114
+ active = eventOption.active;
115
+ var disabled = disabledContext || option.disabled;
116
+ var optionCls = classname.cx(prefixCls + "-option", active && prefixCls + "-option--active", loading && prefixCls + "-option--loading", disabled && prefixCls + "-option--disabled", selected && prefixCls + "-option--selected");
117
+ return /*#__PURE__*/React__default["default"].createElement("li", {
118
+ ref: ref,
119
+ key: option.id,
120
+ role: "menu-item",
121
+ className: prefixCls + "-item"
122
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
123
+ className: optionCls,
124
+ onClick: function onClick(evt) {
125
+ if (disabled) return;
126
+ onItemClick(eventOption);
127
+ onItemClickProp === null || onItemClickProp === void 0 ? void 0 : onItemClickProp(evt, eventOption);
128
+ },
129
+ onMouseEnter: function onMouseEnter() {
130
+ if (disabled) return;
131
+ if (expandTrigger === 'hover') {
132
+ onItemHover(eventOption);
133
+ }
134
+ }
135
+ }, flatted ? renderFlattedTitle(eventOption, titleRender) : ( /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, renderDefaultTitle(eventOption, titleRender), renderSuffix(prefixCls, option, loading, onLoadChildren)))));
136
+ });
137
+ if (env.__DEV__) {
138
+ MenuItem.displayName = 'MenuItem';
139
+ }
107
140
  /**
108
141
  * 渲染菜单子项的展开提示图标
109
142
  */
@@ -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-cascader__popper .hi-v4-picker__body {padding-left: 0;padding-right: 0;overflow-y: hidden;}.hi-v4-cascader__popper .hi-v4-picker__loading, .hi-v4-cascader__popper .hi-v4-picker__empty {padding: var(--hi-v4-spacing-5, 10px) var(--hi-v4-spacing-8, 16px);}.hi-v4-cascader-panel {white-space: nowrap;-webkit-box-sizing: border-box;box-sizing: border-box;font-size: var(--hi-v4-text-size-md, 0.875rem);color: var(--hi-v4-color-gray-700, #1f2733);}.hi-v4-cascader-search {-webkit-box-sizing: border-box;box-sizing: border-box;padding: 0 10px 10px;position: relative;}.hi-v4-cascader-search .hi-v4-input__prefix {font-size: 16px;padding-left: 0;}.hi-v4-cascader-search__empty {display: inline-block;margin-top: 20px;font-size: 14px;font-weight: 400;color: #999;line-height: 20px;}.hi-v4-cascader-menu-list {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-sizing: border-box;box-sizing: border-box;overflow-x: auto;}.hi-v4-cascader-menu-list--flatted .hi-v4-cascader-menu {-ms-flex-preferred-size: 100%;flex-basis: 100%;}.hi-v4-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: 260px;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-cascader-menu:last-of-type {border: none;}.hi-v4-cascader-menu-item {width: 100%;position: relative;cursor: pointer;display: -webkit-box;display: -ms-flexbox;display: flex;}.hi-v4-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-cascader-menu-option:hover {background-color: var(--hi-v4-color-gray-100, #f2f4f7);}.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--selected {background-color: 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-cascader-menu-option.hi-v4-cascader-menu-option--selected .hi-v4-cascader-menu-switcher {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-cascader-menu-option--focused {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-cascader-menu-option--checked {font-weight: 700;}.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--disabled {cursor: not-allowed;color: var(--hi-v4-color-gray-500, #929aa6);background: transparent;}.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--disabled .hi-v4-cascader-menu-switcher {color: var(--hi-v4-color-gray-400, #b5bcc7);}.hi-v4-cascader-menu .title__text {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;}.hi-v4-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-cascader-menu .title__text--col {display: inline-block;}.hi-v4-cascader-menu .title__text--col::after {content: \" / \";}.hi-v4-cascader-menu .title__text--col:last-child::after {content: none;}.hi-v4-cascader-menu .title__text--matched {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-cascader-menu-switcher {-ms-flex-negative: 0;flex-shrink: 0;font-size: 16px;color: var(--hi-v4-color-gray-500, #929aa6);}.hi-v4-cascader-menu-switcher--loading {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-cascader-menu-switcher--arrow {-webkit-transform: rotate(-90deg);transform: rotate(-90deg);}.hi-v4-cascader__icon--loading {display: inline-block;width: 1em;height: 1em;stroke: none;cursor: default;fill: currentColor;}.hi-v4-cascader__icon--loading svg {-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 rotate {to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}@keyframes rotate {to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}";
15
+ var css_248z = "@charset \"UTF-8\";.hi-v5-cascader__popper .hi-v5-picker__panel {-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 160px;}.hi-v5-cascader__popper .hi-v5-picker__search .hi-v5-input__text {width: 100px;}.hi-v5-cascader__popper .hi-v5-picker__body {padding-left: 0;padding-right: 0;overflow-y: hidden;}.hi-v5-cascader__popper .hi-v5-picker__loading, .hi-v5-cascader__popper .hi-v5-picker__empty {padding: var(--hi-v5-spacing-5, 10px) var(--hi-v5-spacing-8, 16px);}.hi-v5-cascader-panel {white-space: nowrap;-webkit-box-sizing: border-box;box-sizing: border-box;font-size: var(--hi-v5-text-size-md, 0.875rem);color: var(--hi-v5-color-gray-700, #1a1d26);}.hi-v5-cascader-search {-webkit-box-sizing: border-box;box-sizing: border-box;padding: 0 10px 10px;position: relative;}.hi-v5-cascader-search .hi-v5-input__prefix {font-size: 16px;padding-left: 0;}.hi-v5-cascader-search__empty {display: inline-block;margin-top: 20px;font-size: 14px;font-weight: 400;color: #999;line-height: 20px;}.hi-v5-cascader-menu-list {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-sizing: border-box;box-sizing: border-box;overflow-x: auto;}.hi-v5-cascader-menu-list--flatted .hi-v5-cascader-menu {-ms-flex-preferred-size: 100%;flex-basis: 100%;}.hi-v5-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-cascader-menu:last-of-type {border: none;}.hi-v5-cascader-menu-item {width: 100%;position: relative;cursor: pointer;display: -webkit-box;display: -ms-flexbox;display: flex;}.hi-v5-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-cascader-menu-option:hover {background-color: var(--hi-v5-color-gray-50, #f2f4f7);}.hi-v5-cascader-menu-option.hi-v5-cascader-menu-option--selected {background-color: 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-cascader-menu-option.hi-v5-cascader-menu-option--selected .hi-v5-cascader-menu-switcher {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-cascader-menu-option--focused {background-color: var(--hi-v5-color-primary-50, var(--hi-v5-color-brandblue-50, #edf2ff));}.hi-v5-cascader-menu-option--checked {font-weight: 700;}.hi-v5-cascader-menu-option.hi-v5-cascader-menu-option--disabled {cursor: not-allowed;color: var(--hi-v5-color-gray-500, #91959e);background: transparent;}.hi-v5-cascader-menu-option.hi-v5-cascader-menu-option--disabled .hi-v5-cascader-menu-switcher {color: var(--hi-v5-color-gray-400, #babcc2);}.hi-v5-cascader-menu .title__text {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;}.hi-v5-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-cascader-menu .title__text--col {display: inline-block;}.hi-v5-cascader-menu .title__text--col::after {content: \" / \";}.hi-v5-cascader-menu .title__text--col:last-child::after {content: none;}.hi-v5-cascader-menu .title__text--matched {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-cascader-menu-switcher {-ms-flex-negative: 0;flex-shrink: 0;font-size: 16px;color: var(--hi-v5-color-gray-500, #91959e);}.hi-v5-cascader-menu-switcher--loading {color: var(--hi-v5-color-primary-500, var(--hi-v5-color-brandblue-500, #2660ff));}.hi-v5-cascader-menu-switcher--arrow {-webkit-transform: rotate(-90deg);transform: rotate(-90deg);}.hi-v5-cascader__icon--loading {display: inline-block;width: 1em;height: 1em;stroke: none;cursor: default;fill: currentColor;}.hi-v5-cascader__icon--loading svg {-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 rotate {to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}}@keyframes rotate {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;
@@ -0,0 +1,28 @@
1
+ /** @LICENSE
2
+ * @hi-ui/cascader
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/cascader#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ Object.defineProperty(exports, '__esModule', {
13
+ value: true
14
+ });
15
+
16
+ /** @LICENSE
17
+ * @hi-ui/virtual-list
18
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/virtual-list#readme
19
+ *
20
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
21
+ *
22
+ * This source code is licensed under the MIT license found in the
23
+ * LICENSE file in the root directory of this source tree.
24
+ */
25
+ var classnames = {
26
+ exports: {}
27
+ };
28
+ exports.c = classnames;
@@ -0,0 +1,28 @@
1
+ /** @LICENSE
2
+ * @hi-ui/cascader
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/cascader#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ Object.defineProperty(exports, '__esModule', {
13
+ value: true
14
+ });
15
+
16
+ /** @LICENSE
17
+ * @hi-ui/virtual-list
18
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/virtual-list#readme
19
+ *
20
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
21
+ *
22
+ * This source code is licensed under the MIT license found in the
23
+ * LICENSE file in the root directory of this source tree.
24
+ */
25
+ var reactIs = {
26
+ exports: {}
27
+ };
28
+ exports.r = reactIs;
@@ -0,0 +1,26 @@
1
+ /** @LICENSE
2
+ * @hi-ui/cascader
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/cascader#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ Object.defineProperty(exports, '__esModule', {
13
+ value: true
14
+ });
15
+
16
+ /** @LICENSE
17
+ * @hi-ui/virtual-list
18
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/virtual-list#readme
19
+ *
20
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
21
+ *
22
+ * This source code is licensed under the MIT license found in the
23
+ * LICENSE file in the root directory of this source tree.
24
+ */
25
+ var reactIs_development = {};
26
+ exports.__exports = reactIs_development;
@@ -0,0 +1,26 @@
1
+ /** @LICENSE
2
+ * @hi-ui/cascader
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/cascader#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ Object.defineProperty(exports, '__esModule', {
13
+ value: true
14
+ });
15
+
16
+ /** @LICENSE
17
+ * @hi-ui/virtual-list
18
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/virtual-list#readme
19
+ *
20
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
21
+ *
22
+ * This source code is licensed under the MIT license found in the
23
+ * LICENSE file in the root directory of this source tree.
24
+ */
25
+ var reactIs_production_min = {};
26
+ exports.__exports = reactIs_production_min;
@@ -0,0 +1,74 @@
1
+ /** @LICENSE
2
+ * @hi-ui/cascader
3
+ * https://github.com/XiaoMi/hiui/tree/master/packages/ui/cascader#readme
4
+ *
5
+ * Copyright (c) HiUI <mi-hiui@xiaomi.com>.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
10
+ 'use strict';
11
+
12
+ var _typeof2 = require("@babel/runtime/helpers/typeof");
13
+ Object.defineProperty(exports, '__esModule', {
14
+ value: true
15
+ });
16
+ var _typeof = require('@babel/runtime/helpers/esm/typeof');
17
+ var index = require('../../_virtual/index.js');
18
+ function _interopDefaultCompat(e) {
19
+ return e && _typeof2(e) === 'object' && 'default' in e ? e : {
20
+ 'default': e
21
+ };
22
+ }
23
+ var _typeof__default = /*#__PURE__*/_interopDefaultCompat(_typeof);
24
+
25
+ /*!
26
+ Copyright (c) 2018 Jed Watson.
27
+ Licensed under the MIT License (MIT), see
28
+ http://jedwatson.github.io/classnames
29
+ */
30
+
31
+ (function (module) {
32
+ /* global define */
33
+
34
+ (function () {
35
+ var hasOwn = {}.hasOwnProperty;
36
+ function classNames() {
37
+ var classes = [];
38
+ for (var i = 0; i < arguments.length; i++) {
39
+ var arg = arguments[i];
40
+ if (!arg) continue;
41
+ var argType = _typeof__default["default"](arg);
42
+ if (argType === 'string' || argType === 'number') {
43
+ classes.push(arg);
44
+ } else if (Array.isArray(arg)) {
45
+ if (arg.length) {
46
+ var inner = classNames.apply(null, arg);
47
+ if (inner) {
48
+ classes.push(inner);
49
+ }
50
+ }
51
+ } else if (argType === 'object') {
52
+ if (arg.toString === Object.prototype.toString) {
53
+ for (var key in arg) {
54
+ if (hasOwn.call(arg, key) && arg[key]) {
55
+ classes.push(key);
56
+ }
57
+ }
58
+ } else {
59
+ classes.push(arg.toString());
60
+ }
61
+ }
62
+ }
63
+ return classes.join(' ');
64
+ }
65
+ if (module.exports) {
66
+ classNames["default"] = classNames;
67
+ module.exports = classNames;
68
+ } else {
69
+ window.classNames = classNames;
70
+ }
71
+ })();
72
+ })(index.c);
73
+ var classNames = index.c.exports;
74
+ exports["default"] = classNames;