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
package/dist/cjs/index.js CHANGED
@@ -1,12 +1,271 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
7
+ Object.defineProperty(exports, "Anchor", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _Anchor.default;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "AnchorLink", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _Anchor.AnchorLink;
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "AutoComplete", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _AutoComplete.default;
23
+ }
24
+ });
25
+ Object.defineProperty(exports, "Breadcrumb", {
26
+ enumerable: true,
27
+ get: function get() {
28
+ return _Breadcrumb.default;
29
+ }
30
+ });
31
+ Object.defineProperty(exports, "BreadcrumbItem", {
32
+ enumerable: true,
33
+ get: function get() {
34
+ return _Breadcrumb.BreadcrumbItem;
35
+ }
36
+ });
37
+ Object.defineProperty(exports, "BreadcrumbSeparator", {
38
+ enumerable: true,
39
+ get: function get() {
40
+ return _Breadcrumb.BreadcrumbSeparator;
41
+ }
42
+ });
6
43
  Object.defineProperty(exports, "Button", {
7
44
  enumerable: true,
8
45
  get: function get() {
9
46
  return _Button.Button;
10
47
  }
11
48
  });
12
- var _Button = require("./Button");
49
+ Object.defineProperty(exports, "Cascader", {
50
+ enumerable: true,
51
+ get: function get() {
52
+ return _Cascader.default;
53
+ }
54
+ });
55
+ Object.defineProperty(exports, "Checkbox", {
56
+ enumerable: true,
57
+ get: function get() {
58
+ return _Checkbox.default;
59
+ }
60
+ });
61
+ Object.defineProperty(exports, "CheckboxGroup", {
62
+ enumerable: true,
63
+ get: function get() {
64
+ return _Checkbox.CheckboxGroup;
65
+ }
66
+ });
67
+ Object.defineProperty(exports, "Col", {
68
+ enumerable: true,
69
+ get: function get() {
70
+ return _Grid.Col;
71
+ }
72
+ });
73
+ Object.defineProperty(exports, "ColorPicker", {
74
+ enumerable: true,
75
+ get: function get() {
76
+ return _ColorPicker.default;
77
+ }
78
+ });
79
+ Object.defineProperty(exports, "Compact", {
80
+ enumerable: true,
81
+ get: function get() {
82
+ return _Space.Compact;
83
+ }
84
+ });
85
+ Object.defineProperty(exports, "Content", {
86
+ enumerable: true,
87
+ get: function get() {
88
+ return _Layout.Content;
89
+ }
90
+ });
91
+ Object.defineProperty(exports, "DatePicker", {
92
+ enumerable: true,
93
+ get: function get() {
94
+ return _DatePicker.default;
95
+ }
96
+ });
97
+ Object.defineProperty(exports, "Divider", {
98
+ enumerable: true,
99
+ get: function get() {
100
+ return _Divider.Divider;
101
+ }
102
+ });
103
+ Object.defineProperty(exports, "Dropdown", {
104
+ enumerable: true,
105
+ get: function get() {
106
+ return _Dropdown.default;
107
+ }
108
+ });
109
+ Object.defineProperty(exports, "DropdownButton", {
110
+ enumerable: true,
111
+ get: function get() {
112
+ return _Dropdown.DropdownButton;
113
+ }
114
+ });
115
+ Object.defineProperty(exports, "Flex", {
116
+ enumerable: true,
117
+ get: function get() {
118
+ return _Flex.Flex;
119
+ }
120
+ });
121
+ Object.defineProperty(exports, "Footer", {
122
+ enumerable: true,
123
+ get: function get() {
124
+ return _Layout.Footer;
125
+ }
126
+ });
127
+ Object.defineProperty(exports, "Form", {
128
+ enumerable: true,
129
+ get: function get() {
130
+ return _Form.default;
131
+ }
132
+ });
133
+ Object.defineProperty(exports, "FormItem", {
134
+ enumerable: true,
135
+ get: function get() {
136
+ return _Form.FormItem;
137
+ }
138
+ });
139
+ Object.defineProperty(exports, "Grid", {
140
+ enumerable: true,
141
+ get: function get() {
142
+ return _Grid.default;
143
+ }
144
+ });
145
+ Object.defineProperty(exports, "Header", {
146
+ enumerable: true,
147
+ get: function get() {
148
+ return _Layout.Header;
149
+ }
150
+ });
151
+ Object.defineProperty(exports, "Layout", {
152
+ enumerable: true,
153
+ get: function get() {
154
+ return _Layout.default;
155
+ }
156
+ });
157
+ Object.defineProperty(exports, "Link", {
158
+ enumerable: true,
159
+ get: function get() {
160
+ return _Typography.Link;
161
+ }
162
+ });
163
+ Object.defineProperty(exports, "Masonry", {
164
+ enumerable: true,
165
+ get: function get() {
166
+ return _Masonry.Masonry;
167
+ }
168
+ });
169
+ Object.defineProperty(exports, "Menu", {
170
+ enumerable: true,
171
+ get: function get() {
172
+ return _Menu.default;
173
+ }
174
+ });
175
+ Object.defineProperty(exports, "Pagination", {
176
+ enumerable: true,
177
+ get: function get() {
178
+ return _Pagination.default;
179
+ }
180
+ });
181
+ Object.defineProperty(exports, "Panel", {
182
+ enumerable: true,
183
+ get: function get() {
184
+ return _Splitter.Panel;
185
+ }
186
+ });
187
+ Object.defineProperty(exports, "Paragraph", {
188
+ enumerable: true,
189
+ get: function get() {
190
+ return _Typography.Paragraph;
191
+ }
192
+ });
193
+ Object.defineProperty(exports, "Row", {
194
+ enumerable: true,
195
+ get: function get() {
196
+ return _Grid.Row;
197
+ }
198
+ });
199
+ Object.defineProperty(exports, "Sider", {
200
+ enumerable: true,
201
+ get: function get() {
202
+ return _Layout.Sider;
203
+ }
204
+ });
205
+ Object.defineProperty(exports, "Space", {
206
+ enumerable: true,
207
+ get: function get() {
208
+ return _Space.default;
209
+ }
210
+ });
211
+ Object.defineProperty(exports, "Splitter", {
212
+ enumerable: true,
213
+ get: function get() {
214
+ return _Splitter.default;
215
+ }
216
+ });
217
+ Object.defineProperty(exports, "Steps", {
218
+ enumerable: true,
219
+ get: function get() {
220
+ return _Steps.default;
221
+ }
222
+ });
223
+ Object.defineProperty(exports, "Tabs", {
224
+ enumerable: true,
225
+ get: function get() {
226
+ return _Tabs.default;
227
+ }
228
+ });
229
+ Object.defineProperty(exports, "Text", {
230
+ enumerable: true,
231
+ get: function get() {
232
+ return _Typography.Text;
233
+ }
234
+ });
235
+ Object.defineProperty(exports, "Title", {
236
+ enumerable: true,
237
+ get: function get() {
238
+ return _Typography.Title;
239
+ }
240
+ });
241
+ Object.defineProperty(exports, "Typography", {
242
+ enumerable: true,
243
+ get: function get() {
244
+ return _Typography.default;
245
+ }
246
+ });
247
+ var _Button = require("./Button");
248
+ var _Typography = _interopRequireWildcard(require("./Typography"));
249
+ var _Divider = require("./Divider");
250
+ var _Flex = require("./Flex");
251
+ var _Grid = _interopRequireWildcard(require("./Grid"));
252
+ var _Layout = _interopRequireWildcard(require("./Layout"));
253
+ var _Masonry = require("./Masonry");
254
+ var _Space = _interopRequireWildcard(require("./Space"));
255
+ var _Splitter = _interopRequireWildcard(require("./Splitter"));
256
+ var _Anchor = _interopRequireWildcard(require("./Anchor"));
257
+ var _Breadcrumb = _interopRequireWildcard(require("./Breadcrumb"));
258
+ var _Dropdown = _interopRequireWildcard(require("./Dropdown"));
259
+ var _Menu = _interopRequireDefault(require("./Menu"));
260
+ var _Pagination = _interopRequireDefault(require("./Pagination"));
261
+ var _Steps = _interopRequireDefault(require("./Steps"));
262
+ var _Tabs = _interopRequireDefault(require("./Tabs"));
263
+ var _AutoComplete = _interopRequireDefault(require("./AutoComplete"));
264
+ var _Cascader = _interopRequireDefault(require("./Cascader"));
265
+ var _Checkbox = _interopRequireWildcard(require("./Checkbox"));
266
+ var _ColorPicker = _interopRequireDefault(require("./ColorPicker"));
267
+ var _DatePicker = _interopRequireDefault(require("./DatePicker"));
268
+ var _Form = _interopRequireWildcard(require("./Form"));
269
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
270
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
271
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -0,0 +1,56 @@
1
+ import React from 'react';
2
+ import './style.less';
3
+ export interface AnchorLinkProps {
4
+ /** 锚点链接 */
5
+ href: string;
6
+ /** 显示文字 */
7
+ title: React.ReactNode;
8
+ /** 子链接 */
9
+ children?: React.ReactNode;
10
+ /** 自定义类名 */
11
+ className?: string;
12
+ }
13
+ export declare const AnchorLink: React.FC<AnchorLinkProps>;
14
+ export interface AnchorItem {
15
+ key: string;
16
+ href: string;
17
+ title: React.ReactNode;
18
+ children?: AnchorItem[];
19
+ }
20
+ export interface AnchorProps {
21
+ /** 锚点配置列表 */
22
+ items?: AnchorItem[];
23
+ /** 固定模式 */
24
+ affix?: boolean;
25
+ /** 距离窗口顶部达到指定偏移量后触发 */
26
+ offsetTop?: number;
27
+ /** 锚点滚动偏移量 */
28
+ targetOffset?: number;
29
+ /** 滚动容器 */
30
+ getContainer?: () => HTMLElement | Window;
31
+ /** 是否显示小圆点 */
32
+ showInkInFixed?: boolean;
33
+ /** 点击锚点回调 */
34
+ onClick?: (e: React.MouseEvent, link: {
35
+ title: React.ReactNode;
36
+ href: string;
37
+ }) => void;
38
+ /** 滚动变化回调 */
39
+ onChange?: (currentActiveLink: string) => void;
40
+ /** 当前激活的锚点 */
41
+ getCurrentAnchor?: (activeLink: string) => string;
42
+ /** 方向 */
43
+ direction?: 'vertical' | 'horizontal';
44
+ /** 是否禁用滚动监听(静态模式) */
45
+ replace?: boolean;
46
+ /** 子元素 */
47
+ children?: React.ReactNode;
48
+ /** 自定义类名 */
49
+ className?: string;
50
+ /** 自定义样式 */
51
+ style?: React.CSSProperties;
52
+ }
53
+ export declare const Anchor: React.FC<AnchorProps> & {
54
+ Link: typeof AnchorLink;
55
+ };
56
+ export default Anchor;
@@ -0,0 +1,302 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ 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) { function e(_x) { return _e.apply(this, arguments); } e.toString = function () { return _e.toString(); }; return e; }(function (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 (_e2) { function e(_x2) { return _e2.apply(this, arguments); } e.toString = function () { return _e2.toString(); }; return e; }(function (e) { didErr = true; err = e; }), f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
8
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
9
+ 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."); }
10
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
11
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
12
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13
+ 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."); }
14
+ 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); }
15
+ 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; }
16
+ 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; } }
17
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
+ import React, { useState, useEffect, useCallback, useRef } from 'react';
19
+ import "./style.less";
20
+
21
+ // ============ Anchor Link 锚点链接 ============
22
+ import { jsx as _jsx } from "react/jsx-runtime";
23
+ import { jsxs as _jsxs } from "react/jsx-runtime";
24
+ export var AnchorLink = function AnchorLink(_ref) {
25
+ var href = _ref.href,
26
+ title = _ref.title,
27
+ children = _ref.children,
28
+ _ref$className = _ref.className,
29
+ className = _ref$className === void 0 ? '' : _ref$className;
30
+ // 这个组件主要用于声明式配置,实际渲染在 Anchor 中处理
31
+ return null;
32
+ };
33
+ AnchorLink.displayName = 'AnchorLink';
34
+
35
+ // ============ Anchor 锚点组件 ============
36
+
37
+ // 获取元素距离顶部的距离
38
+ var getOffsetTop = function getOffsetTop(element, container) {
39
+ if (!element) return 0;
40
+ var rect = element.getBoundingClientRect();
41
+ if (container === window) {
42
+ return rect.top + window.scrollY;
43
+ }
44
+ var containerEl = container;
45
+ return rect.top - containerEl.getBoundingClientRect().top + containerEl.scrollTop;
46
+ };
47
+
48
+ // 获取当前滚动位置
49
+ var getScrollTop = function getScrollTop(container) {
50
+ if (container === window) {
51
+ return window.scrollY || document.documentElement.scrollTop;
52
+ }
53
+ return container.scrollTop;
54
+ };
55
+
56
+ // 滚动到指定元素
57
+ var scrollToElement = function scrollToElement(element, container) {
58
+ var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
59
+ var rect = element.getBoundingClientRect();
60
+ if (container === window) {
61
+ var targetTop = rect.top + window.scrollY - offset;
62
+ window.scrollTo({
63
+ top: targetTop,
64
+ behavior: 'smooth'
65
+ });
66
+ } else {
67
+ var containerEl = container;
68
+ var _targetTop = rect.top - containerEl.getBoundingClientRect().top + containerEl.scrollTop - offset;
69
+ containerEl.scrollTo({
70
+ top: _targetTop,
71
+ behavior: 'smooth'
72
+ });
73
+ }
74
+ };
75
+ export var Anchor = function Anchor(_ref2) {
76
+ var items = _ref2.items,
77
+ _ref2$affix = _ref2.affix,
78
+ affix = _ref2$affix === void 0 ? false : _ref2$affix,
79
+ _ref2$offsetTop = _ref2.offsetTop,
80
+ offsetTop = _ref2$offsetTop === void 0 ? 0 : _ref2$offsetTop,
81
+ _ref2$targetOffset = _ref2.targetOffset,
82
+ targetOffset = _ref2$targetOffset === void 0 ? 0 : _ref2$targetOffset,
83
+ _ref2$getContainer = _ref2.getContainer,
84
+ getContainer = _ref2$getContainer === void 0 ? function () {
85
+ return window;
86
+ } : _ref2$getContainer,
87
+ _ref2$showInkInFixed = _ref2.showInkInFixed,
88
+ showInkInFixed = _ref2$showInkInFixed === void 0 ? false : _ref2$showInkInFixed,
89
+ onClick = _ref2.onClick,
90
+ onChange = _ref2.onChange,
91
+ getCurrentAnchor = _ref2.getCurrentAnchor,
92
+ _ref2$direction = _ref2.direction,
93
+ direction = _ref2$direction === void 0 ? 'vertical' : _ref2$direction,
94
+ _ref2$replace = _ref2.replace,
95
+ replace = _ref2$replace === void 0 ? false : _ref2$replace,
96
+ children = _ref2.children,
97
+ _ref2$className = _ref2.className,
98
+ className = _ref2$className === void 0 ? '' : _ref2$className,
99
+ style = _ref2.style;
100
+ var _useState = useState(''),
101
+ _useState2 = _slicedToArray(_useState, 2),
102
+ activeLink = _useState2[0],
103
+ setActiveLink = _useState2[1];
104
+ var _useState3 = useState({}),
105
+ _useState4 = _slicedToArray(_useState3, 2),
106
+ inkStyle = _useState4[0],
107
+ setInkStyle = _useState4[1];
108
+ var anchorRef = useRef(null);
109
+ var linksRef = useRef(new Map());
110
+
111
+ // 从 children 解析 items
112
+ var getItemsFromChildren = useCallback(function () {
113
+ if (items) return items;
114
+ var result = [];
115
+ React.Children.forEach(children, function (child) {
116
+ var _child$type;
117
+ if ( /*#__PURE__*/React.isValidElement(child) && ((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === 'AnchorLink') {
118
+ var _ref3 = child.props,
119
+ href = _ref3.href,
120
+ title = _ref3.title,
121
+ subChildren = _ref3.children;
122
+ var item = {
123
+ key: href,
124
+ href: href,
125
+ title: title
126
+ };
127
+ if (subChildren) {
128
+ item.children = [];
129
+ React.Children.forEach(subChildren, function (subChild) {
130
+ var _subChild$type;
131
+ if ( /*#__PURE__*/React.isValidElement(subChild) && ((_subChild$type = subChild.type) === null || _subChild$type === void 0 ? void 0 : _subChild$type.displayName) === 'AnchorLink') {
132
+ var subProps = subChild.props;
133
+ item.children.push({
134
+ key: subProps.href,
135
+ href: subProps.href,
136
+ title: subProps.title
137
+ });
138
+ }
139
+ });
140
+ }
141
+ result.push(item);
142
+ }
143
+ });
144
+ return result;
145
+ }, [items, children]);
146
+ var anchorItems = getItemsFromChildren();
147
+
148
+ // 获取所有链接
149
+ var getAllLinks = useCallback(function (itemList) {
150
+ var links = [];
151
+ itemList.forEach(function (item) {
152
+ links.push(item.href);
153
+ if (item.children) {
154
+ links.push.apply(links, _toConsumableArray(getAllLinks(item.children)));
155
+ }
156
+ });
157
+ return links;
158
+ }, []);
159
+
160
+ // 更新墨点位置
161
+ var updateInk = useCallback(function (href) {
162
+ if (!href) {
163
+ setInkStyle({
164
+ opacity: 0
165
+ });
166
+ return;
167
+ }
168
+ var linkEl = linksRef.current.get(href);
169
+ if (!linkEl || !anchorRef.current) return;
170
+ var anchorRect = anchorRef.current.getBoundingClientRect();
171
+ var linkRect = linkEl.getBoundingClientRect();
172
+ if (direction === 'vertical') {
173
+ setInkStyle({
174
+ top: linkRect.top - anchorRect.top + linkRect.height / 2 - 4,
175
+ opacity: 1
176
+ });
177
+ } else {
178
+ // 水平方向:墨点在链接下方居中
179
+ setInkStyle({
180
+ left: linkRect.left - anchorRect.left + (linkRect.width - 20) / 2,
181
+ opacity: 1
182
+ });
183
+ }
184
+ }, [direction]);
185
+
186
+ // 滚动监听(replace 模式下不监听)
187
+ useEffect(function () {
188
+ if (replace) return;
189
+ var container = getContainer();
190
+ var links = getAllLinks(anchorItems);
191
+ var handleScroll = function handleScroll() {
192
+ var currentActive = '';
193
+
194
+ // 找到当前视口中最靠近顶部的锚点
195
+ var _iterator = _createForOfIteratorHelper(links),
196
+ _step;
197
+ try {
198
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
199
+ var href = _step.value;
200
+ var targetId = href.startsWith('#') ? href.slice(1) : href;
201
+ var element = document.getElementById(targetId);
202
+ if (element) {
203
+ var rect = element.getBoundingClientRect();
204
+ // 元素顶部在视口顶部 + 偏移量之上,说明已经滚动过了这个锚点
205
+ if (rect.top <= targetOffset + 100) {
206
+ currentActive = href;
207
+ }
208
+ }
209
+ }
210
+ } catch (err) {
211
+ _iterator.e(err);
212
+ } finally {
213
+ _iterator.f();
214
+ }
215
+ if (currentActive !== activeLink) {
216
+ var finalActive = getCurrentAnchor ? getCurrentAnchor(currentActive) : currentActive;
217
+ setActiveLink(finalActive);
218
+ onChange === null || onChange === void 0 || onChange(finalActive);
219
+ updateInk(finalActive);
220
+ }
221
+ };
222
+ container.addEventListener('scroll', handleScroll);
223
+ // 初始化时延迟执行,确保 DOM 已渲染
224
+ var timer = setTimeout(handleScroll, 100);
225
+ return function () {
226
+ container.removeEventListener('scroll', handleScroll);
227
+ clearTimeout(timer);
228
+ };
229
+ }, [anchorItems, getContainer, targetOffset, activeLink, onChange, getCurrentAnchor, getAllLinks, updateInk, replace]);
230
+
231
+ // 处理点击
232
+ var handleClick = function handleClick(e, item) {
233
+ e.preventDefault();
234
+
235
+ // replace 模式下不滚动,只更新状态
236
+ if (!replace) {
237
+ var targetId = item.href.startsWith('#') ? item.href.slice(1) : item.href;
238
+ var element = document.getElementById(targetId);
239
+ var container = getContainer();
240
+ if (element) {
241
+ scrollToElement(element, container, targetOffset);
242
+ }
243
+ }
244
+ setActiveLink(item.href);
245
+ updateInk(item.href);
246
+ onClick === null || onClick === void 0 || onClick(e, {
247
+ title: item.title,
248
+ href: item.href
249
+ });
250
+ };
251
+
252
+ // 渲染链接
253
+ var renderLink = function renderLink(item) {
254
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
255
+ var isActive = activeLink === item.href;
256
+ return /*#__PURE__*/_jsxs("div", {
257
+ className: "kage-anchor-link-wrapper",
258
+ children: [/*#__PURE__*/_jsx("a", {
259
+ ref: function ref(el) {
260
+ if (el) linksRef.current.set(item.href, el);
261
+ },
262
+ className: "kage-anchor-link ".concat(isActive ? 'kage-anchor-link-active' : ''),
263
+ href: item.href,
264
+ title: typeof item.title === 'string' ? item.title : undefined,
265
+ onClick: function onClick(e) {
266
+ return handleClick(e, item);
267
+ },
268
+ style: {
269
+ paddingLeft: direction === 'vertical' ? 16 + level * 16 : undefined
270
+ },
271
+ children: item.title
272
+ }), item.children && item.children.length > 0 && /*#__PURE__*/_jsx("div", {
273
+ className: "kage-anchor-link-children",
274
+ children: item.children.map(function (child) {
275
+ return renderLink(child, level + 1);
276
+ })
277
+ })]
278
+ }, item.key);
279
+ };
280
+ var classNames = ['kage-anchor', "kage-anchor-".concat(direction), affix && 'kage-anchor-fixed', className].filter(Boolean).join(' ');
281
+ var anchorStyle = _objectSpread(_objectSpread({}, style), affix ? {
282
+ position: 'fixed',
283
+ top: offsetTop
284
+ } : {});
285
+ return /*#__PURE__*/_jsxs("div", {
286
+ ref: anchorRef,
287
+ className: classNames,
288
+ style: anchorStyle,
289
+ children: [(showInkInFixed || !affix) && /*#__PURE__*/_jsx("span", {
290
+ className: "kage-anchor-ink ".concat(activeLink ? 'kage-anchor-ink-visible' : ''),
291
+ style: inkStyle
292
+ }), /*#__PURE__*/_jsx("div", {
293
+ className: "kage-anchor-content",
294
+ children: anchorItems.map(function (item) {
295
+ return renderLink(item);
296
+ })
297
+ })]
298
+ });
299
+ };
300
+ Anchor.Link = AnchorLink;
301
+ Anchor.displayName = 'Anchor';
302
+ export default Anchor;