@canvas-components/react-components 0.3.18 → 0.3.20

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.
package/dist/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import * as React from 'react';
2
- import { forwardRef, useRef, useEffect, useImperativeHandle, createContext, useState, useMemo, useLayoutEffect, useContext, useSyncExternalStore, cloneElement, Fragment as Fragment$1, useId } from 'react';
2
+ import { forwardRef, createElement, useRef, useEffect, useImperativeHandle, createContext, useState, useLayoutEffect, useMemo, useSyncExternalStore, useContext, isValidElement, cloneElement, Fragment as Fragment$1, useId, Children } from 'react';
3
+ import { iconDefinitions, iconNames } from '@canvas-components/icons';
3
4
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
5
+ import * as ReactDOM from 'react-dom';
4
6
  import { createPortal } from 'react-dom';
5
7
 
6
8
  // #style-inject:#style-inject
@@ -26,7 +28,1263 @@ function styleInject(css, { insertAt } = {}) {
26
28
  }
27
29
 
28
30
  // src/styles/variables.css
29
- styleInject(":root {\n --canvas-react-color-primary: #1677ff;\n --canvas-react-color-primary-hover: #4096ff;\n --canvas-react-color-border: #d9d9d9;\n --canvas-react-color-border-strong: #bfbfbf;\n --canvas-react-color-text: #1f2937;\n --canvas-react-color-text-muted: #6b7280;\n --canvas-react-color-bg: #ffffff;\n --canvas-react-color-bg-soft: #f5f5f5;\n --canvas-react-color-bg-hover: #f3f4f6;\n --canvas-react-color-bg-active: #e6f4ff;\n --canvas-react-shadow-focus: 0 0 0 2px rgba(22, 119, 255, 0.12);\n --canvas-react-shadow-popup: 0 8px 24px rgba(15, 23, 42, 0.16);\n --canvas-react-radius-sm: 6px;\n --canvas-react-radius-md: 8px;\n --canvas-react-control-height: 32px;\n --canvas-react-font-size: 14px;\n --canvas-react-control-padding-inline: 11px;\n --canvas-react-control-padding-block: 0px;\n --canvas-react-content-zoom: 1;\n}\n.canvas-react-scrollbar {\n scrollbar-width: thin;\n}\n.canvas-react-scrollbar::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n}\n.canvas-react-scrollbar::-webkit-scrollbar-track {\n background: transparent;\n}\n.canvas-react-scrollbar::-webkit-scrollbar-thumb {\n min-height: 32px;\n border: 2px solid transparent;\n border-radius: 999px;\n background: #aeb4bd;\n background-clip: content-box;\n}\n.canvas-react-scrollbar::-webkit-scrollbar-thumb:hover {\n background: #8f98a5;\n background-clip: content-box;\n}\n.canvas-react-scrollbar::-webkit-scrollbar-corner {\n background: transparent;\n}\n");
31
+ styleInject(":root {\n --canvas-react-color-primary: #1677ff;\n --canvas-react-color-primary-hover: #4096ff;\n --canvas-react-color-border: #d9d9d9;\n --canvas-react-color-border-strong: #bfbfbf;\n --canvas-react-color-text: #1f2937;\n --canvas-react-color-text-muted: #6b7280;\n --canvas-react-color-bg: #ffffff;\n --canvas-react-color-bg-soft: #f5f5f5;\n --canvas-react-color-bg-hover: #f3f4f6;\n --canvas-react-color-bg-active: #e6f4ff;\n --canvas-react-shadow-focus: 0 0 0 2px rgba(22, 119, 255, 0.12);\n --canvas-react-shadow-popup: 0 8px 24px rgba(15, 23, 42, 0.16);\n --canvas-react-radius-sm: 6px;\n --canvas-react-radius-md: 8px;\n --canvas-react-control-height: 32px;\n --canvas-react-font-size: 14px;\n --canvas-react-font-size-secondary: 12px;\n --canvas-react-font-size-label: 13px;\n --canvas-react-control-padding-inline: 11px;\n --canvas-react-control-padding-block: 0px;\n --canvas-react-content-zoom: 1;\n}\n.canvas-react-scrollbar {\n scrollbar-width: thin;\n}\n.canvas-react-scrollbar::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n}\n.canvas-react-scrollbar::-webkit-scrollbar-track {\n background: transparent;\n}\n.canvas-react-scrollbar::-webkit-scrollbar-thumb {\n min-height: 32px;\n border: 2px solid transparent;\n border-radius: 999px;\n background: #aeb4bd;\n background-clip: content-box;\n}\n.canvas-react-scrollbar::-webkit-scrollbar-thumb:hover {\n background: #8f98a5;\n background-clip: content-box;\n}\n.canvas-react-scrollbar::-webkit-scrollbar-corner {\n background: transparent;\n}\n");
32
+ var REACT_ICON_DEFINITIONS = iconDefinitions;
33
+
34
+ // src/components/icon/style.css
35
+ styleInject(".canvas-react-icon {\n display: inline-block;\n vertical-align: -0.125em;\n color: inherit;\n}\n.canvas-react-icon-spin {\n animation: canvas-react-icon-spin 1s infinite linear;\n}\n@keyframes canvas-react-icon-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .canvas-react-icon-spin {\n animation-duration: 2s;\n }\n}\n");
36
+ var PRIMARY_COLOR_TOKEN = "__CC_REACT_ICON_PRIMARY__";
37
+ var SECONDARY_COLOR_TOKEN = "__CC_REACT_ICON_SECONDARY__";
38
+ var ReactIcon = forwardRef(
39
+ function ReactIcon2({
40
+ "aria-hidden": ariaHidden,
41
+ "aria-label": ariaLabel,
42
+ className,
43
+ color,
44
+ name,
45
+ rotate,
46
+ size = "1em",
47
+ spin = false,
48
+ style,
49
+ twoToneColor,
50
+ ...svgProps
51
+ }, ref) {
52
+ const icon = REACT_ICON_DEFINITIONS[name];
53
+ const [primaryColor, secondaryColor] = resolveTwoToneColors(twoToneColor);
54
+ const svgStyle = {
55
+ color,
56
+ width: size,
57
+ height: size,
58
+ transform: rotate == null ? void 0 : `rotate(${rotate}deg)`,
59
+ ...style
60
+ };
61
+ const classes = [
62
+ "canvas-react-icon",
63
+ spin ? "canvas-react-icon-spin" : void 0,
64
+ className
65
+ ].filter(Boolean).join(" ");
66
+ return createElement(
67
+ "svg",
68
+ {
69
+ ...svgProps,
70
+ ref,
71
+ className: classes,
72
+ viewBox: icon.icon.attrs.viewBox,
73
+ width: size,
74
+ height: size,
75
+ fill: "currentColor",
76
+ style: svgStyle,
77
+ role: ariaLabel ? "img" : svgProps.role,
78
+ "aria-label": ariaLabel,
79
+ "aria-hidden": ariaHidden ?? !ariaLabel,
80
+ focusable: "false",
81
+ "data-icon": icon.name
82
+ },
83
+ ...renderIconChildren(icon.icon, primaryColor, secondaryColor)
84
+ );
85
+ }
86
+ );
87
+ ReactIcon.displayName = "ReactIcon";
88
+ function createReactIconComponent(name) {
89
+ const IconComponent = forwardRef(
90
+ function NamedReactIcon(props, ref) {
91
+ return /* @__PURE__ */ jsx(ReactIcon, { ...props, name, ref });
92
+ }
93
+ );
94
+ IconComponent.displayName = `React${name}`;
95
+ return IconComponent;
96
+ }
97
+ function resolveTwoToneColors(twoToneColor) {
98
+ if (Array.isArray(twoToneColor)) {
99
+ return [twoToneColor[0], twoToneColor[1]];
100
+ }
101
+ const primaryColor = twoToneColor ?? "#1677ff";
102
+ return [
103
+ primaryColor,
104
+ twoToneColor ? lightenColor(twoToneColor) : "#e6f4ff"
105
+ ];
106
+ }
107
+ function lightenColor(color) {
108
+ const match = color.match(/^#([\da-f]{3}|[\da-f]{6})$/i);
109
+ if (!match) return "#e6e6e6";
110
+ const raw = match[1];
111
+ const normalized = raw.length === 3 ? raw.split("").map((digit) => digit + digit).join("") : raw;
112
+ const channels = normalized.match(/[\da-f]{2}/gi).map((channel) => Number.parseInt(channel, 16));
113
+ return `#${channels.map((channel) => Math.round(channel + (255 - channel) * 0.9)).map((channel) => channel.toString(16).padStart(2, "0")).join("")}`;
114
+ }
115
+ function renderIconChildren(node, primaryColor, secondaryColor) {
116
+ return (node.children ?? []).map((child, index) => {
117
+ const props = {};
118
+ for (const [key, rawValue] of Object.entries(child.attrs)) {
119
+ const value = rawValue.split(PRIMARY_COLOR_TOKEN).join(primaryColor).split(SECONDARY_COLOR_TOKEN).join(secondaryColor);
120
+ props[normalizeSvgAttribute(key)] = value;
121
+ }
122
+ return createElement(
123
+ child.tag,
124
+ { ...props, key: `${child.tag}-${index}` },
125
+ ...renderIconChildren(child, primaryColor, secondaryColor)
126
+ );
127
+ });
128
+ }
129
+ var SVG_ATTRIBUTE_NAMES = {
130
+ class: "className",
131
+ "clip-path": "clipPath",
132
+ "clip-rule": "clipRule",
133
+ "fill-rule": "fillRule",
134
+ "stroke-dasharray": "strokeDasharray",
135
+ "stroke-dashoffset": "strokeDashoffset",
136
+ "stroke-linecap": "strokeLinecap",
137
+ "stroke-linejoin": "strokeLinejoin",
138
+ "stroke-miterlimit": "strokeMiterlimit",
139
+ "stroke-width": "strokeWidth",
140
+ "xlink:href": "xlinkHref"
141
+ };
142
+ function normalizeSvgAttribute(name) {
143
+ return SVG_ATTRIBUTE_NAMES[name] ?? name.replace(/-([a-z])/g, (_match, letter) => letter.toUpperCase());
144
+ }
145
+ var reactIconNames = iconNames;
146
+
147
+ // src/components/icon/icons.tsx
148
+ var ReactAccountBookFilled = createReactIconComponent("AccountBookFilled");
149
+ var ReactAccountBookOutlined = createReactIconComponent(
150
+ "AccountBookOutlined"
151
+ );
152
+ var ReactAccountBookTwoTone = createReactIconComponent("AccountBookTwoTone");
153
+ var ReactAimOutlined = createReactIconComponent("AimOutlined");
154
+ var ReactAlertFilled = createReactIconComponent("AlertFilled");
155
+ var ReactAlertOutlined = createReactIconComponent("AlertOutlined");
156
+ var ReactAlertTwoTone = createReactIconComponent("AlertTwoTone");
157
+ var ReactAlibabaOutlined = createReactIconComponent("AlibabaOutlined");
158
+ var ReactAlignCenterOutlined = createReactIconComponent(
159
+ "AlignCenterOutlined"
160
+ );
161
+ var ReactAlignLeftOutlined = createReactIconComponent("AlignLeftOutlined");
162
+ var ReactAlignRightOutlined = createReactIconComponent("AlignRightOutlined");
163
+ var ReactAlipayCircleFilled = createReactIconComponent("AlipayCircleFilled");
164
+ var ReactAlipayCircleOutlined = createReactIconComponent(
165
+ "AlipayCircleOutlined"
166
+ );
167
+ var ReactAlipayOutlined = createReactIconComponent("AlipayOutlined");
168
+ var ReactAlipaySquareFilled = createReactIconComponent("AlipaySquareFilled");
169
+ var ReactAliwangwangFilled = createReactIconComponent("AliwangwangFilled");
170
+ var ReactAliwangwangOutlined = createReactIconComponent(
171
+ "AliwangwangOutlined"
172
+ );
173
+ var ReactAliyunOutlined = createReactIconComponent("AliyunOutlined");
174
+ var ReactAmazonCircleFilled = createReactIconComponent("AmazonCircleFilled");
175
+ var ReactAmazonOutlined = createReactIconComponent("AmazonOutlined");
176
+ var ReactAmazonSquareFilled = createReactIconComponent("AmazonSquareFilled");
177
+ var ReactAndroidFilled = createReactIconComponent("AndroidFilled");
178
+ var ReactAndroidOutlined = createReactIconComponent("AndroidOutlined");
179
+ var ReactAntCloudOutlined = createReactIconComponent("AntCloudOutlined");
180
+ var ReactAntDesignOutlined = createReactIconComponent("AntDesignOutlined");
181
+ var ReactAnthropicFilled = createReactIconComponent("AnthropicFilled");
182
+ var ReactApartmentOutlined = createReactIconComponent("ApartmentOutlined");
183
+ var ReactApiFilled = createReactIconComponent("ApiFilled");
184
+ var ReactApiOutlined = createReactIconComponent("ApiOutlined");
185
+ var ReactApiTwoTone = createReactIconComponent("ApiTwoTone");
186
+ var ReactAppleFilled = createReactIconComponent("AppleFilled");
187
+ var ReactAppleOutlined = createReactIconComponent("AppleOutlined");
188
+ var ReactAppstoreAddOutlined = createReactIconComponent(
189
+ "AppstoreAddOutlined"
190
+ );
191
+ var ReactAppstoreFilled = createReactIconComponent("AppstoreFilled");
192
+ var ReactAppstoreOutlined = createReactIconComponent("AppstoreOutlined");
193
+ var ReactAppstoreTwoTone = createReactIconComponent("AppstoreTwoTone");
194
+ var ReactAreaChartOutlined = createReactIconComponent("AreaChartOutlined");
195
+ var ReactArrowDownOutlined = createReactIconComponent("ArrowDownOutlined");
196
+ var ReactArrowLeftOutlined = createReactIconComponent("ArrowLeftOutlined");
197
+ var ReactArrowRightOutlined = createReactIconComponent("ArrowRightOutlined");
198
+ var ReactArrowUpOutlined = createReactIconComponent("ArrowUpOutlined");
199
+ var ReactArrowsAltOutlined = createReactIconComponent("ArrowsAltOutlined");
200
+ var ReactAudioFilled = createReactIconComponent("AudioFilled");
201
+ var ReactAudioMutedOutlined = createReactIconComponent("AudioMutedOutlined");
202
+ var ReactAudioOutlined = createReactIconComponent("AudioOutlined");
203
+ var ReactAudioTwoTone = createReactIconComponent("AudioTwoTone");
204
+ var ReactAuditOutlined = createReactIconComponent("AuditOutlined");
205
+ var ReactBackwardFilled = createReactIconComponent("BackwardFilled");
206
+ var ReactBackwardOutlined = createReactIconComponent("BackwardOutlined");
207
+ var ReactBaiduOutlined = createReactIconComponent("BaiduOutlined");
208
+ var ReactBankFilled = createReactIconComponent("BankFilled");
209
+ var ReactBankOutlined = createReactIconComponent("BankOutlined");
210
+ var ReactBankTwoTone = createReactIconComponent("BankTwoTone");
211
+ var ReactBarChartOutlined = createReactIconComponent("BarChartOutlined");
212
+ var ReactBarcodeOutlined = createReactIconComponent("BarcodeOutlined");
213
+ var ReactBarsOutlined = createReactIconComponent("BarsOutlined");
214
+ var ReactBehanceCircleFilled = createReactIconComponent(
215
+ "BehanceCircleFilled"
216
+ );
217
+ var ReactBehanceOutlined = createReactIconComponent("BehanceOutlined");
218
+ var ReactBehanceSquareFilled = createReactIconComponent(
219
+ "BehanceSquareFilled"
220
+ );
221
+ var ReactBehanceSquareOutlined = createReactIconComponent(
222
+ "BehanceSquareOutlined"
223
+ );
224
+ var ReactBellFilled = createReactIconComponent("BellFilled");
225
+ var ReactBellOutlined = createReactIconComponent("BellOutlined");
226
+ var ReactBellTwoTone = createReactIconComponent("BellTwoTone");
227
+ var ReactBgColorsOutlined = createReactIconComponent("BgColorsOutlined");
228
+ var ReactBilibiliFilled = createReactIconComponent("BilibiliFilled");
229
+ var ReactBilibiliOutlined = createReactIconComponent("BilibiliOutlined");
230
+ var ReactBlockOutlined = createReactIconComponent("BlockOutlined");
231
+ var ReactBoldOutlined = createReactIconComponent("BoldOutlined");
232
+ var ReactBookFilled = createReactIconComponent("BookFilled");
233
+ var ReactBookOutlined = createReactIconComponent("BookOutlined");
234
+ var ReactBookTwoTone = createReactIconComponent("BookTwoTone");
235
+ var ReactBorderBottomOutlined = createReactIconComponent(
236
+ "BorderBottomOutlined"
237
+ );
238
+ var ReactBorderHorizontalOutlined = createReactIconComponent(
239
+ "BorderHorizontalOutlined"
240
+ );
241
+ var ReactBorderInnerOutlined = createReactIconComponent(
242
+ "BorderInnerOutlined"
243
+ );
244
+ var ReactBorderLeftOutlined = createReactIconComponent("BorderLeftOutlined");
245
+ var ReactBorderOuterOutlined = createReactIconComponent(
246
+ "BorderOuterOutlined"
247
+ );
248
+ var ReactBorderOutlined = createReactIconComponent("BorderOutlined");
249
+ var ReactBorderRightOutlined = createReactIconComponent(
250
+ "BorderRightOutlined"
251
+ );
252
+ var ReactBorderTopOutlined = createReactIconComponent("BorderTopOutlined");
253
+ var ReactBorderVerticleOutlined = createReactIconComponent(
254
+ "BorderVerticleOutlined"
255
+ );
256
+ var ReactBorderlessTableOutlined = createReactIconComponent(
257
+ "BorderlessTableOutlined"
258
+ );
259
+ var ReactBoxPlotFilled = createReactIconComponent("BoxPlotFilled");
260
+ var ReactBoxPlotOutlined = createReactIconComponent("BoxPlotOutlined");
261
+ var ReactBoxPlotTwoTone = createReactIconComponent("BoxPlotTwoTone");
262
+ var ReactBranchesOutlined = createReactIconComponent("BranchesOutlined");
263
+ var ReactBugFilled = createReactIconComponent("BugFilled");
264
+ var ReactBugOutlined = createReactIconComponent("BugOutlined");
265
+ var ReactBugTwoTone = createReactIconComponent("BugTwoTone");
266
+ var ReactBuildFilled = createReactIconComponent("BuildFilled");
267
+ var ReactBuildOutlined = createReactIconComponent("BuildOutlined");
268
+ var ReactBuildTwoTone = createReactIconComponent("BuildTwoTone");
269
+ var ReactBulbFilled = createReactIconComponent("BulbFilled");
270
+ var ReactBulbOutlined = createReactIconComponent("BulbOutlined");
271
+ var ReactBulbTwoTone = createReactIconComponent("BulbTwoTone");
272
+ var ReactCalculatorFilled = createReactIconComponent("CalculatorFilled");
273
+ var ReactCalculatorOutlined = createReactIconComponent("CalculatorOutlined");
274
+ var ReactCalculatorTwoTone = createReactIconComponent("CalculatorTwoTone");
275
+ var ReactCalendarFilled = createReactIconComponent("CalendarFilled");
276
+ var ReactCalendarOutlined = createReactIconComponent("CalendarOutlined");
277
+ var ReactCalendarTwoTone = createReactIconComponent("CalendarTwoTone");
278
+ var ReactCameraFilled = createReactIconComponent("CameraFilled");
279
+ var ReactCameraOutlined = createReactIconComponent("CameraOutlined");
280
+ var ReactCameraTwoTone = createReactIconComponent("CameraTwoTone");
281
+ var ReactCarFilled = createReactIconComponent("CarFilled");
282
+ var ReactCarOutlined = createReactIconComponent("CarOutlined");
283
+ var ReactCarTwoTone = createReactIconComponent("CarTwoTone");
284
+ var ReactCaretDownFilled = createReactIconComponent("CaretDownFilled");
285
+ var ReactCaretDownOutlined = createReactIconComponent("CaretDownOutlined");
286
+ var ReactCaretLeftFilled = createReactIconComponent("CaretLeftFilled");
287
+ var ReactCaretLeftOutlined = createReactIconComponent("CaretLeftOutlined");
288
+ var ReactCaretRightFilled = createReactIconComponent("CaretRightFilled");
289
+ var ReactCaretRightOutlined = createReactIconComponent("CaretRightOutlined");
290
+ var ReactCaretUpFilled = createReactIconComponent("CaretUpFilled");
291
+ var ReactCaretUpOutlined = createReactIconComponent("CaretUpOutlined");
292
+ var ReactCarryOutFilled = createReactIconComponent("CarryOutFilled");
293
+ var ReactCarryOutOutlined = createReactIconComponent("CarryOutOutlined");
294
+ var ReactCarryOutTwoTone = createReactIconComponent("CarryOutTwoTone");
295
+ var ReactCheckCircleFilled = createReactIconComponent("CheckCircleFilled");
296
+ var ReactCheckCircleOutlined = createReactIconComponent(
297
+ "CheckCircleOutlined"
298
+ );
299
+ var ReactCheckCircleTwoTone = createReactIconComponent("CheckCircleTwoTone");
300
+ var ReactCheckOutlined = createReactIconComponent("CheckOutlined");
301
+ var ReactCheckSquareFilled = createReactIconComponent("CheckSquareFilled");
302
+ var ReactCheckSquareOutlined = createReactIconComponent(
303
+ "CheckSquareOutlined"
304
+ );
305
+ var ReactCheckSquareTwoTone = createReactIconComponent("CheckSquareTwoTone");
306
+ var ReactChromeFilled = createReactIconComponent("ChromeFilled");
307
+ var ReactChromeOutlined = createReactIconComponent("ChromeOutlined");
308
+ var ReactCiCircleFilled = createReactIconComponent("CiCircleFilled");
309
+ var ReactCiCircleOutlined = createReactIconComponent("CiCircleOutlined");
310
+ var ReactCiCircleTwoTone = createReactIconComponent("CiCircleTwoTone");
311
+ var ReactCiOutlined = createReactIconComponent("CiOutlined");
312
+ var ReactCiTwoTone = createReactIconComponent("CiTwoTone");
313
+ var ReactClaudeFilled = createReactIconComponent("ClaudeFilled");
314
+ var ReactClearOutlined = createReactIconComponent("ClearOutlined");
315
+ var ReactClockCircleFilled = createReactIconComponent("ClockCircleFilled");
316
+ var ReactClockCircleOutlined = createReactIconComponent(
317
+ "ClockCircleOutlined"
318
+ );
319
+ var ReactClockCircleTwoTone = createReactIconComponent("ClockCircleTwoTone");
320
+ var ReactCloseCircleFilled = createReactIconComponent("CloseCircleFilled");
321
+ var ReactCloseCircleOutlined = createReactIconComponent(
322
+ "CloseCircleOutlined"
323
+ );
324
+ var ReactCloseCircleTwoTone = createReactIconComponent("CloseCircleTwoTone");
325
+ var ReactCloseOutlined = createReactIconComponent("CloseOutlined");
326
+ var ReactCloseSquareFilled = createReactIconComponent("CloseSquareFilled");
327
+ var ReactCloseSquareOutlined = createReactIconComponent(
328
+ "CloseSquareOutlined"
329
+ );
330
+ var ReactCloseSquareTwoTone = createReactIconComponent("CloseSquareTwoTone");
331
+ var ReactCloudDownloadOutlined = createReactIconComponent(
332
+ "CloudDownloadOutlined"
333
+ );
334
+ var ReactCloudFilled = createReactIconComponent("CloudFilled");
335
+ var ReactCloudOutlined = createReactIconComponent("CloudOutlined");
336
+ var ReactCloudServerOutlined = createReactIconComponent(
337
+ "CloudServerOutlined"
338
+ );
339
+ var ReactCloudSyncOutlined = createReactIconComponent("CloudSyncOutlined");
340
+ var ReactCloudTwoTone = createReactIconComponent("CloudTwoTone");
341
+ var ReactCloudUploadOutlined = createReactIconComponent(
342
+ "CloudUploadOutlined"
343
+ );
344
+ var ReactClusterOutlined = createReactIconComponent("ClusterOutlined");
345
+ var ReactCodeFilled = createReactIconComponent("CodeFilled");
346
+ var ReactCodeOutlined = createReactIconComponent("CodeOutlined");
347
+ var ReactCodeSandboxCircleFilled = createReactIconComponent(
348
+ "CodeSandboxCircleFilled"
349
+ );
350
+ var ReactCodeSandboxOutlined = createReactIconComponent(
351
+ "CodeSandboxOutlined"
352
+ );
353
+ var ReactCodeSandboxSquareFilled = createReactIconComponent(
354
+ "CodeSandboxSquareFilled"
355
+ );
356
+ var ReactCodeTwoTone = createReactIconComponent("CodeTwoTone");
357
+ var ReactCodepenCircleFilled = createReactIconComponent(
358
+ "CodepenCircleFilled"
359
+ );
360
+ var ReactCodepenCircleOutlined = createReactIconComponent(
361
+ "CodepenCircleOutlined"
362
+ );
363
+ var ReactCodepenOutlined = createReactIconComponent("CodepenOutlined");
364
+ var ReactCodepenSquareFilled = createReactIconComponent(
365
+ "CodepenSquareFilled"
366
+ );
367
+ var ReactCoffeeOutlined = createReactIconComponent("CoffeeOutlined");
368
+ var ReactColumnHeightOutlined = createReactIconComponent(
369
+ "ColumnHeightOutlined"
370
+ );
371
+ var ReactColumnWidthOutlined = createReactIconComponent(
372
+ "ColumnWidthOutlined"
373
+ );
374
+ var ReactCommentOutlined = createReactIconComponent("CommentOutlined");
375
+ var ReactCompassFilled = createReactIconComponent("CompassFilled");
376
+ var ReactCompassOutlined = createReactIconComponent("CompassOutlined");
377
+ var ReactCompassTwoTone = createReactIconComponent("CompassTwoTone");
378
+ var ReactCompressOutlined = createReactIconComponent("CompressOutlined");
379
+ var ReactConsoleSqlOutlined = createReactIconComponent("ConsoleSqlOutlined");
380
+ var ReactContactsFilled = createReactIconComponent("ContactsFilled");
381
+ var ReactContactsOutlined = createReactIconComponent("ContactsOutlined");
382
+ var ReactContactsTwoTone = createReactIconComponent("ContactsTwoTone");
383
+ var ReactContainerFilled = createReactIconComponent("ContainerFilled");
384
+ var ReactContainerOutlined = createReactIconComponent("ContainerOutlined");
385
+ var ReactContainerTwoTone = createReactIconComponent("ContainerTwoTone");
386
+ var ReactControlFilled = createReactIconComponent("ControlFilled");
387
+ var ReactControlOutlined = createReactIconComponent("ControlOutlined");
388
+ var ReactControlTwoTone = createReactIconComponent("ControlTwoTone");
389
+ var ReactCopyFilled = createReactIconComponent("CopyFilled");
390
+ var ReactCopyOutlined = createReactIconComponent("CopyOutlined");
391
+ var ReactCopyTwoTone = createReactIconComponent("CopyTwoTone");
392
+ var ReactCopyrightCircleFilled = createReactIconComponent(
393
+ "CopyrightCircleFilled"
394
+ );
395
+ var ReactCopyrightCircleOutlined = createReactIconComponent(
396
+ "CopyrightCircleOutlined"
397
+ );
398
+ var ReactCopyrightCircleTwoTone = createReactIconComponent(
399
+ "CopyrightCircleTwoTone"
400
+ );
401
+ var ReactCopyrightOutlined = createReactIconComponent("CopyrightOutlined");
402
+ var ReactCopyrightTwoTone = createReactIconComponent("CopyrightTwoTone");
403
+ var ReactCreditCardFilled = createReactIconComponent("CreditCardFilled");
404
+ var ReactCreditCardOutlined = createReactIconComponent("CreditCardOutlined");
405
+ var ReactCreditCardTwoTone = createReactIconComponent("CreditCardTwoTone");
406
+ var ReactCrownFilled = createReactIconComponent("CrownFilled");
407
+ var ReactCrownOutlined = createReactIconComponent("CrownOutlined");
408
+ var ReactCrownTwoTone = createReactIconComponent("CrownTwoTone");
409
+ var ReactCustomerServiceFilled = createReactIconComponent(
410
+ "CustomerServiceFilled"
411
+ );
412
+ var ReactCustomerServiceOutlined = createReactIconComponent(
413
+ "CustomerServiceOutlined"
414
+ );
415
+ var ReactCustomerServiceTwoTone = createReactIconComponent(
416
+ "CustomerServiceTwoTone"
417
+ );
418
+ var ReactDashOutlined = createReactIconComponent("DashOutlined");
419
+ var ReactDashboardFilled = createReactIconComponent("DashboardFilled");
420
+ var ReactDashboardOutlined = createReactIconComponent("DashboardOutlined");
421
+ var ReactDashboardTwoTone = createReactIconComponent("DashboardTwoTone");
422
+ var ReactDatabaseFilled = createReactIconComponent("DatabaseFilled");
423
+ var ReactDatabaseOutlined = createReactIconComponent("DatabaseOutlined");
424
+ var ReactDatabaseTwoTone = createReactIconComponent("DatabaseTwoTone");
425
+ var ReactDeepSeekFilled = createReactIconComponent("DeepSeekFilled");
426
+ var ReactDeleteColumnOutlined = createReactIconComponent(
427
+ "DeleteColumnOutlined"
428
+ );
429
+ var ReactDeleteFilled = createReactIconComponent("DeleteFilled");
430
+ var ReactDeleteOutlined = createReactIconComponent("DeleteOutlined");
431
+ var ReactDeleteRowOutlined = createReactIconComponent("DeleteRowOutlined");
432
+ var ReactDeleteTwoTone = createReactIconComponent("DeleteTwoTone");
433
+ var ReactDeliveredProcedureOutlined = createReactIconComponent(
434
+ "DeliveredProcedureOutlined"
435
+ );
436
+ var ReactDeploymentUnitOutlined = createReactIconComponent(
437
+ "DeploymentUnitOutlined"
438
+ );
439
+ var ReactDesktopOutlined = createReactIconComponent("DesktopOutlined");
440
+ var ReactDiffFilled = createReactIconComponent("DiffFilled");
441
+ var ReactDiffOutlined = createReactIconComponent("DiffOutlined");
442
+ var ReactDiffTwoTone = createReactIconComponent("DiffTwoTone");
443
+ var ReactDingdingOutlined = createReactIconComponent("DingdingOutlined");
444
+ var ReactDingtalkCircleFilled = createReactIconComponent(
445
+ "DingtalkCircleFilled"
446
+ );
447
+ var ReactDingtalkOutlined = createReactIconComponent("DingtalkOutlined");
448
+ var ReactDingtalkSquareFilled = createReactIconComponent(
449
+ "DingtalkSquareFilled"
450
+ );
451
+ var ReactDisconnectOutlined = createReactIconComponent("DisconnectOutlined");
452
+ var ReactDiscordFilled = createReactIconComponent("DiscordFilled");
453
+ var ReactDiscordOutlined = createReactIconComponent("DiscordOutlined");
454
+ var ReactDislikeFilled = createReactIconComponent("DislikeFilled");
455
+ var ReactDislikeOutlined = createReactIconComponent("DislikeOutlined");
456
+ var ReactDislikeTwoTone = createReactIconComponent("DislikeTwoTone");
457
+ var ReactDockerOutlined = createReactIconComponent("DockerOutlined");
458
+ var ReactDollarCircleFilled = createReactIconComponent("DollarCircleFilled");
459
+ var ReactDollarCircleOutlined = createReactIconComponent(
460
+ "DollarCircleOutlined"
461
+ );
462
+ var ReactDollarCircleTwoTone = createReactIconComponent(
463
+ "DollarCircleTwoTone"
464
+ );
465
+ var ReactDollarOutlined = createReactIconComponent("DollarOutlined");
466
+ var ReactDollarTwoTone = createReactIconComponent("DollarTwoTone");
467
+ var ReactDotChartOutlined = createReactIconComponent("DotChartOutlined");
468
+ var ReactDotNetOutlined = createReactIconComponent("DotNetOutlined");
469
+ var ReactDoubleLeftOutlined = createReactIconComponent("DoubleLeftOutlined");
470
+ var ReactDoubleRightOutlined = createReactIconComponent(
471
+ "DoubleRightOutlined"
472
+ );
473
+ var ReactDownCircleFilled = createReactIconComponent("DownCircleFilled");
474
+ var ReactDownCircleOutlined = createReactIconComponent("DownCircleOutlined");
475
+ var ReactDownCircleTwoTone = createReactIconComponent("DownCircleTwoTone");
476
+ var ReactDownOutlined = createReactIconComponent("DownOutlined");
477
+ var ReactDownSquareFilled = createReactIconComponent("DownSquareFilled");
478
+ var ReactDownSquareOutlined = createReactIconComponent("DownSquareOutlined");
479
+ var ReactDownSquareTwoTone = createReactIconComponent("DownSquareTwoTone");
480
+ var ReactDownloadOutlined = createReactIconComponent("DownloadOutlined");
481
+ var ReactDragOutlined = createReactIconComponent("DragOutlined");
482
+ var ReactDribbbleCircleFilled = createReactIconComponent(
483
+ "DribbbleCircleFilled"
484
+ );
485
+ var ReactDribbbleOutlined = createReactIconComponent("DribbbleOutlined");
486
+ var ReactDribbbleSquareFilled = createReactIconComponent(
487
+ "DribbbleSquareFilled"
488
+ );
489
+ var ReactDribbbleSquareOutlined = createReactIconComponent(
490
+ "DribbbleSquareOutlined"
491
+ );
492
+ var ReactDropboxCircleFilled = createReactIconComponent(
493
+ "DropboxCircleFilled"
494
+ );
495
+ var ReactDropboxOutlined = createReactIconComponent("DropboxOutlined");
496
+ var ReactDropboxSquareFilled = createReactIconComponent(
497
+ "DropboxSquareFilled"
498
+ );
499
+ var ReactEditFilled = createReactIconComponent("EditFilled");
500
+ var ReactEditOutlined = createReactIconComponent("EditOutlined");
501
+ var ReactEditTwoTone = createReactIconComponent("EditTwoTone");
502
+ var ReactElevenLabsFilled = createReactIconComponent("ElevenLabsFilled");
503
+ var ReactEllipsisOutlined = createReactIconComponent("EllipsisOutlined");
504
+ var ReactEnterOutlined = createReactIconComponent("EnterOutlined");
505
+ var ReactEnvironmentFilled = createReactIconComponent("EnvironmentFilled");
506
+ var ReactEnvironmentOutlined = createReactIconComponent(
507
+ "EnvironmentOutlined"
508
+ );
509
+ var ReactEnvironmentTwoTone = createReactIconComponent("EnvironmentTwoTone");
510
+ var ReactEuroCircleFilled = createReactIconComponent("EuroCircleFilled");
511
+ var ReactEuroCircleOutlined = createReactIconComponent("EuroCircleOutlined");
512
+ var ReactEuroCircleTwoTone = createReactIconComponent("EuroCircleTwoTone");
513
+ var ReactEuroOutlined = createReactIconComponent("EuroOutlined");
514
+ var ReactEuroTwoTone = createReactIconComponent("EuroTwoTone");
515
+ var ReactExceptionOutlined = createReactIconComponent("ExceptionOutlined");
516
+ var ReactExclamationCircleFilled = createReactIconComponent(
517
+ "ExclamationCircleFilled"
518
+ );
519
+ var ReactExclamationCircleOutlined = createReactIconComponent(
520
+ "ExclamationCircleOutlined"
521
+ );
522
+ var ReactExclamationCircleTwoTone = createReactIconComponent(
523
+ "ExclamationCircleTwoTone"
524
+ );
525
+ var ReactExclamationOutlined = createReactIconComponent(
526
+ "ExclamationOutlined"
527
+ );
528
+ var ReactExpandAltOutlined = createReactIconComponent("ExpandAltOutlined");
529
+ var ReactExpandOutlined = createReactIconComponent("ExpandOutlined");
530
+ var ReactExperimentFilled = createReactIconComponent("ExperimentFilled");
531
+ var ReactExperimentOutlined = createReactIconComponent("ExperimentOutlined");
532
+ var ReactExperimentTwoTone = createReactIconComponent("ExperimentTwoTone");
533
+ var ReactExportOutlined = createReactIconComponent("ExportOutlined");
534
+ var ReactEyeFilled = createReactIconComponent("EyeFilled");
535
+ var ReactEyeInvisibleFilled = createReactIconComponent("EyeInvisibleFilled");
536
+ var ReactEyeInvisibleOutlined = createReactIconComponent(
537
+ "EyeInvisibleOutlined"
538
+ );
539
+ var ReactEyeInvisibleTwoTone = createReactIconComponent(
540
+ "EyeInvisibleTwoTone"
541
+ );
542
+ var ReactEyeOutlined = createReactIconComponent("EyeOutlined");
543
+ var ReactEyeTwoTone = createReactIconComponent("EyeTwoTone");
544
+ var ReactFacebookFilled = createReactIconComponent("FacebookFilled");
545
+ var ReactFacebookOutlined = createReactIconComponent("FacebookOutlined");
546
+ var ReactFallOutlined = createReactIconComponent("FallOutlined");
547
+ var ReactFastBackwardFilled = createReactIconComponent("FastBackwardFilled");
548
+ var ReactFastBackwardOutlined = createReactIconComponent(
549
+ "FastBackwardOutlined"
550
+ );
551
+ var ReactFastForwardFilled = createReactIconComponent("FastForwardFilled");
552
+ var ReactFastForwardOutlined = createReactIconComponent(
553
+ "FastForwardOutlined"
554
+ );
555
+ var ReactFieldBinaryOutlined = createReactIconComponent(
556
+ "FieldBinaryOutlined"
557
+ );
558
+ var ReactFieldNumberOutlined = createReactIconComponent(
559
+ "FieldNumberOutlined"
560
+ );
561
+ var ReactFieldStringOutlined = createReactIconComponent(
562
+ "FieldStringOutlined"
563
+ );
564
+ var ReactFieldTimeOutlined = createReactIconComponent("FieldTimeOutlined");
565
+ var ReactFileAddFilled = createReactIconComponent("FileAddFilled");
566
+ var ReactFileAddOutlined = createReactIconComponent("FileAddOutlined");
567
+ var ReactFileAddTwoTone = createReactIconComponent("FileAddTwoTone");
568
+ var ReactFileDoneOutlined = createReactIconComponent("FileDoneOutlined");
569
+ var ReactFileExcelFilled = createReactIconComponent("FileExcelFilled");
570
+ var ReactFileExcelOutlined = createReactIconComponent("FileExcelOutlined");
571
+ var ReactFileExcelTwoTone = createReactIconComponent("FileExcelTwoTone");
572
+ var ReactFileExclamationFilled = createReactIconComponent(
573
+ "FileExclamationFilled"
574
+ );
575
+ var ReactFileExclamationOutlined = createReactIconComponent(
576
+ "FileExclamationOutlined"
577
+ );
578
+ var ReactFileExclamationTwoTone = createReactIconComponent(
579
+ "FileExclamationTwoTone"
580
+ );
581
+ var ReactFileFilled = createReactIconComponent("FileFilled");
582
+ var ReactFileGifOutlined = createReactIconComponent("FileGifOutlined");
583
+ var ReactFileImageFilled = createReactIconComponent("FileImageFilled");
584
+ var ReactFileImageOutlined = createReactIconComponent("FileImageOutlined");
585
+ var ReactFileImageTwoTone = createReactIconComponent("FileImageTwoTone");
586
+ var ReactFileJpgOutlined = createReactIconComponent("FileJpgOutlined");
587
+ var ReactFileMarkdownFilled = createReactIconComponent("FileMarkdownFilled");
588
+ var ReactFileMarkdownOutlined = createReactIconComponent(
589
+ "FileMarkdownOutlined"
590
+ );
591
+ var ReactFileMarkdownTwoTone = createReactIconComponent(
592
+ "FileMarkdownTwoTone"
593
+ );
594
+ var ReactFileOutlined = createReactIconComponent("FileOutlined");
595
+ var ReactFilePdfFilled = createReactIconComponent("FilePdfFilled");
596
+ var ReactFilePdfOutlined = createReactIconComponent("FilePdfOutlined");
597
+ var ReactFilePdfTwoTone = createReactIconComponent("FilePdfTwoTone");
598
+ var ReactFilePptFilled = createReactIconComponent("FilePptFilled");
599
+ var ReactFilePptOutlined = createReactIconComponent("FilePptOutlined");
600
+ var ReactFilePptTwoTone = createReactIconComponent("FilePptTwoTone");
601
+ var ReactFileProtectOutlined = createReactIconComponent(
602
+ "FileProtectOutlined"
603
+ );
604
+ var ReactFileSearchOutlined = createReactIconComponent("FileSearchOutlined");
605
+ var ReactFileSyncOutlined = createReactIconComponent("FileSyncOutlined");
606
+ var ReactFileTextFilled = createReactIconComponent("FileTextFilled");
607
+ var ReactFileTextOutlined = createReactIconComponent("FileTextOutlined");
608
+ var ReactFileTextTwoTone = createReactIconComponent("FileTextTwoTone");
609
+ var ReactFileTwoTone = createReactIconComponent("FileTwoTone");
610
+ var ReactFileUnknownFilled = createReactIconComponent("FileUnknownFilled");
611
+ var ReactFileUnknownOutlined = createReactIconComponent(
612
+ "FileUnknownOutlined"
613
+ );
614
+ var ReactFileUnknownTwoTone = createReactIconComponent("FileUnknownTwoTone");
615
+ var ReactFileWordFilled = createReactIconComponent("FileWordFilled");
616
+ var ReactFileWordOutlined = createReactIconComponent("FileWordOutlined");
617
+ var ReactFileWordTwoTone = createReactIconComponent("FileWordTwoTone");
618
+ var ReactFileZipFilled = createReactIconComponent("FileZipFilled");
619
+ var ReactFileZipOutlined = createReactIconComponent("FileZipOutlined");
620
+ var ReactFileZipTwoTone = createReactIconComponent("FileZipTwoTone");
621
+ var ReactFilterFilled = createReactIconComponent("FilterFilled");
622
+ var ReactFilterOutlined = createReactIconComponent("FilterOutlined");
623
+ var ReactFilterTwoTone = createReactIconComponent("FilterTwoTone");
624
+ var ReactFireFilled = createReactIconComponent("FireFilled");
625
+ var ReactFireOutlined = createReactIconComponent("FireOutlined");
626
+ var ReactFireTwoTone = createReactIconComponent("FireTwoTone");
627
+ var ReactFlagFilled = createReactIconComponent("FlagFilled");
628
+ var ReactFlagOutlined = createReactIconComponent("FlagOutlined");
629
+ var ReactFlagTwoTone = createReactIconComponent("FlagTwoTone");
630
+ var ReactFolderAddFilled = createReactIconComponent("FolderAddFilled");
631
+ var ReactFolderAddOutlined = createReactIconComponent("FolderAddOutlined");
632
+ var ReactFolderAddTwoTone = createReactIconComponent("FolderAddTwoTone");
633
+ var ReactFolderFilled = createReactIconComponent("FolderFilled");
634
+ var ReactFolderOpenFilled = createReactIconComponent("FolderOpenFilled");
635
+ var ReactFolderOpenOutlined = createReactIconComponent("FolderOpenOutlined");
636
+ var ReactFolderOpenTwoTone = createReactIconComponent("FolderOpenTwoTone");
637
+ var ReactFolderOutlined = createReactIconComponent("FolderOutlined");
638
+ var ReactFolderTwoTone = createReactIconComponent("FolderTwoTone");
639
+ var ReactFolderViewOutlined = createReactIconComponent("FolderViewOutlined");
640
+ var ReactFontColorsOutlined = createReactIconComponent("FontColorsOutlined");
641
+ var ReactFontSizeOutlined = createReactIconComponent("FontSizeOutlined");
642
+ var ReactForkOutlined = createReactIconComponent("ForkOutlined");
643
+ var ReactFormOutlined = createReactIconComponent("FormOutlined");
644
+ var ReactFormatPainterFilled = createReactIconComponent(
645
+ "FormatPainterFilled"
646
+ );
647
+ var ReactFormatPainterOutlined = createReactIconComponent(
648
+ "FormatPainterOutlined"
649
+ );
650
+ var ReactForwardFilled = createReactIconComponent("ForwardFilled");
651
+ var ReactForwardOutlined = createReactIconComponent("ForwardOutlined");
652
+ var ReactFrownFilled = createReactIconComponent("FrownFilled");
653
+ var ReactFrownOutlined = createReactIconComponent("FrownOutlined");
654
+ var ReactFrownTwoTone = createReactIconComponent("FrownTwoTone");
655
+ var ReactFullscreenExitOutlined = createReactIconComponent(
656
+ "FullscreenExitOutlined"
657
+ );
658
+ var ReactFullscreenOutlined = createReactIconComponent("FullscreenOutlined");
659
+ var ReactFunctionOutlined = createReactIconComponent("FunctionOutlined");
660
+ var ReactFundFilled = createReactIconComponent("FundFilled");
661
+ var ReactFundOutlined = createReactIconComponent("FundOutlined");
662
+ var ReactFundProjectionScreenOutlined = createReactIconComponent(
663
+ "FundProjectionScreenOutlined"
664
+ );
665
+ var ReactFundTwoTone = createReactIconComponent("FundTwoTone");
666
+ var ReactFundViewOutlined = createReactIconComponent("FundViewOutlined");
667
+ var ReactFunnelPlotFilled = createReactIconComponent("FunnelPlotFilled");
668
+ var ReactFunnelPlotOutlined = createReactIconComponent("FunnelPlotOutlined");
669
+ var ReactFunnelPlotTwoTone = createReactIconComponent("FunnelPlotTwoTone");
670
+ var ReactGatewayOutlined = createReactIconComponent("GatewayOutlined");
671
+ var ReactGeminiFilled = createReactIconComponent("GeminiFilled");
672
+ var ReactGifOutlined = createReactIconComponent("GifOutlined");
673
+ var ReactGiftFilled = createReactIconComponent("GiftFilled");
674
+ var ReactGiftOutlined = createReactIconComponent("GiftOutlined");
675
+ var ReactGiftTwoTone = createReactIconComponent("GiftTwoTone");
676
+ var ReactGithubFilled = createReactIconComponent("GithubFilled");
677
+ var ReactGithubOutlined = createReactIconComponent("GithubOutlined");
678
+ var ReactGitlabFilled = createReactIconComponent("GitlabFilled");
679
+ var ReactGitlabOutlined = createReactIconComponent("GitlabOutlined");
680
+ var ReactGlobalOutlined = createReactIconComponent("GlobalOutlined");
681
+ var ReactGoldFilled = createReactIconComponent("GoldFilled");
682
+ var ReactGoldOutlined = createReactIconComponent("GoldOutlined");
683
+ var ReactGoldTwoTone = createReactIconComponent("GoldTwoTone");
684
+ var ReactGoldenFilled = createReactIconComponent("GoldenFilled");
685
+ var ReactGoogleCircleFilled = createReactIconComponent("GoogleCircleFilled");
686
+ var ReactGoogleOutlined = createReactIconComponent("GoogleOutlined");
687
+ var ReactGooglePlusCircleFilled = createReactIconComponent(
688
+ "GooglePlusCircleFilled"
689
+ );
690
+ var ReactGooglePlusOutlined = createReactIconComponent("GooglePlusOutlined");
691
+ var ReactGooglePlusSquareFilled = createReactIconComponent(
692
+ "GooglePlusSquareFilled"
693
+ );
694
+ var ReactGoogleSquareFilled = createReactIconComponent("GoogleSquareFilled");
695
+ var ReactGroupOutlined = createReactIconComponent("GroupOutlined");
696
+ var ReactHarmonyOSOutlined = createReactIconComponent("HarmonyOSOutlined");
697
+ var ReactHddFilled = createReactIconComponent("HddFilled");
698
+ var ReactHddOutlined = createReactIconComponent("HddOutlined");
699
+ var ReactHddTwoTone = createReactIconComponent("HddTwoTone");
700
+ var ReactHeartFilled = createReactIconComponent("HeartFilled");
701
+ var ReactHeartOutlined = createReactIconComponent("HeartOutlined");
702
+ var ReactHeartTwoTone = createReactIconComponent("HeartTwoTone");
703
+ var ReactHeatMapOutlined = createReactIconComponent("HeatMapOutlined");
704
+ var ReactHighlightFilled = createReactIconComponent("HighlightFilled");
705
+ var ReactHighlightOutlined = createReactIconComponent("HighlightOutlined");
706
+ var ReactHighlightTwoTone = createReactIconComponent("HighlightTwoTone");
707
+ var ReactHistoryOutlined = createReactIconComponent("HistoryOutlined");
708
+ var ReactHolderOutlined = createReactIconComponent("HolderOutlined");
709
+ var ReactHomeFilled = createReactIconComponent("HomeFilled");
710
+ var ReactHomeOutlined = createReactIconComponent("HomeOutlined");
711
+ var ReactHomeTwoTone = createReactIconComponent("HomeTwoTone");
712
+ var ReactHourglassFilled = createReactIconComponent("HourglassFilled");
713
+ var ReactHourglassOutlined = createReactIconComponent("HourglassOutlined");
714
+ var ReactHourglassTwoTone = createReactIconComponent("HourglassTwoTone");
715
+ var ReactHtml5Filled = createReactIconComponent("Html5Filled");
716
+ var ReactHtml5Outlined = createReactIconComponent("Html5Outlined");
717
+ var ReactHtml5TwoTone = createReactIconComponent("Html5TwoTone");
718
+ var ReactHuggingFaceFilled = createReactIconComponent("HuggingFaceFilled");
719
+ var ReactIdcardFilled = createReactIconComponent("IdcardFilled");
720
+ var ReactIdcardOutlined = createReactIconComponent("IdcardOutlined");
721
+ var ReactIdcardTwoTone = createReactIconComponent("IdcardTwoTone");
722
+ var ReactIeCircleFilled = createReactIconComponent("IeCircleFilled");
723
+ var ReactIeOutlined = createReactIconComponent("IeOutlined");
724
+ var ReactIeSquareFilled = createReactIconComponent("IeSquareFilled");
725
+ var ReactImportOutlined = createReactIconComponent("ImportOutlined");
726
+ var ReactInboxOutlined = createReactIconComponent("InboxOutlined");
727
+ var ReactInfoCircleFilled = createReactIconComponent("InfoCircleFilled");
728
+ var ReactInfoCircleOutlined = createReactIconComponent("InfoCircleOutlined");
729
+ var ReactInfoCircleTwoTone = createReactIconComponent("InfoCircleTwoTone");
730
+ var ReactInfoOutlined = createReactIconComponent("InfoOutlined");
731
+ var ReactInsertRowAboveOutlined = createReactIconComponent(
732
+ "InsertRowAboveOutlined"
733
+ );
734
+ var ReactInsertRowBelowOutlined = createReactIconComponent(
735
+ "InsertRowBelowOutlined"
736
+ );
737
+ var ReactInsertRowLeftOutlined = createReactIconComponent(
738
+ "InsertRowLeftOutlined"
739
+ );
740
+ var ReactInsertRowRightOutlined = createReactIconComponent(
741
+ "InsertRowRightOutlined"
742
+ );
743
+ var ReactInstagramFilled = createReactIconComponent("InstagramFilled");
744
+ var ReactInstagramOutlined = createReactIconComponent("InstagramOutlined");
745
+ var ReactInsuranceFilled = createReactIconComponent("InsuranceFilled");
746
+ var ReactInsuranceOutlined = createReactIconComponent("InsuranceOutlined");
747
+ var ReactInsuranceTwoTone = createReactIconComponent("InsuranceTwoTone");
748
+ var ReactInteractionFilled = createReactIconComponent("InteractionFilled");
749
+ var ReactInteractionOutlined = createReactIconComponent(
750
+ "InteractionOutlined"
751
+ );
752
+ var ReactInteractionTwoTone = createReactIconComponent("InteractionTwoTone");
753
+ var ReactIssuesCloseOutlined = createReactIconComponent(
754
+ "IssuesCloseOutlined"
755
+ );
756
+ var ReactItalicOutlined = createReactIconComponent("ItalicOutlined");
757
+ var ReactJavaOutlined = createReactIconComponent("JavaOutlined");
758
+ var ReactJavaScriptOutlined = createReactIconComponent("JavaScriptOutlined");
759
+ var ReactKeyOutlined = createReactIconComponent("KeyOutlined");
760
+ var ReactKubernetesOutlined = createReactIconComponent("KubernetesOutlined");
761
+ var ReactLaptopOutlined = createReactIconComponent("LaptopOutlined");
762
+ var ReactLayoutFilled = createReactIconComponent("LayoutFilled");
763
+ var ReactLayoutOutlined = createReactIconComponent("LayoutOutlined");
764
+ var ReactLayoutTwoTone = createReactIconComponent("LayoutTwoTone");
765
+ var ReactLeftCircleFilled = createReactIconComponent("LeftCircleFilled");
766
+ var ReactLeftCircleOutlined = createReactIconComponent("LeftCircleOutlined");
767
+ var ReactLeftCircleTwoTone = createReactIconComponent("LeftCircleTwoTone");
768
+ var ReactLeftOutlined = createReactIconComponent("LeftOutlined");
769
+ var ReactLeftSquareFilled = createReactIconComponent("LeftSquareFilled");
770
+ var ReactLeftSquareOutlined = createReactIconComponent("LeftSquareOutlined");
771
+ var ReactLeftSquareTwoTone = createReactIconComponent("LeftSquareTwoTone");
772
+ var ReactLikeFilled = createReactIconComponent("LikeFilled");
773
+ var ReactLikeOutlined = createReactIconComponent("LikeOutlined");
774
+ var ReactLikeTwoTone = createReactIconComponent("LikeTwoTone");
775
+ var ReactLineChartOutlined = createReactIconComponent("LineChartOutlined");
776
+ var ReactLineHeightOutlined = createReactIconComponent("LineHeightOutlined");
777
+ var ReactLineOutlined = createReactIconComponent("LineOutlined");
778
+ var ReactLinkOutlined = createReactIconComponent("LinkOutlined");
779
+ var ReactLinkedinFilled = createReactIconComponent("LinkedinFilled");
780
+ var ReactLinkedinOutlined = createReactIconComponent("LinkedinOutlined");
781
+ var ReactLinuxOutlined = createReactIconComponent("LinuxOutlined");
782
+ var ReactLoading3QuartersOutlined = createReactIconComponent(
783
+ "Loading3QuartersOutlined"
784
+ );
785
+ var ReactLoadingOutlined = createReactIconComponent("LoadingOutlined");
786
+ var ReactLockFilled = createReactIconComponent("LockFilled");
787
+ var ReactLockOutlined = createReactIconComponent("LockOutlined");
788
+ var ReactLockTwoTone = createReactIconComponent("LockTwoTone");
789
+ var ReactLoginOutlined = createReactIconComponent("LoginOutlined");
790
+ var ReactLogoutOutlined = createReactIconComponent("LogoutOutlined");
791
+ var ReactMacCommandFilled = createReactIconComponent("MacCommandFilled");
792
+ var ReactMacCommandOutlined = createReactIconComponent("MacCommandOutlined");
793
+ var ReactMailFilled = createReactIconComponent("MailFilled");
794
+ var ReactMailOutlined = createReactIconComponent("MailOutlined");
795
+ var ReactMailTwoTone = createReactIconComponent("MailTwoTone");
796
+ var ReactManOutlined = createReactIconComponent("ManOutlined");
797
+ var ReactMastodonFilled = createReactIconComponent("MastodonFilled");
798
+ var ReactMedicineBoxFilled = createReactIconComponent("MedicineBoxFilled");
799
+ var ReactMedicineBoxOutlined = createReactIconComponent(
800
+ "MedicineBoxOutlined"
801
+ );
802
+ var ReactMedicineBoxTwoTone = createReactIconComponent("MedicineBoxTwoTone");
803
+ var ReactMediumCircleFilled = createReactIconComponent("MediumCircleFilled");
804
+ var ReactMediumOutlined = createReactIconComponent("MediumOutlined");
805
+ var ReactMediumSquareFilled = createReactIconComponent("MediumSquareFilled");
806
+ var ReactMediumWorkmarkOutlined = createReactIconComponent(
807
+ "MediumWorkmarkOutlined"
808
+ );
809
+ var ReactMehFilled = createReactIconComponent("MehFilled");
810
+ var ReactMehOutlined = createReactIconComponent("MehOutlined");
811
+ var ReactMehTwoTone = createReactIconComponent("MehTwoTone");
812
+ var ReactMenuFoldOutlined = createReactIconComponent("MenuFoldOutlined");
813
+ var ReactMenuOutlined = createReactIconComponent("MenuOutlined");
814
+ var ReactMenuUnfoldOutlined = createReactIconComponent("MenuUnfoldOutlined");
815
+ var ReactMergeCellsOutlined = createReactIconComponent("MergeCellsOutlined");
816
+ var ReactMergeFilled = createReactIconComponent("MergeFilled");
817
+ var ReactMergeOutlined = createReactIconComponent("MergeOutlined");
818
+ var ReactMessageFilled = createReactIconComponent("MessageFilled");
819
+ var ReactMessageOutlined = createReactIconComponent("MessageOutlined");
820
+ var ReactMessageTwoTone = createReactIconComponent("MessageTwoTone");
821
+ var ReactMetaFilled = createReactIconComponent("MetaFilled");
822
+ var ReactMinusCircleFilled = createReactIconComponent("MinusCircleFilled");
823
+ var ReactMinusCircleOutlined = createReactIconComponent(
824
+ "MinusCircleOutlined"
825
+ );
826
+ var ReactMinusCircleTwoTone = createReactIconComponent("MinusCircleTwoTone");
827
+ var ReactMinusOutlined = createReactIconComponent("MinusOutlined");
828
+ var ReactMinusSquareFilled = createReactIconComponent("MinusSquareFilled");
829
+ var ReactMinusSquareOutlined = createReactIconComponent(
830
+ "MinusSquareOutlined"
831
+ );
832
+ var ReactMinusSquareTwoTone = createReactIconComponent("MinusSquareTwoTone");
833
+ var ReactMistralFilled = createReactIconComponent("MistralFilled");
834
+ var ReactMobileFilled = createReactIconComponent("MobileFilled");
835
+ var ReactMobileOutlined = createReactIconComponent("MobileOutlined");
836
+ var ReactMobileTwoTone = createReactIconComponent("MobileTwoTone");
837
+ var ReactMoneyCollectFilled = createReactIconComponent("MoneyCollectFilled");
838
+ var ReactMoneyCollectOutlined = createReactIconComponent(
839
+ "MoneyCollectOutlined"
840
+ );
841
+ var ReactMoneyCollectTwoTone = createReactIconComponent(
842
+ "MoneyCollectTwoTone"
843
+ );
844
+ var ReactMonitorOutlined = createReactIconComponent("MonitorOutlined");
845
+ var ReactMoonFilled = createReactIconComponent("MoonFilled");
846
+ var ReactMoonOutlined = createReactIconComponent("MoonOutlined");
847
+ var ReactMoreOutlined = createReactIconComponent("MoreOutlined");
848
+ var ReactMutedFilled = createReactIconComponent("MutedFilled");
849
+ var ReactMutedOutlined = createReactIconComponent("MutedOutlined");
850
+ var ReactNetflixFilled = createReactIconComponent("NetflixFilled");
851
+ var ReactNodeCollapseOutlined = createReactIconComponent(
852
+ "NodeCollapseOutlined"
853
+ );
854
+ var ReactNodeExpandOutlined = createReactIconComponent("NodeExpandOutlined");
855
+ var ReactNodeIndexOutlined = createReactIconComponent("NodeIndexOutlined");
856
+ var ReactNotificationFilled = createReactIconComponent("NotificationFilled");
857
+ var ReactNotificationOutlined = createReactIconComponent(
858
+ "NotificationOutlined"
859
+ );
860
+ var ReactNotificationTwoTone = createReactIconComponent(
861
+ "NotificationTwoTone"
862
+ );
863
+ var ReactNumberOutlined = createReactIconComponent("NumberOutlined");
864
+ var ReactOllamaFilled = createReactIconComponent("OllamaFilled");
865
+ var ReactOneToOneOutlined = createReactIconComponent("OneToOneOutlined");
866
+ var ReactOpenAIFilled = createReactIconComponent("OpenAIFilled");
867
+ var ReactOpenAIOutlined = createReactIconComponent("OpenAIOutlined");
868
+ var ReactOrderedListOutlined = createReactIconComponent(
869
+ "OrderedListOutlined"
870
+ );
871
+ var ReactPaperClipOutlined = createReactIconComponent("PaperClipOutlined");
872
+ var ReactPartitionOutlined = createReactIconComponent("PartitionOutlined");
873
+ var ReactPauseCircleFilled = createReactIconComponent("PauseCircleFilled");
874
+ var ReactPauseCircleOutlined = createReactIconComponent(
875
+ "PauseCircleOutlined"
876
+ );
877
+ var ReactPauseCircleTwoTone = createReactIconComponent("PauseCircleTwoTone");
878
+ var ReactPauseOutlined = createReactIconComponent("PauseOutlined");
879
+ var ReactPayCircleFilled = createReactIconComponent("PayCircleFilled");
880
+ var ReactPayCircleOutlined = createReactIconComponent("PayCircleOutlined");
881
+ var ReactPercentageOutlined = createReactIconComponent("PercentageOutlined");
882
+ var ReactPerplexityFilled = createReactIconComponent("PerplexityFilled");
883
+ var ReactPhoneFilled = createReactIconComponent("PhoneFilled");
884
+ var ReactPhoneOutlined = createReactIconComponent("PhoneOutlined");
885
+ var ReactPhoneTwoTone = createReactIconComponent("PhoneTwoTone");
886
+ var ReactPicCenterOutlined = createReactIconComponent("PicCenterOutlined");
887
+ var ReactPicLeftOutlined = createReactIconComponent("PicLeftOutlined");
888
+ var ReactPicRightOutlined = createReactIconComponent("PicRightOutlined");
889
+ var ReactPictureFilled = createReactIconComponent("PictureFilled");
890
+ var ReactPictureOutlined = createReactIconComponent("PictureOutlined");
891
+ var ReactPictureTwoTone = createReactIconComponent("PictureTwoTone");
892
+ var ReactPieChartFilled = createReactIconComponent("PieChartFilled");
893
+ var ReactPieChartOutlined = createReactIconComponent("PieChartOutlined");
894
+ var ReactPieChartTwoTone = createReactIconComponent("PieChartTwoTone");
895
+ var ReactPinterestFilled = createReactIconComponent("PinterestFilled");
896
+ var ReactPinterestOutlined = createReactIconComponent("PinterestOutlined");
897
+ var ReactPlayCircleFilled = createReactIconComponent("PlayCircleFilled");
898
+ var ReactPlayCircleOutlined = createReactIconComponent("PlayCircleOutlined");
899
+ var ReactPlayCircleTwoTone = createReactIconComponent("PlayCircleTwoTone");
900
+ var ReactPlaySquareFilled = createReactIconComponent("PlaySquareFilled");
901
+ var ReactPlaySquareOutlined = createReactIconComponent("PlaySquareOutlined");
902
+ var ReactPlaySquareTwoTone = createReactIconComponent("PlaySquareTwoTone");
903
+ var ReactPlusCircleFilled = createReactIconComponent("PlusCircleFilled");
904
+ var ReactPlusCircleOutlined = createReactIconComponent("PlusCircleOutlined");
905
+ var ReactPlusCircleTwoTone = createReactIconComponent("PlusCircleTwoTone");
906
+ var ReactPlusOutlined = createReactIconComponent("PlusOutlined");
907
+ var ReactPlusSquareFilled = createReactIconComponent("PlusSquareFilled");
908
+ var ReactPlusSquareOutlined = createReactIconComponent("PlusSquareOutlined");
909
+ var ReactPlusSquareTwoTone = createReactIconComponent("PlusSquareTwoTone");
910
+ var ReactPoundCircleFilled = createReactIconComponent("PoundCircleFilled");
911
+ var ReactPoundCircleOutlined = createReactIconComponent(
912
+ "PoundCircleOutlined"
913
+ );
914
+ var ReactPoundCircleTwoTone = createReactIconComponent("PoundCircleTwoTone");
915
+ var ReactPoundOutlined = createReactIconComponent("PoundOutlined");
916
+ var ReactPoweroffOutlined = createReactIconComponent("PoweroffOutlined");
917
+ var ReactPrinterFilled = createReactIconComponent("PrinterFilled");
918
+ var ReactPrinterOutlined = createReactIconComponent("PrinterOutlined");
919
+ var ReactPrinterTwoTone = createReactIconComponent("PrinterTwoTone");
920
+ var ReactProductFilled = createReactIconComponent("ProductFilled");
921
+ var ReactProductOutlined = createReactIconComponent("ProductOutlined");
922
+ var ReactProfileFilled = createReactIconComponent("ProfileFilled");
923
+ var ReactProfileOutlined = createReactIconComponent("ProfileOutlined");
924
+ var ReactProfileTwoTone = createReactIconComponent("ProfileTwoTone");
925
+ var ReactProjectFilled = createReactIconComponent("ProjectFilled");
926
+ var ReactProjectOutlined = createReactIconComponent("ProjectOutlined");
927
+ var ReactProjectTwoTone = createReactIconComponent("ProjectTwoTone");
928
+ var ReactPropertySafetyFilled = createReactIconComponent(
929
+ "PropertySafetyFilled"
930
+ );
931
+ var ReactPropertySafetyOutlined = createReactIconComponent(
932
+ "PropertySafetyOutlined"
933
+ );
934
+ var ReactPropertySafetyTwoTone = createReactIconComponent(
935
+ "PropertySafetyTwoTone"
936
+ );
937
+ var ReactPullRequestOutlined = createReactIconComponent(
938
+ "PullRequestOutlined"
939
+ );
940
+ var ReactPushpinFilled = createReactIconComponent("PushpinFilled");
941
+ var ReactPushpinOutlined = createReactIconComponent("PushpinOutlined");
942
+ var ReactPushpinTwoTone = createReactIconComponent("PushpinTwoTone");
943
+ var ReactPythonOutlined = createReactIconComponent("PythonOutlined");
944
+ var ReactQqCircleFilled = createReactIconComponent("QqCircleFilled");
945
+ var ReactQqOutlined = createReactIconComponent("QqOutlined");
946
+ var ReactQqSquareFilled = createReactIconComponent("QqSquareFilled");
947
+ var ReactQrcodeOutlined = createReactIconComponent("QrcodeOutlined");
948
+ var ReactQuestionCircleFilled = createReactIconComponent(
949
+ "QuestionCircleFilled"
950
+ );
951
+ var ReactQuestionCircleOutlined = createReactIconComponent(
952
+ "QuestionCircleOutlined"
953
+ );
954
+ var ReactQuestionCircleTwoTone = createReactIconComponent(
955
+ "QuestionCircleTwoTone"
956
+ );
957
+ var ReactQuestionOutlined = createReactIconComponent("QuestionOutlined");
958
+ var ReactQwenFilled = createReactIconComponent("QwenFilled");
959
+ var ReactRadarChartOutlined = createReactIconComponent("RadarChartOutlined");
960
+ var ReactRadiusBottomleftOutlined = createReactIconComponent(
961
+ "RadiusBottomleftOutlined"
962
+ );
963
+ var ReactRadiusBottomrightOutlined = createReactIconComponent(
964
+ "RadiusBottomrightOutlined"
965
+ );
966
+ var ReactRadiusSettingOutlined = createReactIconComponent(
967
+ "RadiusSettingOutlined"
968
+ );
969
+ var ReactRadiusUpleftOutlined = createReactIconComponent(
970
+ "RadiusUpleftOutlined"
971
+ );
972
+ var ReactRadiusUprightOutlined = createReactIconComponent(
973
+ "RadiusUprightOutlined"
974
+ );
975
+ var ReactReadFilled = createReactIconComponent("ReadFilled");
976
+ var ReactReadOutlined = createReactIconComponent("ReadOutlined");
977
+ var ReactReconciliationFilled = createReactIconComponent(
978
+ "ReconciliationFilled"
979
+ );
980
+ var ReactReconciliationOutlined = createReactIconComponent(
981
+ "ReconciliationOutlined"
982
+ );
983
+ var ReactReconciliationTwoTone = createReactIconComponent(
984
+ "ReconciliationTwoTone"
985
+ );
986
+ var ReactRedEnvelopeFilled = createReactIconComponent("RedEnvelopeFilled");
987
+ var ReactRedEnvelopeOutlined = createReactIconComponent(
988
+ "RedEnvelopeOutlined"
989
+ );
990
+ var ReactRedEnvelopeTwoTone = createReactIconComponent("RedEnvelopeTwoTone");
991
+ var ReactRedditCircleFilled = createReactIconComponent("RedditCircleFilled");
992
+ var ReactRedditOutlined = createReactIconComponent("RedditOutlined");
993
+ var ReactRedditSquareFilled = createReactIconComponent("RedditSquareFilled");
994
+ var ReactRedoOutlined = createReactIconComponent("RedoOutlined");
995
+ var ReactReloadOutlined = createReactIconComponent("ReloadOutlined");
996
+ var ReactReplicateFilled = createReactIconComponent("ReplicateFilled");
997
+ var ReactRestFilled = createReactIconComponent("RestFilled");
998
+ var ReactRestOutlined = createReactIconComponent("RestOutlined");
999
+ var ReactRestTwoTone = createReactIconComponent("RestTwoTone");
1000
+ var ReactRetweetOutlined = createReactIconComponent("RetweetOutlined");
1001
+ var ReactRightCircleFilled = createReactIconComponent("RightCircleFilled");
1002
+ var ReactRightCircleOutlined = createReactIconComponent(
1003
+ "RightCircleOutlined"
1004
+ );
1005
+ var ReactRightCircleTwoTone = createReactIconComponent("RightCircleTwoTone");
1006
+ var ReactRightOutlined = createReactIconComponent("RightOutlined");
1007
+ var ReactRightSquareFilled = createReactIconComponent("RightSquareFilled");
1008
+ var ReactRightSquareOutlined = createReactIconComponent(
1009
+ "RightSquareOutlined"
1010
+ );
1011
+ var ReactRightSquareTwoTone = createReactIconComponent("RightSquareTwoTone");
1012
+ var ReactRiseOutlined = createReactIconComponent("RiseOutlined");
1013
+ var ReactRobotFilled = createReactIconComponent("RobotFilled");
1014
+ var ReactRobotOutlined = createReactIconComponent("RobotOutlined");
1015
+ var ReactRocketFilled = createReactIconComponent("RocketFilled");
1016
+ var ReactRocketOutlined = createReactIconComponent("RocketOutlined");
1017
+ var ReactRocketTwoTone = createReactIconComponent("RocketTwoTone");
1018
+ var ReactRollbackOutlined = createReactIconComponent("RollbackOutlined");
1019
+ var ReactRotateLeftOutlined = createReactIconComponent("RotateLeftOutlined");
1020
+ var ReactRotateRightOutlined = createReactIconComponent(
1021
+ "RotateRightOutlined"
1022
+ );
1023
+ var ReactRubyOutlined = createReactIconComponent("RubyOutlined");
1024
+ var ReactSafetyCertificateFilled = createReactIconComponent(
1025
+ "SafetyCertificateFilled"
1026
+ );
1027
+ var ReactSafetyCertificateOutlined = createReactIconComponent(
1028
+ "SafetyCertificateOutlined"
1029
+ );
1030
+ var ReactSafetyCertificateTwoTone = createReactIconComponent(
1031
+ "SafetyCertificateTwoTone"
1032
+ );
1033
+ var ReactSafetyOutlined = createReactIconComponent("SafetyOutlined");
1034
+ var ReactSaveFilled = createReactIconComponent("SaveFilled");
1035
+ var ReactSaveOutlined = createReactIconComponent("SaveOutlined");
1036
+ var ReactSaveTwoTone = createReactIconComponent("SaveTwoTone");
1037
+ var ReactScanOutlined = createReactIconComponent("ScanOutlined");
1038
+ var ReactScheduleFilled = createReactIconComponent("ScheduleFilled");
1039
+ var ReactScheduleOutlined = createReactIconComponent("ScheduleOutlined");
1040
+ var ReactScheduleTwoTone = createReactIconComponent("ScheduleTwoTone");
1041
+ var ReactScissorOutlined = createReactIconComponent("ScissorOutlined");
1042
+ var ReactSearchOutlined = createReactIconComponent("SearchOutlined");
1043
+ var ReactSecurityScanFilled = createReactIconComponent("SecurityScanFilled");
1044
+ var ReactSecurityScanOutlined = createReactIconComponent(
1045
+ "SecurityScanOutlined"
1046
+ );
1047
+ var ReactSecurityScanTwoTone = createReactIconComponent(
1048
+ "SecurityScanTwoTone"
1049
+ );
1050
+ var ReactSelectOutlined = createReactIconComponent("SelectOutlined");
1051
+ var ReactSendOutlined = createReactIconComponent("SendOutlined");
1052
+ var ReactSettingFilled = createReactIconComponent("SettingFilled");
1053
+ var ReactSettingOutlined = createReactIconComponent("SettingOutlined");
1054
+ var ReactSettingTwoTone = createReactIconComponent("SettingTwoTone");
1055
+ var ReactShakeOutlined = createReactIconComponent("ShakeOutlined");
1056
+ var ReactShareAltOutlined = createReactIconComponent("ShareAltOutlined");
1057
+ var ReactShopFilled = createReactIconComponent("ShopFilled");
1058
+ var ReactShopOutlined = createReactIconComponent("ShopOutlined");
1059
+ var ReactShopTwoTone = createReactIconComponent("ShopTwoTone");
1060
+ var ReactShoppingCartOutlined = createReactIconComponent(
1061
+ "ShoppingCartOutlined"
1062
+ );
1063
+ var ReactShoppingFilled = createReactIconComponent("ShoppingFilled");
1064
+ var ReactShoppingOutlined = createReactIconComponent("ShoppingOutlined");
1065
+ var ReactShoppingTwoTone = createReactIconComponent("ShoppingTwoTone");
1066
+ var ReactShrinkOutlined = createReactIconComponent("ShrinkOutlined");
1067
+ var ReactSignalFilled = createReactIconComponent("SignalFilled");
1068
+ var ReactSignatureFilled = createReactIconComponent("SignatureFilled");
1069
+ var ReactSignatureOutlined = createReactIconComponent("SignatureOutlined");
1070
+ var ReactSisternodeOutlined = createReactIconComponent("SisternodeOutlined");
1071
+ var ReactSketchCircleFilled = createReactIconComponent("SketchCircleFilled");
1072
+ var ReactSketchOutlined = createReactIconComponent("SketchOutlined");
1073
+ var ReactSketchSquareFilled = createReactIconComponent("SketchSquareFilled");
1074
+ var ReactSkinFilled = createReactIconComponent("SkinFilled");
1075
+ var ReactSkinOutlined = createReactIconComponent("SkinOutlined");
1076
+ var ReactSkinTwoTone = createReactIconComponent("SkinTwoTone");
1077
+ var ReactSkypeFilled = createReactIconComponent("SkypeFilled");
1078
+ var ReactSkypeOutlined = createReactIconComponent("SkypeOutlined");
1079
+ var ReactSlackCircleFilled = createReactIconComponent("SlackCircleFilled");
1080
+ var ReactSlackOutlined = createReactIconComponent("SlackOutlined");
1081
+ var ReactSlackSquareFilled = createReactIconComponent("SlackSquareFilled");
1082
+ var ReactSlackSquareOutlined = createReactIconComponent(
1083
+ "SlackSquareOutlined"
1084
+ );
1085
+ var ReactSlidersFilled = createReactIconComponent("SlidersFilled");
1086
+ var ReactSlidersOutlined = createReactIconComponent("SlidersOutlined");
1087
+ var ReactSlidersTwoTone = createReactIconComponent("SlidersTwoTone");
1088
+ var ReactSmallDashOutlined = createReactIconComponent("SmallDashOutlined");
1089
+ var ReactSmileFilled = createReactIconComponent("SmileFilled");
1090
+ var ReactSmileOutlined = createReactIconComponent("SmileOutlined");
1091
+ var ReactSmileTwoTone = createReactIconComponent("SmileTwoTone");
1092
+ var ReactSnapchatFilled = createReactIconComponent("SnapchatFilled");
1093
+ var ReactSnippetsFilled = createReactIconComponent("SnippetsFilled");
1094
+ var ReactSnippetsOutlined = createReactIconComponent("SnippetsOutlined");
1095
+ var ReactSnippetsTwoTone = createReactIconComponent("SnippetsTwoTone");
1096
+ var ReactSolutionOutlined = createReactIconComponent("SolutionOutlined");
1097
+ var ReactSortAscendingOutlined = createReactIconComponent(
1098
+ "SortAscendingOutlined"
1099
+ );
1100
+ var ReactSortDescendingOutlined = createReactIconComponent(
1101
+ "SortDescendingOutlined"
1102
+ );
1103
+ var ReactSoundFilled = createReactIconComponent("SoundFilled");
1104
+ var ReactSoundOutlined = createReactIconComponent("SoundOutlined");
1105
+ var ReactSoundTwoTone = createReactIconComponent("SoundTwoTone");
1106
+ var ReactSplitCellsOutlined = createReactIconComponent("SplitCellsOutlined");
1107
+ var ReactSpotifyFilled = createReactIconComponent("SpotifyFilled");
1108
+ var ReactSpotifyOutlined = createReactIconComponent("SpotifyOutlined");
1109
+ var ReactStarFilled = createReactIconComponent("StarFilled");
1110
+ var ReactStarOutlined = createReactIconComponent("StarOutlined");
1111
+ var ReactStarTwoTone = createReactIconComponent("StarTwoTone");
1112
+ var ReactStepBackwardFilled = createReactIconComponent("StepBackwardFilled");
1113
+ var ReactStepBackwardOutlined = createReactIconComponent(
1114
+ "StepBackwardOutlined"
1115
+ );
1116
+ var ReactStepForwardFilled = createReactIconComponent("StepForwardFilled");
1117
+ var ReactStepForwardOutlined = createReactIconComponent(
1118
+ "StepForwardOutlined"
1119
+ );
1120
+ var ReactStockOutlined = createReactIconComponent("StockOutlined");
1121
+ var ReactStopFilled = createReactIconComponent("StopFilled");
1122
+ var ReactStopOutlined = createReactIconComponent("StopOutlined");
1123
+ var ReactStopTwoTone = createReactIconComponent("StopTwoTone");
1124
+ var ReactStrikethroughOutlined = createReactIconComponent(
1125
+ "StrikethroughOutlined"
1126
+ );
1127
+ var ReactSubnodeOutlined = createReactIconComponent("SubnodeOutlined");
1128
+ var ReactSunFilled = createReactIconComponent("SunFilled");
1129
+ var ReactSunOutlined = createReactIconComponent("SunOutlined");
1130
+ var ReactSwapLeftOutlined = createReactIconComponent("SwapLeftOutlined");
1131
+ var ReactSwapOutlined = createReactIconComponent("SwapOutlined");
1132
+ var ReactSwapRightOutlined = createReactIconComponent("SwapRightOutlined");
1133
+ var ReactSwitcherFilled = createReactIconComponent("SwitcherFilled");
1134
+ var ReactSwitcherOutlined = createReactIconComponent("SwitcherOutlined");
1135
+ var ReactSwitcherTwoTone = createReactIconComponent("SwitcherTwoTone");
1136
+ var ReactSyncOutlined = createReactIconComponent("SyncOutlined");
1137
+ var ReactTableOutlined = createReactIconComponent("TableOutlined");
1138
+ var ReactTabletFilled = createReactIconComponent("TabletFilled");
1139
+ var ReactTabletOutlined = createReactIconComponent("TabletOutlined");
1140
+ var ReactTabletTwoTone = createReactIconComponent("TabletTwoTone");
1141
+ var ReactTagFilled = createReactIconComponent("TagFilled");
1142
+ var ReactTagOutlined = createReactIconComponent("TagOutlined");
1143
+ var ReactTagTwoTone = createReactIconComponent("TagTwoTone");
1144
+ var ReactTagsFilled = createReactIconComponent("TagsFilled");
1145
+ var ReactTagsOutlined = createReactIconComponent("TagsOutlined");
1146
+ var ReactTagsTwoTone = createReactIconComponent("TagsTwoTone");
1147
+ var ReactTaobaoCircleFilled = createReactIconComponent("TaobaoCircleFilled");
1148
+ var ReactTaobaoCircleOutlined = createReactIconComponent(
1149
+ "TaobaoCircleOutlined"
1150
+ );
1151
+ var ReactTaobaoOutlined = createReactIconComponent("TaobaoOutlined");
1152
+ var ReactTaobaoSquareFilled = createReactIconComponent("TaobaoSquareFilled");
1153
+ var ReactTeamOutlined = createReactIconComponent("TeamOutlined");
1154
+ var ReactTelegramFilled = createReactIconComponent("TelegramFilled");
1155
+ var ReactThreadsFilled = createReactIconComponent("ThreadsFilled");
1156
+ var ReactThunderboltFilled = createReactIconComponent("ThunderboltFilled");
1157
+ var ReactThunderboltOutlined = createReactIconComponent(
1158
+ "ThunderboltOutlined"
1159
+ );
1160
+ var ReactThunderboltTwoTone = createReactIconComponent("ThunderboltTwoTone");
1161
+ var ReactTikTokFilled = createReactIconComponent("TikTokFilled");
1162
+ var ReactTikTokOutlined = createReactIconComponent("TikTokOutlined");
1163
+ var ReactToTopOutlined = createReactIconComponent("ToTopOutlined");
1164
+ var ReactToolFilled = createReactIconComponent("ToolFilled");
1165
+ var ReactToolOutlined = createReactIconComponent("ToolOutlined");
1166
+ var ReactToolTwoTone = createReactIconComponent("ToolTwoTone");
1167
+ var ReactTrademarkCircleFilled = createReactIconComponent(
1168
+ "TrademarkCircleFilled"
1169
+ );
1170
+ var ReactTrademarkCircleOutlined = createReactIconComponent(
1171
+ "TrademarkCircleOutlined"
1172
+ );
1173
+ var ReactTrademarkCircleTwoTone = createReactIconComponent(
1174
+ "TrademarkCircleTwoTone"
1175
+ );
1176
+ var ReactTrademarkOutlined = createReactIconComponent("TrademarkOutlined");
1177
+ var ReactTransactionOutlined = createReactIconComponent(
1178
+ "TransactionOutlined"
1179
+ );
1180
+ var ReactTranslationOutlined = createReactIconComponent(
1181
+ "TranslationOutlined"
1182
+ );
1183
+ var ReactTrophyFilled = createReactIconComponent("TrophyFilled");
1184
+ var ReactTrophyOutlined = createReactIconComponent("TrophyOutlined");
1185
+ var ReactTrophyTwoTone = createReactIconComponent("TrophyTwoTone");
1186
+ var ReactTruckFilled = createReactIconComponent("TruckFilled");
1187
+ var ReactTruckOutlined = createReactIconComponent("TruckOutlined");
1188
+ var ReactTwitchFilled = createReactIconComponent("TwitchFilled");
1189
+ var ReactTwitchOutlined = createReactIconComponent("TwitchOutlined");
1190
+ var ReactTwitterCircleFilled = createReactIconComponent(
1191
+ "TwitterCircleFilled"
1192
+ );
1193
+ var ReactTwitterOutlined = createReactIconComponent("TwitterOutlined");
1194
+ var ReactTwitterSquareFilled = createReactIconComponent(
1195
+ "TwitterSquareFilled"
1196
+ );
1197
+ var ReactUnderlineOutlined = createReactIconComponent("UnderlineOutlined");
1198
+ var ReactUndoOutlined = createReactIconComponent("UndoOutlined");
1199
+ var ReactUngroupOutlined = createReactIconComponent("UngroupOutlined");
1200
+ var ReactUnlockFilled = createReactIconComponent("UnlockFilled");
1201
+ var ReactUnlockOutlined = createReactIconComponent("UnlockOutlined");
1202
+ var ReactUnlockTwoTone = createReactIconComponent("UnlockTwoTone");
1203
+ var ReactUnorderedListOutlined = createReactIconComponent(
1204
+ "UnorderedListOutlined"
1205
+ );
1206
+ var ReactUpCircleFilled = createReactIconComponent("UpCircleFilled");
1207
+ var ReactUpCircleOutlined = createReactIconComponent("UpCircleOutlined");
1208
+ var ReactUpCircleTwoTone = createReactIconComponent("UpCircleTwoTone");
1209
+ var ReactUpOutlined = createReactIconComponent("UpOutlined");
1210
+ var ReactUpSquareFilled = createReactIconComponent("UpSquareFilled");
1211
+ var ReactUpSquareOutlined = createReactIconComponent("UpSquareOutlined");
1212
+ var ReactUpSquareTwoTone = createReactIconComponent("UpSquareTwoTone");
1213
+ var ReactUploadOutlined = createReactIconComponent("UploadOutlined");
1214
+ var ReactUsbFilled = createReactIconComponent("UsbFilled");
1215
+ var ReactUsbOutlined = createReactIconComponent("UsbOutlined");
1216
+ var ReactUsbTwoTone = createReactIconComponent("UsbTwoTone");
1217
+ var ReactUserAddOutlined = createReactIconComponent("UserAddOutlined");
1218
+ var ReactUserDeleteOutlined = createReactIconComponent("UserDeleteOutlined");
1219
+ var ReactUserOutlined = createReactIconComponent("UserOutlined");
1220
+ var ReactUserSwitchOutlined = createReactIconComponent("UserSwitchOutlined");
1221
+ var ReactUsergroupAddOutlined = createReactIconComponent(
1222
+ "UsergroupAddOutlined"
1223
+ );
1224
+ var ReactUsergroupDeleteOutlined = createReactIconComponent(
1225
+ "UsergroupDeleteOutlined"
1226
+ );
1227
+ var ReactVerifiedOutlined = createReactIconComponent("VerifiedOutlined");
1228
+ var ReactVerticalAlignBottomOutlined = createReactIconComponent(
1229
+ "VerticalAlignBottomOutlined"
1230
+ );
1231
+ var ReactVerticalAlignMiddleOutlined = createReactIconComponent(
1232
+ "VerticalAlignMiddleOutlined"
1233
+ );
1234
+ var ReactVerticalAlignTopOutlined = createReactIconComponent(
1235
+ "VerticalAlignTopOutlined"
1236
+ );
1237
+ var ReactVerticalLeftOutlined = createReactIconComponent(
1238
+ "VerticalLeftOutlined"
1239
+ );
1240
+ var ReactVerticalRightOutlined = createReactIconComponent(
1241
+ "VerticalRightOutlined"
1242
+ );
1243
+ var ReactVideoCameraAddOutlined = createReactIconComponent(
1244
+ "VideoCameraAddOutlined"
1245
+ );
1246
+ var ReactVideoCameraFilled = createReactIconComponent("VideoCameraFilled");
1247
+ var ReactVideoCameraOutlined = createReactIconComponent(
1248
+ "VideoCameraOutlined"
1249
+ );
1250
+ var ReactVideoCameraTwoTone = createReactIconComponent("VideoCameraTwoTone");
1251
+ var ReactWalletFilled = createReactIconComponent("WalletFilled");
1252
+ var ReactWalletOutlined = createReactIconComponent("WalletOutlined");
1253
+ var ReactWalletTwoTone = createReactIconComponent("WalletTwoTone");
1254
+ var ReactWarningFilled = createReactIconComponent("WarningFilled");
1255
+ var ReactWarningOutlined = createReactIconComponent("WarningOutlined");
1256
+ var ReactWarningTwoTone = createReactIconComponent("WarningTwoTone");
1257
+ var ReactWechatFilled = createReactIconComponent("WechatFilled");
1258
+ var ReactWechatOutlined = createReactIconComponent("WechatOutlined");
1259
+ var ReactWechatWorkFilled = createReactIconComponent("WechatWorkFilled");
1260
+ var ReactWechatWorkOutlined = createReactIconComponent("WechatWorkOutlined");
1261
+ var ReactWeiboCircleFilled = createReactIconComponent("WeiboCircleFilled");
1262
+ var ReactWeiboCircleOutlined = createReactIconComponent(
1263
+ "WeiboCircleOutlined"
1264
+ );
1265
+ var ReactWeiboOutlined = createReactIconComponent("WeiboOutlined");
1266
+ var ReactWeiboSquareFilled = createReactIconComponent("WeiboSquareFilled");
1267
+ var ReactWeiboSquareOutlined = createReactIconComponent(
1268
+ "WeiboSquareOutlined"
1269
+ );
1270
+ var ReactWhatsAppOutlined = createReactIconComponent("WhatsAppOutlined");
1271
+ var ReactWifiOutlined = createReactIconComponent("WifiOutlined");
1272
+ var ReactWindowsFilled = createReactIconComponent("WindowsFilled");
1273
+ var ReactWindowsOutlined = createReactIconComponent("WindowsOutlined");
1274
+ var ReactWomanOutlined = createReactIconComponent("WomanOutlined");
1275
+ var ReactXFilled = createReactIconComponent("XFilled");
1276
+ var ReactXOutlined = createReactIconComponent("XOutlined");
1277
+ var ReactYahooFilled = createReactIconComponent("YahooFilled");
1278
+ var ReactYahooOutlined = createReactIconComponent("YahooOutlined");
1279
+ var ReactYoutubeFilled = createReactIconComponent("YoutubeFilled");
1280
+ var ReactYoutubeOutlined = createReactIconComponent("YoutubeOutlined");
1281
+ var ReactYuqueFilled = createReactIconComponent("YuqueFilled");
1282
+ var ReactYuqueOutlined = createReactIconComponent("YuqueOutlined");
1283
+ var ReactZhihuCircleFilled = createReactIconComponent("ZhihuCircleFilled");
1284
+ var ReactZhihuOutlined = createReactIconComponent("ZhihuOutlined");
1285
+ var ReactZhihuSquareFilled = createReactIconComponent("ZhihuSquareFilled");
1286
+ var ReactZoomInOutlined = createReactIconComponent("ZoomInOutlined");
1287
+ var ReactZoomOutOutlined = createReactIconComponent("ZoomOutOutlined");
30
1288
 
31
1289
  // src/shared/class-names.ts
32
1290
  function joinClassNames(...values) {
@@ -37,7 +1295,7 @@ function joinClassNames(...values) {
37
1295
  var REACT_COMPONENT_PREFIX = "canvas-react";
38
1296
 
39
1297
  // src/components/checkbox/style.css
40
- styleInject('@import "../../styles/variables.css";\n.canvas-react-checkbox {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n color: var(--canvas-react-color-text);\n font-size: var(--canvas-react-font-size);\n cursor: pointer;\n user-select: none;\n}\n.canvas-react-checkbox-disabled {\n opacity: 0.56;\n cursor: not-allowed;\n}\n.canvas-react-checkbox-input {\n position: absolute;\n opacity: 0;\n pointer-events: none;\n}\n.canvas-react-checkbox-box {\n position: relative;\n flex: none;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border: 1px solid var(--canvas-react-color-border-strong);\n border-radius: 4px;\n background: var(--canvas-react-color-bg);\n transition:\n border-color 0.2s ease,\n background-color 0.2s ease,\n box-shadow 0.2s ease;\n}\n.canvas-react-checkbox:hover .canvas-react-checkbox-box {\n border-color: var(--canvas-react-color-primary-hover);\n}\n.canvas-react-checkbox-input:focus-visible + .canvas-react-checkbox-box {\n border-color: var(--canvas-react-color-primary);\n box-shadow: var(--canvas-react-shadow-focus);\n}\n.canvas-react-checkbox-checked .canvas-react-checkbox-box,\n.canvas-react-checkbox-indeterminate .canvas-react-checkbox-box {\n border-color: var(--canvas-react-color-primary);\n background: var(--canvas-react-color-primary);\n}\n.canvas-react-checkbox-box::after {\n position: absolute;\n content: "";\n opacity: 0;\n box-sizing: border-box;\n transform: scale(0);\n transition: opacity 0.2s ease, transform 0.2s ease;\n}\n.canvas-react-checkbox-checked .canvas-react-checkbox-box::after {\n top: 50%;\n left: 22%;\n width: 5.5px;\n height: 9px;\n border-right: 2px solid #fff;\n border-bottom: 2px solid #fff;\n transform: translateY(-58%) rotate(45deg) scale(1);\n transform-origin: center;\n opacity: 1;\n}\n.canvas-react-checkbox-indeterminate .canvas-react-checkbox-box::after {\n top: 50%;\n left: 50%;\n width: 8px;\n border-bottom: 2px solid #fff;\n transform: translate(-50%, -50%);\n opacity: 1;\n}\n.canvas-react-checkbox-label {\n min-width: 0;\n}\n');
1298
+ styleInject('@import "../../styles/variables.css";\n.canvas-react-checkbox {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n color: var(--canvas-react-color-text);\n font-size: var(--canvas-react-font-size);\n cursor: pointer;\n user-select: none;\n}\n.canvas-react-checkbox-disabled {\n opacity: 0.56;\n cursor: not-allowed;\n}\n.canvas-react-checkbox-input {\n position: absolute;\n top: 50%;\n inset-inline-start: 0;\n width: 16px;\n height: 16px;\n margin: 0;\n transform: translateY(-50%);\n opacity: 0;\n pointer-events: none;\n}\n.canvas-react-checkbox-box {\n position: relative;\n flex: none;\n width: 16px;\n height: 16px;\n box-sizing: border-box;\n border: 1px solid var(--canvas-react-color-border-strong);\n border-radius: 4px;\n background: var(--canvas-react-color-bg);\n transition:\n border-color 0.2s ease,\n background-color 0.2s ease,\n box-shadow 0.2s ease;\n}\n.canvas-react-checkbox:hover .canvas-react-checkbox-box {\n border-color: var(--canvas-react-color-primary-hover);\n}\n.canvas-react-checkbox-input:focus-visible + .canvas-react-checkbox-box {\n border-color: var(--canvas-react-color-primary);\n box-shadow: var(--canvas-react-shadow-focus);\n}\n.canvas-react-checkbox-checked .canvas-react-checkbox-box,\n.canvas-react-checkbox-indeterminate .canvas-react-checkbox-box {\n border-color: var(--canvas-react-color-primary);\n background: var(--canvas-react-color-primary);\n}\n.canvas-react-checkbox-box::after {\n position: absolute;\n content: "";\n opacity: 0;\n box-sizing: border-box;\n transform: scale(0);\n transition: opacity 0.2s ease, transform 0.2s ease;\n}\n.canvas-react-checkbox-checked .canvas-react-checkbox-box::after {\n top: 50%;\n left: 22%;\n width: 5.5px;\n height: 9px;\n border-right: 2px solid #fff;\n border-bottom: 2px solid #fff;\n transform: translateY(-58%) rotate(45deg) scale(1);\n transform-origin: center;\n opacity: 1;\n}\n.canvas-react-checkbox-indeterminate .canvas-react-checkbox-box::after {\n top: 50%;\n left: 50%;\n width: 8px;\n border-bottom: 2px solid #fff;\n transform: translate(-50%, -50%);\n opacity: 1;\n}\n.canvas-react-checkbox-label {\n min-width: 0;\n}\n');
41
1299
  var ReactCheckbox = forwardRef(
42
1300
  function ReactCheckbox2(props, ref) {
43
1301
  const {
@@ -175,6 +1433,69 @@ var ReactInput = forwardRef(
175
1433
  }
176
1434
  }
177
1435
  );
1436
+ var ConfigContext = createContext({});
1437
+ var variables = {
1438
+ fontSize: "font-size",
1439
+ secondaryFontSize: "font-size-secondary",
1440
+ labelFontSize: "font-size-label",
1441
+ colorText: "color-text",
1442
+ colorTextSecondary: "color-text-muted",
1443
+ colorPrimary: "color-primary",
1444
+ colorPrimaryHover: "color-primary-hover",
1445
+ colorBorder: "color-border",
1446
+ colorBackground: "color-bg",
1447
+ controlHeight: "control-height",
1448
+ borderRadius: "radius-sm"
1449
+ };
1450
+ function reactConfigThemeStyle(theme) {
1451
+ const style = {};
1452
+ for (const key of Object.keys(variables)) {
1453
+ const value = theme[key];
1454
+ if (typeof value === "number" && Number.isFinite(value) && value >= 0)
1455
+ style[`--canvas-react-${variables[key]}`] = `${value}px`;
1456
+ else if (typeof value === "string" && value.trim())
1457
+ style[`--canvas-react-${variables[key]}`] = value;
1458
+ }
1459
+ return style;
1460
+ }
1461
+ function useReactConfig() {
1462
+ return useContext(ConfigContext);
1463
+ }
1464
+ function useReactConfigStyle() {
1465
+ return reactConfigThemeStyle(useReactConfig());
1466
+ }
1467
+ function ReactConfigProvider({
1468
+ theme = {},
1469
+ style,
1470
+ className,
1471
+ children,
1472
+ ...rest
1473
+ }) {
1474
+ const parent = useReactConfig();
1475
+ const merged = useMemo(
1476
+ () => ({
1477
+ ...parent,
1478
+ ...Object.fromEntries(
1479
+ Object.entries(theme).filter(([, value]) => value !== void 0)
1480
+ )
1481
+ }),
1482
+ [parent, theme]
1483
+ );
1484
+ return /* @__PURE__ */ jsx(ConfigContext.Provider, { value: merged, children: /* @__PURE__ */ jsx(
1485
+ "div",
1486
+ {
1487
+ ...rest,
1488
+ className: ["canvas-react-config-provider", className].filter(Boolean).join(" "),
1489
+ style: {
1490
+ color: "var(--canvas-react-color-text)",
1491
+ fontSize: "var(--canvas-react-font-size)",
1492
+ ...reactConfigThemeStyle(merged),
1493
+ ...style
1494
+ },
1495
+ children
1496
+ }
1497
+ ) });
1498
+ }
178
1499
  var DEFAULT_CONTENT_SCALE = {
179
1500
  scale: 1
180
1501
  };
@@ -284,6 +1605,7 @@ function resolveDuration(duration, direction) {
284
1605
  styleInject('@import "../../styles/variables.css";\n.canvas-react-popup {\n position: fixed;\n z-index: 1200;\n box-sizing: border-box;\n pointer-events: auto;\n}\n.canvas-react-popup-surface {\n overflow: hidden;\n border: 1px solid var(--canvas-react-color-border, #d9d9d9);\n border-radius: var(--canvas-react-radius-md, 8px);\n background: var(--canvas-react-color-bg, #ffffff);\n box-shadow: var( --canvas-react-shadow-popup, 0 8px 24px rgba(15, 23, 42, 0.16) );\n transform-origin: top center;\n}\n.canvas-react-popup-surface-enter-active,\n.canvas-react-popup-surface-leave-active {\n transition: opacity 0.18s ease-out, transform 0.18s cubic-bezier(0.16, 1, 0.3, 1);\n}\n.canvas-react-popup-surface-enter-from,\n.canvas-react-popup-surface-leave-to {\n opacity: 0;\n transform: translateY(-6px) scale(0.98);\n}\n.canvas-react-popup-surface-enter-to,\n.canvas-react-popup-surface-leave-from {\n opacity: 1;\n transform: translate(0) scale(1);\n}\n.canvas-react-popup[data-placement^=top] .canvas-react-popup-surface {\n transform-origin: bottom center;\n}\n.canvas-react-popup[data-placement^=top] .canvas-react-popup-surface-enter-from,\n.canvas-react-popup[data-placement^=top] .canvas-react-popup-surface-leave-to {\n transform: translateY(6px) scale(0.98);\n}\n.canvas-react-popup[data-placement^=bottom] .canvas-react-popup-surface {\n transform-origin: top center;\n}\n.canvas-react-popup[data-placement^=left] .canvas-react-popup-surface {\n transform-origin: center right;\n}\n.canvas-react-popup[data-placement^=left] .canvas-react-popup-surface-enter-from,\n.canvas-react-popup[data-placement^=left] .canvas-react-popup-surface-leave-to {\n transform: translateX(6px) scale(0.98);\n}\n.canvas-react-popup[data-placement^=right] .canvas-react-popup-surface {\n transform-origin: center left;\n}\n.canvas-react-popup[data-placement^=right] .canvas-react-popup-surface-enter-from,\n.canvas-react-popup[data-placement^=right] .canvas-react-popup-surface-leave-to {\n transform: translateX(-6px) scale(0.98);\n}\n.canvas-react-popup-leave {\n pointer-events: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .canvas-react-popup-surface-enter-active,\n .canvas-react-popup-surface-leave-active {\n transition-duration: 0.01ms;\n }\n}\n');
285
1606
  var POPUP_MOTION_DURATION = 180;
286
1607
  function ReactPopup(props) {
1608
+ const configStyle = useReactConfigStyle();
287
1609
  const {
288
1610
  anchorRect,
289
1611
  anchorRef,
@@ -453,6 +1775,7 @@ function ReactPopup(props) {
453
1775
  className
454
1776
  ),
455
1777
  style: {
1778
+ ...configStyle,
456
1779
  ...position.style,
457
1780
  ...style,
458
1781
  ...contentScaleStyle,
@@ -645,6 +1968,12 @@ var ReactVirtualList = forwardRef(function ReactVirtualListInner(props, ref) {
645
1968
  } = props;
646
1969
  const hostRef = useRef(null);
647
1970
  const [scrollTop, setScrollTop] = useState(0);
1971
+ useLayoutEffect(() => {
1972
+ const maximum = Math.max(0, items.length * itemHeight - height);
1973
+ if (hostRef.current && hostRef.current.scrollTop > maximum)
1974
+ hostRef.current.scrollTop = maximum;
1975
+ setScrollTop((current) => Math.min(current, maximum));
1976
+ }, [items.length, itemHeight, height]);
648
1977
  const useVirtual = virtual && items.length * itemHeight > height;
649
1978
  const startIndex = useVirtual ? Math.max(0, Math.floor(scrollTop / itemHeight) - overscan) : 0;
650
1979
  const endIndex = useVirtual ? Math.min(
@@ -1497,66 +2826,342 @@ function actionStyle(primary) {
1497
2826
  return { minWidth: 72, height: 32, padding: "0 12px", borderRadius: 6, border: primary ? "1px solid #1677ff" : "1px solid #d9d9d9", background: primary ? "#1677ff" : "#fff", color: primary ? "#fff" : "#374151", cursor: "pointer" };
1498
2827
  }
1499
2828
 
1500
- // src/components/color/style.css
1501
- styleInject(".canvas-react-color-wrap {\n display: inline-flex;\n width: 100%;\n height: 100%;\n min-height: 0;\n box-sizing: border-box;\n}\n.canvas-react-color {\n display: flex;\n align-items: center;\n width: 100%;\n min-width: 0;\n height: var(--canvas-react-control-height);\n min-height: 0;\n box-sizing: border-box;\n border: 1px solid var(--canvas-react-color-border);\n border-radius: var(--canvas-react-radius-sm);\n background: var(--canvas-react-color-bg);\n color: var(--canvas-react-color-text);\n font-size: var(--canvas-react-font-size);\n transition: border-color 0.2s ease, box-shadow 0.2s ease;\n cursor: pointer;\n}\n.canvas-react-color:hover {\n border-color: var(--canvas-react-color-primary-hover);\n}\n.canvas-react-color-open,\n.canvas-react-color:focus-within {\n border-color: var(--canvas-react-color-primary);\n box-shadow: var(--canvas-react-shadow-focus);\n}\n.canvas-react-color-disabled {\n color: #9ca3af;\n background: var(--canvas-react-color-bg-soft);\n cursor: not-allowed;\n}\n.canvas-react-color-preview {\n flex: 0 0 auto;\n width: calc(24px * var(--canvas-react-content-zoom, 1));\n height: calc(24px * var(--canvas-react-content-zoom, 1));\n margin-left: 3px;\n box-sizing: border-box;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n}\n.canvas-react-color-input-wrap {\n flex: 1;\n min-width: 0;\n height: 100%;\n min-height: 0;\n border: 0;\n box-shadow: none;\n}\n.canvas-react-color .canvas-react-input-affix-wrapper {\n height: 100%;\n min-height: 0;\n}\n.canvas-react-color-input-wrap:hover,\n.canvas-react-color-input-wrap:focus-within {\n border-color: transparent;\n box-shadow: none;\n}\n.canvas-react-color-input {\n cursor: pointer;\n text-transform: uppercase;\n}\n.canvas-react-color-arrow {\n flex: 0 0 auto;\n width: 0.5em;\n height: 0.5em;\n min-width: 6px;\n min-height: 6px;\n margin-right: var(--canvas-react-control-padding-inline, 11px);\n border-right: 1.5px solid var(--canvas-react-color-text-muted);\n border-bottom: 1.5px solid var(--canvas-react-color-text-muted);\n transform: rotate(45deg) translateY(-2px);\n transition: transform 0.18s ease;\n}\n.canvas-react-color-arrow-open {\n transform: rotate(225deg) translate(-1px, -1px);\n}\n.canvas-react-color-dropdown {\n overflow: hidden;\n}\n.canvas-react-color-panel {\n padding: 12px;\n box-sizing: border-box;\n}\n.canvas-react-color-saturation {\n position: relative;\n height: 150px;\n overflow: hidden;\n border-radius: 6px;\n cursor: crosshair;\n background-image:\n linear-gradient(\n to top,\n #000,\n transparent),\n linear-gradient(\n to right,\n #fff,\n transparent);\n touch-action: none;\n}\n.canvas-react-color-saturation-thumb {\n position: absolute;\n width: 12px;\n height: 12px;\n border: 2px solid #fff;\n border-radius: 50%;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.28), 0 1px 3px rgba(0, 0, 0, 0.28);\n transform: translate(-50%, -50%);\n pointer-events: none;\n}\n.canvas-react-color-controls {\n display: flex;\n align-items: center;\n gap: 10px;\n margin-top: 12px;\n}\n.canvas-react-color-current {\n flex: 0 0 28px;\n height: 28px;\n box-sizing: border-box;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-radius: 50%;\n}\n.canvas-react-color-hue {\n width: 100%;\n height: 12px;\n margin: 0;\n appearance: none;\n border-radius: 999px;\n background:\n linear-gradient(\n to right,\n #f00,\n #ff0,\n #0f0,\n #0ff,\n #00f,\n #f0f,\n #f00);\n cursor: pointer;\n}\n.canvas-react-color-hue::-webkit-slider-thumb {\n width: 14px;\n height: 14px;\n appearance: none;\n border: 2px solid #fff;\n border-radius: 50%;\n background: transparent;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.28);\n}\n.canvas-react-color-value-row {\n display: grid;\n grid-template-columns: 36px 1fr;\n align-items: center;\n gap: 8px;\n margin-top: 12px;\n color: var(--canvas-react-color-text-muted);\n font-size: 12px;\n}\n.canvas-react-color-value-row .canvas-react-input-affix-wrapper {\n height: 28px;\n}\n.canvas-react-color-presets {\n display: grid;\n grid-template-columns: repeat(8, 20px);\n gap: 7px;\n margin-top: 12px;\n}\n.canvas-react-color-preset {\n width: 20px;\n height: 20px;\n padding: 0;\n box-sizing: border-box;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n cursor: pointer;\n transition: transform 0.16s ease, box-shadow 0.16s ease;\n}\n.canvas-react-color-preset:hover {\n transform: scale(1.12);\n}\n.canvas-react-color-preset-selected {\n box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--canvas-react-color-primary);\n}\n");
1502
- var DEFAULT_COLOR = "#1677ff";
1503
- var PRESET_COLORS = [
1504
- "#ff4d4f",
1505
- "#fa8c16",
1506
- "#fadb14",
1507
- "#52c41a",
1508
- "#13c2c2",
1509
- "#1677ff",
1510
- "#2f54eb",
1511
- "#722ed1",
1512
- "#eb2f96",
1513
- "#000000",
1514
- "#8c8c8c",
1515
- "#ffffff"
1516
- ];
1517
- var ReactColorPicker = forwardRef(function ReactColorPicker2(props, ref) {
1518
- const {
1519
- autoFocus,
1520
- className,
1521
- disabled,
1522
- onBlur,
1523
- onChange,
1524
- onFocus,
1525
- onKeyDown,
1526
- placeholder = "\u8BF7\u9009\u62E9\u989C\u8272",
1527
- popupClassName,
1528
- presets = PRESET_COLORS,
1529
- style,
1530
- value,
1531
- showArrow = true,
1532
- ...restProps
1533
- } = props;
1534
- const triggerRef = useRef(null);
1535
- const inputRef = useRef(null);
1536
- const popupRef = useRef(null);
1537
- const resolvedValue = normalizeHexColor(value) ?? DEFAULT_COLOR;
1538
- const [open, setOpen] = useState(false);
1539
- const [draftValue, setDraftValue] = useState(resolvedValue);
1540
- const [hexText, setHexText] = useState(resolvedValue.toUpperCase());
1541
- const hsv = useMemo(() => hexToHsv(draftValue), [draftValue]);
1542
- useImperativeHandle(ref, () => inputRef.current);
1543
- useEffect(() => {
1544
- setDraftValue(resolvedValue);
1545
- setHexText(resolvedValue.toUpperCase());
1546
- }, [resolvedValue]);
1547
- useEffect(() => {
1548
- if (autoFocus) {
1549
- inputRef.current?.focus();
2829
+ // src/components/form/style.css
2830
+ styleInject(".canvas-react-form {\n min-width: 0;\n}\n.canvas-react-form-vertical {\n display: grid;\n gap: 16px;\n}\n.canvas-react-form-horizontal {\n display: grid;\n gap: 12px;\n}\n.canvas-react-form-inline {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n gap: 12px 16px;\n}\n.canvas-react-form-item {\n box-sizing: border-box;\n min-width: 0;\n}\n.canvas-react-form-item-vertical {\n display: grid;\n gap: 6px;\n}\n.canvas-react-form-item-horizontal {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr);\n align-items: center;\n column-gap: 10px;\n row-gap: 4px;\n}\n.canvas-react-form-item-inline {\n display: inline-grid;\n grid-template-columns: auto minmax(0, 1fr);\n align-items: center;\n column-gap: 8px;\n}\n.canvas-react-form-item-no-wrap {\n flex-wrap: nowrap;\n}\n.canvas-react-form-item-horizontal.canvas-react-form-item-no-wrap {\n display: grid;\n grid-template-columns: max-content minmax(0, 1fr);\n}\n.canvas-react-form-horizontal > .canvas-react-form-item {\n margin-bottom: var(--canvas-react-form-item-spacing, 16px);\n}\n.canvas-react-form-item-inline.canvas-react-form-item-no-wrap {\n display: inline-grid;\n grid-template-columns: max-content minmax(0, 1fr);\n}\n.canvas-react-form-item-no-wrap > .canvas-react-form-label {\n white-space: nowrap;\n}\n.canvas-react-form-label {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n min-width: 0;\n color: #475569;\n font-size: var(--canvas-react-font-size-label);\n line-height: 1.4;\n}\n.canvas-react-form-horizontal > .canvas-react-form-item > .canvas-react-form-label {\n min-height: 32px;\n}\n.canvas-react-form-required {\n color: #dc2626;\n}\n.canvas-react-form-control {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n.canvas-react-form-error {\n color: #dc2626;\n font-size: var(--canvas-react-font-size-secondary);\n}\n.canvas-react-form-help,\n.canvas-react-form-extra {\n color: #64748b;\n font-size: var(--canvas-react-font-size-secondary);\n}\n.canvas-react-form-item-error .canvas-react-form-control > input,\n.canvas-react-form-item-error .canvas-react-form-control > textarea {\n border-color: #dc2626;\n}\n");
2831
+ function createFormInstance() {
2832
+ const store = {
2833
+ values: {},
2834
+ initialValues: {},
2835
+ errors: {},
2836
+ rules: /* @__PURE__ */ new Map(),
2837
+ listeners: /* @__PURE__ */ new Set(),
2838
+ revision: 0,
2839
+ notify() {
2840
+ store.revision += 1;
2841
+ store.listeners.forEach((listener) => listener());
1550
2842
  }
1551
- }, [autoFocus]);
1552
- const updateValue = (nextValue) => {
1553
- setDraftValue(nextValue);
1554
- setHexText(nextValue.toUpperCase());
1555
- onChange?.(nextValue);
1556
2843
  };
1557
- const updateSaturation = (event) => {
1558
- const rect = event.currentTarget.getBoundingClientRect();
1559
- const saturation = clamp2((event.clientX - rect.left) / rect.width, 0, 1);
2844
+ return {
2845
+ __store: store,
2846
+ getFieldValue: (name) => store.values[name],
2847
+ setFieldsValue(values) {
2848
+ store.values = { ...store.values, ...values };
2849
+ Object.keys(values).forEach((name) => {
2850
+ delete store.errors[name];
2851
+ });
2852
+ store.notify();
2853
+ },
2854
+ resetFields() {
2855
+ store.values = { ...store.initialValues };
2856
+ store.errors = {};
2857
+ store.notify();
2858
+ },
2859
+ async validateFields() {
2860
+ const errors = {};
2861
+ for (const [name, rules] of store.rules) {
2862
+ const value = store.values[name];
2863
+ for (const rawRule of rules) {
2864
+ const rule = typeof rawRule === "function" ? rawRule({ getFieldValue: (field) => store.values[field] }) : rawRule;
2865
+ if (rule.required && (value === void 0 || value === null || value === "")) {
2866
+ errors[name] = rule.message ?? "\u6B64\u9879\u4E3A\u5FC5\u586B\u9879";
2867
+ break;
2868
+ }
2869
+ if ((rule.type === "number" || rule.type === "integer") && typeof value === "number" && rule.min !== void 0 && value < rule.min) {
2870
+ errors[name] = rule.message ?? `\u4E0D\u80FD\u5C0F\u4E8E ${rule.min}`;
2871
+ break;
2872
+ }
2873
+ if ((rule.type === "number" || rule.type === "integer") && typeof value === "number" && rule.max !== void 0 && value > rule.max) {
2874
+ errors[name] = rule.message ?? `\u4E0D\u80FD\u5927\u4E8E ${rule.max}`;
2875
+ break;
2876
+ }
2877
+ if (rule.type === "integer" && typeof value === "number" && !Number.isInteger(value)) {
2878
+ errors[name] = rule.message ?? "\u8BF7\u8F93\u5165\u6574\u6570";
2879
+ break;
2880
+ }
2881
+ if (rule.validator) {
2882
+ try {
2883
+ await rule.validator(rule, value);
2884
+ } catch (error) {
2885
+ errors[name] = error instanceof Error ? error.message : "\u6821\u9A8C\u5931\u8D25";
2886
+ break;
2887
+ }
2888
+ }
2889
+ }
2890
+ }
2891
+ store.errors = errors;
2892
+ store.notify();
2893
+ if (Object.keys(errors).length > 0) {
2894
+ return Promise.reject({
2895
+ errorFields: errors,
2896
+ values: { ...store.values }
2897
+ });
2898
+ }
2899
+ return { ...store.values };
2900
+ }
2901
+ };
2902
+ }
2903
+ function useReactForm() {
2904
+ const formRef = useRef(null);
2905
+ if (!formRef.current) formRef.current = createFormInstance();
2906
+ return [formRef.current];
2907
+ }
2908
+ function useReactFormWatch(name, form) {
2909
+ useSyncExternalStore(
2910
+ (listener) => {
2911
+ form.__store.listeners.add(listener);
2912
+ return () => form.__store.listeners.delete(listener);
2913
+ },
2914
+ () => form.__store.revision,
2915
+ () => 0
2916
+ );
2917
+ return form.getFieldValue(name);
2918
+ }
2919
+ var FormContext = createContext(null);
2920
+ var emptySubscribe = () => () => {
2921
+ };
2922
+ var emptySnapshot = () => 0;
2923
+ function ReactFormRoot({
2924
+ form: formProp,
2925
+ initialValues,
2926
+ layout = "vertical",
2927
+ noWrap = false,
2928
+ itemSpacing,
2929
+ labelWidth,
2930
+ labelAlign = "right",
2931
+ colon = false,
2932
+ requiredMark = true,
2933
+ className,
2934
+ children,
2935
+ ...props
2936
+ }) {
2937
+ const internalForm = useRef(null);
2938
+ if (!internalForm.current) internalForm.current = createFormInstance();
2939
+ const form = formProp ?? internalForm.current;
2940
+ const initialKey = useMemo(
2941
+ () => JSON.stringify(initialValues ?? {}),
2942
+ [initialValues]
2943
+ );
2944
+ useEffect(() => {
2945
+ form.__store.initialValues = { ...initialValues };
2946
+ form.__store.values = { ...initialValues, ...form.__store.values };
2947
+ form.__store.notify();
2948
+ }, [form, initialKey]);
2949
+ const contextValue = useMemo(
2950
+ () => ({
2951
+ form,
2952
+ layout,
2953
+ noWrap,
2954
+ labelWidth,
2955
+ labelAlign,
2956
+ colon,
2957
+ requiredMark
2958
+ }),
2959
+ [colon, form, labelAlign, labelWidth, layout, noWrap, requiredMark]
2960
+ );
2961
+ return /* @__PURE__ */ jsx(FormContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
2962
+ "form",
2963
+ {
2964
+ ...props,
2965
+ style: itemSpacing === void 0 ? props.style : {
2966
+ ...props.style,
2967
+ "--canvas-react-form-item-spacing": itemSpacing
2968
+ },
2969
+ className: joinClassNames(
2970
+ `${REACT_COMPONENT_PREFIX}-form`,
2971
+ `${REACT_COMPONENT_PREFIX}-form-${layout}`,
2972
+ className
2973
+ ),
2974
+ onSubmit: (event) => event.preventDefault(),
2975
+ children
2976
+ }
2977
+ ) });
2978
+ }
2979
+ function ReactFormItem({
2980
+ label,
2981
+ name,
2982
+ children,
2983
+ rules = [],
2984
+ initialValue,
2985
+ required,
2986
+ colon,
2987
+ labelWidth,
2988
+ labelAlign,
2989
+ labelStyle,
2990
+ controlStyle,
2991
+ help,
2992
+ extra,
2993
+ className,
2994
+ style,
2995
+ noWrap
2996
+ }) {
2997
+ const context = useContext(FormContext);
2998
+ const form = context?.form ?? null;
2999
+ if (name && !form) throw new Error("ReactForm.Item \u5FC5\u987B\u5728 ReactForm \u5185\u4F7F\u7528");
3000
+ useSyncExternalStore(
3001
+ form ? (listener) => {
3002
+ form.__store.listeners.add(listener);
3003
+ return () => form.__store.listeners.delete(listener);
3004
+ } : emptySubscribe,
3005
+ form ? () => form.__store.revision : emptySnapshot,
3006
+ emptySnapshot
3007
+ );
3008
+ useEffect(() => {
3009
+ if (!form || !name) return;
3010
+ form.__store.rules.set(name, rules);
3011
+ if (form.getFieldValue(name) === void 0 && initialValue !== void 0) {
3012
+ form.setFieldsValue({ [name]: initialValue });
3013
+ }
3014
+ return () => {
3015
+ form.__store.rules.delete(name);
3016
+ };
3017
+ }, [form, initialValue, name, rules]);
3018
+ const childProps = isValidElement(children) ? children.props : {};
3019
+ const value = form && name ? form.getFieldValue(name) : void 0;
3020
+ const child = form && name && isValidElement(children) ? cloneElement(children, {
3021
+ value: value ?? "",
3022
+ onChange: (...args) => {
3023
+ const first = args[0];
3024
+ const nextValue = typeof first === "object" && first !== null && "target" in first ? first.target?.value : first;
3025
+ form.setFieldsValue({ [name]: nextValue });
3026
+ const childOnChange = childProps.onChange;
3027
+ if (typeof childOnChange === "function") childOnChange(...args);
3028
+ }
3029
+ }) : children;
3030
+ const error = form && name ? form.__store.errors[name] : void 0;
3031
+ const isRequired = required ?? rules.some((rule) => typeof rule !== "function" && rule.required === true);
3032
+ const resolvedLabelWidth = labelWidth ?? context?.labelWidth;
3033
+ const resolvedLabelAlign = labelAlign ?? context?.labelAlign ?? "right";
3034
+ const showColon = colon ?? context?.colon ?? false;
3035
+ const shouldMarkRequired = context?.requiredMark ?? true;
3036
+ const resolvedLayout = context?.layout ?? "vertical";
3037
+ const resolvedNoWrap = noWrap ?? context?.noWrap ?? false;
3038
+ const labelElementId = typeof childProps.id === "string" ? childProps.id : void 0;
3039
+ return /* @__PURE__ */ jsxs(
3040
+ "div",
3041
+ {
3042
+ className: joinClassNames(
3043
+ `${REACT_COMPONENT_PREFIX}-form-item`,
3044
+ `${REACT_COMPONENT_PREFIX}-form-item-${resolvedLayout}`,
3045
+ resolvedNoWrap && `${REACT_COMPONENT_PREFIX}-form-item-no-wrap`,
3046
+ className,
3047
+ error && `${REACT_COMPONENT_PREFIX}-form-item-error`
3048
+ ),
3049
+ style,
3050
+ children: [
3051
+ label ? /* @__PURE__ */ jsxs(
3052
+ "label",
3053
+ {
3054
+ className: `${REACT_COMPONENT_PREFIX}-form-label`,
3055
+ htmlFor: labelElementId,
3056
+ style: {
3057
+ width: resolvedLabelWidth,
3058
+ flexBasis: resolvedLabelWidth,
3059
+ textAlign: resolvedLabelAlign,
3060
+ ...labelStyle
3061
+ },
3062
+ children: [
3063
+ shouldMarkRequired && isRequired ? /* @__PURE__ */ jsx(
3064
+ "span",
3065
+ {
3066
+ "aria-hidden": "true",
3067
+ className: `${REACT_COMPONENT_PREFIX}-form-required`,
3068
+ children: "*"
3069
+ }
3070
+ ) : null,
3071
+ /* @__PURE__ */ jsx("span", { children: label }),
3072
+ showColon ? /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: ":" }) : null
3073
+ ]
3074
+ }
3075
+ ) : null,
3076
+ /* @__PURE__ */ jsxs(
3077
+ "div",
3078
+ {
3079
+ className: `${REACT_COMPONENT_PREFIX}-form-control`,
3080
+ style: controlStyle,
3081
+ children: [
3082
+ child,
3083
+ error ? /* @__PURE__ */ jsx("span", { className: `${REACT_COMPONENT_PREFIX}-form-error`, children: error }) : help ? /* @__PURE__ */ jsx("span", { className: `${REACT_COMPONENT_PREFIX}-form-help`, children: help }) : null,
3084
+ extra ? /* @__PURE__ */ jsx("span", { className: `${REACT_COMPONENT_PREFIX}-form-extra`, children: extra }) : null
3085
+ ]
3086
+ }
3087
+ )
3088
+ ]
3089
+ }
3090
+ );
3091
+ }
3092
+ var ReactForm = Object.assign(ReactFormRoot, {
3093
+ Item: ReactFormItem,
3094
+ useForm: useReactForm,
3095
+ useWatch: useReactFormWatch
3096
+ });
3097
+
3098
+ // src/components/color/style.css
3099
+ styleInject(".canvas-react-color-wrap {\n display: inline-flex;\n width: 100%;\n height: 100%;\n min-height: 0;\n box-sizing: border-box;\n}\n.canvas-react-color {\n display: flex;\n align-items: center;\n width: 100%;\n min-width: 0;\n height: var(--canvas-react-control-height);\n min-height: 0;\n box-sizing: border-box;\n border: 1px solid var(--canvas-react-color-border);\n border-radius: var(--canvas-react-radius-sm);\n background: var(--canvas-react-color-bg);\n color: var(--canvas-react-color-text);\n font-size: var(--canvas-react-font-size);\n transition: border-color 0.2s ease, box-shadow 0.2s ease;\n cursor: pointer;\n}\n.canvas-react-color:hover {\n border-color: var(--canvas-react-color-primary-hover);\n}\n.canvas-react-color-open,\n.canvas-react-color:focus-within {\n border-color: var(--canvas-react-color-primary);\n box-shadow: var(--canvas-react-shadow-focus);\n}\n.canvas-react-color-disabled {\n color: #9ca3af;\n background: var(--canvas-react-color-bg-soft);\n cursor: not-allowed;\n}\n.canvas-react-color-preview {\n flex: 0 0 auto;\n width: calc(24px * var(--canvas-react-content-zoom, 1));\n height: calc(24px * var(--canvas-react-content-zoom, 1));\n margin-left: 3px;\n box-sizing: border-box;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n}\n.canvas-react-color-transparent {\n background-color: #fff;\n background-image:\n linear-gradient(\n 45deg,\n #d1d5db 25%,\n transparent 25%),\n linear-gradient(\n -45deg,\n #d1d5db 25%,\n transparent 25%),\n linear-gradient(\n 45deg,\n transparent 75%,\n #d1d5db 75%),\n linear-gradient(\n -45deg,\n transparent 75%,\n #d1d5db 75%);\n background-position:\n 0 0,\n 0 5px,\n 5px -5px,\n -5px 0;\n background-size: 10px 10px;\n}\n.canvas-react-color-input-wrap {\n flex: 1;\n min-width: 0;\n height: 100%;\n min-height: 0;\n border: 0;\n box-shadow: none;\n}\n.canvas-react-color .canvas-react-input-affix-wrapper {\n height: 100%;\n min-height: 0;\n}\n.canvas-react-color-input-wrap:hover,\n.canvas-react-color-input-wrap:focus-within {\n border-color: transparent;\n box-shadow: none;\n}\n.canvas-react-color-input {\n cursor: pointer;\n text-transform: uppercase;\n}\n.canvas-react-color-arrow {\n flex: 0 0 auto;\n width: 0.5em;\n height: 0.5em;\n min-width: 6px;\n min-height: 6px;\n margin-right: var(--canvas-react-control-padding-inline, 11px);\n border-right: 1.5px solid var(--canvas-react-color-text-muted);\n border-bottom: 1.5px solid var(--canvas-react-color-text-muted);\n transform: rotate(45deg) translateY(-2px);\n transition: transform 0.18s ease;\n}\n.canvas-react-color-arrow-open {\n transform: rotate(225deg) translate(-1px, -1px);\n}\n.canvas-react-color-dropdown {\n overflow: hidden;\n}\n.canvas-react-color-panel {\n padding: 12px;\n box-sizing: border-box;\n}\n.canvas-react-color-saturation {\n position: relative;\n height: 150px;\n overflow: hidden;\n border-radius: 6px;\n cursor: crosshair;\n background-image:\n linear-gradient(\n to top,\n #000,\n transparent),\n linear-gradient(\n to right,\n #fff,\n transparent);\n touch-action: none;\n}\n.canvas-react-color-saturation-thumb {\n position: absolute;\n width: 12px;\n height: 12px;\n border: 2px solid #fff;\n border-radius: 50%;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.28), 0 1px 3px rgba(0, 0, 0, 0.28);\n transform: translate(-50%, -50%);\n pointer-events: none;\n}\n.canvas-react-color-controls {\n display: flex;\n align-items: center;\n gap: 10px;\n margin-top: 12px;\n}\n.canvas-react-color-current {\n flex: 0 0 28px;\n height: 28px;\n box-sizing: border-box;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-radius: 50%;\n}\n.canvas-react-color-hue {\n width: 100%;\n height: 12px;\n margin: 0;\n appearance: none;\n border-radius: 999px;\n background:\n linear-gradient(\n to right,\n #f00,\n #ff0,\n #0f0,\n #0ff,\n #00f,\n #f0f,\n #f00);\n cursor: pointer;\n}\n.canvas-react-color-hue::-webkit-slider-thumb {\n width: 14px;\n height: 14px;\n appearance: none;\n border: 2px solid #fff;\n border-radius: 50%;\n background: transparent;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.28);\n}\n.canvas-react-color-value-row {\n display: grid;\n grid-template-columns: 36px 1fr;\n align-items: center;\n gap: 8px;\n margin-top: 12px;\n color: var(--canvas-react-color-text-muted);\n font-size: 12px;\n}\n.canvas-react-color-value-row .canvas-react-input-affix-wrapper {\n height: 28px;\n}\n.canvas-react-color-presets {\n display: grid;\n grid-template-columns: repeat(8, 20px);\n gap: 7px;\n margin-top: 12px;\n}\n.canvas-react-color-preset {\n width: 20px;\n height: 20px;\n padding: 0;\n box-sizing: border-box;\n border: 1px solid rgba(0, 0, 0, 0.12);\n border-radius: 4px;\n cursor: pointer;\n transition: transform 0.16s ease, box-shadow 0.16s ease;\n}\n.canvas-react-color-preset:hover {\n transform: scale(1.12);\n}\n.canvas-react-color-preset-selected {\n box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--canvas-react-color-primary);\n}\n");
3100
+ var DEFAULT_COLOR = "#1677ff";
3101
+ var PRESET_COLORS = [
3102
+ "#ff4d4f",
3103
+ "#fa8c16",
3104
+ "#fadb14",
3105
+ "#52c41a",
3106
+ "#13c2c2",
3107
+ "#1677ff",
3108
+ "#2f54eb",
3109
+ "#722ed1",
3110
+ "#eb2f96",
3111
+ "#000000",
3112
+ "#8c8c8c",
3113
+ "#ffffff"
3114
+ ];
3115
+ var ReactColorPicker = forwardRef(function ReactColorPicker2(props, ref) {
3116
+ const {
3117
+ autoFocus,
3118
+ className,
3119
+ disabled,
3120
+ onBlur,
3121
+ onChange,
3122
+ onFocus,
3123
+ onKeyDown,
3124
+ placeholder = "\u8BF7\u9009\u62E9\u989C\u8272",
3125
+ popupClassName,
3126
+ presets = PRESET_COLORS,
3127
+ style,
3128
+ value,
3129
+ showArrow = true,
3130
+ allowTransparent = true,
3131
+ ...restProps
3132
+ } = props;
3133
+ const triggerRef = useRef(null);
3134
+ const inputRef = useRef(null);
3135
+ const popupRef = useRef(null);
3136
+ const normalizedValue = normalizeHexColor(value);
3137
+ const resolvedValue = normalizedValue ?? DEFAULT_COLOR;
3138
+ const [selectedTransparent, setSelectedTransparent] = useState(false);
3139
+ const isTransparent = allowTransparent && (value === void 0 ? selectedTransparent : value.toLowerCase() === "transparent");
3140
+ const [open, setOpen] = useState(false);
3141
+ const [draftValue, setDraftValue] = useState(resolvedValue);
3142
+ const [hexText, setHexText] = useState(resolvedValue.toUpperCase());
3143
+ const hsv = useMemo(() => hexToHsv(draftValue), [draftValue]);
3144
+ useImperativeHandle(ref, () => inputRef.current);
3145
+ useEffect(() => {
3146
+ if (normalizedValue) {
3147
+ setDraftValue(normalizedValue);
3148
+ setHexText(normalizedValue.toUpperCase());
3149
+ }
3150
+ }, [normalizedValue]);
3151
+ useEffect(() => {
3152
+ if (autoFocus) {
3153
+ inputRef.current?.focus();
3154
+ }
3155
+ }, [autoFocus]);
3156
+ const updateValue = (nextValue) => {
3157
+ setSelectedTransparent(false);
3158
+ setDraftValue(nextValue);
3159
+ setHexText(nextValue.toUpperCase());
3160
+ onChange?.(nextValue);
3161
+ };
3162
+ const updateSaturation = (event) => {
3163
+ const rect = event.currentTarget.getBoundingClientRect();
3164
+ const saturation = clamp2((event.clientX - rect.left) / rect.width, 0, 1);
1560
3165
  const brightness = clamp2(
1561
3166
  1 - (event.clientY - rect.top) / rect.height,
1562
3167
  0,
@@ -1586,8 +3191,11 @@ var ReactColorPicker = forwardRef(function ReactColorPicker2(props, ref) {
1586
3191
  /* @__PURE__ */ jsx(
1587
3192
  "span",
1588
3193
  {
1589
- className: `${REACT_COMPONENT_PREFIX}-color-preview`,
1590
- style: { backgroundColor: draftValue }
3194
+ className: joinClassNames(
3195
+ `${REACT_COMPONENT_PREFIX}-color-preview`,
3196
+ isTransparent && `${REACT_COMPONENT_PREFIX}-color-transparent`
3197
+ ),
3198
+ style: isTransparent ? void 0 : { backgroundColor: draftValue }
1591
3199
  }
1592
3200
  ),
1593
3201
  /* @__PURE__ */ jsx(
@@ -1598,7 +3206,7 @@ var ReactColorPicker = forwardRef(function ReactColorPicker2(props, ref) {
1598
3206
  allowClear: false,
1599
3207
  disabled,
1600
3208
  readOnly: true,
1601
- value: value ? draftValue.toUpperCase() : "",
3209
+ value: isTransparent ? "\u900F\u660E" : value ? draftValue.toUpperCase() : "",
1602
3210
  placeholder,
1603
3211
  wrapperClassName: `${REACT_COMPONENT_PREFIX}-color-input-wrap`,
1604
3212
  className: `${REACT_COMPONENT_PREFIX}-color-input`,
@@ -1678,8 +3286,11 @@ var ReactColorPicker = forwardRef(function ReactColorPicker2(props, ref) {
1678
3286
  /* @__PURE__ */ jsx(
1679
3287
  "span",
1680
3288
  {
1681
- className: `${REACT_COMPONENT_PREFIX}-color-current`,
1682
- style: { backgroundColor: draftValue }
3289
+ className: joinClassNames(
3290
+ `${REACT_COMPONENT_PREFIX}-color-current`,
3291
+ isTransparent && `${REACT_COMPONENT_PREFIX}-color-transparent`
3292
+ ),
3293
+ style: isTransparent ? void 0 : { backgroundColor: draftValue }
1683
3294
  }
1684
3295
  ),
1685
3296
  /* @__PURE__ */ jsx(
@@ -1721,24 +3332,45 @@ var ReactColorPicker = forwardRef(function ReactColorPicker2(props, ref) {
1721
3332
  }
1722
3333
  )
1723
3334
  ] }),
1724
- /* @__PURE__ */ jsx("div", { className: `${REACT_COMPONENT_PREFIX}-color-presets`, children: presets.map((preset) => {
1725
- const normalizedPreset = normalizeHexColor(preset);
1726
- return normalizedPreset ? /* @__PURE__ */ jsx(
3335
+ /* @__PURE__ */ jsxs("div", { className: `${REACT_COMPONENT_PREFIX}-color-presets`, children: [
3336
+ allowTransparent && /* @__PURE__ */ jsx(
1727
3337
  "button",
1728
3338
  {
1729
3339
  type: "button",
1730
3340
  className: joinClassNames(
1731
3341
  `${REACT_COMPONENT_PREFIX}-color-preset`,
1732
- normalizedPreset === draftValue && `${REACT_COMPONENT_PREFIX}-color-preset-selected`
3342
+ `${REACT_COMPONENT_PREFIX}-color-transparent`,
3343
+ isTransparent && `${REACT_COMPONENT_PREFIX}-color-preset-selected`
1733
3344
  ),
1734
- style: { backgroundColor: normalizedPreset },
1735
- title: normalizedPreset.toUpperCase(),
3345
+ title: "\u900F\u660E",
3346
+ "aria-label": "\u900F\u660E",
3347
+ "aria-pressed": isTransparent,
1736
3348
  onMouseDown: (event) => event.preventDefault(),
1737
- onClick: () => updateValue(normalizedPreset)
1738
- },
1739
- normalizedPreset
1740
- ) : null;
1741
- }) })
3349
+ onClick: () => {
3350
+ setSelectedTransparent(true);
3351
+ onChange?.("transparent");
3352
+ }
3353
+ }
3354
+ ),
3355
+ presets.map((preset) => {
3356
+ const normalizedPreset = normalizeHexColor(preset);
3357
+ return normalizedPreset ? /* @__PURE__ */ jsx(
3358
+ "button",
3359
+ {
3360
+ type: "button",
3361
+ className: joinClassNames(
3362
+ `${REACT_COMPONENT_PREFIX}-color-preset`,
3363
+ normalizedPreset === draftValue && `${REACT_COMPONENT_PREFIX}-color-preset-selected`
3364
+ ),
3365
+ style: { backgroundColor: normalizedPreset },
3366
+ title: normalizedPreset.toUpperCase(),
3367
+ onMouseDown: (event) => event.preventDefault(),
3368
+ onClick: () => updateValue(normalizedPreset)
3369
+ },
3370
+ normalizedPreset
3371
+ ) : null;
3372
+ })
3373
+ ] })
1742
3374
  ] })
1743
3375
  }
1744
3376
  )
@@ -4664,10 +6296,12 @@ var ReactNumberInput = forwardRef(
4664
6296
  function ReactNumberInput2(props, ref) {
4665
6297
  const {
4666
6298
  className,
6299
+ changeOnWheel = false,
4667
6300
  disabled,
4668
6301
  onBlur,
4669
6302
  onChange,
4670
6303
  onKeyDown,
6304
+ onWheel,
4671
6305
  onPressEnter,
4672
6306
  style,
4673
6307
  value,
@@ -4711,6 +6345,10 @@ var ReactNumberInput = forwardRef(
4711
6345
  if (event.key === "Enter") {
4712
6346
  onPressEnter?.(event);
4713
6347
  }
6348
+ },
6349
+ onWheel: (event) => {
6350
+ if (!changeOnWheel) event.currentTarget.blur();
6351
+ onWheel?.(event);
4714
6352
  }
4715
6353
  }
4716
6354
  )
@@ -5409,6 +7047,7 @@ var FOCUSABLE_SELECTOR = [
5409
7047
  var bodyScrollLockCount = 0;
5410
7048
  var bodyOverflowBeforeLock = "";
5411
7049
  function ReactModal(props) {
7050
+ const configStyle = useReactConfigStyle();
5412
7051
  const {
5413
7052
  afterClose,
5414
7053
  afterOpenChange,
@@ -5691,7 +7330,7 @@ function ReactModal(props) {
5691
7330
  transition.className,
5692
7331
  rootClassName
5693
7332
  ),
5694
- style: { zIndex },
7333
+ style: { ...configStyle, zIndex },
5695
7334
  children: [
5696
7335
  mask ? /* @__PURE__ */ jsx(
5697
7336
  "div",
@@ -5892,29 +7531,572 @@ function isPromiseLike(value) {
5892
7531
  return typeof value === "object" && value !== null && "then" in value && typeof value.then === "function";
5893
7532
  }
5894
7533
 
5895
- // src/components/compat/style.css
5896
- styleInject(".canvas-react-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n min-height: 32px;\n padding: 4px 14px;\n border: 1px solid var(--cc-border-color, #d9d9d9);\n border-radius: 6px;\n color: var(--cc-text-color, #1f2937);\n background: var(--cc-surface-color, #fff);\n cursor: pointer;\n}\n.canvas-react-button:hover:not(:disabled) {\n color: #1677ff;\n border-color: #1677ff;\n}\n.canvas-react-button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.canvas-react-button-primary {\n color: #fff;\n border-color: #1677ff;\n background: #1677ff;\n}\n.canvas-react-button-danger {\n color: #dc2626;\n border-color: #fca5a5;\n}\n.canvas-react-button-small {\n min-height: 24px;\n padding: 2px 8px;\n}\n.canvas-react-button-large {\n min-height: 40px;\n padding: 6px 18px;\n}\n.canvas-react-button-icon {\n display: inline-flex;\n}\n.canvas-react-row {\n display: flex;\n flex-flow: row wrap;\n}\n.canvas-react-col {\n min-width: 0;\n padding-inline: 8px;\n}\n.canvas-react-radio-group {\n display: flex;\n gap: 16px;\n}\n.canvas-react-radio {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n cursor: pointer;\n}\n.canvas-react-radio input {\n position: absolute;\n opacity: 0;\n pointer-events: none;\n}\n.canvas-react-radio-mark {\n width: 14px;\n height: 14px;\n border: 1px solid #94a3b8;\n border-radius: 50%;\n box-sizing: border-box;\n}\n.canvas-react-radio input:checked + .canvas-react-radio-mark {\n border: 4px solid #1677ff;\n}\n.canvas-react-form-item {\n display: flex;\n flex-direction: column;\n gap: 6px;\n margin-bottom: 16px;\n}\n.canvas-react-form-label {\n color: #334155;\n font-size: 14px;\n}\n.canvas-react-form-error {\n color: #dc2626;\n font-size: 12px;\n}\n.canvas-react-textarea {\n width: 100%;\n min-height: 72px;\n padding: 8px 10px;\n border: 1px solid #d9d9d9;\n border-radius: 6px;\n box-sizing: border-box;\n font: inherit;\n resize: vertical;\n}\n.canvas-react-message-host {\n position: fixed;\n z-index: 3000;\n top: 24px;\n left: 50%;\n display: flex;\n flex-direction: column;\n gap: 8px;\n transform: translateX(-50%);\n pointer-events: none;\n}\n.canvas-react-message {\n padding: 9px 14px;\n border: 1px solid #e2e8f0;\n border-radius: 8px;\n color: #334155;\n background: #fff;\n box-shadow: 0 8px 24px rgba(15, 23, 42, 0.14);\n}\n.canvas-react-message-error {\n color: #b91c1c;\n border-color: #fecaca;\n}\n");
5897
- function ReactButton({
7534
+ // src/components/drawer/style.css
7535
+ styleInject('@import "../../styles/variables.css";\n.canvas-react-drawer-root,\n.canvas-react-drawer-root * {\n box-sizing: border-box;\n}\n.canvas-react-drawer-root {\n position: fixed;\n inset: 0;\n color: var(--canvas-react-color-text);\n font-size: var(--canvas-react-font-size);\n pointer-events: none;\n}\n.canvas-react-drawer-mask {\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0.45);\n pointer-events: auto;\n}\n.canvas-react-drawer-mask-blur {\n backdrop-filter: blur(4px);\n}\n.canvas-react-drawer-section {\n position: absolute;\n display: flex;\n flex-direction: column;\n min-width: 0;\n min-height: 0;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n background: var(--canvas-react-color-bg, #fff);\n box-shadow: 0 6px 24px rgba(0, 0, 0, 0.16);\n outline: none;\n pointer-events: auto;\n}\n.canvas-react-drawer-right .canvas-react-drawer-section {\n top: 0;\n right: 0;\n bottom: 0;\n}\n.canvas-react-drawer-left .canvas-react-drawer-section {\n top: 0;\n left: 0;\n bottom: 0;\n}\n.canvas-react-drawer-top .canvas-react-drawer-section {\n top: 0;\n right: 0;\n left: 0;\n}\n.canvas-react-drawer-bottom .canvas-react-drawer-section {\n right: 0;\n bottom: 0;\n left: 0;\n}\n.canvas-react-drawer-fullscreen .canvas-react-drawer-section {\n inset: 0;\n width: 100%;\n height: 100%;\n max-width: none;\n max-height: none;\n}\n.canvas-react-drawer-header {\n display: flex;\n align-items: center;\n flex: none;\n gap: 12px;\n min-height: 56px;\n padding: 16px 24px;\n border-bottom: 1px solid var(--canvas-react-color-border);\n}\n.canvas-react-drawer-title {\n min-width: 0;\n flex: 1;\n font-size: 16px;\n font-weight: 600;\n line-height: 1.5;\n}\n.canvas-react-drawer-extra {\n flex: none;\n}\n.canvas-react-drawer-close,\n.canvas-react-drawer-fullscreen-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n width: 24px;\n height: 24px;\n padding: 0;\n border: 0;\n border-radius: 4px;\n background: transparent;\n color: var(--canvas-react-color-text-muted);\n font: inherit;\n font-size: 24px;\n line-height: 1;\n cursor: pointer;\n}\n.canvas-react-drawer-close:hover,\n.canvas-react-drawer-fullscreen-button:hover {\n background: var(--canvas-react-color-bg-hover);\n color: var(--canvas-react-color-text);\n}\n.canvas-react-drawer-close:focus-visible,\n.canvas-react-drawer-fullscreen-button:focus-visible {\n outline: 2px solid var(--canvas-react-color-primary);\n outline-offset: 2px;\n}\n.canvas-react-drawer-close:disabled {\n opacity: 0.45;\n cursor: not-allowed;\n}\n.canvas-react-drawer-body {\n flex: 1;\n min-height: 0;\n overflow: auto;\n padding: 24px;\n}\n.canvas-react-drawer-footer {\n flex: none;\n padding: 8px 16px;\n border-top: 1px solid var(--canvas-react-color-border);\n}\n.canvas-react-drawer-skeleton {\n display: grid;\n gap: 14px;\n padding: 6px 0;\n}\n.canvas-react-drawer-skeleton i {\n display: block;\n height: 16px;\n border-radius: 4px;\n background:\n linear-gradient(\n 90deg,\n #f0f0f0,\n #fafafa,\n #f0f0f0);\n background-size: 200% 100%;\n animation: canvas-react-drawer-loading 1.4s ease infinite;\n}\n.canvas-react-drawer-skeleton i:nth-child(2) {\n width: 80%;\n}\n.canvas-react-drawer-skeleton i:nth-child(3) {\n width: 60%;\n}\n.canvas-react-drawer-motion-enter-active,\n.canvas-react-drawer-motion-leave-active {\n transition: opacity 0.3s ease;\n}\n.canvas-react-drawer-motion-enter-active .canvas-react-drawer-section,\n.canvas-react-drawer-motion-leave-active .canvas-react-drawer-section {\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.canvas-react-drawer-motion-enter-from,\n.canvas-react-drawer-motion-leave-to {\n opacity: 0;\n}\n.canvas-react-drawer-right.canvas-react-drawer-motion-enter-from .canvas-react-drawer-section,\n.canvas-react-drawer-right.canvas-react-drawer-motion-leave-to .canvas-react-drawer-section {\n transform: translateX(100%);\n}\n.canvas-react-drawer-left.canvas-react-drawer-motion-enter-from .canvas-react-drawer-section,\n.canvas-react-drawer-left.canvas-react-drawer-motion-leave-to .canvas-react-drawer-section {\n transform: translateX(-100%);\n}\n.canvas-react-drawer-top.canvas-react-drawer-motion-enter-from .canvas-react-drawer-section,\n.canvas-react-drawer-top.canvas-react-drawer-motion-leave-to .canvas-react-drawer-section {\n transform: translateY(-100%);\n}\n.canvas-react-drawer-bottom.canvas-react-drawer-motion-enter-from .canvas-react-drawer-section,\n.canvas-react-drawer-bottom.canvas-react-drawer-motion-leave-to .canvas-react-drawer-section {\n transform: translateY(100%);\n}\n.canvas-react-drawer-hidden {\n visibility: hidden;\n}\n@keyframes canvas-react-drawer-loading {\n to {\n background-position-x: -200%;\n }\n}\n@media (max-width: 575px) {\n .canvas-react-drawer-header {\n padding: 16px;\n }\n .canvas-react-drawer-body {\n padding: 16px;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .canvas-react-drawer-motion-enter-active,\n .canvas-react-drawer-motion-leave-active,\n .canvas-react-drawer-motion-enter-active .canvas-react-drawer-section,\n .canvas-react-drawer-motion-leave-active .canvas-react-drawer-section {\n transition-duration: 0.01ms;\n }\n}\n');
7536
+ var scrollLockCount = 0;
7537
+ var savedOverflow = "";
7538
+ function ReactDrawer({
7539
+ open,
5898
7540
  children,
7541
+ title,
7542
+ extra,
7543
+ footer,
7544
+ placement = "right",
7545
+ size = "default",
7546
+ fullscreenable = true,
7547
+ fullscreen,
7548
+ defaultFullscreen = false,
7549
+ onFullscreenChange,
7550
+ closable = true,
7551
+ mask = true,
7552
+ keyboard = true,
7553
+ loading = false,
7554
+ destroyOnHidden = false,
7555
+ forceRender = false,
7556
+ getContainer,
7557
+ zIndex = 1e3,
5899
7558
  className,
5900
- danger,
5901
- htmlType = "button",
5902
- icon,
5903
- size = "middle",
5904
- type = "default",
5905
- ...props
7559
+ rootClassName,
7560
+ style,
7561
+ rootStyle,
7562
+ classNames,
7563
+ styles,
7564
+ onClose,
7565
+ afterOpenChange
5906
7566
  }) {
5907
- return /* @__PURE__ */ jsxs(
5908
- "button",
5909
- {
5910
- ...props,
5911
- type: htmlType,
5912
- className: joinClassNames(
5913
- `${REACT_COMPONENT_PREFIX}-button`,
5914
- `${REACT_COMPONENT_PREFIX}-button-${type}`,
5915
- `${REACT_COMPONENT_PREFIX}-button-${size}`,
5916
- danger && `${REACT_COMPONENT_PREFIX}-button-danger`,
5917
- className
7567
+ const configStyle = useReactConfigStyle();
7568
+ const [innerFullscreen, setInnerFullscreen] = useState(defaultFullscreen);
7569
+ const mergedFullscreen = fullscreen ?? innerFullscreen;
7570
+ const transition = useReactTransition({
7571
+ show: open,
7572
+ duration: 300,
7573
+ name: `${REACT_COMPONENT_PREFIX}-drawer-motion`
7574
+ });
7575
+ const panelRef = useRef(null);
7576
+ const triggerRef = useRef(null);
7577
+ const wasOpenRef = useRef(false);
7578
+ const titleId = useCompatibleId(`${REACT_COMPONENT_PREFIX}-drawer-title`);
7579
+ const enabledMask = typeof mask === "object" ? mask.enabled !== false : mask;
7580
+ const maskClosable = typeof mask === "object" ? mask.closable !== false : true;
7581
+ const showClose = typeof closable === "object" || closable;
7582
+ const closeDisabled = typeof closable === "object" && closable.disabled;
7583
+ const closeAtEnd = typeof closable === "object" && closable.placement === "end";
7584
+ const closeIcon = typeof closable === "object" ? closable.closeIcon : void 0;
7585
+ const hasTitle = title != null && title !== false;
7586
+ const measure = size === "default" ? 378 : size === "large" ? 736 : size;
7587
+ const vertical = placement === "top" || placement === "bottom";
7588
+ useEffect(() => {
7589
+ if (!open || typeof document === "undefined") return;
7590
+ triggerRef.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
7591
+ const frame = requestAnimationFrame(() => panelRef.current?.focus());
7592
+ return () => cancelAnimationFrame(frame);
7593
+ }, [open]);
7594
+ useEffect(() => {
7595
+ if (!open || !enabledMask) return;
7596
+ if (scrollLockCount++ === 0) {
7597
+ savedOverflow = document.body.style.overflow;
7598
+ document.body.style.overflow = "hidden";
7599
+ }
7600
+ return () => {
7601
+ scrollLockCount = Math.max(0, scrollLockCount - 1);
7602
+ if (scrollLockCount === 0) document.body.style.overflow = savedOverflow;
7603
+ };
7604
+ }, [enabledMask, open]);
7605
+ useEffect(() => {
7606
+ if (!open) return;
7607
+ const onKeyDown = (event) => {
7608
+ if (event.key === "Escape" && keyboard && panelRef.current) {
7609
+ event.preventDefault();
7610
+ onClose?.(event);
7611
+ }
7612
+ if (event.key === "Tab" && enabledMask && panelRef.current)
7613
+ trapFocus2(event, panelRef.current);
7614
+ };
7615
+ document.addEventListener("keydown", onKeyDown);
7616
+ return () => document.removeEventListener("keydown", onKeyDown);
7617
+ }, [enabledMask, keyboard, onClose, open]);
7618
+ useEffect(() => {
7619
+ if (open) {
7620
+ wasOpenRef.current = true;
7621
+ const timer = setTimeout(() => afterOpenChange?.(true), 300);
7622
+ return () => clearTimeout(timer);
7623
+ }
7624
+ if (wasOpenRef.current && !transition.rendered) {
7625
+ wasOpenRef.current = false;
7626
+ triggerRef.current?.focus();
7627
+ afterOpenChange?.(false);
7628
+ }
7629
+ }, [afterOpenChange, open, transition.rendered]);
7630
+ if (typeof document === "undefined" || !transition.rendered && !forceRender)
7631
+ return null;
7632
+ const container = resolveContainer2(getContainer);
7633
+ if (getContainer !== false && !container) return null;
7634
+ const hasHeader = hasTitle || showClose || extra != null || fullscreenable;
7635
+ const closeButton = showClose ? /* @__PURE__ */ jsx(
7636
+ "button",
7637
+ {
7638
+ type: "button",
7639
+ className: joinClassNames(
7640
+ `${REACT_COMPONENT_PREFIX}-drawer-close`,
7641
+ classNames?.close
7642
+ ),
7643
+ style: styles?.close,
7644
+ "aria-label": "\u5173\u95ED",
7645
+ disabled: closeDisabled,
7646
+ onClick: onClose,
7647
+ children: closeIcon ?? /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: "\xD7" })
7648
+ }
7649
+ ) : null;
7650
+ const node = /* @__PURE__ */ jsxs(
7651
+ "div",
7652
+ {
7653
+ className: joinClassNames(
7654
+ `${REACT_COMPONENT_PREFIX}-drawer-root`,
7655
+ `${REACT_COMPONENT_PREFIX}-drawer-${placement}`,
7656
+ transition.className,
7657
+ !enabledMask && `${REACT_COMPONENT_PREFIX}-drawer-no-mask`,
7658
+ mergedFullscreen && `${REACT_COMPONENT_PREFIX}-drawer-fullscreen`,
7659
+ !open && `${REACT_COMPONENT_PREFIX}-drawer-hidden`,
7660
+ rootClassName,
7661
+ classNames?.root
7662
+ ),
7663
+ style: { ...configStyle, zIndex, ...rootStyle, ...styles?.root },
7664
+ children: [
7665
+ enabledMask && /* @__PURE__ */ jsx(
7666
+ "div",
7667
+ {
7668
+ className: joinClassNames(
7669
+ `${REACT_COMPONENT_PREFIX}-drawer-mask`,
7670
+ typeof mask === "object" && mask.blur && `${REACT_COMPONENT_PREFIX}-drawer-mask-blur`,
7671
+ classNames?.mask
7672
+ ),
7673
+ style: styles?.mask,
7674
+ "aria-hidden": "true",
7675
+ onMouseDown: (event) => {
7676
+ if (maskClosable && event.target === event.currentTarget)
7677
+ onClose?.(event);
7678
+ }
7679
+ }
7680
+ ),
7681
+ /* @__PURE__ */ jsxs(
7682
+ "section",
7683
+ {
7684
+ ref: panelRef,
7685
+ className: joinClassNames(
7686
+ `${REACT_COMPONENT_PREFIX}-drawer-section`,
7687
+ className,
7688
+ classNames?.section
7689
+ ),
7690
+ style: {
7691
+ [vertical ? "height" : "width"]: measure,
7692
+ ...style,
7693
+ ...styles?.section,
7694
+ ...mergedFullscreen ? { width: "100%", height: "100%" } : void 0
7695
+ },
7696
+ role: "dialog",
7697
+ "aria-modal": enabledMask ? "true" : void 0,
7698
+ "aria-labelledby": hasTitle ? titleId : void 0,
7699
+ "aria-label": hasTitle ? void 0 : "\u62BD\u5C49",
7700
+ tabIndex: -1,
7701
+ children: [
7702
+ hasHeader && /* @__PURE__ */ jsxs(
7703
+ "header",
7704
+ {
7705
+ className: joinClassNames(
7706
+ `${REACT_COMPONENT_PREFIX}-drawer-header`,
7707
+ classNames?.header
7708
+ ),
7709
+ style: styles?.header,
7710
+ children: [
7711
+ !closeAtEnd && closeButton,
7712
+ /* @__PURE__ */ jsx(
7713
+ "div",
7714
+ {
7715
+ id: hasTitle ? titleId : void 0,
7716
+ className: joinClassNames(
7717
+ `${REACT_COMPONENT_PREFIX}-drawer-title`,
7718
+ classNames?.title
7719
+ ),
7720
+ style: styles?.title,
7721
+ children: title
7722
+ }
7723
+ ),
7724
+ extra != null && /* @__PURE__ */ jsx(
7725
+ "div",
7726
+ {
7727
+ className: joinClassNames(
7728
+ `${REACT_COMPONENT_PREFIX}-drawer-extra`,
7729
+ classNames?.extra
7730
+ ),
7731
+ style: styles?.extra,
7732
+ children: extra
7733
+ }
7734
+ ),
7735
+ fullscreenable && /* @__PURE__ */ jsx(
7736
+ "button",
7737
+ {
7738
+ type: "button",
7739
+ className: joinClassNames(
7740
+ `${REACT_COMPONENT_PREFIX}-drawer-fullscreen-button`,
7741
+ classNames?.fullscreen
7742
+ ),
7743
+ style: styles?.fullscreen,
7744
+ title: mergedFullscreen ? "\u9000\u51FA\u5168\u5C4F" : "\u5168\u5C4F",
7745
+ "aria-label": mergedFullscreen ? "\u9000\u51FA\u5168\u5C4F" : "\u5168\u5C4F",
7746
+ "aria-pressed": mergedFullscreen,
7747
+ onClick: () => {
7748
+ const next = !mergedFullscreen;
7749
+ if (fullscreen === void 0) setInnerFullscreen(next);
7750
+ onFullscreenChange?.(next);
7751
+ },
7752
+ children: /* @__PURE__ */ jsx(ModalFullscreenIcon, { exit: mergedFullscreen })
7753
+ }
7754
+ ),
7755
+ closeAtEnd && closeButton
7756
+ ]
7757
+ }
7758
+ ),
7759
+ /* @__PURE__ */ jsx(
7760
+ "div",
7761
+ {
7762
+ className: joinClassNames(
7763
+ `${REACT_COMPONENT_PREFIX}-drawer-body`,
7764
+ classNames?.body
7765
+ ),
7766
+ style: styles?.body,
7767
+ children: loading ? /* @__PURE__ */ jsxs(
7768
+ "div",
7769
+ {
7770
+ className: `${REACT_COMPONENT_PREFIX}-drawer-skeleton`,
7771
+ "aria-label": "\u52A0\u8F7D\u4E2D",
7772
+ children: [
7773
+ /* @__PURE__ */ jsx("i", {}),
7774
+ /* @__PURE__ */ jsx("i", {}),
7775
+ /* @__PURE__ */ jsx("i", {})
7776
+ ]
7777
+ }
7778
+ ) : (!destroyOnHidden || open) && children
7779
+ }
7780
+ ),
7781
+ footer != null && /* @__PURE__ */ jsx(
7782
+ "footer",
7783
+ {
7784
+ className: joinClassNames(
7785
+ `${REACT_COMPONENT_PREFIX}-drawer-footer`,
7786
+ classNames?.footer
7787
+ ),
7788
+ style: styles?.footer,
7789
+ children: footer
7790
+ }
7791
+ )
7792
+ ]
7793
+ }
7794
+ )
7795
+ ]
7796
+ }
7797
+ );
7798
+ return getContainer === false ? node : createPortal(node, container);
7799
+ }
7800
+ function resolveContainer2(value) {
7801
+ if (value === false) return null;
7802
+ if (typeof value === "function") return value();
7803
+ if (typeof value === "string")
7804
+ return document.querySelector(value);
7805
+ return value ?? document.body;
7806
+ }
7807
+ function trapFocus2(event, panel) {
7808
+ const focusable = Array.from(
7809
+ panel.querySelectorAll(
7810
+ 'a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])'
7811
+ )
7812
+ );
7813
+ const first = focusable[0];
7814
+ const last = focusable[focusable.length - 1];
7815
+ if (!first || !last) {
7816
+ event.preventDefault();
7817
+ panel.focus();
7818
+ return;
7819
+ }
7820
+ if (event.shiftKey && (document.activeElement === first || !panel.contains(document.activeElement))) {
7821
+ event.preventDefault();
7822
+ last.focus();
7823
+ } else if (!event.shiftKey && (document.activeElement === last || !panel.contains(document.activeElement))) {
7824
+ event.preventDefault();
7825
+ first.focus();
7826
+ }
7827
+ }
7828
+
7829
+ // src/components/compat/style.css
7830
+ styleInject(".canvas-react-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n min-height: 32px;\n padding: 4px 14px;\n border: 1px solid var(--cc-border-color, #d9d9d9);\n border-radius: 6px;\n color: var(--cc-text-color, #1f2937);\n background: var(--cc-surface-color, #fff);\n cursor: pointer;\n}\n.canvas-react-button:hover:not(:disabled) {\n color: #1677ff;\n border-color: #1677ff;\n}\n.canvas-react-button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.canvas-react-button-primary {\n color: #fff;\n border-color: #1677ff;\n background: #1677ff;\n}\n.canvas-react-button-primary:hover:not(:disabled) {\n color: #fff;\n border-color: #4096ff;\n background: #4096ff;\n}\n.canvas-react-button-danger {\n color: #dc2626;\n border-color: #fca5a5;\n}\n.canvas-react-button-small {\n min-height: 24px;\n padding: 2px 8px;\n}\n.canvas-react-button-large {\n min-height: 40px;\n padding: 6px 18px;\n}\n.canvas-react-button-icon {\n display: inline-flex;\n}\n.canvas-react-row {\n display: flex;\n flex-flow: row wrap;\n}\n.canvas-react-col {\n min-width: 0;\n padding-inline: 8px;\n}\n.canvas-react-radio-group {\n display: flex;\n gap: 16px;\n}\n.canvas-react-radio {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n cursor: pointer;\n}\n.canvas-react-radio input {\n position: absolute;\n opacity: 0;\n pointer-events: none;\n}\n.canvas-react-radio-mark {\n width: 14px;\n height: 14px;\n border: 1px solid #94a3b8;\n border-radius: 50%;\n box-sizing: border-box;\n}\n.canvas-react-radio input:checked + .canvas-react-radio-mark {\n border: 4px solid #1677ff;\n}\n.canvas-react-form-item {\n display: flex;\n flex-direction: column;\n gap: 6px;\n margin-bottom: 16px;\n}\n.canvas-react-form-label {\n color: #334155;\n font-size: 14px;\n}\n.canvas-react-form-error {\n color: #dc2626;\n font-size: 12px;\n}\n.canvas-react-textarea {\n width: 100%;\n min-height: 72px;\n padding: 8px 10px;\n border: 1px solid var(--canvas-react-color-border);\n border-radius: 6px;\n box-sizing: border-box;\n background: var(--canvas-react-color-bg);\n color: var(--canvas-react-color-text);\n font: inherit;\n resize: vertical;\n}\n.canvas-react-textarea:hover:not(:disabled) {\n border-color: var(--canvas-react-color-primary-hover);\n}\n.canvas-react-textarea:focus {\n border-color: var(--canvas-react-color-primary);\n box-shadow: var(--canvas-react-shadow-focus);\n outline: none;\n}\n.canvas-react-textarea::placeholder {\n color: var(--canvas-react-color-text-muted);\n}\n.canvas-react-textarea:disabled {\n background: var(--canvas-react-color-bg-soft, #fafafa);\n color: var(--canvas-react-color-text-muted);\n cursor: not-allowed;\n}\n");
7831
+
7832
+ // src/components/message/style.css
7833
+ styleInject('@import "../../styles/variables.css";\n.canvas-react-message-host {\n position: fixed;\n z-index: 3000;\n inset-inline: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding-inline: 16px;\n pointer-events: none;\n font-size: var(--canvas-react-font-size, 14px);\n}\n.canvas-react-message {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n max-width: min(100%, 640px);\n max-height: 240px;\n padding: 9px 12px;\n border-radius: var(--canvas-react-radius-md, 8px);\n background: var(--canvas-react-color-bg, #fff);\n color: var(--canvas-react-color-text, rgba(0, 0, 0, 0.88));\n box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12);\n line-height: 1.5;\n pointer-events: auto;\n animation: canvas-react-message-enter 0.2s ease-out both;\n}\n.canvas-react-message-leaving {\n overflow: hidden;\n pointer-events: none;\n animation: canvas-react-message-leave 0.3s ease-in forwards;\n}\n.canvas-react-message-icon {\n display: inline-flex;\n flex: none;\n width: 16px;\n height: 16px;\n}\n.canvas-react-message-icon svg {\n width: 16px;\n height: 16px;\n}\n.canvas-react-message-info,\n.canvas-react-message-loading {\n --canvas-react-message-color: #1677ff;\n}\n.canvas-react-message-success {\n --canvas-react-message-color: #52c41a;\n}\n.canvas-react-message-warning {\n --canvas-react-message-color: #faad14;\n}\n.canvas-react-message-error {\n --canvas-react-message-color: #ff4d4f;\n}\n.canvas-react-message-icon {\n color: var(--canvas-react-message-color);\n}\n.canvas-react-message-spinner {\n width: 14px;\n height: 14px;\n border: 2px solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: canvas-react-message-spin 0.8s linear infinite;\n}\n@keyframes canvas-react-message-enter {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes canvas-react-message-leave {\n to {\n opacity: 0;\n transform: translateY(-8px);\n max-height: 0;\n padding-block: 0;\n margin-bottom: -8px;\n }\n}\n@keyframes canvas-react-message-spin {\n to {\n transform: rotate(360deg);\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .canvas-react-message,\n .canvas-react-message-spinner {\n animation-duration: 0.01ms;\n }\n}\n');
7834
+ var nextKey = 0;
7835
+ var LEAVE_DURATION = 300;
7836
+ function createMessageStore(initialOptions = {}) {
7837
+ let options = initialOptions;
7838
+ let entries = [];
7839
+ const listeners2 = /* @__PURE__ */ new Set();
7840
+ const timers = /* @__PURE__ */ new Map();
7841
+ const leaveTimers = /* @__PURE__ */ new Map();
7842
+ const publish = () => listeners2.forEach((listener) => listener());
7843
+ const remove = (key) => {
7844
+ const targets = key === void 0 ? entries.filter((entry) => !entry.leaving) : entries.filter((entry) => entry.key === key && !entry.leaving);
7845
+ if (!targets.length) return;
7846
+ targets.forEach((entry) => {
7847
+ const timer = timers.get(entry.key);
7848
+ if (timer) clearTimeout(timer);
7849
+ timers.delete(entry.key);
7850
+ entry.leaving = true;
7851
+ leaveTimers.set(
7852
+ entry.key,
7853
+ setTimeout(() => {
7854
+ leaveTimers.delete(entry.key);
7855
+ entries = entries.filter(
7856
+ (item) => item.key !== entry.key || item !== entry
7857
+ );
7858
+ entry.close();
7859
+ entry.onClose?.();
7860
+ publish();
7861
+ }, LEAVE_DURATION)
7862
+ );
7863
+ });
7864
+ publish();
7865
+ };
7866
+ const open = (config) => {
7867
+ const key = config.key ?? ++nextKey;
7868
+ const previous = entries.find((entry2) => entry2.key === key);
7869
+ const oldTimer = timers.get(key);
7870
+ if (oldTimer) clearTimeout(oldTimer);
7871
+ timers.delete(key);
7872
+ const leaveTimer = leaveTimers.get(key);
7873
+ if (leaveTimer) clearTimeout(leaveTimer);
7874
+ leaveTimers.delete(key);
7875
+ let resolve;
7876
+ const promise = previous ? void 0 : new Promise((done) => {
7877
+ resolve = done;
7878
+ });
7879
+ const close = previous?.close ?? resolve;
7880
+ const entry = {
7881
+ ...config,
7882
+ key,
7883
+ type: config.type ?? "info",
7884
+ close
7885
+ };
7886
+ entries = previous ? entries.map((item) => item.key === key ? entry : item) : [...entries, entry];
7887
+ if (options.maxCount && entries.filter((item) => !item.leaving).length > options.maxCount) {
7888
+ const oldest = entries.find((item) => item.key !== key && !item.leaving);
7889
+ if (oldest && oldest.key !== key) remove(oldest.key);
7890
+ }
7891
+ const duration = config.duration ?? options.duration ?? (entry.type === "loading" ? 0 : 3);
7892
+ if (duration > 0)
7893
+ timers.set(
7894
+ key,
7895
+ setTimeout(() => remove(key), duration * 1e3)
7896
+ );
7897
+ publish();
7898
+ const handle = (() => remove(key));
7899
+ handle.then = (onFulfilled, onRejected) => (promise ?? new Promise((done) => {
7900
+ const current = entries.find((item) => item.key === key);
7901
+ if (!current) done();
7902
+ else {
7903
+ const originalClose = current.close;
7904
+ current.close = () => {
7905
+ originalClose();
7906
+ done();
7907
+ };
7908
+ }
7909
+ })).then(onFulfilled, onRejected);
7910
+ return handle;
7911
+ };
7912
+ const level = (type) => (content, duration, onClose) => open(
7913
+ isConfig(content) ? { ...content, type } : { content, type, duration, onClose }
7914
+ );
7915
+ const api = {
7916
+ open,
7917
+ info: level("info"),
7918
+ success: level("success"),
7919
+ warning: level("warning"),
7920
+ error: level("error"),
7921
+ loading: level("loading"),
7922
+ destroy: remove,
7923
+ config(next) {
7924
+ options = { ...options, ...next };
7925
+ publish();
7926
+ }
7927
+ };
7928
+ return {
7929
+ api,
7930
+ getEntries: () => entries,
7931
+ getOptions: () => options,
7932
+ subscribe(listener) {
7933
+ listeners2.add(listener);
7934
+ return () => {
7935
+ listeners2.delete(listener);
7936
+ };
7937
+ }
7938
+ };
7939
+ }
7940
+ function isConfig(value) {
7941
+ return typeof value === "object" && value !== null && !Array.isArray(value) && "content" in value;
7942
+ }
7943
+ function MessageHolder({ store }) {
7944
+ const [, refresh] = useState(0);
7945
+ useEffect(() => {
7946
+ refresh((value) => value + 1);
7947
+ return store.subscribe(() => refresh((value) => value + 1));
7948
+ }, [store]);
7949
+ const options = store.getOptions();
7950
+ return /* @__PURE__ */ jsx(
7951
+ "div",
7952
+ {
7953
+ className: `${REACT_COMPONENT_PREFIX}-message-host`,
7954
+ style: { top: options.top ?? 8 },
7955
+ role: "status",
7956
+ "aria-live": "polite",
7957
+ children: store.getEntries().map((entry) => /* @__PURE__ */ jsxs(
7958
+ "div",
7959
+ {
7960
+ className: [
7961
+ `${REACT_COMPONENT_PREFIX}-message`,
7962
+ `${REACT_COMPONENT_PREFIX}-message-${entry.type}`,
7963
+ entry.leaving && `${REACT_COMPONENT_PREFIX}-message-leaving`,
7964
+ entry.className
7965
+ ].filter(Boolean).join(" "),
7966
+ style: entry.style,
7967
+ onClick: entry.onClick,
7968
+ children: [
7969
+ /* @__PURE__ */ jsx(
7970
+ "span",
7971
+ {
7972
+ className: `${REACT_COMPONENT_PREFIX}-message-icon`,
7973
+ "aria-hidden": "true",
7974
+ children: entry.icon ?? /* @__PURE__ */ jsx(MessageIcon, { type: entry.type })
7975
+ }
7976
+ ),
7977
+ /* @__PURE__ */ jsx("span", { children: entry.content })
7978
+ ]
7979
+ },
7980
+ entry.key
7981
+ ))
7982
+ }
7983
+ );
7984
+ }
7985
+ function MessageIcon({ type }) {
7986
+ if (type === "loading")
7987
+ return /* @__PURE__ */ jsx("span", { className: `${REACT_COMPONENT_PREFIX}-message-spinner` });
7988
+ const path = type === "success" ? "M5 12l4 4L19 6" : type === "error" ? "M6 6l12 12M18 6L6 18" : type === "warning" ? "M12 7v6m0 4h.01" : "M12 11v6m0-10h.01";
7989
+ return /* @__PURE__ */ jsxs(
7990
+ "svg",
7991
+ {
7992
+ viewBox: "0 0 24 24",
7993
+ fill: "none",
7994
+ stroke: "currentColor",
7995
+ strokeWidth: "2.4",
7996
+ strokeLinecap: "round",
7997
+ strokeLinejoin: "round",
7998
+ children: [
7999
+ /* @__PURE__ */ jsx(
8000
+ "circle",
8001
+ {
8002
+ cx: "12",
8003
+ cy: "12",
8004
+ r: "10",
8005
+ fill: "currentColor",
8006
+ stroke: "none",
8007
+ opacity: ".12"
8008
+ }
8009
+ ),
8010
+ /* @__PURE__ */ jsx("path", { d: path })
8011
+ ]
8012
+ }
8013
+ );
8014
+ }
8015
+ var staticStore;
8016
+ var staticRootMounted = false;
8017
+ var staticHost;
8018
+ function resolveMessageContainer(value) {
8019
+ return (typeof value === "function" ? value() : value) ?? document.body;
8020
+ }
8021
+ function getStaticStore() {
8022
+ if (!staticStore) staticStore = createMessageStore();
8023
+ if (typeof document !== "undefined" && !staticRootMounted) {
8024
+ const host = document.createElement("div");
8025
+ host.id = `${REACT_COMPONENT_PREFIX}-message-root`;
8026
+ resolveMessageContainer(staticStore.getOptions().getContainer).appendChild(
8027
+ host
8028
+ );
8029
+ staticHost = host;
8030
+ staticRootMounted = true;
8031
+ if (typeof ReactDOM.render === "function") {
8032
+ ReactDOM.render(/* @__PURE__ */ jsx(MessageHolder, { store: staticStore }), host);
8033
+ } else {
8034
+ void import('react-dom/client').then(({ createRoot }) => {
8035
+ createRoot(host).render(/* @__PURE__ */ jsx(MessageHolder, { store: staticStore }));
8036
+ });
8037
+ }
8038
+ } else if (staticHost && !staticHost.isConnected) {
8039
+ resolveMessageContainer(staticStore.getOptions().getContainer).appendChild(
8040
+ staticHost
8041
+ );
8042
+ }
8043
+ return staticStore;
8044
+ }
8045
+ var reactMessage = {
8046
+ open: (config) => getStaticStore().api.open(config),
8047
+ info: (content, duration, onClose) => getStaticStore().api.info(content, duration, onClose),
8048
+ success: (content, duration, onClose) => getStaticStore().api.success(content, duration, onClose),
8049
+ warning: (content, duration, onClose) => getStaticStore().api.warning(content, duration, onClose),
8050
+ error: (content, duration, onClose) => getStaticStore().api.error(content, duration, onClose),
8051
+ loading: (content, duration, onClose) => getStaticStore().api.loading(content, duration, onClose),
8052
+ destroy: (key) => getStaticStore().api.destroy(key),
8053
+ config: (options) => {
8054
+ const store = getStaticStore();
8055
+ store.api.config(options);
8056
+ if (staticHost && typeof document !== "undefined") {
8057
+ const container = resolveMessageContainer(
8058
+ store.getOptions().getContainer
8059
+ );
8060
+ if (staticHost.parentElement !== container)
8061
+ container.appendChild(staticHost);
8062
+ }
8063
+ },
8064
+ /** 创建能读取调用位置 React Context 的消息实例。 */
8065
+ useMessage: (options) => useReactMessage(options)
8066
+ };
8067
+ function useReactMessage(options) {
8068
+ const store = useMemo(() => createMessageStore(options), []);
8069
+ useEffect(() => () => store.api.destroy(), [store]);
8070
+ const holder = /* @__PURE__ */ jsx(MessageHolder, { store }, "message-holder");
8071
+ return [
8072
+ store.api,
8073
+ options?.getContainer && typeof document !== "undefined" ? ReactDOM.createPortal(
8074
+ holder,
8075
+ resolveMessageContainer(options.getContainer)
8076
+ ) : holder
8077
+ ];
8078
+ }
8079
+ function ReactButton({
8080
+ children,
8081
+ className,
8082
+ danger,
8083
+ htmlType = "button",
8084
+ icon,
8085
+ size = "middle",
8086
+ type = "default",
8087
+ ...props
8088
+ }) {
8089
+ return /* @__PURE__ */ jsxs(
8090
+ "button",
8091
+ {
8092
+ ...props,
8093
+ type: htmlType,
8094
+ className: joinClassNames(
8095
+ `${REACT_COMPONENT_PREFIX}-button`,
8096
+ `${REACT_COMPONENT_PREFIX}-button-${type}`,
8097
+ `${REACT_COMPONENT_PREFIX}-button-${size}`,
8098
+ danger && `${REACT_COMPONENT_PREFIX}-button-danger`,
8099
+ className
5918
8100
  ),
5919
8101
  children: [
5920
8102
  icon ? /* @__PURE__ */ jsx("span", { className: `${REACT_COMPONENT_PREFIX}-button-icon`, children: icon }) : null,
@@ -6038,212 +8220,23 @@ function ReactRadioGroup({
6038
8220
  className
6039
8221
  )
6040
8222
  }
6041
- ) });
6042
- }
6043
- var ReactRadio = Object.assign(ReactRadioOption, {
6044
- Group: ReactRadioGroup
6045
- });
6046
- function ReactTextArea({ className, ...props }) {
6047
- return /* @__PURE__ */ jsx(
6048
- "textarea",
6049
- {
6050
- ...props,
6051
- className: joinClassNames(
6052
- `${REACT_COMPONENT_PREFIX}-textarea`,
6053
- className
6054
- )
6055
- }
6056
- );
6057
- }
6058
- function createFormInstance() {
6059
- const store = {
6060
- values: {},
6061
- initialValues: {},
6062
- errors: {},
6063
- rules: /* @__PURE__ */ new Map(),
6064
- listeners: /* @__PURE__ */ new Set(),
6065
- revision: 0,
6066
- notify() {
6067
- store.revision += 1;
6068
- store.listeners.forEach((listener) => listener());
6069
- }
6070
- };
6071
- return {
6072
- __store: store,
6073
- getFieldValue: (name) => store.values[name],
6074
- setFieldsValue(values) {
6075
- store.values = { ...store.values, ...values };
6076
- Object.keys(values).forEach((name) => {
6077
- delete store.errors[name];
6078
- });
6079
- store.notify();
6080
- },
6081
- resetFields() {
6082
- store.values = { ...store.initialValues };
6083
- store.errors = {};
6084
- store.notify();
6085
- },
6086
- async validateFields() {
6087
- const errors = {};
6088
- for (const [name, rules] of store.rules) {
6089
- const value = store.values[name];
6090
- for (const rawRule of rules) {
6091
- const rule = typeof rawRule === "function" ? rawRule({ getFieldValue: (field) => store.values[field] }) : rawRule;
6092
- if (rule.required && (value === void 0 || value === null || value === "")) {
6093
- errors[name] = rule.message ?? "\u6B64\u9879\u4E3A\u5FC5\u586B\u9879";
6094
- break;
6095
- }
6096
- if ((rule.type === "number" || rule.type === "integer") && typeof value === "number" && rule.min !== void 0 && value < rule.min) {
6097
- errors[name] = rule.message ?? `\u4E0D\u80FD\u5C0F\u4E8E ${rule.min}`;
6098
- break;
6099
- }
6100
- if ((rule.type === "number" || rule.type === "integer") && typeof value === "number" && rule.max !== void 0 && value > rule.max) {
6101
- errors[name] = rule.message ?? `\u4E0D\u80FD\u5927\u4E8E ${rule.max}`;
6102
- break;
6103
- }
6104
- if (rule.type === "integer" && typeof value === "number" && !Number.isInteger(value)) {
6105
- errors[name] = rule.message ?? "\u8BF7\u8F93\u5165\u6574\u6570";
6106
- break;
6107
- }
6108
- if (rule.validator) {
6109
- try {
6110
- await rule.validator(rule, value);
6111
- } catch (error) {
6112
- errors[name] = error instanceof Error ? error.message : "\u6821\u9A8C\u5931\u8D25";
6113
- break;
6114
- }
6115
- }
6116
- }
6117
- }
6118
- store.errors = errors;
6119
- store.notify();
6120
- if (Object.keys(errors).length > 0) {
6121
- return Promise.reject({
6122
- errorFields: errors,
6123
- values: { ...store.values }
6124
- });
6125
- }
6126
- return { ...store.values };
6127
- }
6128
- };
6129
- }
6130
- function useReactForm() {
6131
- const formRef = useRef();
6132
- if (!formRef.current) formRef.current = createFormInstance();
6133
- return [formRef.current];
6134
- }
6135
- function useReactFormWatch(name, form) {
6136
- return useSyncExternalStore(
6137
- (listener) => {
6138
- form.__store.listeners.add(listener);
6139
- return () => form.__store.listeners.delete(listener);
6140
- },
6141
- () => form.__store.revision,
6142
- () => 0
6143
- ) >= 0 ? form.getFieldValue(name) : void 0;
6144
- }
6145
- var FormContext = createContext(null);
6146
- function ReactFormRoot({
6147
- form,
6148
- initialValues,
6149
- layout = "vertical",
6150
- className,
6151
- children,
6152
- ...props
6153
- }) {
6154
- const initialKey = useMemo(
6155
- () => JSON.stringify(initialValues ?? {}),
6156
- [initialValues]
6157
- );
6158
- useEffect(() => {
6159
- form.__store.initialValues = { ...initialValues };
6160
- form.__store.values = { ...initialValues, ...form.__store.values };
6161
- form.__store.notify();
6162
- }, [form, initialKey]);
6163
- return /* @__PURE__ */ jsx(FormContext.Provider, { value: form, children: /* @__PURE__ */ jsx(
6164
- "form",
6165
- {
6166
- ...props,
6167
- className: joinClassNames(
6168
- `${REACT_COMPONENT_PREFIX}-form`,
6169
- `${REACT_COMPONENT_PREFIX}-form-${layout}`,
6170
- className
6171
- ),
6172
- onSubmit: (event) => event.preventDefault(),
6173
- children
6174
- }
6175
- ) });
6176
- }
6177
- function ReactFormItem({
6178
- label,
6179
- name,
6180
- children,
6181
- rules = [],
6182
- initialValue
6183
- }) {
6184
- const form = useContext(FormContext);
6185
- if (!form) throw new Error("ReactForm.Item \u5FC5\u987B\u5728 ReactForm \u5185\u4F7F\u7528");
6186
- useSyncExternalStore(
6187
- (listener) => {
6188
- form.__store.listeners.add(listener);
6189
- return () => form.__store.listeners.delete(listener);
6190
- },
6191
- () => form.__store.revision,
6192
- () => 0
6193
- );
6194
- useEffect(() => {
6195
- form.__store.rules.set(name, rules);
6196
- if (form.getFieldValue(name) === void 0 && initialValue !== void 0) {
6197
- form.setFieldsValue({ [name]: initialValue });
6198
- }
6199
- return () => {
6200
- form.__store.rules.delete(name);
6201
- };
6202
- }, [form, initialValue, name, rules]);
6203
- const childProps = children.props;
6204
- const value = form.getFieldValue(name);
6205
- return /* @__PURE__ */ jsxs("label", { className: `${REACT_COMPONENT_PREFIX}-form-item`, children: [
6206
- label ? /* @__PURE__ */ jsx("span", { className: `${REACT_COMPONENT_PREFIX}-form-label`, children: label }) : null,
6207
- cloneElement(children, {
6208
- value: value ?? "",
6209
- onChange: (...args) => {
6210
- const first = args[0];
6211
- const nextValue = typeof first === "object" && first !== null && "target" in first ? first.target?.value : first;
6212
- form.setFieldsValue({ [name]: nextValue });
6213
- const childOnChange = childProps.onChange;
6214
- if (typeof childOnChange === "function") childOnChange(...args);
6215
- }
6216
- }),
6217
- form.__store.errors[name] ? /* @__PURE__ */ jsx("span", { className: `${REACT_COMPONENT_PREFIX}-form-error`, children: form.__store.errors[name] }) : null
6218
- ] });
6219
- }
6220
- var ReactForm = Object.assign(ReactFormRoot, {
6221
- Item: ReactFormItem,
6222
- useForm: useReactForm,
6223
- useWatch: useReactFormWatch
8223
+ ) });
8224
+ }
8225
+ var ReactRadio = Object.assign(ReactRadioOption, {
8226
+ Group: ReactRadioGroup
6224
8227
  });
6225
- function showMessage(type, content) {
6226
- if (typeof document === "undefined") return;
6227
- const hostId = `${REACT_COMPONENT_PREFIX}-message-host`;
6228
- let host = document.getElementById(hostId);
6229
- if (!host) {
6230
- host = document.createElement("div");
6231
- host.id = hostId;
6232
- host.className = hostId;
6233
- document.body.appendChild(host);
6234
- }
6235
- const item = document.createElement("div");
6236
- item.className = `${REACT_COMPONENT_PREFIX}-message ${REACT_COMPONENT_PREFIX}-message-${type}`;
6237
- item.textContent = typeof content === "string" ? content : String(content ?? "");
6238
- host.appendChild(item);
6239
- window.setTimeout(() => item.remove(), 3e3);
8228
+ function ReactTextArea({ className, ...props }) {
8229
+ return /* @__PURE__ */ jsx(
8230
+ "textarea",
8231
+ {
8232
+ ...props,
8233
+ className: joinClassNames(
8234
+ `${REACT_COMPONENT_PREFIX}-textarea`,
8235
+ className
8236
+ )
8237
+ }
8238
+ );
6240
8239
  }
6241
- var reactMessage = {
6242
- info: (content) => showMessage("info", content),
6243
- success: (content) => showMessage("success", content),
6244
- warning: (content) => showMessage("warning", content),
6245
- error: (content) => showMessage("error", content)
6246
- };
6247
8240
 
6248
8241
  // src/components/input-number/style.css
6249
8242
  styleInject('@import "../../styles/variables.css";\n.canvas-react-input-number {\n box-sizing: border-box;\n display: inline-flex;\n align-items: stretch;\n width: 100%;\n min-width: 0;\n height: var(--canvas-react-control-height);\n border: 1px solid var(--canvas-react-color-border);\n border-radius: var(--canvas-react-radius-sm);\n background: var(--canvas-react-color-bg);\n color: var(--canvas-react-color-text);\n font-size: var(--canvas-react-font-size);\n overflow: hidden;\n transition:\n border-color 0.2s ease,\n box-shadow 0.2s ease,\n background-color 0.2s ease;\n}\n.canvas-react-input-number:hover {\n border-color: var(--canvas-react-color-primary-hover);\n}\n.canvas-react-input-number-focused {\n border-color: var(--canvas-react-color-primary);\n box-shadow: var(--canvas-react-shadow-focus);\n}\n.canvas-react-input-number-disabled {\n background: #fafafa;\n color: #9ca3af;\n cursor: not-allowed;\n}\n.canvas-react-input-number-handler {\n position: relative;\n display: flex;\n flex: 0 0 28px;\n align-items: center;\n justify-content: center;\n margin: 0;\n padding: 0;\n border: none;\n background: transparent;\n color: var(--canvas-react-color-text-muted);\n cursor: pointer;\n transition: color 0.16s ease, background-color 0.16s ease;\n}\n.canvas-react-input-number-handler-down {\n border-right: 1px solid var(--canvas-react-color-border);\n}\n.canvas-react-input-number-handler-up {\n border-left: 1px solid var(--canvas-react-color-border);\n}\n.canvas-react-input-number-handler:hover:not(:disabled) {\n color: var(--canvas-react-color-primary);\n background: rgba(22, 119, 255, 0.06);\n}\n.canvas-react-input-number-handler:disabled {\n color: #c4c7cf;\n cursor: not-allowed;\n}\n.canvas-react-input-number-handler-icon {\n position: relative;\n display: block;\n width: 10px;\n height: 10px;\n}\n.canvas-react-input-number-handler-icon::before,\n.canvas-react-input-number-handler-icon::after {\n content: "";\n position: absolute;\n top: 50%;\n left: 50%;\n background: currentColor;\n border-radius: 1px;\n transform: translate(-50%, -50%);\n}\n.canvas-react-input-number-handler-icon::before {\n width: 10px;\n height: 1.5px;\n}\n.canvas-react-input-number-handler-up .canvas-react-input-number-handler-icon::after {\n width: 1.5px;\n height: 10px;\n}\n.canvas-react-input-number-input-wrap {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n min-width: 0;\n height: 100%;\n}\n.canvas-react-input-number-input {\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n height: 100%;\n padding: 0 8px;\n border: none;\n background: transparent;\n color: inherit;\n font-size: inherit;\n outline: none;\n text-align: center;\n appearance: textfield;\n -moz-appearance: textfield;\n}\n.canvas-react-input-number-input::placeholder {\n color: #9ca3af;\n}\n.canvas-react-input-number-input::-webkit-outer-spin-button,\n.canvas-react-input-number-input::-webkit-inner-spin-button {\n margin: 0;\n -webkit-appearance: none;\n}\n.canvas-react-input-number-addon {\n flex: 0 0 auto;\n padding-right: 8px;\n color: var(--canvas-react-color-text-muted);\n font-size: 12px;\n line-height: 1;\n user-select: none;\n}\n');
@@ -6252,6 +8245,7 @@ var ReactInputNumber = forwardRef(
6252
8245
  const {
6253
8246
  addonAfter,
6254
8247
  className,
8248
+ controls = false,
6255
8249
  defaultValue = null,
6256
8250
  disabled,
6257
8251
  formatter,
@@ -6331,7 +8325,7 @@ var ReactInputNumber = forwardRef(
6331
8325
  ),
6332
8326
  style,
6333
8327
  children: [
6334
- /* @__PURE__ */ jsx(
8328
+ controls && /* @__PURE__ */ jsx(
6335
8329
  "button",
6336
8330
  {
6337
8331
  type: "button",
@@ -6403,7 +8397,7 @@ var ReactInputNumber = forwardRef(
6403
8397
  ),
6404
8398
  addonAfter != null ? /* @__PURE__ */ jsx("span", { className: `${REACT_COMPONENT_PREFIX}-input-number-addon`, children: addonAfter }) : null
6405
8399
  ] }),
6406
- /* @__PURE__ */ jsx(
8400
+ controls && /* @__PURE__ */ jsx(
6407
8401
  "button",
6408
8402
  {
6409
8403
  type: "button",
@@ -7292,6 +9286,171 @@ function isPromiseLike2(value) {
7292
9286
  return typeof value === "object" && value !== null && "then" in value && typeof value.then === "function";
7293
9287
  }
7294
9288
 
9289
+ // src/components/dropdown/style.css
9290
+ styleInject('@import "../../styles/variables.css";\n.canvas-react-dropdown-trigger {\n display: inline-flex;\n align-items: center;\n}\n.canvas-react-dropdown-trigger-icon-only .canvas-react-button {\n min-width: 32px;\n padding-inline: 0;\n}\n.canvas-react-dropdown-trigger-icon-only .canvas-react-button-small {\n min-width: 24px;\n}\n.canvas-react-dropdown-trigger-icon-only .canvas-react-button-large {\n min-width: 40px;\n}\n.canvas-react-dropdown-arrow {\n margin-left: 6px;\n font-size: 10px;\n transition: transform 0.18s ease;\n}\n.canvas-react-dropdown-trigger [aria-expanded=true] .canvas-react-dropdown-arrow {\n transform: rotate(180deg);\n}\n.canvas-react-dropdown-menu {\n min-width: 160px;\n padding: 4px;\n}\n.canvas-react-dropdown-item {\n display: flex;\n box-sizing: border-box;\n width: 100%;\n align-items: center;\n gap: 9px;\n border: 0;\n border-radius: 5px;\n padding: 7px 10px;\n color: var(--canvas-react-color-text, #263244);\n background: transparent;\n font: inherit;\n text-align: left;\n cursor: pointer;\n}\n.canvas-react-dropdown-item:hover,\n.canvas-react-dropdown-item:focus-visible {\n outline: none;\n background: var(--canvas-react-color-fill-secondary, #f5f7fa);\n}\n.canvas-react-dropdown-item:disabled {\n opacity: 0.45;\n cursor: not-allowed;\n}\n.canvas-react-dropdown-item-danger {\n color: var(--canvas-react-color-error, #dc2626);\n}\n.canvas-react-dropdown-item-icon {\n display: inline-flex;\n flex: 0 0 auto;\n}\n.canvas-react-dropdown-item-content {\n display: flex;\n min-width: 0;\n flex-direction: column;\n gap: 2px;\n}\n.canvas-react-dropdown-item-content small {\n color: var(--canvas-react-color-text-muted, #8993a2);\n font-size: 11px;\n}\n');
9291
+ function ReactDropdown(props) {
9292
+ const {
9293
+ children,
9294
+ className,
9295
+ defaultOpen = false,
9296
+ disabled = false,
9297
+ icon,
9298
+ items,
9299
+ onOpenChange,
9300
+ onSelect,
9301
+ open,
9302
+ placement = "bottomRight",
9303
+ popupClassName,
9304
+ popupStyle,
9305
+ triggerProps
9306
+ } = props;
9307
+ const anchorRef = useRef(null);
9308
+ const menuId = useCompatibleId("canvas-react-dropdown-menu");
9309
+ const [innerOpen, setInnerOpen] = useState(defaultOpen);
9310
+ const mergedOpen = (open ?? innerOpen) && !disabled;
9311
+ const hasChildren = children !== void 0 && children !== null && children !== false && children !== "";
9312
+ const setOpen = (next) => {
9313
+ if (open === void 0) setInnerOpen(next);
9314
+ if (next !== mergedOpen) onOpenChange?.(next);
9315
+ };
9316
+ useEffect(() => {
9317
+ if (!mergedOpen) return;
9318
+ const focusFirst = window.setTimeout(() => {
9319
+ document.getElementById(menuId)?.querySelector('[role="menuitem"]:not(:disabled)')?.focus();
9320
+ }, 0);
9321
+ return () => window.clearTimeout(focusFirst);
9322
+ }, [mergedOpen, menuId]);
9323
+ const handleMenuKeyDown = (event) => {
9324
+ if (event.key === "Escape") {
9325
+ event.stopPropagation();
9326
+ setOpen(false);
9327
+ anchorRef.current?.querySelector("button")?.focus();
9328
+ return;
9329
+ }
9330
+ if (event.key !== "ArrowDown" && event.key !== "ArrowUp" && event.key !== "Home" && event.key !== "End")
9331
+ return;
9332
+ const buttons = Array.from(
9333
+ event.currentTarget.querySelectorAll(
9334
+ '[role="menuitem"]:not(:disabled)'
9335
+ )
9336
+ );
9337
+ if (!buttons.length) return;
9338
+ event.preventDefault();
9339
+ const current = buttons.indexOf(
9340
+ document.activeElement
9341
+ );
9342
+ const next = event.key === "Home" ? 0 : event.key === "End" ? buttons.length - 1 : event.key === "ArrowDown" ? (current + 1) % buttons.length : (current - 1 + buttons.length) % buttons.length;
9343
+ buttons[next]?.focus();
9344
+ };
9345
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
9346
+ /* @__PURE__ */ jsx(
9347
+ "span",
9348
+ {
9349
+ ref: anchorRef,
9350
+ className: joinClassNames(
9351
+ `${REACT_COMPONENT_PREFIX}-dropdown-trigger`,
9352
+ !hasChildren && `${REACT_COMPONENT_PREFIX}-dropdown-trigger-icon-only`,
9353
+ className
9354
+ ),
9355
+ children: /* @__PURE__ */ jsxs(
9356
+ ReactButton,
9357
+ {
9358
+ ...triggerProps,
9359
+ icon,
9360
+ disabled: disabled || triggerProps?.disabled,
9361
+ "aria-haspopup": "menu",
9362
+ "aria-controls": menuId,
9363
+ "aria-expanded": mergedOpen,
9364
+ onClick: () => setOpen(!mergedOpen),
9365
+ onKeyDown: (event) => {
9366
+ triggerProps?.onKeyDown?.(event);
9367
+ if (event.defaultPrevented) return;
9368
+ if (event.key === "ArrowDown" || event.key === "ArrowUp") {
9369
+ event.preventDefault();
9370
+ setOpen(true);
9371
+ }
9372
+ },
9373
+ children: [
9374
+ children,
9375
+ hasChildren && /* @__PURE__ */ jsx(
9376
+ ReactDownOutlined,
9377
+ {
9378
+ className: `${REACT_COMPONENT_PREFIX}-dropdown-arrow`,
9379
+ "aria-hidden": "true"
9380
+ }
9381
+ )
9382
+ ]
9383
+ }
9384
+ )
9385
+ }
9386
+ ),
9387
+ /* @__PURE__ */ jsx(
9388
+ ReactPopup,
9389
+ {
9390
+ open: mergedOpen,
9391
+ anchorRef,
9392
+ placement,
9393
+ onOpenChange: setOpen,
9394
+ surfaceClassName: joinClassNames(
9395
+ `${REACT_COMPONENT_PREFIX}-dropdown-popup`,
9396
+ popupClassName
9397
+ ),
9398
+ surfaceStyle: popupStyle,
9399
+ children: /* @__PURE__ */ jsx(
9400
+ "div",
9401
+ {
9402
+ id: menuId,
9403
+ className: `${REACT_COMPONENT_PREFIX}-dropdown-menu`,
9404
+ role: "menu",
9405
+ onKeyDown: handleMenuKeyDown,
9406
+ children: items.map((item) => /* @__PURE__ */ jsxs(
9407
+ "button",
9408
+ {
9409
+ type: "button",
9410
+ role: "menuitem",
9411
+ className: joinClassNames(
9412
+ `${REACT_COMPONENT_PREFIX}-dropdown-item`,
9413
+ item.danger && `${REACT_COMPONENT_PREFIX}-dropdown-item-danger`
9414
+ ),
9415
+ disabled: item.disabled,
9416
+ draggable: item.draggable && !item.disabled,
9417
+ onDragStart: item.onDragStart,
9418
+ onPointerEnter: item.onPointerEnter,
9419
+ onClick: () => {
9420
+ onSelect?.(item.key);
9421
+ setOpen(false);
9422
+ anchorRef.current?.querySelector("button")?.focus();
9423
+ },
9424
+ children: [
9425
+ item.icon && /* @__PURE__ */ jsx(
9426
+ "span",
9427
+ {
9428
+ className: `${REACT_COMPONENT_PREFIX}-dropdown-item-icon`,
9429
+ "aria-hidden": "true",
9430
+ children: item.icon
9431
+ }
9432
+ ),
9433
+ /* @__PURE__ */ jsxs(
9434
+ "span",
9435
+ {
9436
+ className: `${REACT_COMPONENT_PREFIX}-dropdown-item-content`,
9437
+ children: [
9438
+ /* @__PURE__ */ jsx("span", { children: item.label }),
9439
+ item.description && /* @__PURE__ */ jsx("small", { children: item.description })
9440
+ ]
9441
+ }
9442
+ )
9443
+ ]
9444
+ },
9445
+ item.key
9446
+ ))
9447
+ }
9448
+ )
9449
+ }
9450
+ )
9451
+ ] });
9452
+ }
9453
+
7295
9454
  // src/components/quarter/style.css
7296
9455
  styleInject('@import "../year/style.css";\n.canvas-react-quarter-grid {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 12px 8px;\n}\n.canvas-react-quarter-cell {\n height: 56px;\n font-size: 16px;\n font-weight: 600;\n}\n');
7297
9456
  var QUARTERS = ["Q1", "Q2", "Q3", "Q4"];
@@ -8110,7 +10269,7 @@ function createCascaderSelection(options) {
8110
10269
  }
8111
10270
 
8112
10271
  // src/components/cascader/style.css
8113
- styleInject('@import "../../styles/variables.css";\n.canvas-react-cascader {\n width: 100%;\n min-width: 0;\n}\n.canvas-react-cascader > .canvas-react-input-affix-wrapper {\n width: 100%;\n}\n.canvas-react-cascader-menus {\n display: flex;\n max-width: calc(100vw - 24px);\n overflow: auto;\n color: var(--canvas-react-color-text);\n font-size: var(--canvas-react-font-size);\n}\n.canvas-react-cascader-menu {\n flex: 0 0 auto;\n min-width: 120px;\n max-width: 320px;\n max-height: min(256px, calc(100vh - 48px));\n overflow: auto;\n padding: 4px;\n}\n.canvas-react-cascader-menu + .canvas-react-cascader-menu {\n border-left: 1px solid var(--canvas-react-color-border);\n}\n.canvas-react-cascader-option {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 20px;\n padding: 5px 10px;\n line-height: 22px;\n border-radius: var(--canvas-react-radius-sm);\n cursor: pointer;\n white-space: nowrap;\n}\n.canvas-react-cascader-check {\n display: inline-flex;\n flex: 0 0 auto;\n margin-right: -12px;\n}\n.canvas-react-cascader-check > * {\n pointer-events: none;\n}\n.canvas-react-cascader-option > span:not(.canvas-react-cascader-check):not(.canvas-react-cascader-chevron) {\n flex: 1;\n}\n.canvas-react-cascader-option[aria-selected=true] {\n color: var(--canvas-react-color-primary);\n background: var(--canvas-react-color-bg-active);\n}\n.canvas-react-cascader-option[data-active=true] {\n background: var(--canvas-react-color-bg-hover, #f5f5f5);\n}\n.canvas-react-cascader-option[aria-disabled=true] {\n opacity: 0.4;\n cursor: not-allowed;\n}\n.canvas-react-cascader-empty {\n padding: 8px 10px;\n color: var(--canvas-react-color-text-muted);\n}\n.canvas-react-cascader-chevron {\n width: 7px;\n height: 7px;\n flex: 0 0 auto;\n margin-left: 8px;\n border-top: 1.5px solid #9ca3af;\n border-right: 1.5px solid #9ca3af;\n transform: rotate(45deg);\n transform-origin: center;\n transition: transform 0.18s ease, border-color 0.18s ease;\n}\n.canvas-react-cascader-option:not([aria-disabled=true]):hover .canvas-react-cascader-chevron,\n.canvas-react-cascader-option[data-expanded=true] .canvas-react-cascader-chevron {\n border-color: #6b7280;\n transform: rotate(135deg);\n}\n');
10272
+ styleInject('@import "../../styles/variables.css";\n.canvas-react-cascader {\n width: 100%;\n min-width: 0;\n}\n.canvas-react-cascader > .canvas-react-input-affix-wrapper {\n width: 100%;\n}\n.canvas-react-cascader-popup {\n --canvas-react-color-bg-hover: color-mix( in srgb, var(--canvas-react-color-primary) 10%, var(--canvas-react-color-bg) );\n --canvas-react-color-bg-active: color-mix( in srgb, var(--canvas-react-color-primary) 18%, var(--canvas-react-color-bg) );\n}\n.canvas-react-cascader-menus {\n display: flex;\n max-width: calc(100vw - 24px);\n overflow: auto;\n color: var(--canvas-react-color-text);\n font-size: var(--canvas-react-font-size);\n}\n.canvas-react-cascader-menu {\n flex: 0 0 auto;\n min-width: 120px;\n max-width: 320px;\n max-height: min(256px, calc(100vh - 48px));\n overflow: auto;\n padding: 4px;\n}\n.canvas-react-cascader-menu + .canvas-react-cascader-menu {\n border-left: 1px solid var(--canvas-react-color-border);\n}\n.canvas-react-cascader-option {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 20px;\n padding: 5px 10px;\n line-height: 22px;\n border-radius: var(--canvas-react-radius-sm);\n cursor: pointer;\n white-space: nowrap;\n}\n.canvas-react-cascader-check {\n display: inline-flex;\n flex: 0 0 auto;\n margin-right: -12px;\n}\n.canvas-react-cascader-check > * {\n pointer-events: none;\n}\n.canvas-react-cascader-option > span:not(.canvas-react-cascader-check):not(.canvas-react-cascader-chevron) {\n flex: 1;\n}\n.canvas-react-cascader-option[aria-selected=true] {\n color: var(--canvas-react-color-primary);\n background: var(--canvas-react-color-bg-active);\n}\n.canvas-react-cascader-option[data-active=true] {\n background: var(--canvas-react-color-bg-hover, #f5f5f5);\n}\n.canvas-react-cascader-option[aria-disabled=true] {\n opacity: 0.4;\n cursor: not-allowed;\n}\n.canvas-react-cascader-empty {\n padding: 8px 10px;\n color: var(--canvas-react-color-text-muted);\n}\n.canvas-react-cascader-chevron {\n width: 7px;\n height: 7px;\n flex: 0 0 auto;\n margin-left: 8px;\n border-top: 1.5px solid var(--canvas-react-color-text-muted);\n border-right: 1.5px solid var(--canvas-react-color-text-muted);\n transform: rotate(45deg);\n transform-origin: center;\n transition: transform 0.18s ease, border-color 0.18s ease;\n}\n.canvas-react-cascader-option:not([aria-disabled=true]):hover .canvas-react-cascader-chevron,\n.canvas-react-cascader-option[data-expanded=true] .canvas-react-cascader-chevron {\n border-color: var(--canvas-react-color-text);\n transform: rotate(135deg);\n}\n');
8114
10273
  function resolvePath(options, value) {
8115
10274
  const path = [];
8116
10275
  for (const part of value) {
@@ -9480,6 +11639,91 @@ function compareTimeValue(left, right) {
9480
11639
  const rightSeconds = Number(rightValue.hour) * 3600 + Number(rightValue.minute) * 60 + Number(rightValue.second);
9481
11640
  return leftSeconds - rightSeconds;
9482
11641
  }
11642
+
11643
+ // src/components/waterfall/style.css
11644
+ styleInject('@import "../../styles/variables.css";\n.canvas-react-waterfall {\n display: block;\n direction: rtl;\n width: 100%;\n min-width: 0;\n max-width: 100%;\n box-sizing: border-box;\n}\n.canvas-react-waterfall-item {\n direction: ltr;\n display: inline-block;\n width: 100%;\n break-inside: avoid;\n vertical-align: top;\n}\n.canvas-react-waterfall:has(.canvas-react-waterfall-rows) {\n overflow: hidden;\n direction: ltr;\n}\n.canvas-react-waterfall-rows {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n width: 100%;\n min-width: 100%;\n overflow: hidden;\n}\n.canvas-react-waterfall-track {\n display: flex;\n flex: 0 0 auto;\n gap: var(--canvas-react-waterfall-column-gap, 16px);\n min-height: 1px;\n min-width: 100%;\n width: max-content;\n animation: canvas-react-waterfall-scroll var(--canvas-react-waterfall-duration, 28s) linear infinite;\n will-change: transform;\n}\n.canvas-react-waterfall-copy {\n display: flex;\n flex: 0 0 auto;\n gap: var(--canvas-react-waterfall-column-gap, 16px);\n}\n.canvas-react-waterfall-copy > .canvas-react-waterfall-item {\n flex: 0 0 var(--canvas-react-waterfall-column-width, 280px);\n width: var(--canvas-react-waterfall-column-width, 280px);\n}\n@keyframes canvas-react-waterfall-scroll {\n from {\n transform: translateX(0);\n }\n to {\n transform: translateX(calc(-50% - var(--canvas-react-waterfall-column-gap, 16px) / 2));\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .canvas-react-waterfall-track {\n animation: none;\n }\n}\n');
11645
+ function ReactWaterfall({
11646
+ columnWidth = 280,
11647
+ columnGap = 16,
11648
+ rowGap = 16,
11649
+ fill = "balance",
11650
+ animated = false,
11651
+ duration = 28,
11652
+ rows = 1,
11653
+ className,
11654
+ style,
11655
+ children,
11656
+ ...props
11657
+ }) {
11658
+ return /* @__PURE__ */ jsx(
11659
+ "div",
11660
+ {
11661
+ ...props,
11662
+ className: joinClassNames(
11663
+ `${REACT_COMPONENT_PREFIX}-waterfall`,
11664
+ className
11665
+ ),
11666
+ style: {
11667
+ ...animated ? {} : {
11668
+ columnWidth,
11669
+ columnGap,
11670
+ columnFill: fill
11671
+ },
11672
+ ...typeof columnWidth === "number" ? { "--canvas-react-waterfall-column-width": `${columnWidth}px` } : {},
11673
+ ...typeof columnGap === "number" ? { "--canvas-react-waterfall-column-gap": `${columnGap}px` } : {},
11674
+ ...style
11675
+ },
11676
+ children: animated ? /* @__PURE__ */ jsx("div", { className: `${REACT_COMPONENT_PREFIX}-waterfall-rows`, children: buildRows(children, rows).map((row, rowIndex) => {
11677
+ const rowDuration = Array.isArray(duration) ? duration[rowIndex] ?? duration[duration.length - 1] ?? 28 : duration;
11678
+ return /* @__PURE__ */ jsx(
11679
+ "div",
11680
+ {
11681
+ className: `${REACT_COMPONENT_PREFIX}-waterfall-track`,
11682
+ style: {
11683
+ marginBlockEnd: rowGap,
11684
+ "--canvas-react-waterfall-duration": `${rowDuration}s`
11685
+ },
11686
+ children: [0, 1].map((copy) => /* @__PURE__ */ jsx(
11687
+ "div",
11688
+ {
11689
+ className: `${REACT_COMPONENT_PREFIX}-waterfall-copy`,
11690
+ children: row.map((child, itemIndex) => /* @__PURE__ */ jsx(
11691
+ "div",
11692
+ {
11693
+ className: `${REACT_COMPONENT_PREFIX}-waterfall-item`,
11694
+ children: child
11695
+ },
11696
+ `${copy}-${itemIndex}`
11697
+ ))
11698
+ },
11699
+ copy
11700
+ ))
11701
+ },
11702
+ `row-${rowIndex}`
11703
+ );
11704
+ }) }) : Children.map(children, (child) => /* @__PURE__ */ jsx(
11705
+ "div",
11706
+ {
11707
+ className: `${REACT_COMPONENT_PREFIX}-waterfall-item`,
11708
+ style: { marginBlockEnd: rowGap },
11709
+ children: child
11710
+ }
11711
+ ))
11712
+ }
11713
+ );
11714
+ }
11715
+ function buildRows(children, rowCount) {
11716
+ const items = Children.toArray(children);
11717
+ const safeRowCount = Math.max(
11718
+ 1,
11719
+ Math.min(Math.floor(rowCount) || 1, items.length || 1)
11720
+ );
11721
+ const rows = Array.from({ length: safeRowCount }, () => []);
11722
+ items.forEach((item, index) => {
11723
+ rows[index % safeRowCount]?.push(item);
11724
+ });
11725
+ return rows;
11726
+ }
9483
11727
  var ReactYearPicker = forwardRef(
9484
11728
  function ReactYearPicker2(props, ref) {
9485
11729
  const {
@@ -9805,4 +12049,351 @@ function resolveDecadeStart6(year) {
9805
12049
  return Math.floor(year / 10) * 10;
9806
12050
  }
9807
12051
 
9808
- export { REACT_COMPONENT_PREFIX, ReactAutoComplete, ReactButton, ReactCascader, ReactCheckbox, ReactCol, ReactColorPicker, ReactContentScaleProvider, ReactDatePicker, ReactDateRangePicker, ReactDateTimePicker, ReactDateTimeRangePicker, ReactFilterPanel, ReactFlex, ReactForm, ReactImagePreview, ReactInput, ReactInputNumber, ReactInputRange, ReactModal, ReactMonthPicker, ReactNumberInput, ReactPagination, ReactPopconfirm, ReactPopup, ReactQuarterPicker, ReactRadio, ReactResizablePanels, ReactRow, ReactScrollbarPositionDialog, ReactScrollbarSettingsDialog, ReactSelect, ReactTextArea, ReactTimePicker, ReactTimeRangePicker, ReactTooltip, ReactTransition, ReactTreeSelect, ReactVirtualList, ReactYearPicker, getSharedScrollbarSettings, reactMessage, resolveReactScrollbarMode, resolveResizablePanelSizes, setSharedScrollbarSettings, subscribeSharedScrollbarSettings, useReactContentScale, useReactForm, useReactFormWatch, useReactTransition };
12052
+ // src/components/collapse-panel/style.css
12053
+ styleInject(".canvas-react-collapse-panel {\n min-width: 0;\n}\n.canvas-react-collapse-panel-trigger {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 10px 12px;\n border: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n font-weight: 600;\n text-align: start;\n cursor: pointer;\n}\n.canvas-react-collapse-panel-trigger:hover {\n background: rgba(148, 163, 184, 0.08);\n}\n.canvas-react-collapse-panel-trigger:focus-visible {\n outline: 2px solid #1677ff;\n outline-offset: -2px;\n}\n.canvas-react-collapse-panel-trigger:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.canvas-react-collapse-panel-title {\n min-width: 0;\n overflow-wrap: anywhere;\n}\n.canvas-react-collapse-panel-icon {\n flex-shrink: 0;\n transition: transform 160ms ease;\n}\n.canvas-react-collapse-panel-trigger[aria-expanded=true] .canvas-react-collapse-panel-icon {\n transform: rotate(90deg);\n}\n.canvas-react-collapse-panel-content {\n padding: 0 12px 12px;\n min-width: 0;\n}\n.canvas-react-collapse-panel-content[hidden] {\n display: none !important;\n}\n@media (prefers-reduced-motion: reduce) {\n .canvas-react-collapse-panel-icon {\n transition: none;\n }\n}\n.canvas-react-collapse-motion {\n display: grid;\n grid-template-rows: 0fr;\n visibility: hidden;\n transition: grid-template-rows 180ms ease, visibility 0s linear 180ms;\n}\n.canvas-react-collapse-motion.is-open {\n grid-template-rows: 1fr;\n visibility: visible;\n transition: grid-template-rows 180ms ease, visibility 0s;\n}\n.canvas-react-collapse-motion-inner {\n min-height: 0;\n overflow: hidden;\n}\n@media (prefers-reduced-motion: reduce) {\n .canvas-react-collapse-motion {\n transition: none;\n }\n}\n");
12054
+ function ReactCollapsePanel({
12055
+ title,
12056
+ open,
12057
+ defaultOpen = false,
12058
+ disabled = false,
12059
+ onOpenChange,
12060
+ className,
12061
+ contentClassName,
12062
+ children,
12063
+ ...rest
12064
+ }) {
12065
+ const [internalOpen, setInternalOpen] = useState(defaultOpen);
12066
+ const expanded = open ?? internalOpen;
12067
+ const prefix = `${REACT_COMPONENT_PREFIX}-collapse-panel`;
12068
+ return /* @__PURE__ */ jsxs("section", { ...rest, className: joinClassNames(prefix, className), children: [
12069
+ /* @__PURE__ */ jsxs(
12070
+ "button",
12071
+ {
12072
+ type: "button",
12073
+ className: `${prefix}-trigger`,
12074
+ "aria-expanded": expanded,
12075
+ disabled,
12076
+ onClick: () => {
12077
+ if (open === void 0) setInternalOpen(!expanded);
12078
+ onOpenChange?.(!expanded);
12079
+ },
12080
+ children: [
12081
+ /* @__PURE__ */ jsx(ReactRightOutlined, { "aria-hidden": "true", className: `${prefix}-icon` }),
12082
+ /* @__PURE__ */ jsx("span", { className: `${prefix}-title`, children: title })
12083
+ ]
12084
+ }
12085
+ ),
12086
+ /* @__PURE__ */ jsx(
12087
+ "div",
12088
+ {
12089
+ hidden: !expanded,
12090
+ className: joinClassNames(`${prefix}-content`, contentClassName),
12091
+ children
12092
+ }
12093
+ )
12094
+ ] });
12095
+ }
12096
+
12097
+ // src/components/sortable-list/style.css
12098
+ styleInject("body.canvas-react-sorting,\nbody.canvas-react-sorting * {\n cursor: grabbing !important;\n user-select: none !important;\n}\n.canvas-react-sortable-dragging {\n opacity: 0.28;\n}\n.canvas-react-sort-overlay {\n position: fixed;\n z-index: 1400;\n display: block;\n padding: 0;\n box-sizing: border-box;\n color: #334155;\n background: #fff;\n border: 1px solid #91caff;\n border-radius: 6px;\n box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);\n pointer-events: none;\n overflow: hidden;\n animation: canvas-sort-lift 140ms ease-out;\n}\n@keyframes canvas-sort-lift {\n from {\n opacity: 0.5;\n transform: scale(0.98);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .canvas-react-sort-overlay {\n animation: none;\n }\n [data-sortable-key] {\n transition: none !important;\n }\n}\n");
12099
+ function resolvePortalContainer(host) {
12100
+ const doc = host?.ownerDocument ?? document;
12101
+ const fullscreen = doc.fullscreenElement;
12102
+ return fullscreen instanceof HTMLElement && host && fullscreen.contains(host) ? fullscreen : doc.body;
12103
+ }
12104
+ function ReactSortableList(props) {
12105
+ const { items, onOrderChange } = props;
12106
+ const virtualRef = useRef(null);
12107
+ const rootRef = useRef(null);
12108
+ const dragRef = useRef(null);
12109
+ const [dragState, setDragState] = useState(null);
12110
+ useEffect(
12111
+ () => () => {
12112
+ document.body.classList.remove("canvas-react-sorting");
12113
+ },
12114
+ []
12115
+ );
12116
+ useEffect(() => {
12117
+ if (!dragState) return;
12118
+ const scrollContainer = props.virtual ? virtualRef.current?.element : props.scrollContainerRef?.current;
12119
+ let frameId = 0;
12120
+ let lastTime = null;
12121
+ const updateTarget = () => {
12122
+ const current = dragRef.current;
12123
+ if (!current || !current.active) return;
12124
+ const target = resolveClosestSortableItem({
12125
+ items,
12126
+ parentKey: current.source.parentKey,
12127
+ layouts: current.layouts,
12128
+ // 保留拖拽开始时的布局,补偿滚动位移,避免受行交换动画影响。
12129
+ overlayCenterY: current.pointerY - current.offsetY + current.height / 2 + current.rootTop - (props.virtual ? (virtualRef.current?.element?.getBoundingClientRect().top ?? current.rootTop) - (virtualRef.current?.element?.scrollTop ?? 0) : rootRef.current?.getBoundingClientRect().top ?? current.rootTop)
12130
+ });
12131
+ if (target) {
12132
+ current.target = target;
12133
+ }
12134
+ setDragState({
12135
+ active: current.active,
12136
+ sourceKey: current.source.key,
12137
+ targetKey: current.target.key,
12138
+ pointerY: current.pointerY
12139
+ });
12140
+ };
12141
+ const handleMove = (event) => {
12142
+ const current = dragRef.current;
12143
+ if (!current || event.pointerId !== current.pointerId) return;
12144
+ if (!current.active) {
12145
+ if (Math.hypot(
12146
+ event.clientX - current.startX,
12147
+ event.clientY - current.startY
12148
+ ) < (props.dragThreshold ?? 4))
12149
+ return;
12150
+ current.active = true;
12151
+ document.body.classList.add("canvas-react-sorting");
12152
+ props.onDragStart?.(current.source);
12153
+ }
12154
+ current.pointerY = event.clientY;
12155
+ updateTarget();
12156
+ };
12157
+ const tick = (time) => {
12158
+ const current = dragRef.current;
12159
+ if (!current) return;
12160
+ const elapsed = lastTime == null ? 0 : Math.min(time - lastTime, 50);
12161
+ lastTime = time;
12162
+ if (scrollContainer && current.active) {
12163
+ const rect = scrollContainer.getBoundingClientRect();
12164
+ const top = rect.top + scrollContainer.clientTop;
12165
+ const height = scrollContainer.clientHeight;
12166
+ const edge = Math.min(40, height / 2);
12167
+ const bottom = top + height;
12168
+ const direction = edge <= 0 ? 0 : current.pointerY < top + edge ? -Math.min(1, (top + edge - current.pointerY) / edge) : current.pointerY > bottom - edge ? Math.min(1, (current.pointerY - bottom + edge) / edge) : 0;
12169
+ if (direction) {
12170
+ scrollContainer.scrollTop = Math.max(
12171
+ 0,
12172
+ Math.min(
12173
+ scrollContainer.scrollHeight - height,
12174
+ scrollContainer.scrollTop + direction * elapsed * 0.5
12175
+ )
12176
+ );
12177
+ updateTarget();
12178
+ }
12179
+ }
12180
+ frameId = requestAnimationFrame(tick);
12181
+ };
12182
+ const finish = (commit) => {
12183
+ const current = dragRef.current;
12184
+ cancelAnimationFrame(frameId);
12185
+ if (commit && current?.active && current.source.key !== current.target.key) {
12186
+ const siblings = items.filter(
12187
+ (item) => item.parentKey === current.source.parentKey
12188
+ );
12189
+ const orderedKeys = resolveNextSortableOrder(
12190
+ siblings.map((item) => item.key),
12191
+ current.source.key,
12192
+ current.target.key
12193
+ );
12194
+ if (orderedKeys) {
12195
+ onOrderChange(current.source.parentKey, orderedKeys);
12196
+ }
12197
+ }
12198
+ dragRef.current = null;
12199
+ setDragState(null);
12200
+ document.body.classList.remove("canvas-react-sorting");
12201
+ };
12202
+ if (props.disabled || !items.some((item) => item.key === dragRef.current?.source.key)) {
12203
+ finish(false);
12204
+ return;
12205
+ }
12206
+ const handleEnd = (event) => {
12207
+ if (event.pointerId !== dragRef.current?.pointerId) return;
12208
+ handleMove(event);
12209
+ finish(true);
12210
+ };
12211
+ const handleCancel = (event) => {
12212
+ if (event.pointerId === dragRef.current?.pointerId) finish(false);
12213
+ };
12214
+ const handleBlur = () => finish(false);
12215
+ const handleKey = (event) => {
12216
+ if (event.key === "Escape") {
12217
+ event.preventDefault();
12218
+ finish(false);
12219
+ }
12220
+ };
12221
+ frameId = requestAnimationFrame(tick);
12222
+ scrollContainer?.addEventListener("scroll", updateTarget);
12223
+ window.addEventListener("pointermove", handleMove);
12224
+ window.addEventListener("pointerup", handleEnd);
12225
+ window.addEventListener("pointercancel", handleCancel);
12226
+ window.addEventListener("blur", handleBlur);
12227
+ window.addEventListener("keydown", handleKey);
12228
+ return () => {
12229
+ cancelAnimationFrame(frameId);
12230
+ scrollContainer?.removeEventListener("scroll", updateTarget);
12231
+ window.removeEventListener("pointermove", handleMove);
12232
+ window.removeEventListener("pointerup", handleEnd);
12233
+ window.removeEventListener("pointercancel", handleCancel);
12234
+ window.removeEventListener("blur", handleBlur);
12235
+ window.removeEventListener("keydown", handleKey);
12236
+ };
12237
+ }, [
12238
+ dragState != null,
12239
+ items,
12240
+ onOrderChange,
12241
+ props.scrollContainerRef,
12242
+ props.disabled
12243
+ ]);
12244
+ const sourceIndex = dragState?.active ? items.findIndex((item) => item.key === dragState.sourceKey) : -1;
12245
+ const targetIndex = dragState?.active ? items.findIndex((item) => item.key === dragState.targetKey) : -1;
12246
+ const renderRow = (item, index, position) => {
12247
+ const style = resolveSortableTransform(
12248
+ index,
12249
+ sourceIndex,
12250
+ targetIndex,
12251
+ dragRef.current?.height ?? 0
12252
+ );
12253
+ return /* @__PURE__ */ jsx(
12254
+ "div",
12255
+ {
12256
+ "data-sortable-key": item.key,
12257
+ className: dragState?.active && dragState.sourceKey === item.key ? "canvas-react-sortable-dragging" : "",
12258
+ style: { ...position, ...style },
12259
+ children: props.renderItem(item, {
12260
+ onPointerDown: (event) => {
12261
+ if (props.disabled || event.button !== 0 || dragRef.current) return;
12262
+ const row = event.currentTarget.closest(
12263
+ "[data-sortable-key]"
12264
+ );
12265
+ if (!row) return;
12266
+ const rect = row.getBoundingClientRect();
12267
+ dragRef.current = {
12268
+ active: false,
12269
+ startX: event.clientX,
12270
+ startY: event.clientY,
12271
+ source: item,
12272
+ target: item,
12273
+ layouts: props.virtual ? items.map((entry, i) => ({
12274
+ key: entry.key,
12275
+ centerY: (virtualRef.current?.element?.getBoundingClientRect().top ?? 0) - (virtualRef.current?.element?.scrollTop ?? 0) + (i + 0.5) * props.virtual.itemHeight
12276
+ })) : collectSortableItemLayouts(rootRef.current),
12277
+ offsetY: event.clientY - rect.top,
12278
+ width: rect.width,
12279
+ left: rect.left,
12280
+ height: rect.height,
12281
+ pointerId: event.pointerId,
12282
+ pointerY: event.clientY,
12283
+ rootTop: props.virtual ? (virtualRef.current?.element?.getBoundingClientRect().top ?? 0) - (virtualRef.current?.element?.scrollTop ?? 0) : rootRef.current?.getBoundingClientRect().top ?? 0
12284
+ };
12285
+ setDragState({
12286
+ active: false,
12287
+ sourceKey: item.key,
12288
+ targetKey: item.key,
12289
+ pointerY: event.clientY
12290
+ });
12291
+ event.preventDefault();
12292
+ }
12293
+ })
12294
+ },
12295
+ item.key
12296
+ );
12297
+ };
12298
+ return /* @__PURE__ */ jsxs("div", { ref: rootRef, className: props.className, children: [
12299
+ props.virtual ? /* @__PURE__ */ jsx(
12300
+ ReactVirtualList,
12301
+ {
12302
+ ref: virtualRef,
12303
+ items,
12304
+ height: props.virtual.height,
12305
+ itemHeight: props.virtual.itemHeight,
12306
+ overscan: props.virtual.overscan ?? 6,
12307
+ itemKey: (item) => item.key,
12308
+ renderItem: (item, index, meta) => renderRow(item, index, meta.style)
12309
+ }
12310
+ ) : items.map((item, index) => renderRow(item, index)),
12311
+ dragState?.active && dragRef.current ? createPortal(
12312
+ /* @__PURE__ */ jsx(
12313
+ "div",
12314
+ {
12315
+ className: "canvas-react-sort-overlay",
12316
+ "aria-hidden": "true",
12317
+ style: {
12318
+ left: dragRef.current.left,
12319
+ top: dragState.pointerY - dragRef.current.offsetY,
12320
+ width: dragRef.current.width,
12321
+ height: dragRef.current.height
12322
+ },
12323
+ children: props.renderItem(dragRef.current.source, {
12324
+ onPointerDown: (event) => event.preventDefault()
12325
+ })
12326
+ }
12327
+ ),
12328
+ resolvePortalContainer(rootRef.current)
12329
+ ) : null
12330
+ ] });
12331
+ }
12332
+ function resolveNextSortableOrder(currentKeys, sourceKey, targetKey) {
12333
+ const sourceIndex = currentKeys.indexOf(sourceKey);
12334
+ const targetIndex = currentKeys.indexOf(targetKey);
12335
+ if (sourceIndex < 0 || targetIndex < 0 || sourceIndex === targetIndex) {
12336
+ return null;
12337
+ }
12338
+ const nextKeys = [...currentKeys];
12339
+ const [source] = nextKeys.splice(sourceIndex, 1);
12340
+ nextKeys.splice(targetIndex, 0, source);
12341
+ return nextKeys;
12342
+ }
12343
+ function collectSortableItemLayouts(root) {
12344
+ if (!root) return [];
12345
+ return Array.from(
12346
+ root.querySelectorAll(":scope > [data-sortable-key]")
12347
+ ).map((element) => {
12348
+ const rect = element.getBoundingClientRect();
12349
+ return {
12350
+ key: element.dataset.sortableKey ?? "",
12351
+ centerY: rect.top + rect.height / 2
12352
+ };
12353
+ });
12354
+ }
12355
+ function resolveClosestSortableItem(params) {
12356
+ let closestItem = null;
12357
+ let closestDistance = Number.POSITIVE_INFINITY;
12358
+ const itemsByKey = new Map(params.items.map((item) => [item.key, item]));
12359
+ params.layouts.forEach((layout) => {
12360
+ const item = itemsByKey.get(layout.key);
12361
+ if (!item || item.parentKey !== params.parentKey) return;
12362
+ const distance = Math.abs(params.overlayCenterY - layout.centerY);
12363
+ if (distance < closestDistance) {
12364
+ closestDistance = distance;
12365
+ closestItem = item;
12366
+ }
12367
+ });
12368
+ return closestItem;
12369
+ }
12370
+ function resolveSortableTransform(index, sourceIndex, targetIndex, height) {
12371
+ let translateY = 0;
12372
+ if (sourceIndex < targetIndex && index > sourceIndex && index <= targetIndex) {
12373
+ translateY = -height;
12374
+ } else if (sourceIndex > targetIndex && index >= targetIndex && index < sourceIndex) {
12375
+ translateY = height;
12376
+ }
12377
+ return {
12378
+ transform: translateY ? `translate3d(0, ${translateY}px, 0)` : void 0,
12379
+ transition: sourceIndex >= 0 ? "transform 180ms ease" : void 0
12380
+ };
12381
+ }
12382
+ function ReactCollapseMotion({
12383
+ open,
12384
+ children
12385
+ }) {
12386
+ return /* @__PURE__ */ jsx(
12387
+ "div",
12388
+ {
12389
+ className: `canvas-react-collapse-motion${open ? " is-open" : ""}`,
12390
+ "aria-hidden": !open,
12391
+ ref: (node) => {
12392
+ node?.toggleAttribute("inert", !open);
12393
+ },
12394
+ children: /* @__PURE__ */ jsx("div", { className: "canvas-react-collapse-motion-inner", children })
12395
+ }
12396
+ );
12397
+ }
12398
+
12399
+ export { ReactAccountBookFilled as AccountBookFilled, ReactAccountBookOutlined as AccountBookOutlined, ReactAccountBookTwoTone as AccountBookTwoTone, ReactAimOutlined as AimOutlined, ReactAlertFilled as AlertFilled, ReactAlertOutlined as AlertOutlined, ReactAlertTwoTone as AlertTwoTone, ReactAlibabaOutlined as AlibabaOutlined, ReactAlignCenterOutlined as AlignCenterOutlined, ReactAlignLeftOutlined as AlignLeftOutlined, ReactAlignRightOutlined as AlignRightOutlined, ReactAlipayCircleFilled as AlipayCircleFilled, ReactAlipayCircleOutlined as AlipayCircleOutlined, ReactAlipayOutlined as AlipayOutlined, ReactAlipaySquareFilled as AlipaySquareFilled, ReactAliwangwangFilled as AliwangwangFilled, ReactAliwangwangOutlined as AliwangwangOutlined, ReactAliyunOutlined as AliyunOutlined, ReactAmazonCircleFilled as AmazonCircleFilled, ReactAmazonOutlined as AmazonOutlined, ReactAmazonSquareFilled as AmazonSquareFilled, ReactAndroidFilled as AndroidFilled, ReactAndroidOutlined as AndroidOutlined, ReactAntCloudOutlined as AntCloudOutlined, ReactAntDesignOutlined as AntDesignOutlined, ReactAnthropicFilled as AnthropicFilled, ReactApartmentOutlined as ApartmentOutlined, ReactApiFilled as ApiFilled, ReactApiOutlined as ApiOutlined, ReactApiTwoTone as ApiTwoTone, ReactAppleFilled as AppleFilled, ReactAppleOutlined as AppleOutlined, ReactAppstoreAddOutlined as AppstoreAddOutlined, ReactAppstoreFilled as AppstoreFilled, ReactAppstoreOutlined as AppstoreOutlined, ReactAppstoreTwoTone as AppstoreTwoTone, ReactAreaChartOutlined as AreaChartOutlined, ReactArrowDownOutlined as ArrowDownOutlined, ReactArrowLeftOutlined as ArrowLeftOutlined, ReactArrowRightOutlined as ArrowRightOutlined, ReactArrowUpOutlined as ArrowUpOutlined, ReactArrowsAltOutlined as ArrowsAltOutlined, ReactAudioFilled as AudioFilled, ReactAudioMutedOutlined as AudioMutedOutlined, ReactAudioOutlined as AudioOutlined, ReactAudioTwoTone as AudioTwoTone, ReactAuditOutlined as AuditOutlined, ReactBackwardFilled as BackwardFilled, ReactBackwardOutlined as BackwardOutlined, ReactBaiduOutlined as BaiduOutlined, ReactBankFilled as BankFilled, ReactBankOutlined as BankOutlined, ReactBankTwoTone as BankTwoTone, ReactBarChartOutlined as BarChartOutlined, ReactBarcodeOutlined as BarcodeOutlined, ReactBarsOutlined as BarsOutlined, ReactBehanceCircleFilled as BehanceCircleFilled, ReactBehanceOutlined as BehanceOutlined, ReactBehanceSquareFilled as BehanceSquareFilled, ReactBehanceSquareOutlined as BehanceSquareOutlined, ReactBellFilled as BellFilled, ReactBellOutlined as BellOutlined, ReactBellTwoTone as BellTwoTone, ReactBgColorsOutlined as BgColorsOutlined, ReactBilibiliFilled as BilibiliFilled, ReactBilibiliOutlined as BilibiliOutlined, ReactBlockOutlined as BlockOutlined, ReactBoldOutlined as BoldOutlined, ReactBookFilled as BookFilled, ReactBookOutlined as BookOutlined, ReactBookTwoTone as BookTwoTone, ReactBorderBottomOutlined as BorderBottomOutlined, ReactBorderHorizontalOutlined as BorderHorizontalOutlined, ReactBorderInnerOutlined as BorderInnerOutlined, ReactBorderLeftOutlined as BorderLeftOutlined, ReactBorderOuterOutlined as BorderOuterOutlined, ReactBorderOutlined as BorderOutlined, ReactBorderRightOutlined as BorderRightOutlined, ReactBorderTopOutlined as BorderTopOutlined, ReactBorderVerticleOutlined as BorderVerticleOutlined, ReactBorderlessTableOutlined as BorderlessTableOutlined, ReactBoxPlotFilled as BoxPlotFilled, ReactBoxPlotOutlined as BoxPlotOutlined, ReactBoxPlotTwoTone as BoxPlotTwoTone, ReactBranchesOutlined as BranchesOutlined, ReactBugFilled as BugFilled, ReactBugOutlined as BugOutlined, ReactBugTwoTone as BugTwoTone, ReactBuildFilled as BuildFilled, ReactBuildOutlined as BuildOutlined, ReactBuildTwoTone as BuildTwoTone, ReactBulbFilled as BulbFilled, ReactBulbOutlined as BulbOutlined, ReactBulbTwoTone as BulbTwoTone, ReactCalculatorFilled as CalculatorFilled, ReactCalculatorOutlined as CalculatorOutlined, ReactCalculatorTwoTone as CalculatorTwoTone, ReactCalendarFilled as CalendarFilled, ReactCalendarOutlined as CalendarOutlined, ReactCalendarTwoTone as CalendarTwoTone, ReactCameraFilled as CameraFilled, ReactCameraOutlined as CameraOutlined, ReactCameraTwoTone as CameraTwoTone, ReactCarFilled as CarFilled, ReactCarOutlined as CarOutlined, ReactCarTwoTone as CarTwoTone, ReactCaretDownFilled as CaretDownFilled, ReactCaretDownOutlined as CaretDownOutlined, ReactCaretLeftFilled as CaretLeftFilled, ReactCaretLeftOutlined as CaretLeftOutlined, ReactCaretRightFilled as CaretRightFilled, ReactCaretRightOutlined as CaretRightOutlined, ReactCaretUpFilled as CaretUpFilled, ReactCaretUpOutlined as CaretUpOutlined, ReactCarryOutFilled as CarryOutFilled, ReactCarryOutOutlined as CarryOutOutlined, ReactCarryOutTwoTone as CarryOutTwoTone, ReactCheckCircleFilled as CheckCircleFilled, ReactCheckCircleOutlined as CheckCircleOutlined, ReactCheckCircleTwoTone as CheckCircleTwoTone, ReactCheckOutlined as CheckOutlined, ReactCheckSquareFilled as CheckSquareFilled, ReactCheckSquareOutlined as CheckSquareOutlined, ReactCheckSquareTwoTone as CheckSquareTwoTone, ReactChromeFilled as ChromeFilled, ReactChromeOutlined as ChromeOutlined, ReactCiCircleFilled as CiCircleFilled, ReactCiCircleOutlined as CiCircleOutlined, ReactCiCircleTwoTone as CiCircleTwoTone, ReactCiOutlined as CiOutlined, ReactCiTwoTone as CiTwoTone, ReactClaudeFilled as ClaudeFilled, ReactClearOutlined as ClearOutlined, ReactClockCircleFilled as ClockCircleFilled, ReactClockCircleOutlined as ClockCircleOutlined, ReactClockCircleTwoTone as ClockCircleTwoTone, ReactCloseCircleFilled as CloseCircleFilled, ReactCloseCircleOutlined as CloseCircleOutlined, ReactCloseCircleTwoTone as CloseCircleTwoTone, ReactCloseOutlined as CloseOutlined, ReactCloseSquareFilled as CloseSquareFilled, ReactCloseSquareOutlined as CloseSquareOutlined, ReactCloseSquareTwoTone as CloseSquareTwoTone, ReactCloudDownloadOutlined as CloudDownloadOutlined, ReactCloudFilled as CloudFilled, ReactCloudOutlined as CloudOutlined, ReactCloudServerOutlined as CloudServerOutlined, ReactCloudSyncOutlined as CloudSyncOutlined, ReactCloudTwoTone as CloudTwoTone, ReactCloudUploadOutlined as CloudUploadOutlined, ReactClusterOutlined as ClusterOutlined, ReactCodeFilled as CodeFilled, ReactCodeOutlined as CodeOutlined, ReactCodeSandboxCircleFilled as CodeSandboxCircleFilled, ReactCodeSandboxOutlined as CodeSandboxOutlined, ReactCodeSandboxSquareFilled as CodeSandboxSquareFilled, ReactCodeTwoTone as CodeTwoTone, ReactCodepenCircleFilled as CodepenCircleFilled, ReactCodepenCircleOutlined as CodepenCircleOutlined, ReactCodepenOutlined as CodepenOutlined, ReactCodepenSquareFilled as CodepenSquareFilled, ReactCoffeeOutlined as CoffeeOutlined, ReactColumnHeightOutlined as ColumnHeightOutlined, ReactColumnWidthOutlined as ColumnWidthOutlined, ReactCommentOutlined as CommentOutlined, ReactCompassFilled as CompassFilled, ReactCompassOutlined as CompassOutlined, ReactCompassTwoTone as CompassTwoTone, ReactCompressOutlined as CompressOutlined, ReactConfigProvider as ConfigProvider, ReactConsoleSqlOutlined as ConsoleSqlOutlined, ReactContactsFilled as ContactsFilled, ReactContactsOutlined as ContactsOutlined, ReactContactsTwoTone as ContactsTwoTone, ReactContainerFilled as ContainerFilled, ReactContainerOutlined as ContainerOutlined, ReactContainerTwoTone as ContainerTwoTone, ReactControlFilled as ControlFilled, ReactControlOutlined as ControlOutlined, ReactControlTwoTone as ControlTwoTone, ReactCopyFilled as CopyFilled, ReactCopyOutlined as CopyOutlined, ReactCopyTwoTone as CopyTwoTone, ReactCopyrightCircleFilled as CopyrightCircleFilled, ReactCopyrightCircleOutlined as CopyrightCircleOutlined, ReactCopyrightCircleTwoTone as CopyrightCircleTwoTone, ReactCopyrightOutlined as CopyrightOutlined, ReactCopyrightTwoTone as CopyrightTwoTone, ReactCreditCardFilled as CreditCardFilled, ReactCreditCardOutlined as CreditCardOutlined, ReactCreditCardTwoTone as CreditCardTwoTone, ReactCrownFilled as CrownFilled, ReactCrownOutlined as CrownOutlined, ReactCrownTwoTone as CrownTwoTone, ReactCustomerServiceFilled as CustomerServiceFilled, ReactCustomerServiceOutlined as CustomerServiceOutlined, ReactCustomerServiceTwoTone as CustomerServiceTwoTone, ReactDashOutlined as DashOutlined, ReactDashboardFilled as DashboardFilled, ReactDashboardOutlined as DashboardOutlined, ReactDashboardTwoTone as DashboardTwoTone, ReactDatabaseFilled as DatabaseFilled, ReactDatabaseOutlined as DatabaseOutlined, ReactDatabaseTwoTone as DatabaseTwoTone, ReactDeepSeekFilled as DeepSeekFilled, ReactDeleteColumnOutlined as DeleteColumnOutlined, ReactDeleteFilled as DeleteFilled, ReactDeleteOutlined as DeleteOutlined, ReactDeleteRowOutlined as DeleteRowOutlined, ReactDeleteTwoTone as DeleteTwoTone, ReactDeliveredProcedureOutlined as DeliveredProcedureOutlined, ReactDeploymentUnitOutlined as DeploymentUnitOutlined, ReactDesktopOutlined as DesktopOutlined, ReactDiffFilled as DiffFilled, ReactDiffOutlined as DiffOutlined, ReactDiffTwoTone as DiffTwoTone, ReactDingdingOutlined as DingdingOutlined, ReactDingtalkCircleFilled as DingtalkCircleFilled, ReactDingtalkOutlined as DingtalkOutlined, ReactDingtalkSquareFilled as DingtalkSquareFilled, ReactDisconnectOutlined as DisconnectOutlined, ReactDiscordFilled as DiscordFilled, ReactDiscordOutlined as DiscordOutlined, ReactDislikeFilled as DislikeFilled, ReactDislikeOutlined as DislikeOutlined, ReactDislikeTwoTone as DislikeTwoTone, ReactDockerOutlined as DockerOutlined, ReactDollarCircleFilled as DollarCircleFilled, ReactDollarCircleOutlined as DollarCircleOutlined, ReactDollarCircleTwoTone as DollarCircleTwoTone, ReactDollarOutlined as DollarOutlined, ReactDollarTwoTone as DollarTwoTone, ReactDotChartOutlined as DotChartOutlined, ReactDotNetOutlined as DotNetOutlined, ReactDoubleLeftOutlined as DoubleLeftOutlined, ReactDoubleRightOutlined as DoubleRightOutlined, ReactDownCircleFilled as DownCircleFilled, ReactDownCircleOutlined as DownCircleOutlined, ReactDownCircleTwoTone as DownCircleTwoTone, ReactDownOutlined as DownOutlined, ReactDownSquareFilled as DownSquareFilled, ReactDownSquareOutlined as DownSquareOutlined, ReactDownSquareTwoTone as DownSquareTwoTone, ReactDownloadOutlined as DownloadOutlined, ReactDragOutlined as DragOutlined, ReactDribbbleCircleFilled as DribbbleCircleFilled, ReactDribbbleOutlined as DribbbleOutlined, ReactDribbbleSquareFilled as DribbbleSquareFilled, ReactDribbbleSquareOutlined as DribbbleSquareOutlined, ReactDropboxCircleFilled as DropboxCircleFilled, ReactDropboxOutlined as DropboxOutlined, ReactDropboxSquareFilled as DropboxSquareFilled, ReactEditFilled as EditFilled, ReactEditOutlined as EditOutlined, ReactEditTwoTone as EditTwoTone, ReactElevenLabsFilled as ElevenLabsFilled, ReactEllipsisOutlined as EllipsisOutlined, ReactEnterOutlined as EnterOutlined, ReactEnvironmentFilled as EnvironmentFilled, ReactEnvironmentOutlined as EnvironmentOutlined, ReactEnvironmentTwoTone as EnvironmentTwoTone, ReactEuroCircleFilled as EuroCircleFilled, ReactEuroCircleOutlined as EuroCircleOutlined, ReactEuroCircleTwoTone as EuroCircleTwoTone, ReactEuroOutlined as EuroOutlined, ReactEuroTwoTone as EuroTwoTone, ReactExceptionOutlined as ExceptionOutlined, ReactExclamationCircleFilled as ExclamationCircleFilled, ReactExclamationCircleOutlined as ExclamationCircleOutlined, ReactExclamationCircleTwoTone as ExclamationCircleTwoTone, ReactExclamationOutlined as ExclamationOutlined, ReactExpandAltOutlined as ExpandAltOutlined, ReactExpandOutlined as ExpandOutlined, ReactExperimentFilled as ExperimentFilled, ReactExperimentOutlined as ExperimentOutlined, ReactExperimentTwoTone as ExperimentTwoTone, ReactExportOutlined as ExportOutlined, ReactEyeFilled as EyeFilled, ReactEyeInvisibleFilled as EyeInvisibleFilled, ReactEyeInvisibleOutlined as EyeInvisibleOutlined, ReactEyeInvisibleTwoTone as EyeInvisibleTwoTone, ReactEyeOutlined as EyeOutlined, ReactEyeTwoTone as EyeTwoTone, ReactFacebookFilled as FacebookFilled, ReactFacebookOutlined as FacebookOutlined, ReactFallOutlined as FallOutlined, ReactFastBackwardFilled as FastBackwardFilled, ReactFastBackwardOutlined as FastBackwardOutlined, ReactFastForwardFilled as FastForwardFilled, ReactFastForwardOutlined as FastForwardOutlined, ReactFieldBinaryOutlined as FieldBinaryOutlined, ReactFieldNumberOutlined as FieldNumberOutlined, ReactFieldStringOutlined as FieldStringOutlined, ReactFieldTimeOutlined as FieldTimeOutlined, ReactFileAddFilled as FileAddFilled, ReactFileAddOutlined as FileAddOutlined, ReactFileAddTwoTone as FileAddTwoTone, ReactFileDoneOutlined as FileDoneOutlined, ReactFileExcelFilled as FileExcelFilled, ReactFileExcelOutlined as FileExcelOutlined, ReactFileExcelTwoTone as FileExcelTwoTone, ReactFileExclamationFilled as FileExclamationFilled, ReactFileExclamationOutlined as FileExclamationOutlined, ReactFileExclamationTwoTone as FileExclamationTwoTone, ReactFileFilled as FileFilled, ReactFileGifOutlined as FileGifOutlined, ReactFileImageFilled as FileImageFilled, ReactFileImageOutlined as FileImageOutlined, ReactFileImageTwoTone as FileImageTwoTone, ReactFileJpgOutlined as FileJpgOutlined, ReactFileMarkdownFilled as FileMarkdownFilled, ReactFileMarkdownOutlined as FileMarkdownOutlined, ReactFileMarkdownTwoTone as FileMarkdownTwoTone, ReactFileOutlined as FileOutlined, ReactFilePdfFilled as FilePdfFilled, ReactFilePdfOutlined as FilePdfOutlined, ReactFilePdfTwoTone as FilePdfTwoTone, ReactFilePptFilled as FilePptFilled, ReactFilePptOutlined as FilePptOutlined, ReactFilePptTwoTone as FilePptTwoTone, ReactFileProtectOutlined as FileProtectOutlined, ReactFileSearchOutlined as FileSearchOutlined, ReactFileSyncOutlined as FileSyncOutlined, ReactFileTextFilled as FileTextFilled, ReactFileTextOutlined as FileTextOutlined, ReactFileTextTwoTone as FileTextTwoTone, ReactFileTwoTone as FileTwoTone, ReactFileUnknownFilled as FileUnknownFilled, ReactFileUnknownOutlined as FileUnknownOutlined, ReactFileUnknownTwoTone as FileUnknownTwoTone, ReactFileWordFilled as FileWordFilled, ReactFileWordOutlined as FileWordOutlined, ReactFileWordTwoTone as FileWordTwoTone, ReactFileZipFilled as FileZipFilled, ReactFileZipOutlined as FileZipOutlined, ReactFileZipTwoTone as FileZipTwoTone, ReactFilterFilled as FilterFilled, ReactFilterOutlined as FilterOutlined, ReactFilterTwoTone as FilterTwoTone, ReactFireFilled as FireFilled, ReactFireOutlined as FireOutlined, ReactFireTwoTone as FireTwoTone, ReactFlagFilled as FlagFilled, ReactFlagOutlined as FlagOutlined, ReactFlagTwoTone as FlagTwoTone, ReactFolderAddFilled as FolderAddFilled, ReactFolderAddOutlined as FolderAddOutlined, ReactFolderAddTwoTone as FolderAddTwoTone, ReactFolderFilled as FolderFilled, ReactFolderOpenFilled as FolderOpenFilled, ReactFolderOpenOutlined as FolderOpenOutlined, ReactFolderOpenTwoTone as FolderOpenTwoTone, ReactFolderOutlined as FolderOutlined, ReactFolderTwoTone as FolderTwoTone, ReactFolderViewOutlined as FolderViewOutlined, ReactFontColorsOutlined as FontColorsOutlined, ReactFontSizeOutlined as FontSizeOutlined, ReactForkOutlined as ForkOutlined, ReactFormOutlined as FormOutlined, ReactFormatPainterFilled as FormatPainterFilled, ReactFormatPainterOutlined as FormatPainterOutlined, ReactForwardFilled as ForwardFilled, ReactForwardOutlined as ForwardOutlined, ReactFrownFilled as FrownFilled, ReactFrownOutlined as FrownOutlined, ReactFrownTwoTone as FrownTwoTone, ReactFullscreenExitOutlined as FullscreenExitOutlined, ReactFullscreenOutlined as FullscreenOutlined, ReactFunctionOutlined as FunctionOutlined, ReactFundFilled as FundFilled, ReactFundOutlined as FundOutlined, ReactFundProjectionScreenOutlined as FundProjectionScreenOutlined, ReactFundTwoTone as FundTwoTone, ReactFundViewOutlined as FundViewOutlined, ReactFunnelPlotFilled as FunnelPlotFilled, ReactFunnelPlotOutlined as FunnelPlotOutlined, ReactFunnelPlotTwoTone as FunnelPlotTwoTone, ReactGatewayOutlined as GatewayOutlined, ReactGeminiFilled as GeminiFilled, ReactGifOutlined as GifOutlined, ReactGiftFilled as GiftFilled, ReactGiftOutlined as GiftOutlined, ReactGiftTwoTone as GiftTwoTone, ReactGithubFilled as GithubFilled, ReactGithubOutlined as GithubOutlined, ReactGitlabFilled as GitlabFilled, ReactGitlabOutlined as GitlabOutlined, ReactGlobalOutlined as GlobalOutlined, ReactGoldFilled as GoldFilled, ReactGoldOutlined as GoldOutlined, ReactGoldTwoTone as GoldTwoTone, ReactGoldenFilled as GoldenFilled, ReactGoogleCircleFilled as GoogleCircleFilled, ReactGoogleOutlined as GoogleOutlined, ReactGooglePlusCircleFilled as GooglePlusCircleFilled, ReactGooglePlusOutlined as GooglePlusOutlined, ReactGooglePlusSquareFilled as GooglePlusSquareFilled, ReactGoogleSquareFilled as GoogleSquareFilled, ReactGroupOutlined as GroupOutlined, ReactHarmonyOSOutlined as HarmonyOSOutlined, ReactHddFilled as HddFilled, ReactHddOutlined as HddOutlined, ReactHddTwoTone as HddTwoTone, ReactHeartFilled as HeartFilled, ReactHeartOutlined as HeartOutlined, ReactHeartTwoTone as HeartTwoTone, ReactHeatMapOutlined as HeatMapOutlined, ReactHighlightFilled as HighlightFilled, ReactHighlightOutlined as HighlightOutlined, ReactHighlightTwoTone as HighlightTwoTone, ReactHistoryOutlined as HistoryOutlined, ReactHolderOutlined as HolderOutlined, ReactHomeFilled as HomeFilled, ReactHomeOutlined as HomeOutlined, ReactHomeTwoTone as HomeTwoTone, ReactHourglassFilled as HourglassFilled, ReactHourglassOutlined as HourglassOutlined, ReactHourglassTwoTone as HourglassTwoTone, ReactHtml5Filled as Html5Filled, ReactHtml5Outlined as Html5Outlined, ReactHtml5TwoTone as Html5TwoTone, ReactHuggingFaceFilled as HuggingFaceFilled, ReactIdcardFilled as IdcardFilled, ReactIdcardOutlined as IdcardOutlined, ReactIdcardTwoTone as IdcardTwoTone, ReactIeCircleFilled as IeCircleFilled, ReactIeOutlined as IeOutlined, ReactIeSquareFilled as IeSquareFilled, ReactImportOutlined as ImportOutlined, ReactInboxOutlined as InboxOutlined, ReactInfoCircleFilled as InfoCircleFilled, ReactInfoCircleOutlined as InfoCircleOutlined, ReactInfoCircleTwoTone as InfoCircleTwoTone, ReactInfoOutlined as InfoOutlined, ReactInsertRowAboveOutlined as InsertRowAboveOutlined, ReactInsertRowBelowOutlined as InsertRowBelowOutlined, ReactInsertRowLeftOutlined as InsertRowLeftOutlined, ReactInsertRowRightOutlined as InsertRowRightOutlined, ReactInstagramFilled as InstagramFilled, ReactInstagramOutlined as InstagramOutlined, ReactInsuranceFilled as InsuranceFilled, ReactInsuranceOutlined as InsuranceOutlined, ReactInsuranceTwoTone as InsuranceTwoTone, ReactInteractionFilled as InteractionFilled, ReactInteractionOutlined as InteractionOutlined, ReactInteractionTwoTone as InteractionTwoTone, ReactIssuesCloseOutlined as IssuesCloseOutlined, ReactItalicOutlined as ItalicOutlined, ReactJavaOutlined as JavaOutlined, ReactJavaScriptOutlined as JavaScriptOutlined, ReactKeyOutlined as KeyOutlined, ReactKubernetesOutlined as KubernetesOutlined, ReactLaptopOutlined as LaptopOutlined, ReactLayoutFilled as LayoutFilled, ReactLayoutOutlined as LayoutOutlined, ReactLayoutTwoTone as LayoutTwoTone, ReactLeftCircleFilled as LeftCircleFilled, ReactLeftCircleOutlined as LeftCircleOutlined, ReactLeftCircleTwoTone as LeftCircleTwoTone, ReactLeftOutlined as LeftOutlined, ReactLeftSquareFilled as LeftSquareFilled, ReactLeftSquareOutlined as LeftSquareOutlined, ReactLeftSquareTwoTone as LeftSquareTwoTone, ReactLikeFilled as LikeFilled, ReactLikeOutlined as LikeOutlined, ReactLikeTwoTone as LikeTwoTone, ReactLineChartOutlined as LineChartOutlined, ReactLineHeightOutlined as LineHeightOutlined, ReactLineOutlined as LineOutlined, ReactLinkOutlined as LinkOutlined, ReactLinkedinFilled as LinkedinFilled, ReactLinkedinOutlined as LinkedinOutlined, ReactLinuxOutlined as LinuxOutlined, ReactLoading3QuartersOutlined as Loading3QuartersOutlined, ReactLoadingOutlined as LoadingOutlined, ReactLockFilled as LockFilled, ReactLockOutlined as LockOutlined, ReactLockTwoTone as LockTwoTone, ReactLoginOutlined as LoginOutlined, ReactLogoutOutlined as LogoutOutlined, ReactMacCommandFilled as MacCommandFilled, ReactMacCommandOutlined as MacCommandOutlined, ReactMailFilled as MailFilled, ReactMailOutlined as MailOutlined, ReactMailTwoTone as MailTwoTone, ReactManOutlined as ManOutlined, ReactMastodonFilled as MastodonFilled, ReactMedicineBoxFilled as MedicineBoxFilled, ReactMedicineBoxOutlined as MedicineBoxOutlined, ReactMedicineBoxTwoTone as MedicineBoxTwoTone, ReactMediumCircleFilled as MediumCircleFilled, ReactMediumOutlined as MediumOutlined, ReactMediumSquareFilled as MediumSquareFilled, ReactMediumWorkmarkOutlined as MediumWorkmarkOutlined, ReactMehFilled as MehFilled, ReactMehOutlined as MehOutlined, ReactMehTwoTone as MehTwoTone, ReactMenuFoldOutlined as MenuFoldOutlined, ReactMenuOutlined as MenuOutlined, ReactMenuUnfoldOutlined as MenuUnfoldOutlined, ReactMergeCellsOutlined as MergeCellsOutlined, ReactMergeFilled as MergeFilled, ReactMergeOutlined as MergeOutlined, ReactMessageFilled as MessageFilled, ReactMessageOutlined as MessageOutlined, ReactMessageTwoTone as MessageTwoTone, ReactMetaFilled as MetaFilled, ReactMinusCircleFilled as MinusCircleFilled, ReactMinusCircleOutlined as MinusCircleOutlined, ReactMinusCircleTwoTone as MinusCircleTwoTone, ReactMinusOutlined as MinusOutlined, ReactMinusSquareFilled as MinusSquareFilled, ReactMinusSquareOutlined as MinusSquareOutlined, ReactMinusSquareTwoTone as MinusSquareTwoTone, ReactMistralFilled as MistralFilled, ReactMobileFilled as MobileFilled, ReactMobileOutlined as MobileOutlined, ReactMobileTwoTone as MobileTwoTone, ReactMoneyCollectFilled as MoneyCollectFilled, ReactMoneyCollectOutlined as MoneyCollectOutlined, ReactMoneyCollectTwoTone as MoneyCollectTwoTone, ReactMonitorOutlined as MonitorOutlined, ReactMoonFilled as MoonFilled, ReactMoonOutlined as MoonOutlined, ReactMoreOutlined as MoreOutlined, ReactMutedFilled as MutedFilled, ReactMutedOutlined as MutedOutlined, ReactNetflixFilled as NetflixFilled, ReactNodeCollapseOutlined as NodeCollapseOutlined, ReactNodeExpandOutlined as NodeExpandOutlined, ReactNodeIndexOutlined as NodeIndexOutlined, ReactNotificationFilled as NotificationFilled, ReactNotificationOutlined as NotificationOutlined, ReactNotificationTwoTone as NotificationTwoTone, ReactNumberOutlined as NumberOutlined, ReactOllamaFilled as OllamaFilled, ReactOneToOneOutlined as OneToOneOutlined, ReactOpenAIFilled as OpenAIFilled, ReactOpenAIOutlined as OpenAIOutlined, ReactOrderedListOutlined as OrderedListOutlined, ReactPaperClipOutlined as PaperClipOutlined, ReactPartitionOutlined as PartitionOutlined, ReactPauseCircleFilled as PauseCircleFilled, ReactPauseCircleOutlined as PauseCircleOutlined, ReactPauseCircleTwoTone as PauseCircleTwoTone, ReactPauseOutlined as PauseOutlined, ReactPayCircleFilled as PayCircleFilled, ReactPayCircleOutlined as PayCircleOutlined, ReactPercentageOutlined as PercentageOutlined, ReactPerplexityFilled as PerplexityFilled, ReactPhoneFilled as PhoneFilled, ReactPhoneOutlined as PhoneOutlined, ReactPhoneTwoTone as PhoneTwoTone, ReactPicCenterOutlined as PicCenterOutlined, ReactPicLeftOutlined as PicLeftOutlined, ReactPicRightOutlined as PicRightOutlined, ReactPictureFilled as PictureFilled, ReactPictureOutlined as PictureOutlined, ReactPictureTwoTone as PictureTwoTone, ReactPieChartFilled as PieChartFilled, ReactPieChartOutlined as PieChartOutlined, ReactPieChartTwoTone as PieChartTwoTone, ReactPinterestFilled as PinterestFilled, ReactPinterestOutlined as PinterestOutlined, ReactPlayCircleFilled as PlayCircleFilled, ReactPlayCircleOutlined as PlayCircleOutlined, ReactPlayCircleTwoTone as PlayCircleTwoTone, ReactPlaySquareFilled as PlaySquareFilled, ReactPlaySquareOutlined as PlaySquareOutlined, ReactPlaySquareTwoTone as PlaySquareTwoTone, ReactPlusCircleFilled as PlusCircleFilled, ReactPlusCircleOutlined as PlusCircleOutlined, ReactPlusCircleTwoTone as PlusCircleTwoTone, ReactPlusOutlined as PlusOutlined, ReactPlusSquareFilled as PlusSquareFilled, ReactPlusSquareOutlined as PlusSquareOutlined, ReactPlusSquareTwoTone as PlusSquareTwoTone, ReactPoundCircleFilled as PoundCircleFilled, ReactPoundCircleOutlined as PoundCircleOutlined, ReactPoundCircleTwoTone as PoundCircleTwoTone, ReactPoundOutlined as PoundOutlined, ReactPoweroffOutlined as PoweroffOutlined, ReactPrinterFilled as PrinterFilled, ReactPrinterOutlined as PrinterOutlined, ReactPrinterTwoTone as PrinterTwoTone, ReactProductFilled as ProductFilled, ReactProductOutlined as ProductOutlined, ReactProfileFilled as ProfileFilled, ReactProfileOutlined as ProfileOutlined, ReactProfileTwoTone as ProfileTwoTone, ReactProjectFilled as ProjectFilled, ReactProjectOutlined as ProjectOutlined, ReactProjectTwoTone as ProjectTwoTone, ReactPropertySafetyFilled as PropertySafetyFilled, ReactPropertySafetyOutlined as PropertySafetyOutlined, ReactPropertySafetyTwoTone as PropertySafetyTwoTone, ReactPullRequestOutlined as PullRequestOutlined, ReactPushpinFilled as PushpinFilled, ReactPushpinOutlined as PushpinOutlined, ReactPushpinTwoTone as PushpinTwoTone, ReactPythonOutlined as PythonOutlined, ReactQqCircleFilled as QqCircleFilled, ReactQqOutlined as QqOutlined, ReactQqSquareFilled as QqSquareFilled, ReactQrcodeOutlined as QrcodeOutlined, ReactQuestionCircleFilled as QuestionCircleFilled, ReactQuestionCircleOutlined as QuestionCircleOutlined, ReactQuestionCircleTwoTone as QuestionCircleTwoTone, ReactQuestionOutlined as QuestionOutlined, ReactQwenFilled as QwenFilled, REACT_COMPONENT_PREFIX, ReactRadarChartOutlined as RadarChartOutlined, ReactRadiusBottomleftOutlined as RadiusBottomleftOutlined, ReactRadiusBottomrightOutlined as RadiusBottomrightOutlined, ReactRadiusSettingOutlined as RadiusSettingOutlined, ReactRadiusUpleftOutlined as RadiusUpleftOutlined, ReactRadiusUprightOutlined as RadiusUprightOutlined, ReactAccountBookFilled, ReactAccountBookOutlined, ReactAccountBookTwoTone, ReactAimOutlined, ReactAlertFilled, ReactAlertOutlined, ReactAlertTwoTone, ReactAlibabaOutlined, ReactAlignCenterOutlined, ReactAlignLeftOutlined, ReactAlignRightOutlined, ReactAlipayCircleFilled, ReactAlipayCircleOutlined, ReactAlipayOutlined, ReactAlipaySquareFilled, ReactAliwangwangFilled, ReactAliwangwangOutlined, ReactAliyunOutlined, ReactAmazonCircleFilled, ReactAmazonOutlined, ReactAmazonSquareFilled, ReactAndroidFilled, ReactAndroidOutlined, ReactAntCloudOutlined, ReactAntDesignOutlined, ReactAnthropicFilled, ReactApartmentOutlined, ReactApiFilled, ReactApiOutlined, ReactApiTwoTone, ReactAppleFilled, ReactAppleOutlined, ReactAppstoreAddOutlined, ReactAppstoreFilled, ReactAppstoreOutlined, ReactAppstoreTwoTone, ReactAreaChartOutlined, ReactArrowDownOutlined, ReactArrowLeftOutlined, ReactArrowRightOutlined, ReactArrowUpOutlined, ReactArrowsAltOutlined, ReactAudioFilled, ReactAudioMutedOutlined, ReactAudioOutlined, ReactAudioTwoTone, ReactAuditOutlined, ReactAutoComplete, ReactBackwardFilled, ReactBackwardOutlined, ReactBaiduOutlined, ReactBankFilled, ReactBankOutlined, ReactBankTwoTone, ReactBarChartOutlined, ReactBarcodeOutlined, ReactBarsOutlined, ReactBehanceCircleFilled, ReactBehanceOutlined, ReactBehanceSquareFilled, ReactBehanceSquareOutlined, ReactBellFilled, ReactBellOutlined, ReactBellTwoTone, ReactBgColorsOutlined, ReactBilibiliFilled, ReactBilibiliOutlined, ReactBlockOutlined, ReactBoldOutlined, ReactBookFilled, ReactBookOutlined, ReactBookTwoTone, ReactBorderBottomOutlined, ReactBorderHorizontalOutlined, ReactBorderInnerOutlined, ReactBorderLeftOutlined, ReactBorderOuterOutlined, ReactBorderOutlined, ReactBorderRightOutlined, ReactBorderTopOutlined, ReactBorderVerticleOutlined, ReactBorderlessTableOutlined, ReactBoxPlotFilled, ReactBoxPlotOutlined, ReactBoxPlotTwoTone, ReactBranchesOutlined, ReactBugFilled, ReactBugOutlined, ReactBugTwoTone, ReactBuildFilled, ReactBuildOutlined, ReactBuildTwoTone, ReactBulbFilled, ReactBulbOutlined, ReactBulbTwoTone, ReactButton, ReactCalculatorFilled, ReactCalculatorOutlined, ReactCalculatorTwoTone, ReactCalendarFilled, ReactCalendarOutlined, ReactCalendarTwoTone, ReactCameraFilled, ReactCameraOutlined, ReactCameraTwoTone, ReactCarFilled, ReactCarOutlined, ReactCarTwoTone, ReactCaretDownFilled, ReactCaretDownOutlined, ReactCaretLeftFilled, ReactCaretLeftOutlined, ReactCaretRightFilled, ReactCaretRightOutlined, ReactCaretUpFilled, ReactCaretUpOutlined, ReactCarryOutFilled, ReactCarryOutOutlined, ReactCarryOutTwoTone, ReactCascader, ReactCheckCircleFilled, ReactCheckCircleOutlined, ReactCheckCircleTwoTone, ReactCheckOutlined, ReactCheckSquareFilled, ReactCheckSquareOutlined, ReactCheckSquareTwoTone, ReactCheckbox, ReactChromeFilled, ReactChromeOutlined, ReactCiCircleFilled, ReactCiCircleOutlined, ReactCiCircleTwoTone, ReactCiOutlined, ReactCiTwoTone, ReactClaudeFilled, ReactClearOutlined, ReactClockCircleFilled, ReactClockCircleOutlined, ReactClockCircleTwoTone, ReactCloseCircleFilled, ReactCloseCircleOutlined, ReactCloseCircleTwoTone, ReactCloseOutlined, ReactCloseSquareFilled, ReactCloseSquareOutlined, ReactCloseSquareTwoTone, ReactCloudDownloadOutlined, ReactCloudFilled, ReactCloudOutlined, ReactCloudServerOutlined, ReactCloudSyncOutlined, ReactCloudTwoTone, ReactCloudUploadOutlined, ReactClusterOutlined, ReactCodeFilled, ReactCodeOutlined, ReactCodeSandboxCircleFilled, ReactCodeSandboxOutlined, ReactCodeSandboxSquareFilled, ReactCodeTwoTone, ReactCodepenCircleFilled, ReactCodepenCircleOutlined, ReactCodepenOutlined, ReactCodepenSquareFilled, ReactCoffeeOutlined, ReactCol, ReactCollapseMotion, ReactCollapsePanel, ReactColorPicker, ReactColumnHeightOutlined, ReactColumnWidthOutlined, ReactCommentOutlined, ReactCompassFilled, ReactCompassOutlined, ReactCompassTwoTone, ReactCompressOutlined, ReactConfigProvider, ReactConsoleSqlOutlined, ReactContactsFilled, ReactContactsOutlined, ReactContactsTwoTone, ReactContainerFilled, ReactContainerOutlined, ReactContainerTwoTone, ReactContentScaleProvider, ReactControlFilled, ReactControlOutlined, ReactControlTwoTone, ReactCopyFilled, ReactCopyOutlined, ReactCopyTwoTone, ReactCopyrightCircleFilled, ReactCopyrightCircleOutlined, ReactCopyrightCircleTwoTone, ReactCopyrightOutlined, ReactCopyrightTwoTone, ReactCreditCardFilled, ReactCreditCardOutlined, ReactCreditCardTwoTone, ReactCrownFilled, ReactCrownOutlined, ReactCrownTwoTone, ReactCustomerServiceFilled, ReactCustomerServiceOutlined, ReactCustomerServiceTwoTone, ReactDashOutlined, ReactDashboardFilled, ReactDashboardOutlined, ReactDashboardTwoTone, ReactDatabaseFilled, ReactDatabaseOutlined, ReactDatabaseTwoTone, ReactDatePicker, ReactDateRangePicker, ReactDateTimePicker, ReactDateTimeRangePicker, ReactDeepSeekFilled, ReactDeleteColumnOutlined, ReactDeleteFilled, ReactDeleteOutlined, ReactDeleteRowOutlined, ReactDeleteTwoTone, ReactDeliveredProcedureOutlined, ReactDeploymentUnitOutlined, ReactDesktopOutlined, ReactDiffFilled, ReactDiffOutlined, ReactDiffTwoTone, ReactDingdingOutlined, ReactDingtalkCircleFilled, ReactDingtalkOutlined, ReactDingtalkSquareFilled, ReactDisconnectOutlined, ReactDiscordFilled, ReactDiscordOutlined, ReactDislikeFilled, ReactDislikeOutlined, ReactDislikeTwoTone, ReactDockerOutlined, ReactDollarCircleFilled, ReactDollarCircleOutlined, ReactDollarCircleTwoTone, ReactDollarOutlined, ReactDollarTwoTone, ReactDotChartOutlined, ReactDotNetOutlined, ReactDoubleLeftOutlined, ReactDoubleRightOutlined, ReactDownCircleFilled, ReactDownCircleOutlined, ReactDownCircleTwoTone, ReactDownOutlined, ReactDownSquareFilled, ReactDownSquareOutlined, ReactDownSquareTwoTone, ReactDownloadOutlined, ReactDragOutlined, ReactDrawer, ReactDribbbleCircleFilled, ReactDribbbleOutlined, ReactDribbbleSquareFilled, ReactDribbbleSquareOutlined, ReactDropboxCircleFilled, ReactDropboxOutlined, ReactDropboxSquareFilled, ReactDropdown, ReactEditFilled, ReactEditOutlined, ReactEditTwoTone, ReactElevenLabsFilled, ReactEllipsisOutlined, ReactEnterOutlined, ReactEnvironmentFilled, ReactEnvironmentOutlined, ReactEnvironmentTwoTone, ReactEuroCircleFilled, ReactEuroCircleOutlined, ReactEuroCircleTwoTone, ReactEuroOutlined, ReactEuroTwoTone, ReactExceptionOutlined, ReactExclamationCircleFilled, ReactExclamationCircleOutlined, ReactExclamationCircleTwoTone, ReactExclamationOutlined, ReactExpandAltOutlined, ReactExpandOutlined, ReactExperimentFilled, ReactExperimentOutlined, ReactExperimentTwoTone, ReactExportOutlined, ReactEyeFilled, ReactEyeInvisibleFilled, ReactEyeInvisibleOutlined, ReactEyeInvisibleTwoTone, ReactEyeOutlined, ReactEyeTwoTone, ReactFacebookFilled, ReactFacebookOutlined, ReactFallOutlined, ReactFastBackwardFilled, ReactFastBackwardOutlined, ReactFastForwardFilled, ReactFastForwardOutlined, ReactFieldBinaryOutlined, ReactFieldNumberOutlined, ReactFieldStringOutlined, ReactFieldTimeOutlined, ReactFileAddFilled, ReactFileAddOutlined, ReactFileAddTwoTone, ReactFileDoneOutlined, ReactFileExcelFilled, ReactFileExcelOutlined, ReactFileExcelTwoTone, ReactFileExclamationFilled, ReactFileExclamationOutlined, ReactFileExclamationTwoTone, ReactFileFilled, ReactFileGifOutlined, ReactFileImageFilled, ReactFileImageOutlined, ReactFileImageTwoTone, ReactFileJpgOutlined, ReactFileMarkdownFilled, ReactFileMarkdownOutlined, ReactFileMarkdownTwoTone, ReactFileOutlined, ReactFilePdfFilled, ReactFilePdfOutlined, ReactFilePdfTwoTone, ReactFilePptFilled, ReactFilePptOutlined, ReactFilePptTwoTone, ReactFileProtectOutlined, ReactFileSearchOutlined, ReactFileSyncOutlined, ReactFileTextFilled, ReactFileTextOutlined, ReactFileTextTwoTone, ReactFileTwoTone, ReactFileUnknownFilled, ReactFileUnknownOutlined, ReactFileUnknownTwoTone, ReactFileWordFilled, ReactFileWordOutlined, ReactFileWordTwoTone, ReactFileZipFilled, ReactFileZipOutlined, ReactFileZipTwoTone, ReactFilterFilled, ReactFilterOutlined, ReactFilterPanel, ReactFilterTwoTone, ReactFireFilled, ReactFireOutlined, ReactFireTwoTone, ReactFlagFilled, ReactFlagOutlined, ReactFlagTwoTone, ReactFlex, ReactFolderAddFilled, ReactFolderAddOutlined, ReactFolderAddTwoTone, ReactFolderFilled, ReactFolderOpenFilled, ReactFolderOpenOutlined, ReactFolderOpenTwoTone, ReactFolderOutlined, ReactFolderTwoTone, ReactFolderViewOutlined, ReactFontColorsOutlined, ReactFontSizeOutlined, ReactForkOutlined, ReactForm, ReactFormItem, ReactFormOutlined, ReactFormatPainterFilled, ReactFormatPainterOutlined, ReactForwardFilled, ReactForwardOutlined, ReactFrownFilled, ReactFrownOutlined, ReactFrownTwoTone, ReactFullscreenExitOutlined, ReactFullscreenOutlined, ReactFunctionOutlined, ReactFundFilled, ReactFundOutlined, ReactFundProjectionScreenOutlined, ReactFundTwoTone, ReactFundViewOutlined, ReactFunnelPlotFilled, ReactFunnelPlotOutlined, ReactFunnelPlotTwoTone, ReactGatewayOutlined, ReactGeminiFilled, ReactGifOutlined, ReactGiftFilled, ReactGiftOutlined, ReactGiftTwoTone, ReactGithubFilled, ReactGithubOutlined, ReactGitlabFilled, ReactGitlabOutlined, ReactGlobalOutlined, ReactGoldFilled, ReactGoldOutlined, ReactGoldTwoTone, ReactGoldenFilled, ReactGoogleCircleFilled, ReactGoogleOutlined, ReactGooglePlusCircleFilled, ReactGooglePlusOutlined, ReactGooglePlusSquareFilled, ReactGoogleSquareFilled, ReactGroupOutlined, ReactHarmonyOSOutlined, ReactHddFilled, ReactHddOutlined, ReactHddTwoTone, ReactHeartFilled, ReactHeartOutlined, ReactHeartTwoTone, ReactHeatMapOutlined, ReactHighlightFilled, ReactHighlightOutlined, ReactHighlightTwoTone, ReactHistoryOutlined, ReactHolderOutlined, ReactHomeFilled, ReactHomeOutlined, ReactHomeTwoTone, ReactHourglassFilled, ReactHourglassOutlined, ReactHourglassTwoTone, ReactHtml5Filled, ReactHtml5Outlined, ReactHtml5TwoTone, ReactHuggingFaceFilled, ReactIcon, ReactIdcardFilled, ReactIdcardOutlined, ReactIdcardTwoTone, ReactIeCircleFilled, ReactIeOutlined, ReactIeSquareFilled, ReactImagePreview, ReactImportOutlined, ReactInboxOutlined, ReactInfoCircleFilled, ReactInfoCircleOutlined, ReactInfoCircleTwoTone, ReactInfoOutlined, ReactInput, ReactInputNumber, ReactInputRange, ReactInsertRowAboveOutlined, ReactInsertRowBelowOutlined, ReactInsertRowLeftOutlined, ReactInsertRowRightOutlined, ReactInstagramFilled, ReactInstagramOutlined, ReactInsuranceFilled, ReactInsuranceOutlined, ReactInsuranceTwoTone, ReactInteractionFilled, ReactInteractionOutlined, ReactInteractionTwoTone, ReactIssuesCloseOutlined, ReactItalicOutlined, ReactJavaOutlined, ReactJavaScriptOutlined, ReactKeyOutlined, ReactKubernetesOutlined, ReactLaptopOutlined, ReactLayoutFilled, ReactLayoutOutlined, ReactLayoutTwoTone, ReactLeftCircleFilled, ReactLeftCircleOutlined, ReactLeftCircleTwoTone, ReactLeftOutlined, ReactLeftSquareFilled, ReactLeftSquareOutlined, ReactLeftSquareTwoTone, ReactLikeFilled, ReactLikeOutlined, ReactLikeTwoTone, ReactLineChartOutlined, ReactLineHeightOutlined, ReactLineOutlined, ReactLinkOutlined, ReactLinkedinFilled, ReactLinkedinOutlined, ReactLinuxOutlined, ReactLoading3QuartersOutlined, ReactLoadingOutlined, ReactLockFilled, ReactLockOutlined, ReactLockTwoTone, ReactLoginOutlined, ReactLogoutOutlined, ReactMacCommandFilled, ReactMacCommandOutlined, ReactMailFilled, ReactMailOutlined, ReactMailTwoTone, ReactManOutlined, ReactMastodonFilled, ReactMedicineBoxFilled, ReactMedicineBoxOutlined, ReactMedicineBoxTwoTone, ReactMediumCircleFilled, ReactMediumOutlined, ReactMediumSquareFilled, ReactMediumWorkmarkOutlined, ReactMehFilled, ReactMehOutlined, ReactMehTwoTone, ReactMenuFoldOutlined, ReactMenuOutlined, ReactMenuUnfoldOutlined, ReactMergeCellsOutlined, ReactMergeFilled, ReactMergeOutlined, ReactMessageFilled, ReactMessageOutlined, ReactMessageTwoTone, ReactMetaFilled, ReactMinusCircleFilled, ReactMinusCircleOutlined, ReactMinusCircleTwoTone, ReactMinusOutlined, ReactMinusSquareFilled, ReactMinusSquareOutlined, ReactMinusSquareTwoTone, ReactMistralFilled, ReactMobileFilled, ReactMobileOutlined, ReactMobileTwoTone, ReactModal, ReactMoneyCollectFilled, ReactMoneyCollectOutlined, ReactMoneyCollectTwoTone, ReactMonitorOutlined, ReactMonthPicker, ReactMoonFilled, ReactMoonOutlined, ReactMoreOutlined, ReactMutedFilled, ReactMutedOutlined, ReactNetflixFilled, ReactNodeCollapseOutlined, ReactNodeExpandOutlined, ReactNodeIndexOutlined, ReactNotificationFilled, ReactNotificationOutlined, ReactNotificationTwoTone, ReactNumberInput, ReactNumberOutlined, ReactOllamaFilled, ReactOneToOneOutlined, ReactOpenAIFilled, ReactOpenAIOutlined, ReactOrderedListOutlined, ReactPagination, ReactPaperClipOutlined, ReactPartitionOutlined, ReactPauseCircleFilled, ReactPauseCircleOutlined, ReactPauseCircleTwoTone, ReactPauseOutlined, ReactPayCircleFilled, ReactPayCircleOutlined, ReactPercentageOutlined, ReactPerplexityFilled, ReactPhoneFilled, ReactPhoneOutlined, ReactPhoneTwoTone, ReactPicCenterOutlined, ReactPicLeftOutlined, ReactPicRightOutlined, ReactPictureFilled, ReactPictureOutlined, ReactPictureTwoTone, ReactPieChartFilled, ReactPieChartOutlined, ReactPieChartTwoTone, ReactPinterestFilled, ReactPinterestOutlined, ReactPlayCircleFilled, ReactPlayCircleOutlined, ReactPlayCircleTwoTone, ReactPlaySquareFilled, ReactPlaySquareOutlined, ReactPlaySquareTwoTone, ReactPlusCircleFilled, ReactPlusCircleOutlined, ReactPlusCircleTwoTone, ReactPlusOutlined, ReactPlusSquareFilled, ReactPlusSquareOutlined, ReactPlusSquareTwoTone, ReactPopconfirm, ReactPopup, ReactPoundCircleFilled, ReactPoundCircleOutlined, ReactPoundCircleTwoTone, ReactPoundOutlined, ReactPoweroffOutlined, ReactPrinterFilled, ReactPrinterOutlined, ReactPrinterTwoTone, ReactProductFilled, ReactProductOutlined, ReactProfileFilled, ReactProfileOutlined, ReactProfileTwoTone, ReactProjectFilled, ReactProjectOutlined, ReactProjectTwoTone, ReactPropertySafetyFilled, ReactPropertySafetyOutlined, ReactPropertySafetyTwoTone, ReactPullRequestOutlined, ReactPushpinFilled, ReactPushpinOutlined, ReactPushpinTwoTone, ReactPythonOutlined, ReactQqCircleFilled, ReactQqOutlined, ReactQqSquareFilled, ReactQrcodeOutlined, ReactQuarterPicker, ReactQuestionCircleFilled, ReactQuestionCircleOutlined, ReactQuestionCircleTwoTone, ReactQuestionOutlined, ReactQwenFilled, ReactRadarChartOutlined, ReactRadio, ReactRadiusBottomleftOutlined, ReactRadiusBottomrightOutlined, ReactRadiusSettingOutlined, ReactRadiusUpleftOutlined, ReactRadiusUprightOutlined, ReactReadFilled, ReactReadOutlined, ReactReconciliationFilled, ReactReconciliationOutlined, ReactReconciliationTwoTone, ReactRedEnvelopeFilled, ReactRedEnvelopeOutlined, ReactRedEnvelopeTwoTone, ReactRedditCircleFilled, ReactRedditOutlined, ReactRedditSquareFilled, ReactRedoOutlined, ReactReloadOutlined, ReactReplicateFilled, ReactResizablePanels, ReactRestFilled, ReactRestOutlined, ReactRestTwoTone, ReactRetweetOutlined, ReactRightCircleFilled, ReactRightCircleOutlined, ReactRightCircleTwoTone, ReactRightOutlined, ReactRightSquareFilled, ReactRightSquareOutlined, ReactRightSquareTwoTone, ReactRiseOutlined, ReactRobotFilled, ReactRobotOutlined, ReactRocketFilled, ReactRocketOutlined, ReactRocketTwoTone, ReactRollbackOutlined, ReactRotateLeftOutlined, ReactRotateRightOutlined, ReactRow, ReactRubyOutlined, ReactSafetyCertificateFilled, ReactSafetyCertificateOutlined, ReactSafetyCertificateTwoTone, ReactSafetyOutlined, ReactSaveFilled, ReactSaveOutlined, ReactSaveTwoTone, ReactScanOutlined, ReactScheduleFilled, ReactScheduleOutlined, ReactScheduleTwoTone, ReactScissorOutlined, ReactScrollbarPositionDialog, ReactScrollbarSettingsDialog, ReactSearchOutlined, ReactSecurityScanFilled, ReactSecurityScanOutlined, ReactSecurityScanTwoTone, ReactSelect, ReactSelectOutlined, ReactSendOutlined, ReactSettingFilled, ReactSettingOutlined, ReactSettingTwoTone, ReactShakeOutlined, ReactShareAltOutlined, ReactShopFilled, ReactShopOutlined, ReactShopTwoTone, ReactShoppingCartOutlined, ReactShoppingFilled, ReactShoppingOutlined, ReactShoppingTwoTone, ReactShrinkOutlined, ReactSignalFilled, ReactSignatureFilled, ReactSignatureOutlined, ReactSisternodeOutlined, ReactSketchCircleFilled, ReactSketchOutlined, ReactSketchSquareFilled, ReactSkinFilled, ReactSkinOutlined, ReactSkinTwoTone, ReactSkypeFilled, ReactSkypeOutlined, ReactSlackCircleFilled, ReactSlackOutlined, ReactSlackSquareFilled, ReactSlackSquareOutlined, ReactSlidersFilled, ReactSlidersOutlined, ReactSlidersTwoTone, ReactSmallDashOutlined, ReactSmileFilled, ReactSmileOutlined, ReactSmileTwoTone, ReactSnapchatFilled, ReactSnippetsFilled, ReactSnippetsOutlined, ReactSnippetsTwoTone, ReactSolutionOutlined, ReactSortAscendingOutlined, ReactSortDescendingOutlined, ReactSortableList, ReactSoundFilled, ReactSoundOutlined, ReactSoundTwoTone, ReactSplitCellsOutlined, ReactSpotifyFilled, ReactSpotifyOutlined, ReactStarFilled, ReactStarOutlined, ReactStarTwoTone, ReactStepBackwardFilled, ReactStepBackwardOutlined, ReactStepForwardFilled, ReactStepForwardOutlined, ReactStockOutlined, ReactStopFilled, ReactStopOutlined, ReactStopTwoTone, ReactStrikethroughOutlined, ReactSubnodeOutlined, ReactSunFilled, ReactSunOutlined, ReactSwapLeftOutlined, ReactSwapOutlined, ReactSwapRightOutlined, ReactSwitcherFilled, ReactSwitcherOutlined, ReactSwitcherTwoTone, ReactSyncOutlined, ReactTableOutlined, ReactTabletFilled, ReactTabletOutlined, ReactTabletTwoTone, ReactTagFilled, ReactTagOutlined, ReactTagTwoTone, ReactTagsFilled, ReactTagsOutlined, ReactTagsTwoTone, ReactTaobaoCircleFilled, ReactTaobaoCircleOutlined, ReactTaobaoOutlined, ReactTaobaoSquareFilled, ReactTeamOutlined, ReactTelegramFilled, ReactTextArea, ReactThreadsFilled, ReactThunderboltFilled, ReactThunderboltOutlined, ReactThunderboltTwoTone, ReactTikTokFilled, ReactTikTokOutlined, ReactTimePicker, ReactTimeRangePicker, ReactToTopOutlined, ReactToolFilled, ReactToolOutlined, ReactToolTwoTone, ReactTooltip, ReactTrademarkCircleFilled, ReactTrademarkCircleOutlined, ReactTrademarkCircleTwoTone, ReactTrademarkOutlined, ReactTransactionOutlined, ReactTransition, ReactTranslationOutlined, ReactTreeSelect, ReactTrophyFilled, ReactTrophyOutlined, ReactTrophyTwoTone, ReactTruckFilled, ReactTruckOutlined, ReactTwitchFilled, ReactTwitchOutlined, ReactTwitterCircleFilled, ReactTwitterOutlined, ReactTwitterSquareFilled, ReactUnderlineOutlined, ReactUndoOutlined, ReactUngroupOutlined, ReactUnlockFilled, ReactUnlockOutlined, ReactUnlockTwoTone, ReactUnorderedListOutlined, ReactUpCircleFilled, ReactUpCircleOutlined, ReactUpCircleTwoTone, ReactUpOutlined, ReactUpSquareFilled, ReactUpSquareOutlined, ReactUpSquareTwoTone, ReactUploadOutlined, ReactUsbFilled, ReactUsbOutlined, ReactUsbTwoTone, ReactUserAddOutlined, ReactUserDeleteOutlined, ReactUserOutlined, ReactUserSwitchOutlined, ReactUsergroupAddOutlined, ReactUsergroupDeleteOutlined, ReactVerifiedOutlined, ReactVerticalAlignBottomOutlined, ReactVerticalAlignMiddleOutlined, ReactVerticalAlignTopOutlined, ReactVerticalLeftOutlined, ReactVerticalRightOutlined, ReactVideoCameraAddOutlined, ReactVideoCameraFilled, ReactVideoCameraOutlined, ReactVideoCameraTwoTone, ReactVirtualList, ReactWalletFilled, ReactWalletOutlined, ReactWalletTwoTone, ReactWarningFilled, ReactWarningOutlined, ReactWarningTwoTone, ReactWaterfall, ReactWechatFilled, ReactWechatOutlined, ReactWechatWorkFilled, ReactWechatWorkOutlined, ReactWeiboCircleFilled, ReactWeiboCircleOutlined, ReactWeiboOutlined, ReactWeiboSquareFilled, ReactWeiboSquareOutlined, ReactWhatsAppOutlined, ReactWifiOutlined, ReactWindowsFilled, ReactWindowsOutlined, ReactWomanOutlined, ReactXFilled, ReactXOutlined, ReactYahooFilled, ReactYahooOutlined, ReactYearPicker, ReactYoutubeFilled, ReactYoutubeOutlined, ReactYuqueFilled, ReactYuqueOutlined, ReactZhihuCircleFilled, ReactZhihuOutlined, ReactZhihuSquareFilled, ReactZoomInOutlined, ReactZoomOutOutlined, ReactReadFilled as ReadFilled, ReactReadOutlined as ReadOutlined, ReactReconciliationFilled as ReconciliationFilled, ReactReconciliationOutlined as ReconciliationOutlined, ReactReconciliationTwoTone as ReconciliationTwoTone, ReactRedEnvelopeFilled as RedEnvelopeFilled, ReactRedEnvelopeOutlined as RedEnvelopeOutlined, ReactRedEnvelopeTwoTone as RedEnvelopeTwoTone, ReactRedditCircleFilled as RedditCircleFilled, ReactRedditOutlined as RedditOutlined, ReactRedditSquareFilled as RedditSquareFilled, ReactRedoOutlined as RedoOutlined, ReactReloadOutlined as ReloadOutlined, ReactReplicateFilled as ReplicateFilled, ReactRestFilled as RestFilled, ReactRestOutlined as RestOutlined, ReactRestTwoTone as RestTwoTone, ReactRetweetOutlined as RetweetOutlined, ReactRightCircleFilled as RightCircleFilled, ReactRightCircleOutlined as RightCircleOutlined, ReactRightCircleTwoTone as RightCircleTwoTone, ReactRightOutlined as RightOutlined, ReactRightSquareFilled as RightSquareFilled, ReactRightSquareOutlined as RightSquareOutlined, ReactRightSquareTwoTone as RightSquareTwoTone, ReactRiseOutlined as RiseOutlined, ReactRobotFilled as RobotFilled, ReactRobotOutlined as RobotOutlined, ReactRocketFilled as RocketFilled, ReactRocketOutlined as RocketOutlined, ReactRocketTwoTone as RocketTwoTone, ReactRollbackOutlined as RollbackOutlined, ReactRotateLeftOutlined as RotateLeftOutlined, ReactRotateRightOutlined as RotateRightOutlined, ReactRubyOutlined as RubyOutlined, ReactSafetyCertificateFilled as SafetyCertificateFilled, ReactSafetyCertificateOutlined as SafetyCertificateOutlined, ReactSafetyCertificateTwoTone as SafetyCertificateTwoTone, ReactSafetyOutlined as SafetyOutlined, ReactSaveFilled as SaveFilled, ReactSaveOutlined as SaveOutlined, ReactSaveTwoTone as SaveTwoTone, ReactScanOutlined as ScanOutlined, ReactScheduleFilled as ScheduleFilled, ReactScheduleOutlined as ScheduleOutlined, ReactScheduleTwoTone as ScheduleTwoTone, ReactScissorOutlined as ScissorOutlined, ReactSearchOutlined as SearchOutlined, ReactSecurityScanFilled as SecurityScanFilled, ReactSecurityScanOutlined as SecurityScanOutlined, ReactSecurityScanTwoTone as SecurityScanTwoTone, ReactSelectOutlined as SelectOutlined, ReactSendOutlined as SendOutlined, ReactSettingFilled as SettingFilled, ReactSettingOutlined as SettingOutlined, ReactSettingTwoTone as SettingTwoTone, ReactShakeOutlined as ShakeOutlined, ReactShareAltOutlined as ShareAltOutlined, ReactShopFilled as ShopFilled, ReactShopOutlined as ShopOutlined, ReactShopTwoTone as ShopTwoTone, ReactShoppingCartOutlined as ShoppingCartOutlined, ReactShoppingFilled as ShoppingFilled, ReactShoppingOutlined as ShoppingOutlined, ReactShoppingTwoTone as ShoppingTwoTone, ReactShrinkOutlined as ShrinkOutlined, ReactSignalFilled as SignalFilled, ReactSignatureFilled as SignatureFilled, ReactSignatureOutlined as SignatureOutlined, ReactSisternodeOutlined as SisternodeOutlined, ReactSketchCircleFilled as SketchCircleFilled, ReactSketchOutlined as SketchOutlined, ReactSketchSquareFilled as SketchSquareFilled, ReactSkinFilled as SkinFilled, ReactSkinOutlined as SkinOutlined, ReactSkinTwoTone as SkinTwoTone, ReactSkypeFilled as SkypeFilled, ReactSkypeOutlined as SkypeOutlined, ReactSlackCircleFilled as SlackCircleFilled, ReactSlackOutlined as SlackOutlined, ReactSlackSquareFilled as SlackSquareFilled, ReactSlackSquareOutlined as SlackSquareOutlined, ReactSlidersFilled as SlidersFilled, ReactSlidersOutlined as SlidersOutlined, ReactSlidersTwoTone as SlidersTwoTone, ReactSmallDashOutlined as SmallDashOutlined, ReactSmileFilled as SmileFilled, ReactSmileOutlined as SmileOutlined, ReactSmileTwoTone as SmileTwoTone, ReactSnapchatFilled as SnapchatFilled, ReactSnippetsFilled as SnippetsFilled, ReactSnippetsOutlined as SnippetsOutlined, ReactSnippetsTwoTone as SnippetsTwoTone, ReactSolutionOutlined as SolutionOutlined, ReactSortAscendingOutlined as SortAscendingOutlined, ReactSortDescendingOutlined as SortDescendingOutlined, ReactSoundFilled as SoundFilled, ReactSoundOutlined as SoundOutlined, ReactSoundTwoTone as SoundTwoTone, ReactSplitCellsOutlined as SplitCellsOutlined, ReactSpotifyFilled as SpotifyFilled, ReactSpotifyOutlined as SpotifyOutlined, ReactStarFilled as StarFilled, ReactStarOutlined as StarOutlined, ReactStarTwoTone as StarTwoTone, ReactStepBackwardFilled as StepBackwardFilled, ReactStepBackwardOutlined as StepBackwardOutlined, ReactStepForwardFilled as StepForwardFilled, ReactStepForwardOutlined as StepForwardOutlined, ReactStockOutlined as StockOutlined, ReactStopFilled as StopFilled, ReactStopOutlined as StopOutlined, ReactStopTwoTone as StopTwoTone, ReactStrikethroughOutlined as StrikethroughOutlined, ReactSubnodeOutlined as SubnodeOutlined, ReactSunFilled as SunFilled, ReactSunOutlined as SunOutlined, ReactSwapLeftOutlined as SwapLeftOutlined, ReactSwapOutlined as SwapOutlined, ReactSwapRightOutlined as SwapRightOutlined, ReactSwitcherFilled as SwitcherFilled, ReactSwitcherOutlined as SwitcherOutlined, ReactSwitcherTwoTone as SwitcherTwoTone, ReactSyncOutlined as SyncOutlined, ReactTableOutlined as TableOutlined, ReactTabletFilled as TabletFilled, ReactTabletOutlined as TabletOutlined, ReactTabletTwoTone as TabletTwoTone, ReactTagFilled as TagFilled, ReactTagOutlined as TagOutlined, ReactTagTwoTone as TagTwoTone, ReactTagsFilled as TagsFilled, ReactTagsOutlined as TagsOutlined, ReactTagsTwoTone as TagsTwoTone, ReactTaobaoCircleFilled as TaobaoCircleFilled, ReactTaobaoCircleOutlined as TaobaoCircleOutlined, ReactTaobaoOutlined as TaobaoOutlined, ReactTaobaoSquareFilled as TaobaoSquareFilled, ReactTeamOutlined as TeamOutlined, ReactTelegramFilled as TelegramFilled, ReactThreadsFilled as ThreadsFilled, ReactThunderboltFilled as ThunderboltFilled, ReactThunderboltOutlined as ThunderboltOutlined, ReactThunderboltTwoTone as ThunderboltTwoTone, ReactTikTokFilled as TikTokFilled, ReactTikTokOutlined as TikTokOutlined, ReactToTopOutlined as ToTopOutlined, ReactToolFilled as ToolFilled, ReactToolOutlined as ToolOutlined, ReactToolTwoTone as ToolTwoTone, ReactTrademarkCircleFilled as TrademarkCircleFilled, ReactTrademarkCircleOutlined as TrademarkCircleOutlined, ReactTrademarkCircleTwoTone as TrademarkCircleTwoTone, ReactTrademarkOutlined as TrademarkOutlined, ReactTransactionOutlined as TransactionOutlined, ReactTranslationOutlined as TranslationOutlined, ReactTrophyFilled as TrophyFilled, ReactTrophyOutlined as TrophyOutlined, ReactTrophyTwoTone as TrophyTwoTone, ReactTruckFilled as TruckFilled, ReactTruckOutlined as TruckOutlined, ReactTwitchFilled as TwitchFilled, ReactTwitchOutlined as TwitchOutlined, ReactTwitterCircleFilled as TwitterCircleFilled, ReactTwitterOutlined as TwitterOutlined, ReactTwitterSquareFilled as TwitterSquareFilled, ReactUnderlineOutlined as UnderlineOutlined, ReactUndoOutlined as UndoOutlined, ReactUngroupOutlined as UngroupOutlined, ReactUnlockFilled as UnlockFilled, ReactUnlockOutlined as UnlockOutlined, ReactUnlockTwoTone as UnlockTwoTone, ReactUnorderedListOutlined as UnorderedListOutlined, ReactUpCircleFilled as UpCircleFilled, ReactUpCircleOutlined as UpCircleOutlined, ReactUpCircleTwoTone as UpCircleTwoTone, ReactUpOutlined as UpOutlined, ReactUpSquareFilled as UpSquareFilled, ReactUpSquareOutlined as UpSquareOutlined, ReactUpSquareTwoTone as UpSquareTwoTone, ReactUploadOutlined as UploadOutlined, ReactUsbFilled as UsbFilled, ReactUsbOutlined as UsbOutlined, ReactUsbTwoTone as UsbTwoTone, ReactUserAddOutlined as UserAddOutlined, ReactUserDeleteOutlined as UserDeleteOutlined, ReactUserOutlined as UserOutlined, ReactUserSwitchOutlined as UserSwitchOutlined, ReactUsergroupAddOutlined as UsergroupAddOutlined, ReactUsergroupDeleteOutlined as UsergroupDeleteOutlined, ReactVerifiedOutlined as VerifiedOutlined, ReactVerticalAlignBottomOutlined as VerticalAlignBottomOutlined, ReactVerticalAlignMiddleOutlined as VerticalAlignMiddleOutlined, ReactVerticalAlignTopOutlined as VerticalAlignTopOutlined, ReactVerticalLeftOutlined as VerticalLeftOutlined, ReactVerticalRightOutlined as VerticalRightOutlined, ReactVideoCameraAddOutlined as VideoCameraAddOutlined, ReactVideoCameraFilled as VideoCameraFilled, ReactVideoCameraOutlined as VideoCameraOutlined, ReactVideoCameraTwoTone as VideoCameraTwoTone, ReactWalletFilled as WalletFilled, ReactWalletOutlined as WalletOutlined, ReactWalletTwoTone as WalletTwoTone, ReactWarningFilled as WarningFilled, ReactWarningOutlined as WarningOutlined, ReactWarningTwoTone as WarningTwoTone, ReactWechatFilled as WechatFilled, ReactWechatOutlined as WechatOutlined, ReactWechatWorkFilled as WechatWorkFilled, ReactWechatWorkOutlined as WechatWorkOutlined, ReactWeiboCircleFilled as WeiboCircleFilled, ReactWeiboCircleOutlined as WeiboCircleOutlined, ReactWeiboOutlined as WeiboOutlined, ReactWeiboSquareFilled as WeiboSquareFilled, ReactWeiboSquareOutlined as WeiboSquareOutlined, ReactWhatsAppOutlined as WhatsAppOutlined, ReactWifiOutlined as WifiOutlined, ReactWindowsFilled as WindowsFilled, ReactWindowsOutlined as WindowsOutlined, ReactWomanOutlined as WomanOutlined, ReactXFilled as XFilled, ReactXOutlined as XOutlined, ReactYahooFilled as YahooFilled, ReactYahooOutlined as YahooOutlined, ReactYoutubeFilled as YoutubeFilled, ReactYoutubeOutlined as YoutubeOutlined, ReactYuqueFilled as YuqueFilled, ReactYuqueOutlined as YuqueOutlined, ReactZhihuCircleFilled as ZhihuCircleFilled, ReactZhihuOutlined as ZhihuOutlined, ReactZhihuSquareFilled as ZhihuSquareFilled, ReactZoomInOutlined as ZoomInOutlined, ReactZoomOutOutlined as ZoomOutOutlined, getSharedScrollbarSettings, reactIconNames, reactMessage, resolveClosestSortableItem, resolveNextSortableOrder, resolveReactScrollbarMode, resolveResizablePanelSizes, setSharedScrollbarSettings, subscribeSharedScrollbarSettings, useReactConfig, useReactConfigStyle, useReactContentScale, useReactForm, useReactFormWatch, useReactMessage, useReactTransition };