wssf-kage-ui 0.1.0 → 0.1.1

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 (132) hide show
  1. package/README.md +4 -4
  2. package/dist/cjs/Anchor/index.d.ts +56 -0
  3. package/dist/cjs/Anchor/index.js +307 -0
  4. package/dist/cjs/Anchor/style.less +183 -0
  5. package/dist/cjs/AutoComplete/index.d.ts +54 -0
  6. package/dist/cjs/AutoComplete/index.js +273 -0
  7. package/dist/cjs/AutoComplete/style.less +325 -0
  8. package/dist/cjs/Breadcrumb/index.d.ts +51 -0
  9. package/dist/cjs/Breadcrumb/index.js +129 -0
  10. package/dist/cjs/Breadcrumb/style.less +96 -0
  11. package/dist/cjs/Cascader/index.d.ts +53 -0
  12. package/dist/cjs/Cascader/index.js +338 -0
  13. package/dist/cjs/Cascader/style.less +457 -0
  14. package/dist/cjs/Checkbox/index.d.ts +52 -0
  15. package/dist/cjs/Checkbox/index.js +158 -0
  16. package/dist/cjs/Checkbox/style.less +211 -0
  17. package/dist/cjs/ColorPicker/index.d.ts +28 -0
  18. package/dist/cjs/ColorPicker/index.js +381 -0
  19. package/dist/cjs/ColorPicker/style.less +276 -0
  20. package/dist/cjs/DatePicker/index.d.ts +32 -0
  21. package/dist/cjs/DatePicker/index.js +377 -0
  22. package/dist/cjs/DatePicker/style.less +498 -0
  23. package/dist/cjs/Divider/index.d.ts +24 -0
  24. package/dist/cjs/Divider/index.js +75 -0
  25. package/dist/cjs/Divider/style.less +144 -0
  26. package/dist/cjs/Dropdown/index.d.ts +88 -0
  27. package/dist/cjs/Dropdown/index.js +253 -0
  28. package/dist/cjs/Dropdown/style.less +430 -0
  29. package/dist/cjs/Flex/index.d.ts +37 -0
  30. package/dist/cjs/Flex/index.js +76 -0
  31. package/dist/cjs/Flex/style.less +13 -0
  32. package/dist/cjs/Form/index.d.ts +89 -0
  33. package/dist/cjs/Form/index.js +421 -0
  34. package/dist/cjs/Form/style.less +203 -0
  35. package/dist/cjs/Grid/index.d.ts +69 -0
  36. package/dist/cjs/Grid/index.js +171 -0
  37. package/dist/cjs/Grid/style.less +273 -0
  38. package/dist/cjs/Layout/index.d.ts +74 -0
  39. package/dist/cjs/Layout/index.js +166 -0
  40. package/dist/cjs/Layout/style.less +145 -0
  41. package/dist/cjs/Masonry/index.d.ts +18 -0
  42. package/dist/cjs/Masonry/index.js +146 -0
  43. package/dist/cjs/Masonry/style.less +15 -0
  44. package/dist/cjs/Menu/index.d.ts +87 -0
  45. package/dist/cjs/Menu/index.js +306 -0
  46. package/dist/cjs/Menu/style.less +363 -0
  47. package/dist/cjs/Pagination/index.d.ts +38 -0
  48. package/dist/cjs/Pagination/index.js +255 -0
  49. package/dist/cjs/Pagination/style.less +353 -0
  50. package/dist/cjs/Space/index.d.ts +41 -0
  51. package/dist/cjs/Space/index.js +137 -0
  52. package/dist/cjs/Space/style.less +116 -0
  53. package/dist/cjs/Splitter/index.d.ts +43 -0
  54. package/dist/cjs/Splitter/index.js +219 -0
  55. package/dist/cjs/Splitter/style.less +99 -0
  56. package/dist/cjs/Steps/index.d.ts +58 -0
  57. package/dist/cjs/Steps/index.js +180 -0
  58. package/dist/cjs/Steps/style.less +507 -0
  59. package/dist/cjs/Tabs/index.d.ts +58 -0
  60. package/dist/cjs/Tabs/index.js +196 -0
  61. package/dist/cjs/Tabs/style.less +423 -0
  62. package/dist/cjs/Typography/index.d.ts +102 -0
  63. package/dist/cjs/Typography/index.js +168 -0
  64. package/dist/cjs/Typography/style.less +246 -0
  65. package/dist/cjs/index.d.ts +42 -0
  66. package/dist/cjs/index.js +260 -1
  67. package/dist/esm/Anchor/index.d.ts +56 -0
  68. package/dist/esm/Anchor/index.js +302 -0
  69. package/dist/esm/Anchor/style.less +183 -0
  70. package/dist/esm/AutoComplete/index.d.ts +54 -0
  71. package/dist/esm/AutoComplete/index.js +268 -0
  72. package/dist/esm/AutoComplete/style.less +325 -0
  73. package/dist/esm/Breadcrumb/index.d.ts +51 -0
  74. package/dist/esm/Breadcrumb/index.js +124 -0
  75. package/dist/esm/Breadcrumb/style.less +96 -0
  76. package/dist/esm/Cascader/index.d.ts +53 -0
  77. package/dist/esm/Cascader/index.js +333 -0
  78. package/dist/esm/Cascader/style.less +457 -0
  79. package/dist/esm/Checkbox/index.d.ts +52 -0
  80. package/dist/esm/Checkbox/index.js +152 -0
  81. package/dist/esm/Checkbox/style.less +211 -0
  82. package/dist/esm/ColorPicker/index.d.ts +28 -0
  83. package/dist/esm/ColorPicker/index.js +375 -0
  84. package/dist/esm/ColorPicker/style.less +276 -0
  85. package/dist/esm/DatePicker/index.d.ts +32 -0
  86. package/dist/esm/DatePicker/index.js +371 -0
  87. package/dist/esm/DatePicker/style.less +498 -0
  88. package/dist/esm/Divider/index.d.ts +24 -0
  89. package/dist/esm/Divider/index.js +68 -0
  90. package/dist/esm/Divider/style.less +144 -0
  91. package/dist/esm/Dropdown/index.d.ts +88 -0
  92. package/dist/esm/Dropdown/index.js +249 -0
  93. package/dist/esm/Dropdown/style.less +430 -0
  94. package/dist/esm/Flex/index.d.ts +37 -0
  95. package/dist/esm/Flex/index.js +69 -0
  96. package/dist/esm/Flex/style.less +13 -0
  97. package/dist/esm/Form/index.d.ts +89 -0
  98. package/dist/esm/Form/index.js +416 -0
  99. package/dist/esm/Form/style.less +203 -0
  100. package/dist/esm/Grid/index.d.ts +69 -0
  101. package/dist/esm/Grid/index.js +165 -0
  102. package/dist/esm/Grid/style.less +273 -0
  103. package/dist/esm/Layout/index.d.ts +74 -0
  104. package/dist/esm/Layout/index.js +161 -0
  105. package/dist/esm/Layout/style.less +145 -0
  106. package/dist/esm/Masonry/index.d.ts +18 -0
  107. package/dist/esm/Masonry/index.js +138 -0
  108. package/dist/esm/Masonry/style.less +15 -0
  109. package/dist/esm/Menu/index.d.ts +87 -0
  110. package/dist/esm/Menu/index.js +301 -0
  111. package/dist/esm/Menu/style.less +363 -0
  112. package/dist/esm/Pagination/index.d.ts +38 -0
  113. package/dist/esm/Pagination/index.js +247 -0
  114. package/dist/esm/Pagination/style.less +353 -0
  115. package/dist/esm/Space/index.d.ts +41 -0
  116. package/dist/esm/Space/index.js +131 -0
  117. package/dist/esm/Space/style.less +116 -0
  118. package/dist/esm/Splitter/index.d.ts +43 -0
  119. package/dist/esm/Splitter/index.js +214 -0
  120. package/dist/esm/Splitter/style.less +99 -0
  121. package/dist/esm/Steps/index.d.ts +58 -0
  122. package/dist/esm/Steps/index.js +174 -0
  123. package/dist/esm/Steps/style.less +507 -0
  124. package/dist/esm/Tabs/index.d.ts +58 -0
  125. package/dist/esm/Tabs/index.js +193 -0
  126. package/dist/esm/Tabs/style.less +423 -0
  127. package/dist/esm/Typography/index.d.ts +102 -0
  128. package/dist/esm/Typography/index.js +161 -0
  129. package/dist/esm/Typography/style.less +246 -0
  130. package/dist/esm/index.d.ts +42 -0
  131. package/dist/esm/index.js +22 -1
  132. package/package.json +13 -10
@@ -0,0 +1,333 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
4
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
5
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
6
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
7
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
9
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
10
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
11
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
+ import React, { useState, useRef, useEffect, useCallback } from 'react';
13
+ import "./style.less";
14
+
15
+ // ============ Option Type ============
16
+
17
+ // ============ Cascader Props ============
18
+ import { jsx as _jsx } from "react/jsx-runtime";
19
+ import { jsxs as _jsxs } from "react/jsx-runtime";
20
+ // ============ Cascader Component ============
21
+ export var Cascader = function Cascader(_ref) {
22
+ var options = _ref.options,
23
+ controlledValue = _ref.value,
24
+ _ref$defaultValue = _ref.defaultValue,
25
+ defaultValue = _ref$defaultValue === void 0 ? [] : _ref$defaultValue,
26
+ _ref$placeholder = _ref.placeholder,
27
+ placeholder = _ref$placeholder === void 0 ? '请选择' : _ref$placeholder,
28
+ _ref$disabled = _ref.disabled,
29
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
30
+ _ref$allowClear = _ref.allowClear,
31
+ allowClear = _ref$allowClear === void 0 ? true : _ref$allowClear,
32
+ _ref$size = _ref.size,
33
+ size = _ref$size === void 0 ? 'middle' : _ref$size,
34
+ _ref$expandTrigger = _ref.expandTrigger,
35
+ expandTrigger = _ref$expandTrigger === void 0 ? 'click' : _ref$expandTrigger,
36
+ _ref$changeOnSelect = _ref.changeOnSelect,
37
+ changeOnSelect = _ref$changeOnSelect === void 0 ? false : _ref$changeOnSelect,
38
+ _ref$showSearch = _ref.showSearch,
39
+ showSearch = _ref$showSearch === void 0 ? false : _ref$showSearch,
40
+ displayRender = _ref.displayRender,
41
+ onChange = _ref.onChange,
42
+ onDropdownVisibleChange = _ref.onDropdownVisibleChange,
43
+ _ref$notFoundContent = _ref.notFoundContent,
44
+ notFoundContent = _ref$notFoundContent === void 0 ? '无匹配结果' : _ref$notFoundContent,
45
+ status = _ref.status,
46
+ _ref$className = _ref.className,
47
+ className = _ref$className === void 0 ? '' : _ref$className,
48
+ style = _ref.style;
49
+ var _useState = useState(defaultValue),
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ internalValue = _useState2[0],
52
+ setInternalValue = _useState2[1];
53
+ var _useState3 = useState(false),
54
+ _useState4 = _slicedToArray(_useState3, 2),
55
+ isOpen = _useState4[0],
56
+ setIsOpen = _useState4[1];
57
+ var _useState5 = useState([]),
58
+ _useState6 = _slicedToArray(_useState5, 2),
59
+ activeValue = _useState6[0],
60
+ setActiveValue = _useState6[1];
61
+ var _useState7 = useState(''),
62
+ _useState8 = _slicedToArray(_useState7, 2),
63
+ searchValue = _useState8[0],
64
+ setSearchValue = _useState8[1];
65
+ var containerRef = useRef(null);
66
+ var searchInputRef = useRef(null);
67
+ var value = controlledValue !== null && controlledValue !== void 0 ? controlledValue : internalValue;
68
+
69
+ // 获取选中的选项链
70
+ var getSelectedOptions = useCallback(function (val) {
71
+ var result = [];
72
+ var currentOptions = options;
73
+ var _iterator = _createForOfIteratorHelper(val),
74
+ _step;
75
+ try {
76
+ var _loop = function _loop() {
77
+ var v = _step.value;
78
+ var found = currentOptions.find(function (opt) {
79
+ return opt.value === v;
80
+ });
81
+ if (found) {
82
+ result.push(found);
83
+ currentOptions = found.children || [];
84
+ } else {
85
+ return 1; // break
86
+ }
87
+ };
88
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
89
+ if (_loop()) break;
90
+ }
91
+ } catch (err) {
92
+ _iterator.e(err);
93
+ } finally {
94
+ _iterator.f();
95
+ }
96
+ return result;
97
+ }, [options]);
98
+
99
+ // 获取显示文本
100
+ var getDisplayLabel = useCallback(function () {
101
+ if (value.length === 0) return '';
102
+ var selectedOptions = getSelectedOptions(value);
103
+ var labels = selectedOptions.map(function (opt) {
104
+ return opt.label;
105
+ });
106
+ if (displayRender) {
107
+ return displayRender(labels, selectedOptions);
108
+ }
109
+ return labels.join(' / ');
110
+ }, [value, getSelectedOptions, displayRender]);
111
+
112
+ // 打开/关闭下拉
113
+ var setOpen = useCallback(function (open) {
114
+ if (disabled) return;
115
+ setIsOpen(open);
116
+ onDropdownVisibleChange === null || onDropdownVisibleChange === void 0 || onDropdownVisibleChange(open);
117
+ if (open) {
118
+ setActiveValue(value);
119
+ setSearchValue('');
120
+ setTimeout(function () {
121
+ var _searchInputRef$curre;
122
+ return (_searchInputRef$curre = searchInputRef.current) === null || _searchInputRef$curre === void 0 ? void 0 : _searchInputRef$curre.focus();
123
+ }, 0);
124
+ }
125
+ }, [disabled, value, onDropdownVisibleChange]);
126
+
127
+ // 选择选项
128
+ var handleSelect = useCallback(function (option, level) {
129
+ if (option.disabled) return;
130
+ var newActiveValue = [].concat(_toConsumableArray(activeValue.slice(0, level)), [option.value]);
131
+ setActiveValue(newActiveValue);
132
+ var hasChildren = option.children && option.children.length > 0;
133
+ var isLeaf = option.isLeaf || !hasChildren;
134
+ if (isLeaf || changeOnSelect) {
135
+ if (controlledValue === undefined) {
136
+ setInternalValue(newActiveValue);
137
+ }
138
+ onChange === null || onChange === void 0 || onChange(newActiveValue, getSelectedOptions(newActiveValue));
139
+ if (isLeaf) {
140
+ setOpen(false);
141
+ }
142
+ }
143
+ }, [activeValue, changeOnSelect, controlledValue, onChange, getSelectedOptions, setOpen]);
144
+
145
+ // 鼠标悬浮展开
146
+ var handleMouseEnter = useCallback(function (option, level) {
147
+ if (expandTrigger !== 'hover' || option.disabled) return;
148
+ var newActiveValue = [].concat(_toConsumableArray(activeValue.slice(0, level)), [option.value]);
149
+ setActiveValue(newActiveValue);
150
+ }, [expandTrigger, activeValue]);
151
+
152
+ // 清除
153
+ var handleClear = useCallback(function (e) {
154
+ e.stopPropagation();
155
+ if (controlledValue === undefined) {
156
+ setInternalValue([]);
157
+ }
158
+ onChange === null || onChange === void 0 || onChange([], []);
159
+ }, [controlledValue, onChange]);
160
+
161
+ // 搜索过滤(展平所有路径)
162
+ var getFilteredOptions = useCallback(function () {
163
+ if (!searchValue) return [];
164
+ var results = [];
165
+ var traverse = function traverse(opts, path, valuePath) {
166
+ var _iterator2 = _createForOfIteratorHelper(opts),
167
+ _step2;
168
+ try {
169
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
170
+ var opt = _step2.value;
171
+ var currentPath = [].concat(_toConsumableArray(path), [opt]);
172
+ var currentValuePath = [].concat(_toConsumableArray(valuePath), [opt.value]);
173
+ var hasChildren = opt.children && opt.children.length > 0;
174
+
175
+ // 检查是否匹配
176
+ var labelStr = typeof opt.label === 'string' ? opt.label : '';
177
+ if (labelStr.toLowerCase().includes(searchValue.toLowerCase())) {
178
+ if (!hasChildren || changeOnSelect) {
179
+ results.push({
180
+ path: currentPath,
181
+ value: currentValuePath
182
+ });
183
+ }
184
+ }
185
+ if (hasChildren) {
186
+ traverse(opt.children, currentPath, currentValuePath);
187
+ }
188
+ }
189
+ } catch (err) {
190
+ _iterator2.e(err);
191
+ } finally {
192
+ _iterator2.f();
193
+ }
194
+ };
195
+ traverse(options, [], []);
196
+ return results;
197
+ }, [options, searchValue, changeOnSelect]);
198
+
199
+ // 点击外部关闭
200
+ useEffect(function () {
201
+ var handleClickOutside = function handleClickOutside(e) {
202
+ if (containerRef.current && !containerRef.current.contains(e.target)) {
203
+ setOpen(false);
204
+ }
205
+ };
206
+ document.addEventListener('mousedown', handleClickOutside);
207
+ return function () {
208
+ return document.removeEventListener('mousedown', handleClickOutside);
209
+ };
210
+ }, [setOpen]);
211
+
212
+ // 获取每一级的选项
213
+ var getMenus = useCallback(function () {
214
+ var menus = [options];
215
+ var currentOptions = options;
216
+ var _iterator3 = _createForOfIteratorHelper(activeValue),
217
+ _step3;
218
+ try {
219
+ var _loop2 = function _loop2() {
220
+ var v = _step3.value;
221
+ var found = currentOptions.find(function (opt) {
222
+ return opt.value === v;
223
+ });
224
+ if (found !== null && found !== void 0 && found.children && found.children.length > 0) {
225
+ menus.push(found.children);
226
+ currentOptions = found.children;
227
+ } else {
228
+ return 1; // break
229
+ }
230
+ };
231
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
232
+ if (_loop2()) break;
233
+ }
234
+ } catch (err) {
235
+ _iterator3.e(err);
236
+ } finally {
237
+ _iterator3.f();
238
+ }
239
+ return menus;
240
+ }, [options, activeValue]);
241
+ var classNames = ['kage-cascader', "kage-cascader-".concat(size), disabled && 'kage-cascader-disabled', status && "kage-cascader-status-".concat(status), isOpen && 'kage-cascader-open', className].filter(Boolean).join(' ');
242
+ var filteredOptions = showSearch && searchValue ? getFilteredOptions() : [];
243
+ return /*#__PURE__*/_jsxs("div", {
244
+ ref: containerRef,
245
+ className: classNames,
246
+ style: style,
247
+ children: [/*#__PURE__*/_jsxs("div", {
248
+ className: "kage-cascader-selector",
249
+ onClick: function onClick() {
250
+ return setOpen(!isOpen);
251
+ },
252
+ children: [/*#__PURE__*/_jsx("span", {
253
+ className: "kage-cascader-selection ".concat(value.length === 0 ? 'kage-cascader-selection-placeholder' : ''),
254
+ children: value.length > 0 ? getDisplayLabel() : placeholder
255
+ }), allowClear && value.length > 0 && !disabled && /*#__PURE__*/_jsx("span", {
256
+ className: "kage-cascader-clear",
257
+ onClick: handleClear,
258
+ children: "\xD7"
259
+ }), /*#__PURE__*/_jsx("span", {
260
+ className: "kage-cascader-arrow ".concat(isOpen ? 'kage-cascader-arrow-open' : ''),
261
+ children: "\u25BC"
262
+ })]
263
+ }), isOpen && /*#__PURE__*/_jsxs("div", {
264
+ className: "kage-cascader-dropdown",
265
+ children: [showSearch && /*#__PURE__*/_jsx("div", {
266
+ className: "kage-cascader-search",
267
+ children: /*#__PURE__*/_jsx("input", {
268
+ ref: searchInputRef,
269
+ type: "text",
270
+ className: "kage-cascader-search-input",
271
+ placeholder: "\u8BF7\u8F93\u5165\u641C\u7D22",
272
+ value: searchValue,
273
+ onChange: function onChange(e) {
274
+ return setSearchValue(e.target.value);
275
+ }
276
+ })
277
+ }), showSearch && searchValue ? /*#__PURE__*/_jsx("div", {
278
+ className: "kage-cascader-search-result",
279
+ children: filteredOptions.length > 0 ? filteredOptions.map(function (item, index) {
280
+ return /*#__PURE__*/_jsx("div", {
281
+ className: "kage-cascader-search-option",
282
+ onClick: function onClick() {
283
+ if (controlledValue === undefined) {
284
+ setInternalValue(item.value);
285
+ }
286
+ onChange === null || onChange === void 0 || onChange(item.value, item.path);
287
+ setOpen(false);
288
+ },
289
+ children: item.path.map(function (opt) {
290
+ return opt.label;
291
+ }).join(' / ')
292
+ }, index);
293
+ }) : /*#__PURE__*/_jsx("div", {
294
+ className: "kage-cascader-empty",
295
+ children: notFoundContent
296
+ })
297
+ }) :
298
+ /*#__PURE__*/
299
+ /* 级联菜单 */
300
+ _jsx("div", {
301
+ className: "kage-cascader-menus",
302
+ children: getMenus().map(function (menu, level) {
303
+ return /*#__PURE__*/_jsx("ul", {
304
+ className: "kage-cascader-menu",
305
+ children: menu.map(function (option) {
306
+ var isActive = activeValue[level] === option.value;
307
+ var isSelected = value[level] === option.value;
308
+ var hasChildren = option.children && option.children.length > 0;
309
+ var optionClassNames = ['kage-cascader-menu-item', isActive && 'kage-cascader-menu-item-active', isSelected && 'kage-cascader-menu-item-selected', option.disabled && 'kage-cascader-menu-item-disabled'].filter(Boolean).join(' ');
310
+ return /*#__PURE__*/_jsxs("li", {
311
+ className: optionClassNames,
312
+ onClick: function onClick() {
313
+ return handleSelect(option, level);
314
+ },
315
+ onMouseEnter: function onMouseEnter() {
316
+ return handleMouseEnter(option, level);
317
+ },
318
+ children: [/*#__PURE__*/_jsx("span", {
319
+ className: "kage-cascader-menu-item-label",
320
+ children: option.label
321
+ }), hasChildren && /*#__PURE__*/_jsx("span", {
322
+ className: "kage-cascader-menu-item-arrow",
323
+ children: "\u25B6"
324
+ })]
325
+ }, option.value);
326
+ })
327
+ }, level);
328
+ })
329
+ })]
330
+ })]
331
+ });
332
+ };
333
+ export default Cascader;