@sia.soul/sia-react-ui 0.1.22 → 0.1.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/Select-O_yY51vc.d.ts +307 -0
  2. package/dist/Select-W_xpkpOW.d.cts +307 -0
  3. package/dist/chart.cjs +1401 -1160
  4. package/dist/chart.css +21 -0
  5. package/dist/chart.js +4 -4
  6. package/dist/{chunk-3TRRBMXY.js → chunk-6R7JY7IY.js} +44 -21
  7. package/dist/{chunk-TZGUBGA4.js → chunk-6WBABNAX.js} +4 -3
  8. package/dist/{chunk-OKP4DIQH.js → chunk-GUXAWU63.js} +29 -26
  9. package/dist/{chunk-QJ4OQNQ4.js → chunk-LA7O3PN4.js} +4 -3
  10. package/dist/{chunk-7RNS52YG.js → chunk-LIYCU2GU.js} +349 -278
  11. package/dist/{chunk-KLI65JVD.js → chunk-LRPQ5FGE.js} +68 -186
  12. package/dist/chunk-NSSPGXNM.js +284 -0
  13. package/dist/{chunk-YT6E3X2K.js → chunk-OH6YILJW.js} +4 -3
  14. package/dist/{chunk-RWGSZW32.js → chunk-RGXVPS37.js} +7 -6
  15. package/dist/{chunk-VN6PIPP7.js → chunk-T2QIW4OO.js} +8 -7
  16. package/dist/{core-DeZknKwc.d.ts → core-BOzLwiXG.d.ts} +40 -158
  17. package/dist/{core-C5OnrCi4.d.cts → core-tbb9ZiBY.d.cts} +40 -158
  18. package/dist/core.cjs +1656 -1443
  19. package/dist/core.css +60 -0
  20. package/dist/core.d.cts +2 -2
  21. package/dist/core.d.ts +2 -2
  22. package/dist/core.js +8 -6
  23. package/dist/index.cjs +3801 -3580
  24. package/dist/index.css +60 -0
  25. package/dist/index.d.cts +33 -16
  26. package/dist/index.d.ts +33 -16
  27. package/dist/index.js +94 -85
  28. package/dist/markdown-editor.cjs +269 -28
  29. package/dist/markdown-editor.css +20 -0
  30. package/dist/markdown-editor.js +2 -2
  31. package/dist/rich-text-editor.cjs +1156 -1031
  32. package/dist/rich-text-editor.css +20 -0
  33. package/dist/rich-text-editor.js +4 -4
  34. package/dist/{select-date-range-CGRb3-W8.d.ts → select-date-range-BjqFUeU6.d.ts} +1 -1
  35. package/dist/{select-date-range-DDmYGDD4.d.cts → select-date-range-C9w8z3G8.d.cts} +1 -1
  36. package/dist/select-date-range.cjs +1209 -1061
  37. package/dist/select-date-range.css +20 -0
  38. package/dist/select-date-range.d.cts +2 -2
  39. package/dist/select-date-range.d.ts +2 -2
  40. package/dist/select-date-range.js +5 -5
  41. package/package.json +2 -2
  42. package/dist/Select-4hGJt3RJ.d.cts +0 -142
  43. package/dist/Select-BNSE67xn.d.ts +0 -142
  44. package/dist/chunk-3VJ4CZDQ.js +0 -43
package/dist/core.cjs CHANGED
@@ -33,1010 +33,23 @@ __export(core_exports, {
33
33
  Select: () => Select,
34
34
  Tabs: () => Tabs,
35
35
  Tag: () => Tag,
36
+ Toolbar: () => Toolbar,
36
37
  Typography: () => Typography,
37
38
  Upload: () => Upload,
38
39
  message: () => message
39
40
  });
40
41
  module.exports = __toCommonJS(core_exports);
41
42
 
42
- // src/components/shared.ts
43
- var import_react = require("react");
44
- var ControlSizeContext = (0, import_react.createContext)("medium");
45
- function useControlSize(size) {
46
- const inherited = (0, import_react.useContext)(ControlSizeContext);
47
- return size ?? inherited;
48
- }
49
- var PlaceholderModeContext = (0, import_react.createContext)("default");
50
- function usePlaceholderMode(mode) {
51
- const inherited = (0, import_react.useContext)(PlaceholderModeContext);
52
- return mode ?? inherited;
53
- }
54
- function useControllableState({ value, defaultValue, onChange }) {
55
- const [internalValue, setInternalValue] = (0, import_react.useState)(defaultValue);
56
- const controlled = value !== void 0;
57
- const currentValue = controlled ? value : internalValue;
58
- const setValue = (0, import_react.useCallback)((nextValue) => {
59
- if (Object.is(currentValue, nextValue)) return;
60
- if (!controlled) setInternalValue(nextValue);
61
- onChange?.(nextValue);
62
- }, [controlled, currentValue, onChange]);
63
- return [currentValue, setValue];
64
- }
65
-
66
- // src/components/Button.tsx
67
- var import_react2 = require("react");
68
- var import_jsx_runtime = require("react/jsx-runtime");
69
- var Button = (0, import_react2.forwardRef)(function Button2({
70
- variant = "default",
71
- size: sizeProp,
72
- loading = false,
73
- block = false,
74
- danger = false,
75
- icon,
76
- iconPosition = "start",
77
- className = "",
78
- children,
79
- disabled,
80
- onClick,
81
- style,
82
- ...props
83
- }, forwardedRef) {
84
- const size = useControlSize(sizeProp);
85
- const localRef = (0, import_react2.useRef)(null);
86
- function setRef(node) {
87
- localRef.current = node;
88
- if (typeof forwardedRef === "function") forwardedRef(node);
89
- else if (forwardedRef) forwardedRef.current = node;
90
- }
91
- function handleClick(event) {
92
- const button = localRef.current;
93
- if (button && variant === "primary") {
94
- const rect = button.getBoundingClientRect();
95
- button.style.setProperty("--sia-wave-x", `${event.clientX - rect.left}px`);
96
- button.style.setProperty("--sia-wave-y", `${event.clientY - rect.top}px`);
97
- button.dataset.wave = "active";
98
- window.setTimeout(() => delete button.dataset.wave, 360);
99
- }
100
- onClick?.(event);
101
- }
102
- const mergedStyle = block ? { ...style, width: "100%" } : style ?? {};
103
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
104
- "button",
105
- {
106
- ref: setRef,
107
- type: "button",
108
- className: `sia-button sia-button--${variant} sia-button--${size}${danger ? " sia-button--danger" : ""} ${className}`.trim(),
109
- "aria-busy": loading || void 0,
110
- disabled: disabled || loading,
111
- onClick: handleClick,
112
- style: mergedStyle,
113
- ...props,
114
- children: [
115
- loading ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "sia-button__spinner", "aria-hidden": "true" }) : icon && iconPosition === "start" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "sia-button__icon", children: icon }) : null,
116
- children !== void 0 && children !== null ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children }) : null,
117
- !loading && icon && iconPosition === "end" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "sia-button__icon", children: icon }) : null
118
- ]
119
- }
120
- );
121
- });
122
-
123
- // src/components/Card.tsx
124
- var import_react4 = require("react");
125
-
126
- // src/components/Icon.tsx
127
- var import_react3 = require("react");
128
-
129
- // src/components/IconCatalog.tsx
130
- var import_jsx_runtime2 = require("react/jsx-runtime");
131
- var extendedIconPaths = {
132
- "notepad-file": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("g", { transform: "scale(0.0234375)", fill: "currentColor", stroke: "none", children: [
133
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M752 80H272c-70.4 0-128 57.6-128 128v608c0 70.4 57.6 128 128 128h353.6c33.6 0 65.6-12.8 91.2-36.8l126.4-126.4c24-24 36.8-56 36.8-91.2V208c0-70.4-57.6-128-128-128zM208 816V208c0-35.2 28.8-64 64-64h480c35.2 0 64 28.8 64 64v464h-96c-70.4 0-128 57.6-128 128v80H272c-35.2 0-64-28.8-64-64z m462.4 44.8c-4.8 4.8-9.6 8-14.4 11.2v-72c0-35.2 28.8-64 64-64h75.2L670.4 860.8z" }),
134
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M368 352h288c17.6 0 32-14.4 32-32s-14.4-32-32-32H368c-17.6 0-32 14.4-32 32s14.4 32 32 32z m128 256H368c-17.6 0-32 14.4-32 32s14.4 32 32 32h128c17.6 0 32-14.4 32-32s-14.4-32-32-32z m-128-96h288c17.6 0 32-14.4 32-32s-14.4-32-32-32H368c-17.6 0-32 14.4-32 32s14.4 32 32 32z" })
135
- ] }),
136
- "notepad-folder": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("g", { transform: "scale(0.0234375)", fill: "currentColor", stroke: "none", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M510.4 243.2c8 27.2 33.6 44.8 60.8 44.8h259.2c0-35.2-28.8-64-64-64H504l6.4 19.2zM484.8 160h281.6c70.4 0 128 57.6 128 128v25.6c30.4 24 51.2 60.8 51.2 102.4v384c0 70.4-57.6 128-128 128H208c-70.4 0-128-57.6-128-128V224c0-70.4 57.6-128 128-128h164.8c46.4 0 89.6 25.6 112 64z m-112 0H208c-35.2 0-64 28.8-64 64v576c0 35.2 28.8 64 64 64h608c35.2 0 64-28.8 64-64V416c0-35.2-28.8-64-64-64H574.4c-56 0-105.6-36.8-121.6-89.6l-19.2-57.6c-8-27.2-32-44.8-60.8-44.8zM272 704h256c17.6 0 32 14.4 32 32s-14.4 32-32 32H272c-17.6 0-32-14.4-32-32s14.4-32 32-32z" }) }),
137
- "notepad-virtual-folder": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("g", { transform: "scale(0.0234375)", fill: "currentColor", stroke: "none", children: [
138
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M704 864H192c-89.6 0-160-70.4-160-160V192c0-89.6 70.4-160 160-160h512c89.6 0 160 70.4 160 160v512c0 89.6-70.4 160-160 160zM192 96c-51.2 0-96 44.8-96 96v512c0 51.2 44.8 96 96 96h512c51.2 0 96-44.8 96-96V192c0-51.2-44.8-96-96-96H192z" }),
139
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M832 992H320c-19.2 0-32-12.8-32-32s12.8-32 32-32h512c51.2 0 96-44.8 96-96V320c0-19.2 12.8-32 32-32s32 12.8 32 32v512c0 89.6-70.4 160-160 160z" })
140
- ] }),
141
- "step-backward": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
142
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M6 5v14" }),
143
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m18 6-8 6 8 6V6Z" })
144
- ] }),
145
- "step-forward": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
146
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M18 5v14" }),
147
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m6 6 8 6-8 6V6Z" })
148
- ] }),
149
- "fast-backward": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m11 6-7 6 7 6V6ZM20 6l-7 6 7 6V6Z" }) }),
150
- "fast-forward": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m13 6 7 6-7 6V6ZM4 6l7 6-7 6V6Z" }) }),
151
- "corner-up-left": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
152
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m9 5-5 5 5 5" }),
153
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 10h9a7 7 0 0 1 7 7v2" })
154
- ] }),
155
- "corner-up-right": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
156
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m15 5 5 5-5 5" }),
157
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M20 10h-9a7 7 0 0 0-7 7v2" })
158
- ] }),
159
- "swap-horizontal": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
160
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 8h15m0 0-4-4m4 4-4 4" }),
161
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M20 16H5m0 0 4-4m-4 4 4 4" })
162
- ] }),
163
- "swap-vertical": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
164
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 4v15m0 0-4-4m4 4 4-4" }),
165
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M16 20V5m0 0-4 4m4-4 4 4" })
166
- ] }),
167
- expand: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9 4H4v5M4 4l6 6M15 20h5v-5m0 5-6-6" }) }),
168
- shrink: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M10 10H5V5m0 5 6-6M14 14h5v5m0-5-6 6" }) }),
169
- fullscreen: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9 4H4v5M15 4h5v5M9 20H4v-5M15 20h5v-5" }),
170
- "fullscreen-exit": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 9h5V4M20 9h-5V4M4 15h5v5M20 15h-5v5" }),
171
- "menu-fold": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
172
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 6h16M4 12h10M4 18h16" }),
173
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m18 9-3 3 3 3" })
174
- ] }),
175
- "menu-unfold": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
176
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 6h16M10 12h10M4 18h16" }),
177
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m6 9 3 3-3 3" })
178
- ] }),
179
- login: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M10 5H5v14h5M13 8l4 4-4 4M8 12h9" }) }),
180
- logout: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14 5h5v14h-5M11 8l-4 4 4 4M16 12H7" }) }),
181
- move: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
182
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 3v18M3 12h18" }),
183
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m9 6 3-3 3 3M9 18l3 3 3-3M6 9l-3 3 3 3M18 9l3 3-3 3" })
184
- ] }),
185
- "vertical-align-top": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 4h16M12 7v13M8 11l4-4 4 4" }) }),
186
- "vertical-align-middle": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 12h16M12 4v16M8 8l4 4 4-4M8 16l4-4 4 4" }) }),
187
- "vertical-align-bottom": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 20h16M12 4v13M8 13l4 4 4-4" }) }),
188
- "square-plus": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
189
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3" }),
190
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 8v8M8 12h8" })
191
- ] }),
192
- "square-minus": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
193
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3" }),
194
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 12h8" })
195
- ] }),
196
- "square-check": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
197
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3" }),
198
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m8 12 3 3 6-7" })
199
- ] }),
200
- "square-close": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
201
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3" }),
202
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m8.5 8.5 7 7m0-7-7 7" })
203
- ] }),
204
- "tab-plus": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
205
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2.5" }),
206
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 9h18M7 6.5h.1M10 6.5h.1M15 12v6M12 15h6" })
207
- ] }),
208
- "folder-plus": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
209
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 6h7l2 2h9v11H3V6Z" }),
210
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M16 11v6M13 14h6" })
211
- ] }),
212
- pin: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 3h8l-1.5 5 3 3v2H13v8l-2-2v-6H6.5v-2l3-3L8 3Z" }) }),
213
- "pin-off": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9.5 8 8 3h8l-1.5 5 3 3v2H13v4M6.5 13v-2l1-1M3 3l18 18" }) }),
214
- stop: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
215
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
216
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M6 18 18 6" })
217
- ] }),
218
- "help-circle": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
219
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
220
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9.7 9a2.5 2.5 0 1 1 3.6 2.3c-.9.5-1.3 1.1-1.3 2.1M12 17v.1" })
221
- ] }),
222
- save: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
223
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 3h13l3 3v15H4V3Z" }),
224
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 3v6h8V3M8 21v-7h8v7" })
225
- ] }),
226
- clipboard: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
227
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "5", y: "4", width: "14", height: "17", rx: "2.5" }),
228
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9 4.5V3h6v1.5M9 9h6M9 13h6M9 17h4" })
229
- ] }),
230
- "clipboard-check": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
231
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "5", y: "4", width: "14", height: "17", rx: "2.5" }),
232
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9 4.5V3h6v1.5m-6 9 2 2 4-5" })
233
- ] }),
234
- "file-plus": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
235
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M6 3h8l4 4v14H6V3Z" }),
236
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14 3v5h4M12 11v6M9 14h6" })
237
- ] }),
238
- "file-check": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
239
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M6 3h8l4 4v14H6V3Z" }),
240
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14 3v5h4m-8 6 2 2 4-5" })
241
- ] }),
242
- "file-warning": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
243
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M6 3h8l4 4v14H6V3Z" }),
244
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14 3v5h4M12 11v4m0 3v.1" })
245
- ] }),
246
- "file-spreadsheet": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
247
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M6 3h8l4 4v14H6V3Z" }),
248
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14 3v5h4M8.5 11h7v7h-7v-7Zm0 3.5h7M12 11v7" })
249
- ] }),
250
- "align-left": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 6h16M4 10h11M4 14h16M4 18h11" }),
251
- "align-center": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 6h16M7 10h10M4 14h16M7 18h10" }),
252
- "align-right": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 6h16M9 10h11M4 14h16M9 18h11" }),
253
- "align-justify": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 6h16M4 10h16M4 14h16M4 18h16" }),
254
- bold: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 4h6a4 4 0 0 1 0 8H7V4Zm0 8h7a4 4 0 0 1 0 8H7v-8Z" }),
255
- italic: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M10 4h8M6 20h8M14 4 10 20" }),
256
- underline: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 4v7a5 5 0 0 0 10 0V4M5 21h14" }) }),
257
- strikethrough: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M5 12h14M8 8c.3-2.5 2-4 4.5-4 2.2 0 3.7 1 4.5 2.5M8 16c.8 2.5 2.5 4 5 4 2.2 0 3.8-1 4.5-2.5" }) }),
258
- "list-ordered": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
259
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9 6h12M9 12h12M9 18h12" }),
260
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 5h1v3M4 11h2l-2 3h2M4 17h2l-2 3h2" })
261
- ] }),
262
- "list-unordered": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
263
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9 6h12M9 12h12M9 18h12" }),
264
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "4.5", cy: "6", r: ".5" }),
265
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "4.5", cy: "12", r: ".5" }),
266
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "4.5", cy: "18", r: ".5" })
267
- ] }),
268
- eraser: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
269
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m4 15 8-10 8 7-7 8H7l-3-3v-2Z" }),
270
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m9 9 8 7M13 20h8" })
271
- ] }),
272
- highlighter: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
273
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m7 14 7-10 5 4-8 9-4-3Z" }),
274
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m5 17 6 3H3l2-3ZM15 14l4 3" })
275
- ] }),
276
- table: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
277
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2" }),
278
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 9h18M3 14h18M9 4v16M15 4v16" })
279
- ] }),
280
- columns: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
281
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2" }),
282
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 4v16" })
283
- ] }),
284
- rows: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
285
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2" }),
286
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 9h18M3 15h18" })
287
- ] }),
288
- "bar-chart": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 21V10h4v11M10 21V4h4v17M16 21v-8h4v8M3 21h18" }) }),
289
- "line-chart": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
290
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 20h18M4 17l5-6 4 3 7-9" }),
291
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "9", cy: "11", r: "1" }),
292
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "13", cy: "14", r: "1" })
293
- ] }),
294
- "pie-chart": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
295
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M11 3a9 9 0 1 0 9 9h-9V3Z" }),
296
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14 3.5A8.5 8.5 0 0 1 20.5 10H14V3.5Z" })
297
- ] }),
298
- "area-chart": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 20h18M4 17l5-6 4 3 7-9v12H4Z" }) }),
299
- activity: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 12h4l2-6 4 13 3-7h5" }),
300
- "trending-up": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
301
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m4 17 6-6 4 4 6-7" }),
302
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M15 8h5v5" })
303
- ] }),
304
- "trending-down": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
305
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m4 7 6 6 4-4 6 7" }),
306
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M15 16h5v-5" })
307
- ] }),
308
- database: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
309
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("ellipse", { cx: "12", cy: "5", rx: "8", ry: "3" }),
310
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 5v7c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 12v7c0 1.7 3.6 3 8 3s8-1.3 8-3v-7" })
311
- ] }),
312
- cloud: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 19h11a4 4 0 0 0 .5-8A7 7 0 0 0 5.2 9.5 4.8 4.8 0 0 0 7 19Z" }),
313
- "cloud-download": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
314
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 18H5a4 4 0 0 1 .2-8 7 7 0 0 1 13.3 1A4 4 0 0 1 19 19h-2" }),
315
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 11v10m-4-4 4 4 4-4" })
316
- ] }),
317
- "cloud-upload": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
318
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 18H5a4 4 0 0 1 .2-8 7 7 0 0 1 13.3 1A4 4 0 0 1 19 19h-2" }),
319
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 21V11m-4 4 4-4 4 4" })
320
- ] }),
321
- server: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
322
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "4", width: "18", height: "7", rx: "2" }),
323
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "13", width: "18", height: "7", rx: "2" }),
324
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 7.5h.1M7 16.5h.1M11 7.5h6M11 16.5h6" })
325
- ] }),
326
- desktop: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
327
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "3", width: "18", height: "14", rx: "2" }),
328
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 21h8M12 17v4" })
329
- ] }),
330
- laptop: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
331
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M5 5h14v11H5V5Z" }),
332
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m3 19 2-3h14l2 3H3Z" })
333
- ] }),
334
- mobile: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
335
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "7", y: "2", width: "10", height: "20", rx: "2.5" }),
336
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M10 5h4M12 19v.1" })
337
- ] }),
338
- tablet: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
339
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "5", y: "2", width: "14", height: "20", rx: "2.5" }),
340
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M10 5h4M12 19v.1" })
341
- ] }),
342
- printer: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
343
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 9V3h10v6M6 18H4V9h16v9h-2" }),
344
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 14h10v7H7v-7ZM17 11h.1" })
345
- ] }),
346
- camera: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
347
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 7h4l2-3h6l2 3h4v13H3V7Z" }),
348
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "13", r: "4" })
349
- ] }),
350
- video: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
351
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "5", width: "13", height: "14", rx: "2" }),
352
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m16 10 5-3v10l-5-3v-4Z" })
353
- ] }),
354
- microphone: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
355
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "9", y: "3", width: "6", height: "12", rx: "3" }),
356
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M5 11a7 7 0 0 0 14 0M12 18v3M8 21h8" })
357
- ] }),
358
- "volume-up": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
359
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 10h4l5-4v12l-5-4H4v-4Z" }),
360
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M16 9a4 4 0 0 1 0 6M18.5 6.5a8 8 0 0 1 0 11" })
361
- ] }),
362
- "volume-off": /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 10h4l5-4v12l-5-4H4v-4ZM17 9l5 6m0-6-5 6" }) }),
363
- "speaker-wave": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
364
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 10h3.5l4.7-3.6v11.2L7.5 14H4v-4Z", fill: "currentColor", stroke: "none" }),
365
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M15.2 9.2a4 4 0 0 1 0 5.6" })
366
- ] }),
367
- "speaker-muted": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
368
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 10h3.5l4.7-3.6v11.2L7.5 14H4v-4Z", fill: "currentColor", stroke: "none" }),
369
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m15.5 9.5 5 5m0-5-5 5" })
370
- ] }),
371
- wifi: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 9a14 14 0 0 1 18 0M6 13a9 9 0 0 1 12 0M9.5 17a4 4 0 0 1 5 0M12 21v.1" }) }),
372
- power: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
373
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 3v9" }),
374
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 5.5a8 8 0 1 0 10 0" })
375
- ] }),
376
- key: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
377
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "8", cy: "15", r: "4" }),
378
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m11 12 8-8m-3 3 3 3m-6 0 3 3" })
379
- ] }),
380
- shield: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 3 4 6v6c0 5 3 8 8 10 5-2 8-5 8-10V6l-8-3Z" }),
381
- "shield-check": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
382
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 3 4 6v6c0 5 3 8 8 10 5-2 8-5 8-10V6l-8-3Z" }),
383
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m8 12 2.5 2.5L16 9" })
384
- ] }),
385
- bug: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 9h8v7a4 4 0 0 1-8 0V9ZM9 9a3 3 0 0 1 6 0M5 11h3M16 11h3M5 16h3M16 16h3M7 5l2 2M17 5l-2 2" }) }),
386
- bulb: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
387
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 15a7 7 0 1 1 8 0c-1.2.8-1.5 1.8-1.5 3h-5c0-1.2-.3-2.2-1.5-3Z" }),
388
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9.5 21h5" })
389
- ] }),
390
- rocket: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
391
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 16c-2-1-4-1-5 0 0-3 1-5 4-6M14 6c3-3 6-3 7-3 0 1 0 4-3 7l-6 6-4-4 6-6Z" }),
392
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14 14c0 3-2 6-5 7 0-2 0-4-1-5M5 19l-2 2" })
393
- ] }),
394
- target: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
395
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
396
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "5" }),
397
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "1" })
398
- ] }),
399
- trophy: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
400
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 4h8v5a4 4 0 0 1-8 0V4ZM9 20h6M12 13v7" }),
401
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 6H4v2a4 4 0 0 0 5 4M16 6h4v2a4 4 0 0 1-5 4" })
402
- ] }),
403
- "shopping-cart": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
404
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 4h2l2 11h10l3-8H6" }),
405
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "9", cy: "20", r: "1" }),
406
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "17", cy: "20", r: "1" })
407
- ] }),
408
- "shopping-bag": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
409
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M5 8h14l1 13H4L5 8Z" }),
410
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9 9V6a3 3 0 0 1 6 0v3" })
411
- ] }),
412
- shop: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
413
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 10v11h16V10M3 4h18l-2 6H5L3 4Z" }),
414
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9 21v-6h6v6" })
415
- ] }),
416
- wallet: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
417
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "5", width: "18", height: "15", rx: "2.5" }),
418
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 9h18M15 13h6v4h-6a2 2 0 0 1 0-4Z" })
419
- ] }),
420
- bank: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m3 9 9-6 9 6M5 10h14M6 10v8M10 10v8M14 10v8M18 10v8M3 21h18M4 18h16" }) }),
421
- calculator: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
422
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "5", y: "2", width: "14", height: "20", rx: "2.5" }),
423
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 5h8v4H8V5ZM8 13h.1M12 13h.1M16 13h.1M8 17h.1M12 17h.1M16 17h.1" })
424
- ] }),
425
- tag: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
426
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 12V4h8l10 10-7 7L3 12Z" }),
427
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "7.5", cy: "8.5", r: "1" })
428
- ] }),
429
- tags: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
430
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M6 12V4h7l8 8-6 6-9-6Z" }),
431
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "10", cy: "8", r: "1" }),
432
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m3 8 1 9 7 4 2-2" })
433
- ] }),
434
- message: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 4h16v13H9l-5 4V4Z" }),
435
- comments: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
436
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 4h13v10H8l-5 4V4Z" }),
437
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M10 17h6l5 4V8h-2" })
438
- ] }),
439
- send: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m3 11 18-8-8 18-2-8-8-2Zm8 2 10-10" }),
440
- share: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
441
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "18", cy: "5", r: "3" }),
442
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "6", cy: "12", r: "3" }),
443
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "18", cy: "19", r: "3" }),
444
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m8.5 10.5 7-4M8.5 13.5l7 4" })
445
- ] }),
446
- paperclip: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m8 12 7-7a4 4 0 0 1 6 6l-9 9a6 6 0 0 1-9-9l8-8" }),
447
- location: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
448
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 22s7-6.2 7-13a7 7 0 1 0-14 0c0 6.8 7 13 7 13Z" }),
449
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "9", r: "2.5" })
450
- ] }),
451
- compass: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
452
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
453
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m15.5 8.5-2 5-5 2 2-5 5-2Z" })
454
- ] }),
455
- car: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
456
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 15V9l2-5h12l2 5v6M3 10h18M6 15h12" }),
457
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "7", cy: "18", r: "2" }),
458
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "17", cy: "18", r: "2" })
459
- ] }),
460
- truck: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
461
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 5h11v12H3V5ZM14 9h4l3 4v4h-7V9Z" }),
462
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "7", cy: "19", r: "2" }),
463
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "18", cy: "19", r: "2" })
464
- ] }),
465
- gift: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
466
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "9", width: "18", height: "12", rx: "2" }),
467
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 9v12M3 13h18M12 9H8a3 3 0 1 1 4-3v3Zm0 0h4a3 3 0 1 0-4-3v3Z" })
468
- ] }),
469
- coffee: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
470
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 8h13v6a6 6 0 0 1-6 6H10a6 6 0 0 1-6-6V8ZM17 10h2a3 3 0 0 1 0 6h-3" }),
471
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 4v1M12 3v2" })
472
- ] }),
473
- experiment: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
474
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9 3h6M10 3v6l-6 10a2 2 0 0 0 2 3h12a2 2 0 0 0 2-3L14 9V3" }),
475
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 16h10" })
476
- ] }),
477
- tool: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14 6a5 5 0 0 0-6-3l3 3-3 3-3-3a5 5 0 0 0 6 6l7 7a2 2 0 0 0 3-3l-7-7Z" }) }),
478
- appstore: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
479
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "3", width: "7", height: "7", rx: "2" }),
480
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "14", y: "3", width: "7", height: "7", rx: "2" }),
481
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "14", width: "7", height: "7", rx: "2" }),
482
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "14", y: "14", width: "7", height: "7", rx: "2" })
483
- ] }),
484
- puzzle: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9 3h4.2a2.8 2.8 0 1 0 5.6 0H21v6h-2.2a2.8 2.8 0 1 0 0 5.6H21V21h-6.4v-2.2a2.8 2.8 0 1 0-5.6 0V21H3v-6.4h2.2a2.8 2.8 0 1 0 0-5.6H3V3h6Z" }) }),
485
- partition: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
486
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 5v5M6 14v-2h12v2M6 18v3M12 18v3M18 18v3" }),
487
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "3", r: "2" }),
488
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "6", cy: "16", r: "2" }),
489
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "16", r: "2" }),
490
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "18", cy: "16", r: "2" })
491
- ] }),
492
- branches: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
493
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "6", cy: "5", r: "2" }),
494
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "18", cy: "7", r: "2" }),
495
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "6", cy: "19", r: "2" }),
496
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M6 7v10M8 10c6 0 4-3 8-3M8 14c6 0 4 3 8 3" })
497
- ] }),
498
- scan: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 3H3v5M16 3h5v5M8 21H3v-5M16 21h5v-5M7 12h10" }),
499
- "qr-code": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
500
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "3", width: "7", height: "7", rx: "1" }),
501
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "14", y: "3", width: "7", height: "7", rx: "1" }),
502
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { x: "3", y: "14", width: "7", height: "7", rx: "1" }),
503
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M14 14h3v3h-3v-3ZM18 18h3v3h-3v-3ZM14 20h1M20 14h1" })
504
- ] }),
505
- barcode: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 5v14M7 5v14M11 5v14M14 5v14M16 5v14M20 5v14" }),
506
- "user-plus": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
507
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "10", cy: "8", r: "4" }),
508
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 21c.7-4.3 3-6.5 7-6.5 2 0 3.6.6 4.7 1.7M19 14v7M15.5 17.5h7" })
509
- ] }),
510
- "user-minus": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
511
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "10", cy: "8", r: "4" }),
512
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M3 21c.7-4.3 3-6.5 7-6.5 2 0 3.6.6 4.7 1.7M15.5 17.5h7" })
513
- ] }),
514
- smile: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
515
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
516
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 10h.1M16 10h.1M8 15c1 1.4 2.3 2 4 2s3-.6 4-2" })
517
- ] }),
518
- meh: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
519
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
520
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 10h.1M16 10h.1M8 16h8" })
521
- ] }),
522
- frown: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
523
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
524
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 10h.1M16 10h.1M8 17c1-1.4 2.3-2 4-2s3 .6 4 2" })
525
- ] }),
526
- "game-cultivator": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
527
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7.2 7.5h9.6M9 5.2 12 2l3 3.2" }),
528
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "8.8", r: "3.6" }),
529
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7.5 21c.2-4.9 1.8-7.3 4.5-7.3s4.3 2.4 4.5 7.3M9.4 15.2 7 18m7.6-2.8L17 18M10 21l2-4 2 4" })
530
- ] }),
531
- "game-swordsman": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
532
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9.2 5.2h5.6M12 2.5v2.7" }),
533
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "8.8", r: "3.4" }),
534
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7.2 21c.3-5 1.9-7.4 4.8-7.4s4.5 2.4 4.8 7.4M9.2 14.8 7 18.2m7.8-3.4 2.2 3.4M9.5 21l2.5-4 2.5 4" }),
535
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m17.7 5.1 2.2-1-.9 2.3-5.2 5.2M16.2 7.8l1.8 1.8" })
536
- ] }),
537
- "game-spirit-wolf": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
538
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m5.2 8.2.7-4 3.3 2.2A9 9 0 0 1 12 6c1 0 1.9.1 2.8.4l3.3-2.2.7 4A7.7 7.7 0 0 1 20 13c0 4.3-3.5 7.7-8 7.7S4 17.3 4 13c0-1.8.4-3.4 1.2-4.8Z" }),
539
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8.3 12h.1m7.2 0h.1M9 16c1.8 1.3 4.2 1.3 6 0m-3-1.5v1M7 18l-2.2 2M17 18l2.2 2" })
540
- ] }),
541
- "game-gem": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
542
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m4 8 3-4h10l3 4-8 13L4 8Z" }),
543
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 8h16M8 4l-2 4 6 13 6-13-2-4M6 8h12" })
544
- ] }),
545
- "game-ingot": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
546
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4 9.5c2.2 1 4.1 1.5 5.8 1.6L12 6l2.2 5.1c1.7-.1 3.6-.6 5.8-1.6-.3 5.1-2.9 8.4-8 10-5.1-1.6-7.7-4.9-8-10Z" }),
547
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M4.6 10.1 3 6.5c2.3 1.2 4.2 1.6 5.8 1.2M19.4 10.1 21 6.5c-2.3 1.2-4.2 1.6-5.8 1.2M7 16.3c3.3 1 6.7 1 10 0" })
548
- ] }),
549
- "game-sword": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
550
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m14.5 4.5 5-1-1 5L9 18l-3 1 1-3 9.5-9.5M5 19l-1 1" }),
551
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m12.5 7.5 4 4M7.5 14.5l2 2" })
552
- ] }),
553
- "game-robe": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
554
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m8.5 4 3.5 2 3.5-2 4 4-2.5 3-1.2-1V21H8.2V10L7 11 4.5 8l4-4Z" }),
555
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9 4.5 12 9l3-4.5M12 9v12" })
556
- ] }),
557
- "game-pants": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
558
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 3h10l1 18h-5l-1-10-1 10H6L7 3Z" }),
559
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 7h10M12 3v8" })
560
- ] }),
561
- "game-pendant": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
562
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M5 4c1.7 4.4 4 6.6 7 6.6S17.3 8.4 19 4" }),
563
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 10.6c-2.7 1.8-4 3.8-4 6a4 4 0 0 0 8 0c0-2.2-1.3-4.2-4-6Z" }),
564
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "16.5", r: "1.5" })
565
- ] }),
566
- "game-necklace": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
567
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M5 4c.7 6.3 3 9.5 7 9.5S18.3 10.3 19 4" }),
568
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m12 13.5 3 2.4-1.2 4.1h-3.6L9 15.9l3-2.4Z" }),
569
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 7h.1m10 0h.1M9 10h.1m6 0h.1" })
570
- ] }),
571
- "game-pill": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
572
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M6.2 17.8a5.7 5.7 0 0 1 0-8.1l3.5-3.5a5.7 5.7 0 1 1 8.1 8.1l-3.5 3.5a5.7 5.7 0 0 1-8.1 0Z" }),
573
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m8 8 8 8" }),
574
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M6.3 12.2c1.3.2 2.5.7 3.5 1.7s1.6 2.2 1.8 3.5" })
575
- ] }),
576
- "game-potion": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
577
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M9 3h6M10 3v5l-5 7.5A3.5 3.5 0 0 0 8 21h8a3.5 3.5 0 0 0 3-5.5L14 8V3" }),
578
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 15h10M9.5 12h5" })
579
- ] }),
580
- "game-elixir-jar": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
581
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 3h8l-1 4c2.6 1.2 4 3.5 4 6.8V21H5v-7.2C5 10.5 6.4 8.2 9 7L8 3Z" }),
582
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8.5 7h7M5 14h14M9 17h6" })
583
- ] }),
584
- "game-flame": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
585
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M13.8 2.5c.6 3.6-2.1 4.8-2.1 7.2 0 1.1.7 1.9 1.7 1.9 1.8 0 2.4-2.1 2-4.1 2.6 2 4.1 4.6 4.1 7.4A7.5 7.5 0 0 1 4.5 15c0-3.5 1.8-6.5 5.2-9-.2 2.3.8 3.4 1.8 3.7-.4-2.6.3-5.1 2.3-7.2Z" }),
586
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 21c-2 0-3.3-1.3-3.3-3.2 0-1.5.9-2.8 2.6-4.2 0 1.7.8 2.5 1.7 2.5 1 0 1.7-.9 1.5-2.3 1.2 1.2 1.8 2.5 1.8 4A4 4 0 0 1 12 21Z" })
587
- ] }),
588
- "game-soul-elixir": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
589
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "4.2" }),
590
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 2.5v3M12 18.5v3M2.5 12h3M18.5 12h3M5.3 5.3l2.2 2.2m9 9 2.2 2.2m0-13.4-2.2 2.2m-9 9-2.2 2.2" }),
591
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m10 12 1.4 1.4L14.5 10" })
592
- ] }),
593
- "game-herb": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
594
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 21V9" }),
595
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M12 13c-5.5.1-8-2.6-8-7.5 5-.2 7.8 2.1 8 7.5Zm0 4c5.5.1 8-2.6 8-7.5-5-.2-7.8 2.1-8 7.5Z" })
596
- ] }),
597
- "game-meditate": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
598
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "5.5", r: "2.5" }),
599
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8.5 11c1-1.5 2.2-2.2 3.5-2.2s2.5.7 3.5 2.2l2.8 4M5.7 15l2.8-4M4 19c2.5-2.2 5.2-2.5 8-1 2.8-1.5 5.5-1.2 8 1M7 21h10" }),
600
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "m9.5 14.5 2.5 3.4 2.5-3.4" })
601
- ] }),
602
- "game-backpack": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
603
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8 8V5.5a4 4 0 0 1 8 0V8M6 8h12l2 13H4L6 8Z" }),
604
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M8.5 13h7v5h-7v-5ZM9 5.5h6" })
605
- ] }),
606
- "game-qi": /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
607
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
608
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7 8.5c2.5-2.8 7-2.2 8.7.2 1.7 2.4.9 5.6-1.6 6.8-2.4 1.2-5.5-.1-5.8-2.5-.2-1.8 1.4-3.1 3.2-2.8 1.8.3 2.6 2.2 1.7 3.5" })
609
- ] })
610
- };
611
-
612
- // src/components/Icon.tsx
613
- var import_jsx_runtime3 = require("react/jsx-runtime");
614
- var coreIconPaths = {
615
- search: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
616
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "10.8", cy: "10.8", r: "6.8" }),
617
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m15.8 15.8 5.2 5.2" })
618
- ] }),
619
- plus: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 4v16M4 12h16" }),
620
- minus: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M4 12h16" }),
621
- close: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m5 5 14 14M19 5 5 19" }),
622
- check: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m4 12.5 5.2 5L20 6.5" }),
623
- info: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
624
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
625
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 11v6M12 7.2v.1" })
626
- ] }),
627
- question: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
628
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
629
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M9.8 9a2.4 2.4 0 1 1 3.5 2.2c-.9.5-1.3 1.1-1.3 2.1M12 16.8v.1" })
630
- ] }),
631
- warning: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
632
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M10.3 4.1 2.6 18a2 2 0 0 0 1.8 3h15.2a2 2 0 0 0 1.8-3L13.7 4.1a2 2 0 0 0-3.4 0Z" }),
633
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 9v4M12 17v.1" })
634
- ] }),
635
- "circle-check": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
636
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
637
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m8 12 2.7 2.7L16.5 9" })
638
- ] }),
639
- "circle-close": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
640
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
641
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m9 9 6 6M15 9l-6 6" })
642
- ] }),
643
- "circle-plus": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
644
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
645
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 8v8M8 12h8" })
646
- ] }),
647
- "circle-minus": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
648
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
649
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M8 12h8" })
650
- ] }),
651
- "chevron-left": /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m15.5 5-7 7 7 7" }),
652
- "chevron-right": /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m8.5 5 7 7-7 7" }),
653
- "chevron-up": /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m5 15.5 7-7 7 7" }),
654
- "chevron-down": /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m5 8.5 7 7 7-7" }),
655
- "double-left": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
656
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m12 5-7 7 7 7" }),
657
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m19 5-7 7 7 7" })
658
- ] }),
659
- "double-right": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
660
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m5 5 7 7-7 7" }),
661
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m12 5 7 7-7 7" })
662
- ] }),
663
- "arrow-left": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
664
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m10 5-7 7 7 7" }),
665
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M3 12h18" })
666
- ] }),
667
- "arrow-right": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
668
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m14 5 7 7-7 7" }),
669
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M3 12h18" })
670
- ] }),
671
- "arrow-up": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
672
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m5 10 7-7 7 7" }),
673
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 3v18" })
674
- ] }),
675
- "arrow-down": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
676
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m5 14 7 7 7-7" }),
677
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 3v18" })
678
- ] }),
679
- menu: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M4 6h16M4 12h16M4 18h16" }),
680
- "more-horizontal": /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M5 12h.1M12 12h.1M19 12h.1" }),
681
- "more-vertical": /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 5v.1M12 12v.1M12 19v.1" }),
682
- home: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
683
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m3.5 11 8.5-7 8.5 7" }),
684
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M5.5 9.5V20h13V9.5M9.5 20v-6h5v6" })
685
- ] }),
686
- user: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
687
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "8", r: "4" }),
688
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M4.5 21c.7-4.2 3.2-6.5 7.5-6.5s6.8 2.3 7.5 6.5" })
689
- ] }),
690
- users: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
691
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "9", cy: "8", r: "3.5" }),
692
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M2.8 20c.6-3.8 2.7-5.8 6.2-5.8s5.6 2 6.2 5.8" }),
693
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M15 5.2a3.5 3.5 0 0 1 0 6.6M16.2 14.5c2.9.5 4.4 2.3 4.9 5.5" })
694
- ] }),
695
- settings: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
696
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "3.5" }),
697
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M10 4.8 10 2 14 2 14 4.8 15.68 5.49 17.66 3.51 20.49 6.34 18.51 8.32 19.2 10 22 10 22 14 19.2 14 18.51 15.68 20.49 17.66 17.66 20.49 15.68 18.51 14 19.2 14 22 10 22 10 19.2 8.32 18.51 6.34 20.49 3.51 17.66 5.49 15.68 4.8 14 2 14 2 10 4.8 10 5.49 8.32 3.51 6.34 6.34 3.51 8.32 5.49Z" })
698
- ] }),
699
- edit: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
700
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M4 20h4l11-11a2.8 2.8 0 0 0-4-4L4 16v4Z" }),
701
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m13.5 6.5 4 4M4 20h16" })
702
- ] }),
703
- copy: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
704
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "8", y: "8", width: "12", height: "12", rx: "2.5" }),
705
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2" })
706
- ] }),
707
- trash: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M4 7h16M9 3h6l1 4H8l1-4ZM6 7l1 14h10l1-14M10 11v6M14 11v6" }) }),
708
- scissors: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
709
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "6", cy: "7", r: "3" }),
710
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "6", cy: "17", r: "3" }),
711
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m8.7 8.3 11.3 6.2M8.7 15.7 20 9.5" })
712
- ] }),
713
- undo: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
714
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m8 7-5 5 5 5" }),
715
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M3 12h10a7 7 0 0 1 7 7" })
716
- ] }),
717
- redo: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
718
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m16 7 5 5-5 5" }),
719
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M21 12H11a7 7 0 0 0-7 7" })
720
- ] }),
721
- "zoom-in": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
722
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "10.8", cy: "10.8", r: "6.8" }),
723
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m15.8 15.8 5.2 5.2M10.8 7.8v6M7.8 10.8h6" })
724
- ] }),
725
- "zoom-out": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
726
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "10.8", cy: "10.8", r: "6.8" }),
727
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m15.8 15.8 5.2 5.2M7.8 10.8h6" })
728
- ] }),
729
- download: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 3v12M7 10l5 5 5-5M4 20h16" }) }),
730
- upload: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 16V4M7 9l5-5 5 5M4 20h16" }) }),
731
- refresh: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
732
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M20 4v4.686h-4.686" }),
733
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M20 8.686 17.657 6.343A8 8 0 1 0 20 12" })
734
- ] }),
735
- loader: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M18.4 5.6l-2.1 2.1M7.7 16.3l-2.1 2.1" }),
736
- calendar: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
737
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "3", y: "5", width: "18", height: "16", rx: "2.5" }),
738
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M8 3v4M16 3v4M3 10h18M7 14h2M11 14h2M15 14h2M7 18h2M11 18h2" })
739
- ] }),
740
- clock: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
741
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
742
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 7v5l3.5 2" })
743
- ] }),
744
- mail: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
745
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "3", y: "5", width: "18", height: "14", rx: "2.5" }),
746
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m4 7 8 6 8-6" })
747
- ] }),
748
- phone: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M8.2 3.5 5.4 4.8c-1 .5-1.5 1.7-1.1 2.8 2.2 5.9 6.2 9.9 12.1 12.1 1.1.4 2.3-.1 2.8-1.1l1.3-2.8-4.2-2-1.4 2.1c-2.8-1.2-5.6-4-6.8-6.8l2.1-1.4-2-4.2Z" }),
749
- link: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
750
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m9.5 14.5 5-5" }),
751
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M7.5 16.5 6 18a3.5 3.5 0 0 1-5-5l3-3a3.5 3.5 0 0 1 5 0M16.5 7.5 18 6a3.5 3.5 0 0 1 5 5l-3 3a3.5 3.5 0 0 1-5 0" })
752
- ] }),
753
- "external-link": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
754
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M14 4h6v6M20 4 11 13" }),
755
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M19 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h6" })
756
- ] }),
757
- eye: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
758
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6Z" }),
759
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "3" })
760
- ] }),
761
- "eye-off": /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m3 3 18 18M10.6 6.1A10 10 0 0 1 12 6c6 0 9.5 6 9.5 6a14.5 14.5 0 0 1-2.2 3M6.4 6.4C3.9 8.2 2.5 12 2.5 12s3.5 6 9.5 6a9.7 9.7 0 0 0 3-.5M9.9 9.9a3 3 0 0 0 4.2 4.2" }) }),
762
- lock: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
763
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "4", y: "10", width: "16", height: "11", rx: "2.5" }),
764
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M8 10V7a4 4 0 0 1 8 0v3M12 14v3" })
765
- ] }),
766
- unlock: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
767
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "4", y: "10", width: "16", height: "11", rx: "2.5" }),
768
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M8 10V7a4 4 0 0 1 7.5-2M12 14v3" })
769
- ] }),
770
- bell: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
771
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M18 9a6 6 0 0 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9Z" }),
772
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M10 21h4" })
773
- ] }),
774
- star: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2-5.6-3-5.6 3 1.1-6.2L3 9.6l6.2-.9L12 3Z" }),
775
- heart: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M20.8 5.8a5.5 5.5 0 0 0-7.8 0L12 6.9l-1-1.1a5.5 5.5 0 1 0-7.8 7.8L12 21l8.8-7.4a5.5 5.5 0 0 0 0-7.8Z" }),
776
- file: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
777
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M6 3h8l4 4v14H6V3Z" }),
778
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M14 3v5h4" })
779
- ] }),
780
- folder: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M3 6h7l2 2h9v11H3V6Z" }),
781
- image: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
782
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2.5" }),
783
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "9", cy: "9", r: "2" }),
784
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m4 17 4.5-4.5 3.5 3 2.5-2.5 5.5 5" })
785
- ] }),
786
- filter: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M3 5h18l-7 8v6l-4 2v-8L3 5Z" }),
787
- "sort-ascending": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
788
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M7 19V5M3.5 8.5 7 5l3.5 3.5" }),
789
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M13 7h8M13 12h6M13 17h4" })
790
- ] }),
791
- "sort-descending": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
792
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M7 5v14M3.5 15.5 7 19l3.5-3.5" }),
793
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M13 7h4M13 12h6M13 17h8" })
794
- ] }),
795
- play: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
796
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
797
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m10 8 6 4-6 4V8Z" })
798
- ] }),
799
- pause: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
800
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
801
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M9.5 9v6M14.5 9v6" })
802
- ] }),
803
- book: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
804
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M4 5.5A2.5 2.5 0 0 1 6.5 3H11v17H6.5A2.5 2.5 0 0 0 4 22V5.5Z" }),
805
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M20 5.5A2.5 2.5 0 0 0 17.5 3H13v17h4.5A2.5 2.5 0 0 1 20 22V5.5Z" })
806
- ] }),
807
- component: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
808
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "4", y: "4", width: "6", height: "6", rx: "1.5" }),
809
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "14", y: "4", width: "6", height: "6", rx: "1.5" }),
810
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "4", y: "14", width: "6", height: "6", rx: "1.5" }),
811
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "14", y: "14", width: "6", height: "6", rx: "1.5" })
812
- ] }),
813
- token: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
814
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "4" }),
815
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 2.5v3M12 18.5v3M2.5 12h3M18.5 12h3M5.3 5.3l2.1 2.1M16.6 16.6l2.1 2.1M18.7 5.3l-2.1 2.1M7.4 16.6l-2.1 2.1" })
816
- ] }),
817
- sun: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
818
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "3.6" }),
819
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 2.5v2M12 19.5v2M2.5 12h2M19.5 12h2M5.3 5.3l1.4 1.4M17.3 17.3l1.4 1.4M18.7 5.3l-1.4 1.4M6.7 17.3l-1.4 1.4" })
820
- ] }),
821
- moon: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M20 15.2A8 8 0 0 1 8.8 4 8.5 8.5 0 1 0 20 15.2Z" }),
822
- code: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m9 18-6-6 6-6M15 6l6 6-6 6" }),
823
- github: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M9 19c-4 1.2-4-2-5-2.5M14 22v-3.1c0-.9.3-1.5.8-1.9 2.7-.3 5.5-1.3 5.5-6A4.7 4.7 0 0 0 19 7.7 4.4 4.4 0 0 0 18.9 4S17.8 3.7 15 5.3a11.7 11.7 0 0 0-6 0C6.2 3.7 5.1 4 5.1 4A4.4 4.4 0 0 0 5 7.7 4.7 4.7 0 0 0 3.7 11c0 4.7 2.8 5.7 5.5 6 .5.4.8 1 .8 1.9V22" })
824
- };
825
- var iconPaths = { ...coreIconPaths, ...extendedIconPaths };
826
- var ICON_NAMES = Object.freeze(Object.keys(iconPaths));
827
- var filledIconPaths = {
828
- info: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
829
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
830
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 10.5v6M12 7.2v.1", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
831
- ] }),
832
- question: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
833
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
834
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M9.6 9a2.5 2.5 0 1 1 3.6 2.3c-.8.5-1.2 1.1-1.2 2.1M12 16.8v.1", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
835
- ] }),
836
- warning: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
837
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M10.3 3.5 1.8 19a2 2 0 0 0 1.8 3h16.8a2 2 0 0 0 1.8-3L13.7 3.5a2 2 0 0 0-3.4 0Z", fill: "currentColor", stroke: "none" }),
838
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 9v5M12 18v.1", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
839
- ] }),
840
- "circle-check": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
841
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
842
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m7.5 12 3 3 6-6", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
843
- ] }),
844
- "circle-close": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
845
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
846
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m8.8 8.8 6.4 6.4M15.2 8.8l-6.4 6.4", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
847
- ] }),
848
- "circle-plus": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
849
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
850
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 7.5v9M7.5 12h9", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
851
- ] }),
852
- "circle-minus": /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
853
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
854
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M7.5 12h9", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
855
- ] }),
856
- home: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M2.6 10.8 12 2.8l9.4 8a1 1 0 0 1-1.3 1.5l-.6-.5V21h-5.2v-6.2H9.7V21H4.5v-9.2l-.6.5a1 1 0 1 1-1.3-1.5Z", fill: "currentColor", stroke: "none" }),
857
- user: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
858
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "7.5", r: "4.5", fill: "currentColor", stroke: "none" }),
859
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M3.5 21c.7-5 3.6-7.5 8.5-7.5s7.8 2.5 8.5 7.5H3.5Z", fill: "currentColor", stroke: "none" })
860
- ] }),
861
- users: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
862
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "8.5", cy: "8", r: "3.8", fill: "currentColor", stroke: "none" }),
863
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "17", cy: "8.5", r: "3", fill: "currentColor", stroke: "none", opacity: ".7" }),
864
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M1.8 21c.6-4.6 2.8-7 6.7-7s6.1 2.4 6.7 7H1.8ZM14.4 15.2c3.9-.2 6.4 1.7 7 5.8h-4.5a9.9 9.9 0 0 0-2.5-5.8Z", fill: "currentColor", stroke: "none" })
865
- ] }),
866
- trash: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M8 3h8l1 3h4v2H3V6h4l1-3Zm-2.5 7h13l-1 11h-11l-1-11Z", fill: "currentColor", stroke: "none" }),
867
- bell: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 2.5a2 2 0 0 1 2 1.6c3 .9 5 3.6 5 6.9v4.3l2 3.2H3l2-3.2V11c0-3.3 2-6 5-6.9a2 2 0 0 1 2-1.6ZM9.2 20h5.6a3 3 0 0 1-5.6 0Z", fill: "currentColor", stroke: "none" }),
868
- star: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m12 2.2 3 6 6.6 1-4.8 4.6 1.1 6.6-5.9-3.1-5.9 3.1 1.1-6.6-4.8-4.6 6.6-1 3-6Z", fill: "currentColor", stroke: "none" }),
869
- heart: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 21.3 3.1 13.7A5.8 5.8 0 0 1 11 5.2l1 1 1-1a5.8 5.8 0 0 1 7.9 8.5L12 21.3Z", fill: "currentColor", stroke: "none" }),
870
- mail: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
871
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "2.5", y: "4.5", width: "19", height: "15", rx: "2.5", fill: "currentColor", stroke: "none" }),
872
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m4.5 7 7.5 5.8L19.5 7", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "1.8" })
873
- ] }),
874
- lock: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M7 10V7a5 5 0 0 1 10 0v3h1.5a2.5 2.5 0 0 1 2.5 2.5v7a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 19.5v-7A2.5 2.5 0 0 1 5.5 10H7Zm2.5 0h5V7a2.5 2.5 0 0 0-5 0v3Z", fill: "currentColor", stroke: "none" }),
875
- unlock: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M7 10V7a5 5 0 0 1 9.5-2.2l-2.2 1.1A2.5 2.5 0 0 0 9.5 7v3h9A2.5 2.5 0 0 1 21 12.5v7a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 19.5v-7A2.5 2.5 0 0 1 5.5 10H7Z", fill: "currentColor", stroke: "none" }),
876
- calendar: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
877
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "2.5", y: "4.5", width: "19", height: "17", rx: "2.5", fill: "currentColor", stroke: "none" }),
878
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M3 9.5h18M8 2.5v4M16 2.5v4", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "1.8" })
879
- ] }),
880
- clock: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
881
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
882
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 6.5V12l4 2.3", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
883
- ] }),
884
- file: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M5 2.5h10l4 4V22H5V2.5Zm9 1.8V8h3.7L14 4.3Z", fill: "currentColor", stroke: "none" }),
885
- folder: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M2.5 5h7l2.2 2.5h9.8V20H2.5V5Z", fill: "currentColor", stroke: "none" }),
886
- image: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
887
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "2.5", y: "3.5", width: "19", height: "17", rx: "2.5", fill: "currentColor", stroke: "none" }),
888
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m4.5 18 4.3-4.6 3.4 3 2.5-2.6 4.8 4.2", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "1.7" }),
889
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "8", cy: "8.5", r: "1.7", fill: "var(--sia-icon-contrast, #fff)", stroke: "none" })
890
- ] }),
891
- filter: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M2 4h20l-7.8 9v6.2L9.8 22v-9L2 4Z", fill: "currentColor", stroke: "none" }),
892
- play: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
893
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
894
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m10 7.8 6.5 4.2-6.5 4.2V7.8Z", fill: "var(--sia-icon-contrast, #fff)", stroke: "none" })
895
- ] }),
896
- pause: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
897
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
898
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M8.5 7.5h2.5v9H8.5v-9Zm4.5 0h2.5v9H13v-9Z", fill: "var(--sia-icon-contrast, #fff)", stroke: "none" })
899
- ] }),
900
- book: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M3 4.5A3.5 3.5 0 0 1 6.5 1H11v19H6.5A3.5 3.5 0 0 0 3 23V4.5ZM21 4.5A3.5 3.5 0 0 0 17.5 1H13v19h4.5A3.5 3.5 0 0 1 21 23V4.5Z", fill: "currentColor", stroke: "none" }),
901
- component: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
902
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "3", y: "3", width: "8", height: "8", rx: "2", fill: "currentColor", stroke: "none" }),
903
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "13", y: "3", width: "8", height: "8", rx: "2", fill: "currentColor", stroke: "none" }),
904
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "3", y: "13", width: "8", height: "8", rx: "2", fill: "currentColor", stroke: "none" }),
905
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("rect", { x: "13", y: "13", width: "8", height: "8", rx: "2", fill: "currentColor", stroke: "none" })
906
- ] }),
907
- token: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
908
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("circle", { cx: "12", cy: "12", r: "5", fill: "currentColor", stroke: "none" }),
909
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 1v4M12 19v4M1 12h4M19 12h4M4.2 4.2 7 7M17 17l2.8 2.8M19.8 4.2 17 7M7 17l-2.8 2.8", stroke: "currentColor", strokeWidth: "2.2" })
910
- ] })
911
- };
912
- var FILLED_ICON_NAMES = Object.freeze(Object.keys(filledIconPaths));
913
- var Icon = (0, import_react3.forwardRef)(function Icon2({ name, size = "1em", strokeWidth = 1.8, rotate = 0, spin = false, pulse = false, label, variant = "outline", className = "", style, ...props }, ref) {
914
- const resolvedSize = typeof size === "number" ? `${size}px` : size;
915
- const mergedStyle = { "--sia-icon-size": resolvedSize, "--sia-icon-rotate": `${rotate}deg`, ...style };
916
- const animationClass = spin ? " sia-icon--spin" : pulse ? " sia-icon--pulse" : "";
917
- const filledPath = filledIconPaths[name];
918
- const resolvedVariant = variant === "filled" && filledPath ? "filled" : "outline";
919
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
920
- "span",
921
- {
922
- ref,
923
- className: `sia-icon${animationClass} ${className}`.trim(),
924
- "data-variant": resolvedVariant,
925
- role: label ? "img" : void 0,
926
- "aria-label": label,
927
- "aria-hidden": label ? void 0 : true,
928
- style: mergedStyle,
929
- ...props,
930
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", focusable: "false", children: resolvedVariant === "filled" ? filledPath : iconPaths[name] })
931
- }
932
- );
933
- });
934
-
935
- // src/components/Card.tsx
936
- var import_jsx_runtime4 = require("react/jsx-runtime");
937
- function Card({
938
- title,
939
- description,
940
- extra,
941
- accent,
942
- accentColor,
943
- collapsible = false,
944
- collapsed,
945
- defaultCollapsed = false,
946
- onCollapsedChange,
947
- bodyHeight,
948
- bodyClassName = "",
949
- bodyStyle,
950
- className = "",
951
- style,
952
- children,
953
- ...props
954
- }) {
955
- const [internalCollapsed, setInternalCollapsed] = (0, import_react4.useState)(defaultCollapsed);
956
- const isCollapsed = collapsed ?? internalCollapsed;
957
- const hasHeader = title || extra || collapsible;
958
- const mergedStyle = accentColor ? { "--sia-card-accent": accentColor, ...style } : style;
959
- const mergedBodyStyle = bodyHeight === void 0 ? { ...bodyStyle } : { height: bodyHeight, overflowY: "auto", ...bodyStyle };
960
- function toggleCollapsed() {
961
- const nextCollapsed = !isCollapsed;
962
- if (collapsed === void 0) setInternalCollapsed(nextCollapsed);
963
- onCollapsedChange?.(nextCollapsed);
964
- }
965
- const heading = /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { className: "sia-card__heading", children: [
966
- accent || accentColor ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: `sia-card__accent${accent ? ` sia-card__accent--${accent}` : ""}`, "aria-hidden": "true" }) : null,
967
- title ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("h3", { className: "sia-card__title", children: title }) : null
968
- ] });
969
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("section", { className: `sia-card${isCollapsed ? " sia-card--collapsed" : ""} ${className}`.trim(), style: mergedStyle, ...props, children: [
970
- hasHeader ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("header", { className: "sia-card__header", children: [
971
- collapsible ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("button", { type: "button", className: "sia-card__collapse-trigger", "aria-expanded": !isCollapsed, onClick: toggleCollapsed, children: [
972
- heading,
973
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon, { name: isCollapsed ? "chevron-down" : "chevron-up", size: 16 })
974
- ] }) : heading,
975
- extra ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "sia-card__extra", children: extra }) : null
976
- ] }) : null,
977
- !isCollapsed ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
978
- description ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("p", { className: "sia-card__description", children: description }) : null,
979
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: `sia-card__body ${bodyClassName}`.trim(), style: mergedBodyStyle, children })
980
- ] }) : null
981
- ] });
982
- }
983
-
984
- // src/components/Tag.tsx
985
- var import_jsx_runtime5 = require("react/jsx-runtime");
986
- function Tag({
987
- status = "default",
988
- compact = false,
989
- variant = "soft",
990
- icon,
991
- closable = false,
992
- closeOnHover = false,
993
- disabled = false,
994
- onClose,
995
- className = "",
996
- children,
997
- ...props
998
- }) {
999
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
1000
- "span",
1001
- {
1002
- className: `sia-tag${closable && closeOnHover ? " sia-tag--close-on-hover" : ""} sia-tag--${status} sia-tag--${variant}${compact ? " sia-tag--compact" : ""}${disabled ? " sia-tag--disabled" : ""} ${className}`.trim(),
1003
- "aria-disabled": disabled || void 0,
1004
- ...props,
1005
- children: [
1006
- icon ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "sia-tag__icon", children: icon }) : null,
1007
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { children }),
1008
- closable ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1009
- "button",
1010
- {
1011
- type: "button",
1012
- className: "sia-tag__close",
1013
- "aria-label": "\u79FB\u9664\u6807\u7B7E",
1014
- disabled,
1015
- onClick: (event) => {
1016
- event.stopPropagation();
1017
- onClose?.(event);
1018
- },
1019
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Icon, { name: "close", size: 12 })
1020
- }
1021
- ) : null
1022
- ]
1023
- }
1024
- );
1025
- }
1026
-
1027
- // src/components/Tabs.tsx
43
+ // src/components/Toolbar.tsx
1028
44
  var import_react8 = require("react");
1029
45
 
1030
- // src/components/Dropdown.tsx
1031
- var import_react7 = require("react");
1032
-
1033
- // src/components/Navigation.tsx
1034
- var import_react6 = require("react");
46
+ // src/components/titleTooltip.tsx
47
+ var import_client = require("react-dom/client");
1035
48
 
1036
49
  // src/components/PopupPortal.tsx
1037
- var import_react5 = require("react");
50
+ var import_react = require("react");
1038
51
  var import_react_dom = require("react-dom");
1039
- var import_jsx_runtime6 = require("react/jsx-runtime");
52
+ var import_jsx_runtime = require("react/jsx-runtime");
1040
53
  function setForwardedRef(ref, value) {
1041
54
  if (typeof ref === "function") ref(value);
1042
55
  else if (ref) ref.current = value;
@@ -1044,7 +57,7 @@ function setForwardedRef(ref, value) {
1044
57
  function clamp(value, min, max) {
1045
58
  return Math.min(Math.max(value, min), Math.max(min, max));
1046
59
  }
1047
- var PopupPortal = (0, import_react5.forwardRef)(function PopupPortal2({
60
+ var PopupPortal = (0, import_react.forwardRef)(function PopupPortal2({
1048
61
  anchorRef,
1049
62
  open = true,
1050
63
  placement = "bottom-start",
@@ -1055,9 +68,9 @@ var PopupPortal = (0, import_react5.forwardRef)(function PopupPortal2({
1055
68
  children,
1056
69
  ...props
1057
70
  }, forwardedRef) {
1058
- const popupRef = (0, import_react5.useRef)(null);
1059
- const [position, setPosition] = (0, import_react5.useState)();
1060
- (0, import_react5.useLayoutEffect)(() => {
71
+ const popupRef = (0, import_react.useRef)(null);
72
+ const [position, setPosition] = (0, import_react.useState)();
73
+ (0, import_react.useLayoutEffect)(() => {
1061
74
  if (!open || typeof document === "undefined") {
1062
75
  setPosition(void 0);
1063
76
  return;
@@ -1122,7 +135,7 @@ var PopupPortal = (0, import_react5.forwardRef)(function PopupPortal2({
1122
135
  }, [anchorRef, offset, open, placement, viewportPadding]);
1123
136
  if (!open || typeof document === "undefined") return null;
1124
137
  return (0, import_react_dom.createPortal)(
1125
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
138
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1126
139
  "div",
1127
140
  {
1128
141
  ref: (node) => {
@@ -1140,7 +153,7 @@ var PopupPortal = (0, import_react5.forwardRef)(function PopupPortal2({
1140
153
  left: position?.left ?? 0,
1141
154
  visibility: position ? "visible" : "hidden"
1142
155
  },
1143
- ...props,
156
+ ...withTitleTooltip(props),
1144
157
  children
1145
158
  }
1146
159
  ),
@@ -1148,8 +161,1026 @@ var PopupPortal = (0, import_react5.forwardRef)(function PopupPortal2({
1148
161
  );
1149
162
  });
1150
163
 
164
+ // src/components/titleTooltip.tsx
165
+ var import_jsx_runtime2 = require("react/jsx-runtime");
166
+ var documents = /* @__PURE__ */ new WeakSet();
167
+ function withTitleTooltip(props) {
168
+ if (!props || typeof props !== "object" || !("title" in props)) return props;
169
+ const { title, ...rest } = props;
170
+ if (typeof document !== "undefined") installTitleTooltips(document);
171
+ return { ...rest, "data-sia-title": title == null ? void 0 : String(title) };
172
+ }
173
+ function installTitleTooltips(doc) {
174
+ if (documents.has(doc)) return;
175
+ documents.add(doc);
176
+ let hovered = null;
177
+ let focused = null;
178
+ let active = null;
179
+ let pending = null;
180
+ let timer;
181
+ let root;
182
+ let observer;
183
+ let tooltipId = "";
184
+ const candidate = (target) => {
185
+ if (!(target instanceof Element)) return null;
186
+ const element = target.closest("[data-sia-title]");
187
+ return element?.getAttribute("data-sia-title") && !element.closest(".sia-floating") ? element : null;
188
+ };
189
+ const hasExplicitTooltip = (target) => target instanceof Element && Boolean(target.closest(".sia-floating"));
190
+ const hide = () => {
191
+ clearTimeout(timer);
192
+ pending = null;
193
+ observer?.disconnect();
194
+ observer = void 0;
195
+ if (active) {
196
+ const ids = (active.getAttribute("aria-describedby") ?? "").split(/\s+/).filter((id) => id && id !== tooltipId);
197
+ if (ids.length) active.setAttribute("aria-describedby", ids.join(" "));
198
+ else active.removeAttribute("aria-describedby");
199
+ }
200
+ active = null;
201
+ root?.render(null);
202
+ };
203
+ const render = () => {
204
+ const text = active?.getAttribute("data-sia-title");
205
+ if (!active?.isConnected || !text) {
206
+ hide();
207
+ return;
208
+ }
209
+ if (!root) {
210
+ const host = doc.createElement("div");
211
+ host.setAttribute("data-sia-title-tooltip-host", "");
212
+ doc.body.append(host);
213
+ root = (0, import_client.createRoot)(host);
214
+ tooltipId = `sia-title-tooltip-${Math.random().toString(36).slice(2)}`;
215
+ }
216
+ const ids = new Set((active.getAttribute("aria-describedby") ?? "").split(/\s+/).filter(Boolean));
217
+ ids.add(tooltipId);
218
+ active.setAttribute("aria-describedby", [...ids].join(" "));
219
+ root.render(/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
220
+ PopupPortal,
221
+ {
222
+ anchorRef: { current: active },
223
+ placement: "top-start",
224
+ id: tooltipId,
225
+ role: "tooltip",
226
+ className: "sia-title-tooltip",
227
+ children: text
228
+ }
229
+ ));
230
+ };
231
+ const show = (element) => {
232
+ if (!element && !active && !pending) return;
233
+ if (element && (element === active || element === pending)) return;
234
+ hide();
235
+ if (!element) return;
236
+ pending = element;
237
+ timer = setTimeout(() => {
238
+ pending = null;
239
+ if (!element.isConnected) return;
240
+ active = element;
241
+ render();
242
+ if (!active) return;
243
+ observer = new MutationObserver(() => {
244
+ if (!active?.isConnected) hide();
245
+ else if (active.getAttribute("data-sia-title") !== doc.getElementById(tooltipId)?.textContent) render();
246
+ });
247
+ observer.observe(doc.body, { childList: true, subtree: true, attributes: true, attributeFilter: ["data-sia-title"] });
248
+ }, 250);
249
+ };
250
+ doc.addEventListener("pointerover", (event) => {
251
+ if (event.pointerType === "touch") return;
252
+ hovered = candidate(event.target);
253
+ if (hasExplicitTooltip(event.target)) hide();
254
+ else show(hovered ?? focused);
255
+ }, true);
256
+ doc.addEventListener("pointermove", (event) => {
257
+ if (event.pointerType === "touch" || event.buttons) return;
258
+ hovered = candidate(event.target);
259
+ if (!hasExplicitTooltip(event.target)) show(hovered ?? focused);
260
+ }, true);
261
+ doc.addEventListener("pointerout", (event) => {
262
+ if (event.pointerType === "touch") return;
263
+ hovered = candidate(event.relatedTarget);
264
+ if (hasExplicitTooltip(event.relatedTarget)) hide();
265
+ else show(hovered ?? focused);
266
+ }, true);
267
+ doc.addEventListener("focusin", (event) => {
268
+ focused = candidate(event.target);
269
+ if (hasExplicitTooltip(event.target)) hide();
270
+ else show(focused ?? hovered);
271
+ }, true);
272
+ doc.addEventListener("focusout", (event) => {
273
+ focused = candidate(event.relatedTarget);
274
+ show(hovered ?? focused);
275
+ }, true);
276
+ doc.addEventListener("pointerdown", hide, true);
277
+ doc.addEventListener("keydown", (event) => {
278
+ if (event.key === "Escape") hide();
279
+ }, true);
280
+ doc.addEventListener("scroll", hide, true);
281
+ doc.defaultView?.addEventListener("blur", () => {
282
+ hovered = focused = null;
283
+ hide();
284
+ });
285
+ }
286
+
287
+ // src/components/shared.ts
288
+ var import_react2 = require("react");
289
+ var ControlSizeContext = (0, import_react2.createContext)("medium");
290
+ function useControlSize(size) {
291
+ const inherited = (0, import_react2.useContext)(ControlSizeContext);
292
+ return size ?? inherited;
293
+ }
294
+ var PlaceholderModeContext = (0, import_react2.createContext)("default");
295
+ function usePlaceholderMode(mode) {
296
+ const inherited = (0, import_react2.useContext)(PlaceholderModeContext);
297
+ return mode ?? inherited;
298
+ }
299
+ function useControllableState({ value, defaultValue, onChange }) {
300
+ const [internalValue, setInternalValue] = (0, import_react2.useState)(defaultValue);
301
+ const controlled = value !== void 0;
302
+ const currentValue = controlled ? value : internalValue;
303
+ const setValue = (0, import_react2.useCallback)((nextValue) => {
304
+ if (Object.is(currentValue, nextValue)) return;
305
+ if (!controlled) setInternalValue(nextValue);
306
+ onChange?.(nextValue);
307
+ }, [controlled, currentValue, onChange]);
308
+ return [currentValue, setValue];
309
+ }
310
+
311
+ // src/components/Button.tsx
312
+ var import_react3 = require("react");
313
+ var import_jsx_runtime3 = require("react/jsx-runtime");
314
+ var Button = (0, import_react3.forwardRef)(function Button2({
315
+ variant = "default",
316
+ size: sizeProp,
317
+ loading = false,
318
+ block = false,
319
+ danger = false,
320
+ icon,
321
+ iconPosition = "start",
322
+ className = "",
323
+ children,
324
+ disabled,
325
+ onClick,
326
+ style,
327
+ ...props
328
+ }, forwardedRef) {
329
+ const size = useControlSize(sizeProp);
330
+ const localRef = (0, import_react3.useRef)(null);
331
+ function setRef(node) {
332
+ localRef.current = node;
333
+ if (typeof forwardedRef === "function") forwardedRef(node);
334
+ else if (forwardedRef) forwardedRef.current = node;
335
+ }
336
+ function handleClick(event) {
337
+ const button = localRef.current;
338
+ if (button && variant === "primary") {
339
+ const rect = button.getBoundingClientRect();
340
+ button.style.setProperty("--sia-wave-x", `${event.clientX - rect.left}px`);
341
+ button.style.setProperty("--sia-wave-y", `${event.clientY - rect.top}px`);
342
+ button.dataset.wave = "active";
343
+ window.setTimeout(() => delete button.dataset.wave, 360);
344
+ }
345
+ onClick?.(event);
346
+ }
347
+ const mergedStyle = block ? { ...style, width: "100%" } : style ?? {};
348
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
349
+ "button",
350
+ {
351
+ ref: setRef,
352
+ type: "button",
353
+ className: `sia-button sia-button--${variant} sia-button--${size}${danger ? " sia-button--danger" : ""} ${className}`.trim(),
354
+ "aria-busy": loading || void 0,
355
+ disabled: disabled || loading,
356
+ onClick: handleClick,
357
+ style: mergedStyle,
358
+ ...withTitleTooltip(props),
359
+ children: [
360
+ loading ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "sia-button__spinner", "aria-hidden": "true" }) : icon && iconPosition === "start" ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "sia-button__icon", children: icon }) : null,
361
+ children !== void 0 && children !== null ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { children }) : null,
362
+ !loading && icon && iconPosition === "end" ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "sia-button__icon", children: icon }) : null
363
+ ]
364
+ }
365
+ );
366
+ });
367
+
368
+ // src/components/Dropdown.tsx
369
+ var import_react7 = require("react");
370
+
371
+ // src/components/Icon.tsx
372
+ var import_react4 = require("react");
373
+
374
+ // src/components/IconCatalog.tsx
375
+ var import_jsx_runtime4 = require("react/jsx-runtime");
376
+ var extendedIconPaths = {
377
+ "notepad-file": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("g", { transform: "scale(0.0234375)", fill: "currentColor", stroke: "none", children: [
378
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M752 80H272c-70.4 0-128 57.6-128 128v608c0 70.4 57.6 128 128 128h353.6c33.6 0 65.6-12.8 91.2-36.8l126.4-126.4c24-24 36.8-56 36.8-91.2V208c0-70.4-57.6-128-128-128zM208 816V208c0-35.2 28.8-64 64-64h480c35.2 0 64 28.8 64 64v464h-96c-70.4 0-128 57.6-128 128v80H272c-35.2 0-64-28.8-64-64z m462.4 44.8c-4.8 4.8-9.6 8-14.4 11.2v-72c0-35.2 28.8-64 64-64h75.2L670.4 860.8z" }),
379
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M368 352h288c17.6 0 32-14.4 32-32s-14.4-32-32-32H368c-17.6 0-32 14.4-32 32s14.4 32 32 32z m128 256H368c-17.6 0-32 14.4-32 32s14.4 32 32 32h128c17.6 0 32-14.4 32-32s-14.4-32-32-32z m-128-96h288c17.6 0 32-14.4 32-32s-14.4-32-32-32H368c-17.6 0-32 14.4-32 32s14.4 32 32 32z" })
380
+ ] }),
381
+ "notepad-folder": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("g", { transform: "scale(0.0234375)", fill: "currentColor", stroke: "none", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M510.4 243.2c8 27.2 33.6 44.8 60.8 44.8h259.2c0-35.2-28.8-64-64-64H504l6.4 19.2zM484.8 160h281.6c70.4 0 128 57.6 128 128v25.6c30.4 24 51.2 60.8 51.2 102.4v384c0 70.4-57.6 128-128 128H208c-70.4 0-128-57.6-128-128V224c0-70.4 57.6-128 128-128h164.8c46.4 0 89.6 25.6 112 64z m-112 0H208c-35.2 0-64 28.8-64 64v576c0 35.2 28.8 64 64 64h608c35.2 0 64-28.8 64-64V416c0-35.2-28.8-64-64-64H574.4c-56 0-105.6-36.8-121.6-89.6l-19.2-57.6c-8-27.2-32-44.8-60.8-44.8zM272 704h256c17.6 0 32 14.4 32 32s-14.4 32-32 32H272c-17.6 0-32-14.4-32-32s14.4-32 32-32z" }) }),
382
+ "notepad-virtual-folder": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("g", { transform: "scale(0.0234375)", fill: "currentColor", stroke: "none", children: [
383
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M704 864H192c-89.6 0-160-70.4-160-160V192c0-89.6 70.4-160 160-160h512c89.6 0 160 70.4 160 160v512c0 89.6-70.4 160-160 160zM192 96c-51.2 0-96 44.8-96 96v512c0 51.2 44.8 96 96 96h512c51.2 0 96-44.8 96-96V192c0-51.2-44.8-96-96-96H192z" }),
384
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M832 992H320c-19.2 0-32-12.8-32-32s12.8-32 32-32h512c51.2 0 96-44.8 96-96V320c0-19.2 12.8-32 32-32s32 12.8 32 32v512c0 89.6-70.4 160-160 160z" })
385
+ ] }),
386
+ "step-backward": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
387
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M6 5v14" }),
388
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m18 6-8 6 8 6V6Z" })
389
+ ] }),
390
+ "step-forward": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
391
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M18 5v14" }),
392
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m6 6 8 6-8 6V6Z" })
393
+ ] }),
394
+ "fast-backward": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m11 6-7 6 7 6V6ZM20 6l-7 6 7 6V6Z" }) }),
395
+ "fast-forward": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m13 6 7 6-7 6V6ZM4 6l7 6-7 6V6Z" }) }),
396
+ "corner-up-left": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
397
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m9 5-5 5 5 5" }),
398
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 10h9a7 7 0 0 1 7 7v2" })
399
+ ] }),
400
+ "corner-up-right": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
401
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m15 5 5 5-5 5" }),
402
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M20 10h-9a7 7 0 0 0-7 7v2" })
403
+ ] }),
404
+ "swap-horizontal": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
405
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 8h15m0 0-4-4m4 4-4 4" }),
406
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M20 16H5m0 0 4-4m-4 4 4 4" })
407
+ ] }),
408
+ "swap-vertical": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
409
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 4v15m0 0-4-4m4 4 4-4" }),
410
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M16 20V5m0 0-4 4m4-4 4 4" })
411
+ ] }),
412
+ expand: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9 4H4v5M4 4l6 6M15 20h5v-5m0 5-6-6" }) }),
413
+ shrink: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M10 10H5V5m0 5 6-6M14 14h5v5m0-5-6 6" }) }),
414
+ fullscreen: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9 4H4v5M15 4h5v5M9 20H4v-5M15 20h5v-5" }),
415
+ "fullscreen-exit": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 9h5V4M20 9h-5V4M4 15h5v5M20 15h-5v5" }),
416
+ "menu-fold": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
417
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 6h16M4 12h10M4 18h16" }),
418
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m18 9-3 3 3 3" })
419
+ ] }),
420
+ "menu-unfold": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
421
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 6h16M10 12h10M4 18h16" }),
422
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m6 9 3 3-3 3" })
423
+ ] }),
424
+ login: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M10 5H5v14h5M13 8l4 4-4 4M8 12h9" }) }),
425
+ logout: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M14 5h5v14h-5M11 8l-4 4 4 4M16 12H7" }) }),
426
+ move: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
427
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 3v18M3 12h18" }),
428
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m9 6 3-3 3 3M9 18l3 3 3-3M6 9l-3 3 3 3M18 9l3 3-3 3" })
429
+ ] }),
430
+ "vertical-align-top": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 4h16M12 7v13M8 11l4-4 4 4" }) }),
431
+ "vertical-align-middle": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 12h16M12 4v16M8 8l4 4 4-4M8 16l4-4 4 4" }) }),
432
+ "vertical-align-bottom": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 20h16M12 4v13M8 13l4 4 4-4" }) }),
433
+ "square-plus": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
434
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3" }),
435
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 8v8M8 12h8" })
436
+ ] }),
437
+ "square-minus": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
438
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3" }),
439
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 12h8" })
440
+ ] }),
441
+ "square-check": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
442
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3" }),
443
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m8 12 3 3 6-7" })
444
+ ] }),
445
+ "square-close": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
446
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3" }),
447
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m8.5 8.5 7 7m0-7-7 7" })
448
+ ] }),
449
+ "tab-plus": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
450
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2.5" }),
451
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 9h18M7 6.5h.1M10 6.5h.1M15 12v6M12 15h6" })
452
+ ] }),
453
+ "folder-plus": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
454
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 6h7l2 2h9v11H3V6Z" }),
455
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M16 11v6M13 14h6" })
456
+ ] }),
457
+ pin: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 3h8l-1.5 5 3 3v2H13v8l-2-2v-6H6.5v-2l3-3L8 3Z" }) }),
458
+ "pin-off": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9.5 8 8 3h8l-1.5 5 3 3v2H13v4M6.5 13v-2l1-1M3 3l18 18" }) }),
459
+ stop: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
460
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
461
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M6 18 18 6" })
462
+ ] }),
463
+ "help-circle": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
464
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
465
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9.7 9a2.5 2.5 0 1 1 3.6 2.3c-.9.5-1.3 1.1-1.3 2.1M12 17v.1" })
466
+ ] }),
467
+ save: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
468
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 3h13l3 3v15H4V3Z" }),
469
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 3v6h8V3M8 21v-7h8v7" })
470
+ ] }),
471
+ clipboard: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
472
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "5", y: "4", width: "14", height: "17", rx: "2.5" }),
473
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9 4.5V3h6v1.5M9 9h6M9 13h6M9 17h4" })
474
+ ] }),
475
+ "clipboard-check": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
476
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "5", y: "4", width: "14", height: "17", rx: "2.5" }),
477
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9 4.5V3h6v1.5m-6 9 2 2 4-5" })
478
+ ] }),
479
+ "file-plus": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
480
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M6 3h8l4 4v14H6V3Z" }),
481
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M14 3v5h4M12 11v6M9 14h6" })
482
+ ] }),
483
+ "file-check": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
484
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M6 3h8l4 4v14H6V3Z" }),
485
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M14 3v5h4m-8 6 2 2 4-5" })
486
+ ] }),
487
+ "file-warning": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
488
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M6 3h8l4 4v14H6V3Z" }),
489
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M14 3v5h4M12 11v4m0 3v.1" })
490
+ ] }),
491
+ "file-spreadsheet": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
492
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M6 3h8l4 4v14H6V3Z" }),
493
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M14 3v5h4M8.5 11h7v7h-7v-7Zm0 3.5h7M12 11v7" })
494
+ ] }),
495
+ "align-left": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 6h16M4 10h11M4 14h16M4 18h11" }),
496
+ "align-center": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 6h16M7 10h10M4 14h16M7 18h10" }),
497
+ "align-right": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 6h16M9 10h11M4 14h16M9 18h11" }),
498
+ "align-justify": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 6h16M4 10h16M4 14h16M4 18h16" }),
499
+ bold: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 4h6a4 4 0 0 1 0 8H7V4Zm0 8h7a4 4 0 0 1 0 8H7v-8Z" }),
500
+ italic: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M10 4h8M6 20h8M14 4 10 20" }),
501
+ underline: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 4v7a5 5 0 0 0 10 0V4M5 21h14" }) }),
502
+ strikethrough: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M5 12h14M8 8c.3-2.5 2-4 4.5-4 2.2 0 3.7 1 4.5 2.5M8 16c.8 2.5 2.5 4 5 4 2.2 0 3.8-1 4.5-2.5" }) }),
503
+ "list-ordered": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
504
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9 6h12M9 12h12M9 18h12" }),
505
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 5h1v3M4 11h2l-2 3h2M4 17h2l-2 3h2" })
506
+ ] }),
507
+ "list-unordered": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
508
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9 6h12M9 12h12M9 18h12" }),
509
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "4.5", cy: "6", r: ".5" }),
510
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "4.5", cy: "12", r: ".5" }),
511
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "4.5", cy: "18", r: ".5" })
512
+ ] }),
513
+ eraser: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
514
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m4 15 8-10 8 7-7 8H7l-3-3v-2Z" }),
515
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m9 9 8 7M13 20h8" })
516
+ ] }),
517
+ highlighter: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
518
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m7 14 7-10 5 4-8 9-4-3Z" }),
519
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m5 17 6 3H3l2-3ZM15 14l4 3" })
520
+ ] }),
521
+ table: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
522
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2" }),
523
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 9h18M3 14h18M9 4v16M15 4v16" })
524
+ ] }),
525
+ columns: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
526
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2" }),
527
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 4v16" })
528
+ ] }),
529
+ rows: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
530
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2" }),
531
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 9h18M3 15h18" })
532
+ ] }),
533
+ "bar-chart": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 21V10h4v11M10 21V4h4v17M16 21v-8h4v8M3 21h18" }) }),
534
+ "line-chart": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
535
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 20h18M4 17l5-6 4 3 7-9" }),
536
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "9", cy: "11", r: "1" }),
537
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "13", cy: "14", r: "1" })
538
+ ] }),
539
+ "pie-chart": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
540
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M11 3a9 9 0 1 0 9 9h-9V3Z" }),
541
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M14 3.5A8.5 8.5 0 0 1 20.5 10H14V3.5Z" })
542
+ ] }),
543
+ "area-chart": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 20h18M4 17l5-6 4 3 7-9v12H4Z" }) }),
544
+ activity: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 12h4l2-6 4 13 3-7h5" }),
545
+ "trending-up": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
546
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m4 17 6-6 4 4 6-7" }),
547
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M15 8h5v5" })
548
+ ] }),
549
+ "trending-down": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
550
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m4 7 6 6 4-4 6 7" }),
551
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M15 16h5v-5" })
552
+ ] }),
553
+ database: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
554
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("ellipse", { cx: "12", cy: "5", rx: "8", ry: "3" }),
555
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 5v7c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 12v7c0 1.7 3.6 3 8 3s8-1.3 8-3v-7" })
556
+ ] }),
557
+ cloud: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 19h11a4 4 0 0 0 .5-8A7 7 0 0 0 5.2 9.5 4.8 4.8 0 0 0 7 19Z" }),
558
+ "cloud-download": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
559
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 18H5a4 4 0 0 1 .2-8 7 7 0 0 1 13.3 1A4 4 0 0 1 19 19h-2" }),
560
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 11v10m-4-4 4 4 4-4" })
561
+ ] }),
562
+ "cloud-upload": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
563
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 18H5a4 4 0 0 1 .2-8 7 7 0 0 1 13.3 1A4 4 0 0 1 19 19h-2" }),
564
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 21V11m-4 4 4-4 4 4" })
565
+ ] }),
566
+ server: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
567
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "4", width: "18", height: "7", rx: "2" }),
568
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "13", width: "18", height: "7", rx: "2" }),
569
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 7.5h.1M7 16.5h.1M11 7.5h6M11 16.5h6" })
570
+ ] }),
571
+ desktop: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
572
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "3", width: "18", height: "14", rx: "2" }),
573
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 21h8M12 17v4" })
574
+ ] }),
575
+ laptop: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
576
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M5 5h14v11H5V5Z" }),
577
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m3 19 2-3h14l2 3H3Z" })
578
+ ] }),
579
+ mobile: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
580
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "7", y: "2", width: "10", height: "20", rx: "2.5" }),
581
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M10 5h4M12 19v.1" })
582
+ ] }),
583
+ tablet: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
584
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "5", y: "2", width: "14", height: "20", rx: "2.5" }),
585
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M10 5h4M12 19v.1" })
586
+ ] }),
587
+ printer: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
588
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 9V3h10v6M6 18H4V9h16v9h-2" }),
589
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 14h10v7H7v-7ZM17 11h.1" })
590
+ ] }),
591
+ camera: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
592
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 7h4l2-3h6l2 3h4v13H3V7Z" }),
593
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "13", r: "4" })
594
+ ] }),
595
+ video: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
596
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "5", width: "13", height: "14", rx: "2" }),
597
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m16 10 5-3v10l-5-3v-4Z" })
598
+ ] }),
599
+ microphone: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
600
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "9", y: "3", width: "6", height: "12", rx: "3" }),
601
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M5 11a7 7 0 0 0 14 0M12 18v3M8 21h8" })
602
+ ] }),
603
+ "volume-up": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
604
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 10h4l5-4v12l-5-4H4v-4Z" }),
605
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M16 9a4 4 0 0 1 0 6M18.5 6.5a8 8 0 0 1 0 11" })
606
+ ] }),
607
+ "volume-off": /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 10h4l5-4v12l-5-4H4v-4ZM17 9l5 6m0-6-5 6" }) }),
608
+ "speaker-wave": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
609
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 10h3.5l4.7-3.6v11.2L7.5 14H4v-4Z", fill: "currentColor", stroke: "none" }),
610
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M15.2 9.2a4 4 0 0 1 0 5.6" })
611
+ ] }),
612
+ "speaker-muted": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
613
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 10h3.5l4.7-3.6v11.2L7.5 14H4v-4Z", fill: "currentColor", stroke: "none" }),
614
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m15.5 9.5 5 5m0-5-5 5" })
615
+ ] }),
616
+ wifi: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 9a14 14 0 0 1 18 0M6 13a9 9 0 0 1 12 0M9.5 17a4 4 0 0 1 5 0M12 21v.1" }) }),
617
+ power: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
618
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 3v9" }),
619
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 5.5a8 8 0 1 0 10 0" })
620
+ ] }),
621
+ key: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
622
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "8", cy: "15", r: "4" }),
623
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m11 12 8-8m-3 3 3 3m-6 0 3 3" })
624
+ ] }),
625
+ shield: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 3 4 6v6c0 5 3 8 8 10 5-2 8-5 8-10V6l-8-3Z" }),
626
+ "shield-check": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
627
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 3 4 6v6c0 5 3 8 8 10 5-2 8-5 8-10V6l-8-3Z" }),
628
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m8 12 2.5 2.5L16 9" })
629
+ ] }),
630
+ bug: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 9h8v7a4 4 0 0 1-8 0V9ZM9 9a3 3 0 0 1 6 0M5 11h3M16 11h3M5 16h3M16 16h3M7 5l2 2M17 5l-2 2" }) }),
631
+ bulb: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
632
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 15a7 7 0 1 1 8 0c-1.2.8-1.5 1.8-1.5 3h-5c0-1.2-.3-2.2-1.5-3Z" }),
633
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9.5 21h5" })
634
+ ] }),
635
+ rocket: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
636
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 16c-2-1-4-1-5 0 0-3 1-5 4-6M14 6c3-3 6-3 7-3 0 1 0 4-3 7l-6 6-4-4 6-6Z" }),
637
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M14 14c0 3-2 6-5 7 0-2 0-4-1-5M5 19l-2 2" })
638
+ ] }),
639
+ target: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
640
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
641
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "12", r: "5" }),
642
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "12", r: "1" })
643
+ ] }),
644
+ trophy: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
645
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 4h8v5a4 4 0 0 1-8 0V4ZM9 20h6M12 13v7" }),
646
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 6H4v2a4 4 0 0 0 5 4M16 6h4v2a4 4 0 0 1-5 4" })
647
+ ] }),
648
+ "shopping-cart": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
649
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 4h2l2 11h10l3-8H6" }),
650
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "9", cy: "20", r: "1" }),
651
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "17", cy: "20", r: "1" })
652
+ ] }),
653
+ "shopping-bag": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
654
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M5 8h14l1 13H4L5 8Z" }),
655
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9 9V6a3 3 0 0 1 6 0v3" })
656
+ ] }),
657
+ shop: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
658
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 10v11h16V10M3 4h18l-2 6H5L3 4Z" }),
659
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9 21v-6h6v6" })
660
+ ] }),
661
+ wallet: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
662
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "5", width: "18", height: "15", rx: "2.5" }),
663
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 9h18M15 13h6v4h-6a2 2 0 0 1 0-4Z" })
664
+ ] }),
665
+ bank: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m3 9 9-6 9 6M5 10h14M6 10v8M10 10v8M14 10v8M18 10v8M3 21h18M4 18h16" }) }),
666
+ calculator: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
667
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "5", y: "2", width: "14", height: "20", rx: "2.5" }),
668
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 5h8v4H8V5ZM8 13h.1M12 13h.1M16 13h.1M8 17h.1M12 17h.1M16 17h.1" })
669
+ ] }),
670
+ tag: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
671
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 12V4h8l10 10-7 7L3 12Z" }),
672
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "7.5", cy: "8.5", r: "1" })
673
+ ] }),
674
+ tags: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
675
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M6 12V4h7l8 8-6 6-9-6Z" }),
676
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "10", cy: "8", r: "1" }),
677
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m3 8 1 9 7 4 2-2" })
678
+ ] }),
679
+ message: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 4h16v13H9l-5 4V4Z" }),
680
+ comments: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
681
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 4h13v10H8l-5 4V4Z" }),
682
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M10 17h6l5 4V8h-2" })
683
+ ] }),
684
+ send: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m3 11 18-8-8 18-2-8-8-2Zm8 2 10-10" }),
685
+ share: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
686
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "18", cy: "5", r: "3" }),
687
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "6", cy: "12", r: "3" }),
688
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "18", cy: "19", r: "3" }),
689
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m8.5 10.5 7-4M8.5 13.5l7 4" })
690
+ ] }),
691
+ paperclip: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m8 12 7-7a4 4 0 0 1 6 6l-9 9a6 6 0 0 1-9-9l8-8" }),
692
+ location: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
693
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 22s7-6.2 7-13a7 7 0 1 0-14 0c0 6.8 7 13 7 13Z" }),
694
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "9", r: "2.5" })
695
+ ] }),
696
+ compass: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
697
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
698
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m15.5 8.5-2 5-5 2 2-5 5-2Z" })
699
+ ] }),
700
+ car: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
701
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 15V9l2-5h12l2 5v6M3 10h18M6 15h12" }),
702
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "7", cy: "18", r: "2" }),
703
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "17", cy: "18", r: "2" })
704
+ ] }),
705
+ truck: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
706
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 5h11v12H3V5ZM14 9h4l3 4v4h-7V9Z" }),
707
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "7", cy: "19", r: "2" }),
708
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "18", cy: "19", r: "2" })
709
+ ] }),
710
+ gift: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
711
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "9", width: "18", height: "12", rx: "2" }),
712
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 9v12M3 13h18M12 9H8a3 3 0 1 1 4-3v3Zm0 0h4a3 3 0 1 0-4-3v3Z" })
713
+ ] }),
714
+ coffee: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
715
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 8h13v6a6 6 0 0 1-6 6H10a6 6 0 0 1-6-6V8ZM17 10h2a3 3 0 0 1 0 6h-3" }),
716
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 4v1M12 3v2" })
717
+ ] }),
718
+ experiment: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
719
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9 3h6M10 3v6l-6 10a2 2 0 0 0 2 3h12a2 2 0 0 0 2-3L14 9V3" }),
720
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 16h10" })
721
+ ] }),
722
+ tool: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M14 6a5 5 0 0 0-6-3l3 3-3 3-3-3a5 5 0 0 0 6 6l7 7a2 2 0 0 0 3-3l-7-7Z" }) }),
723
+ appstore: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
724
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "3", width: "7", height: "7", rx: "2" }),
725
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "14", y: "3", width: "7", height: "7", rx: "2" }),
726
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "14", width: "7", height: "7", rx: "2" }),
727
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "14", y: "14", width: "7", height: "7", rx: "2" })
728
+ ] }),
729
+ puzzle: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9 3h4.2a2.8 2.8 0 1 0 5.6 0H21v6h-2.2a2.8 2.8 0 1 0 0 5.6H21V21h-6.4v-2.2a2.8 2.8 0 1 0-5.6 0V21H3v-6.4h2.2a2.8 2.8 0 1 0 0-5.6H3V3h6Z" }) }),
730
+ partition: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
731
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 5v5M6 14v-2h12v2M6 18v3M12 18v3M18 18v3" }),
732
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "3", r: "2" }),
733
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "6", cy: "16", r: "2" }),
734
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "16", r: "2" }),
735
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "18", cy: "16", r: "2" })
736
+ ] }),
737
+ branches: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
738
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "6", cy: "5", r: "2" }),
739
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "18", cy: "7", r: "2" }),
740
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "6", cy: "19", r: "2" }),
741
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M6 7v10M8 10c6 0 4-3 8-3M8 14c6 0 4 3 8 3" })
742
+ ] }),
743
+ scan: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 3H3v5M16 3h5v5M8 21H3v-5M16 21h5v-5M7 12h10" }),
744
+ "qr-code": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
745
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "3", width: "7", height: "7", rx: "1" }),
746
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "14", y: "3", width: "7", height: "7", rx: "1" }),
747
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("rect", { x: "3", y: "14", width: "7", height: "7", rx: "1" }),
748
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M14 14h3v3h-3v-3ZM18 18h3v3h-3v-3ZM14 20h1M20 14h1" })
749
+ ] }),
750
+ barcode: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 5v14M7 5v14M11 5v14M14 5v14M16 5v14M20 5v14" }),
751
+ "user-plus": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
752
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "10", cy: "8", r: "4" }),
753
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 21c.7-4.3 3-6.5 7-6.5 2 0 3.6.6 4.7 1.7M19 14v7M15.5 17.5h7" })
754
+ ] }),
755
+ "user-minus": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
756
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "10", cy: "8", r: "4" }),
757
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M3 21c.7-4.3 3-6.5 7-6.5 2 0 3.6.6 4.7 1.7M15.5 17.5h7" })
758
+ ] }),
759
+ smile: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
760
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
761
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 10h.1M16 10h.1M8 15c1 1.4 2.3 2 4 2s3-.6 4-2" })
762
+ ] }),
763
+ meh: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
764
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
765
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 10h.1M16 10h.1M8 16h8" })
766
+ ] }),
767
+ frown: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
768
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
769
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 10h.1M16 10h.1M8 17c1-1.4 2.3-2 4-2s3 .6 4 2" })
770
+ ] }),
771
+ "game-cultivator": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
772
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7.2 7.5h9.6M9 5.2 12 2l3 3.2" }),
773
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "8.8", r: "3.6" }),
774
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7.5 21c.2-4.9 1.8-7.3 4.5-7.3s4.3 2.4 4.5 7.3M9.4 15.2 7 18m7.6-2.8L17 18M10 21l2-4 2 4" })
775
+ ] }),
776
+ "game-swordsman": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
777
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9.2 5.2h5.6M12 2.5v2.7" }),
778
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "8.8", r: "3.4" }),
779
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7.2 21c.3-5 1.9-7.4 4.8-7.4s4.5 2.4 4.8 7.4M9.2 14.8 7 18.2m7.8-3.4 2.2 3.4M9.5 21l2.5-4 2.5 4" }),
780
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m17.7 5.1 2.2-1-.9 2.3-5.2 5.2M16.2 7.8l1.8 1.8" })
781
+ ] }),
782
+ "game-spirit-wolf": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
783
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m5.2 8.2.7-4 3.3 2.2A9 9 0 0 1 12 6c1 0 1.9.1 2.8.4l3.3-2.2.7 4A7.7 7.7 0 0 1 20 13c0 4.3-3.5 7.7-8 7.7S4 17.3 4 13c0-1.8.4-3.4 1.2-4.8Z" }),
784
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8.3 12h.1m7.2 0h.1M9 16c1.8 1.3 4.2 1.3 6 0m-3-1.5v1M7 18l-2.2 2M17 18l2.2 2" })
785
+ ] }),
786
+ "game-gem": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
787
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m4 8 3-4h10l3 4-8 13L4 8Z" }),
788
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 8h16M8 4l-2 4 6 13 6-13-2-4M6 8h12" })
789
+ ] }),
790
+ "game-ingot": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
791
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4 9.5c2.2 1 4.1 1.5 5.8 1.6L12 6l2.2 5.1c1.7-.1 3.6-.6 5.8-1.6-.3 5.1-2.9 8.4-8 10-5.1-1.6-7.7-4.9-8-10Z" }),
792
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M4.6 10.1 3 6.5c2.3 1.2 4.2 1.6 5.8 1.2M19.4 10.1 21 6.5c-2.3 1.2-4.2 1.6-5.8 1.2M7 16.3c3.3 1 6.7 1 10 0" })
793
+ ] }),
794
+ "game-sword": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
795
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m14.5 4.5 5-1-1 5L9 18l-3 1 1-3 9.5-9.5M5 19l-1 1" }),
796
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m12.5 7.5 4 4M7.5 14.5l2 2" })
797
+ ] }),
798
+ "game-robe": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
799
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m8.5 4 3.5 2 3.5-2 4 4-2.5 3-1.2-1V21H8.2V10L7 11 4.5 8l4-4Z" }),
800
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9 4.5 12 9l3-4.5M12 9v12" })
801
+ ] }),
802
+ "game-pants": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
803
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 3h10l1 18h-5l-1-10-1 10H6L7 3Z" }),
804
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 7h10M12 3v8" })
805
+ ] }),
806
+ "game-pendant": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
807
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M5 4c1.7 4.4 4 6.6 7 6.6S17.3 8.4 19 4" }),
808
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 10.6c-2.7 1.8-4 3.8-4 6a4 4 0 0 0 8 0c0-2.2-1.3-4.2-4-6Z" }),
809
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "16.5", r: "1.5" })
810
+ ] }),
811
+ "game-necklace": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
812
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M5 4c.7 6.3 3 9.5 7 9.5S18.3 10.3 19 4" }),
813
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m12 13.5 3 2.4-1.2 4.1h-3.6L9 15.9l3-2.4Z" }),
814
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 7h.1m10 0h.1M9 10h.1m6 0h.1" })
815
+ ] }),
816
+ "game-pill": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
817
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M6.2 17.8a5.7 5.7 0 0 1 0-8.1l3.5-3.5a5.7 5.7 0 1 1 8.1 8.1l-3.5 3.5a5.7 5.7 0 0 1-8.1 0Z" }),
818
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m8 8 8 8" }),
819
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M6.3 12.2c1.3.2 2.5.7 3.5 1.7s1.6 2.2 1.8 3.5" })
820
+ ] }),
821
+ "game-potion": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
822
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M9 3h6M10 3v5l-5 7.5A3.5 3.5 0 0 0 8 21h8a3.5 3.5 0 0 0 3-5.5L14 8V3" }),
823
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 15h10M9.5 12h5" })
824
+ ] }),
825
+ "game-elixir-jar": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
826
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 3h8l-1 4c2.6 1.2 4 3.5 4 6.8V21H5v-7.2C5 10.5 6.4 8.2 9 7L8 3Z" }),
827
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8.5 7h7M5 14h14M9 17h6" })
828
+ ] }),
829
+ "game-flame": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
830
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M13.8 2.5c.6 3.6-2.1 4.8-2.1 7.2 0 1.1.7 1.9 1.7 1.9 1.8 0 2.4-2.1 2-4.1 2.6 2 4.1 4.6 4.1 7.4A7.5 7.5 0 0 1 4.5 15c0-3.5 1.8-6.5 5.2-9-.2 2.3.8 3.4 1.8 3.7-.4-2.6.3-5.1 2.3-7.2Z" }),
831
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 21c-2 0-3.3-1.3-3.3-3.2 0-1.5.9-2.8 2.6-4.2 0 1.7.8 2.5 1.7 2.5 1 0 1.7-.9 1.5-2.3 1.2 1.2 1.8 2.5 1.8 4A4 4 0 0 1 12 21Z" })
832
+ ] }),
833
+ "game-soul-elixir": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
834
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "12", r: "4.2" }),
835
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 2.5v3M12 18.5v3M2.5 12h3M18.5 12h3M5.3 5.3l2.2 2.2m9 9 2.2 2.2m0-13.4-2.2 2.2m-9 9-2.2 2.2" }),
836
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m10 12 1.4 1.4L14.5 10" })
837
+ ] }),
838
+ "game-herb": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
839
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 21V9" }),
840
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M12 13c-5.5.1-8-2.6-8-7.5 5-.2 7.8 2.1 8 7.5Zm0 4c5.5.1 8-2.6 8-7.5-5-.2-7.8 2.1-8 7.5Z" })
841
+ ] }),
842
+ "game-meditate": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
843
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "5.5", r: "2.5" }),
844
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8.5 11c1-1.5 2.2-2.2 3.5-2.2s2.5.7 3.5 2.2l2.8 4M5.7 15l2.8-4M4 19c2.5-2.2 5.2-2.5 8-1 2.8-1.5 5.5-1.2 8 1M7 21h10" }),
845
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "m9.5 14.5 2.5 3.4 2.5-3.4" })
846
+ ] }),
847
+ "game-backpack": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
848
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8 8V5.5a4 4 0 0 1 8 0V8M6 8h12l2 13H4L6 8Z" }),
849
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M8.5 13h7v5h-7v-5ZM9 5.5h6" })
850
+ ] }),
851
+ "game-qi": /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
852
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
853
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M7 8.5c2.5-2.8 7-2.2 8.7.2 1.7 2.4.9 5.6-1.6 6.8-2.4 1.2-5.5-.1-5.8-2.5-.2-1.8 1.4-3.1 3.2-2.8 1.8.3 2.6 2.2 1.7 3.5" })
854
+ ] })
855
+ };
856
+
857
+ // src/components/Icon.tsx
858
+ var import_jsx_runtime5 = require("react/jsx-runtime");
859
+ var coreIconPaths = {
860
+ search: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
861
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "10.8", cy: "10.8", r: "6.8" }),
862
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m15.8 15.8 5.2 5.2" })
863
+ ] }),
864
+ plus: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 4v16M4 12h16" }),
865
+ minus: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M4 12h16" }),
866
+ close: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m5 5 14 14M19 5 5 19" }),
867
+ check: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m4 12.5 5.2 5L20 6.5" }),
868
+ info: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
869
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
870
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 11v6M12 7.2v.1" })
871
+ ] }),
872
+ question: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
873
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
874
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M9.8 9a2.4 2.4 0 1 1 3.5 2.2c-.9.5-1.3 1.1-1.3 2.1M12 16.8v.1" })
875
+ ] }),
876
+ warning: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
877
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M10.3 4.1 2.6 18a2 2 0 0 0 1.8 3h15.2a2 2 0 0 0 1.8-3L13.7 4.1a2 2 0 0 0-3.4 0Z" }),
878
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 9v4M12 17v.1" })
879
+ ] }),
880
+ "circle-check": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
881
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
882
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m8 12 2.7 2.7L16.5 9" })
883
+ ] }),
884
+ "circle-close": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
885
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
886
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m9 9 6 6M15 9l-6 6" })
887
+ ] }),
888
+ "circle-plus": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
889
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
890
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 8v8M8 12h8" })
891
+ ] }),
892
+ "circle-minus": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
893
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
894
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M8 12h8" })
895
+ ] }),
896
+ "chevron-left": /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m15.5 5-7 7 7 7" }),
897
+ "chevron-right": /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m8.5 5 7 7-7 7" }),
898
+ "chevron-up": /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m5 15.5 7-7 7 7" }),
899
+ "chevron-down": /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m5 8.5 7 7 7-7" }),
900
+ "double-left": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
901
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m12 5-7 7 7 7" }),
902
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m19 5-7 7 7 7" })
903
+ ] }),
904
+ "double-right": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
905
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m5 5 7 7-7 7" }),
906
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m12 5 7 7-7 7" })
907
+ ] }),
908
+ "arrow-left": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
909
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m10 5-7 7 7 7" }),
910
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M3 12h18" })
911
+ ] }),
912
+ "arrow-right": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
913
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m14 5 7 7-7 7" }),
914
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M3 12h18" })
915
+ ] }),
916
+ "arrow-up": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
917
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m5 10 7-7 7 7" }),
918
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 3v18" })
919
+ ] }),
920
+ "arrow-down": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
921
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m5 14 7 7 7-7" }),
922
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 3v18" })
923
+ ] }),
924
+ menu: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M4 6h16M4 12h16M4 18h16" }),
925
+ "more-horizontal": /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M5 12h.1M12 12h.1M19 12h.1" }),
926
+ "more-vertical": /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 5v.1M12 12v.1M12 19v.1" }),
927
+ home: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
928
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m3.5 11 8.5-7 8.5 7" }),
929
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M5.5 9.5V20h13V9.5M9.5 20v-6h5v6" })
930
+ ] }),
931
+ user: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
932
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "8", r: "4" }),
933
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M4.5 21c.7-4.2 3.2-6.5 7.5-6.5s6.8 2.3 7.5 6.5" })
934
+ ] }),
935
+ users: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
936
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "9", cy: "8", r: "3.5" }),
937
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M2.8 20c.6-3.8 2.7-5.8 6.2-5.8s5.6 2 6.2 5.8" }),
938
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M15 5.2a3.5 3.5 0 0 1 0 6.6M16.2 14.5c2.9.5 4.4 2.3 4.9 5.5" })
939
+ ] }),
940
+ settings: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
941
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "3.5" }),
942
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M10 4.8 10 2 14 2 14 4.8 15.68 5.49 17.66 3.51 20.49 6.34 18.51 8.32 19.2 10 22 10 22 14 19.2 14 18.51 15.68 20.49 17.66 17.66 20.49 15.68 18.51 14 19.2 14 22 10 22 10 19.2 8.32 18.51 6.34 20.49 3.51 17.66 5.49 15.68 4.8 14 2 14 2 10 4.8 10 5.49 8.32 3.51 6.34 6.34 3.51 8.32 5.49Z" })
943
+ ] }),
944
+ edit: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
945
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M4 20h4l11-11a2.8 2.8 0 0 0-4-4L4 16v4Z" }),
946
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m13.5 6.5 4 4M4 20h16" })
947
+ ] }),
948
+ copy: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
949
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "8", y: "8", width: "12", height: "12", rx: "2.5" }),
950
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2" })
951
+ ] }),
952
+ trash: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M4 7h16M9 3h6l1 4H8l1-4ZM6 7l1 14h10l1-14M10 11v6M14 11v6" }) }),
953
+ scissors: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
954
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "6", cy: "7", r: "3" }),
955
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "6", cy: "17", r: "3" }),
956
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m8.7 8.3 11.3 6.2M8.7 15.7 20 9.5" })
957
+ ] }),
958
+ undo: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
959
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m8 7-5 5 5 5" }),
960
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M3 12h10a7 7 0 0 1 7 7" })
961
+ ] }),
962
+ redo: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
963
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m16 7 5 5-5 5" }),
964
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M21 12H11a7 7 0 0 0-7 7" })
965
+ ] }),
966
+ "zoom-in": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
967
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "10.8", cy: "10.8", r: "6.8" }),
968
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m15.8 15.8 5.2 5.2M10.8 7.8v6M7.8 10.8h6" })
969
+ ] }),
970
+ "zoom-out": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
971
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "10.8", cy: "10.8", r: "6.8" }),
972
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m15.8 15.8 5.2 5.2M7.8 10.8h6" })
973
+ ] }),
974
+ download: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 3v12M7 10l5 5 5-5M4 20h16" }) }),
975
+ upload: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 16V4M7 9l5-5 5 5M4 20h16" }) }),
976
+ refresh: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
977
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M20 4v4.686h-4.686" }),
978
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M20 8.686 17.657 6.343A8 8 0 1 0 20 12" })
979
+ ] }),
980
+ loader: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M18.4 5.6l-2.1 2.1M7.7 16.3l-2.1 2.1" }),
981
+ calendar: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
982
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "3", y: "5", width: "18", height: "16", rx: "2.5" }),
983
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M8 3v4M16 3v4M3 10h18M7 14h2M11 14h2M15 14h2M7 18h2M11 18h2" })
984
+ ] }),
985
+ clock: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
986
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
987
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 7v5l3.5 2" })
988
+ ] }),
989
+ mail: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
990
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "3", y: "5", width: "18", height: "14", rx: "2.5" }),
991
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m4 7 8 6 8-6" })
992
+ ] }),
993
+ phone: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M8.2 3.5 5.4 4.8c-1 .5-1.5 1.7-1.1 2.8 2.2 5.9 6.2 9.9 12.1 12.1 1.1.4 2.3-.1 2.8-1.1l1.3-2.8-4.2-2-1.4 2.1c-2.8-1.2-5.6-4-6.8-6.8l2.1-1.4-2-4.2Z" }),
994
+ link: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
995
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m9.5 14.5 5-5" }),
996
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M7.5 16.5 6 18a3.5 3.5 0 0 1-5-5l3-3a3.5 3.5 0 0 1 5 0M16.5 7.5 18 6a3.5 3.5 0 0 1 5 5l-3 3a3.5 3.5 0 0 1-5 0" })
997
+ ] }),
998
+ "external-link": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
999
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M14 4h6v6M20 4 11 13" }),
1000
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M19 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h6" })
1001
+ ] }),
1002
+ eye: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1003
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6Z" }),
1004
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "3" })
1005
+ ] }),
1006
+ "eye-off": /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m3 3 18 18M10.6 6.1A10 10 0 0 1 12 6c6 0 9.5 6 9.5 6a14.5 14.5 0 0 1-2.2 3M6.4 6.4C3.9 8.2 2.5 12 2.5 12s3.5 6 9.5 6a9.7 9.7 0 0 0 3-.5M9.9 9.9a3 3 0 0 0 4.2 4.2" }) }),
1007
+ lock: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1008
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "4", y: "10", width: "16", height: "11", rx: "2.5" }),
1009
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M8 10V7a4 4 0 0 1 8 0v3M12 14v3" })
1010
+ ] }),
1011
+ unlock: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1012
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "4", y: "10", width: "16", height: "11", rx: "2.5" }),
1013
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M8 10V7a4 4 0 0 1 7.5-2M12 14v3" })
1014
+ ] }),
1015
+ bell: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1016
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M18 9a6 6 0 0 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9Z" }),
1017
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M10 21h4" })
1018
+ ] }),
1019
+ star: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2-5.6-3-5.6 3 1.1-6.2L3 9.6l6.2-.9L12 3Z" }),
1020
+ heart: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M20.8 5.8a5.5 5.5 0 0 0-7.8 0L12 6.9l-1-1.1a5.5 5.5 0 1 0-7.8 7.8L12 21l8.8-7.4a5.5 5.5 0 0 0 0-7.8Z" }),
1021
+ file: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1022
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M6 3h8l4 4v14H6V3Z" }),
1023
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M14 3v5h4" })
1024
+ ] }),
1025
+ folder: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M3 6h7l2 2h9v11H3V6Z" }),
1026
+ image: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1027
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2.5" }),
1028
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "9", cy: "9", r: "2" }),
1029
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m4 17 4.5-4.5 3.5 3 2.5-2.5 5.5 5" })
1030
+ ] }),
1031
+ filter: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M3 5h18l-7 8v6l-4 2v-8L3 5Z" }),
1032
+ "sort-ascending": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1033
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M7 19V5M3.5 8.5 7 5l3.5 3.5" }),
1034
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M13 7h8M13 12h6M13 17h4" })
1035
+ ] }),
1036
+ "sort-descending": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1037
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M7 5v14M3.5 15.5 7 19l3.5-3.5" }),
1038
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M13 7h4M13 12h6M13 17h8" })
1039
+ ] }),
1040
+ play: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1041
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
1042
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m10 8 6 4-6 4V8Z" })
1043
+ ] }),
1044
+ pause: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1045
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
1046
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M9.5 9v6M14.5 9v6" })
1047
+ ] }),
1048
+ book: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1049
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M4 5.5A2.5 2.5 0 0 1 6.5 3H11v17H6.5A2.5 2.5 0 0 0 4 22V5.5Z" }),
1050
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M20 5.5A2.5 2.5 0 0 0 17.5 3H13v17h4.5A2.5 2.5 0 0 1 20 22V5.5Z" })
1051
+ ] }),
1052
+ component: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1053
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "4", y: "4", width: "6", height: "6", rx: "1.5" }),
1054
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "14", y: "4", width: "6", height: "6", rx: "1.5" }),
1055
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "4", y: "14", width: "6", height: "6", rx: "1.5" }),
1056
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "14", y: "14", width: "6", height: "6", rx: "1.5" })
1057
+ ] }),
1058
+ token: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1059
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "4" }),
1060
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 2.5v3M12 18.5v3M2.5 12h3M18.5 12h3M5.3 5.3l2.1 2.1M16.6 16.6l2.1 2.1M18.7 5.3l-2.1 2.1M7.4 16.6l-2.1 2.1" })
1061
+ ] }),
1062
+ sun: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1063
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "3.6" }),
1064
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 2.5v2M12 19.5v2M2.5 12h2M19.5 12h2M5.3 5.3l1.4 1.4M17.3 17.3l1.4 1.4M18.7 5.3l-1.4 1.4M6.7 17.3l-1.4 1.4" })
1065
+ ] }),
1066
+ moon: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M20 15.2A8 8 0 0 1 8.8 4 8.5 8.5 0 1 0 20 15.2Z" }),
1067
+ code: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m9 18-6-6 6-6M15 6l6 6-6 6" }),
1068
+ github: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M9 19c-4 1.2-4-2-5-2.5M14 22v-3.1c0-.9.3-1.5.8-1.9 2.7-.3 5.5-1.3 5.5-6A4.7 4.7 0 0 0 19 7.7 4.4 4.4 0 0 0 18.9 4S17.8 3.7 15 5.3a11.7 11.7 0 0 0-6 0C6.2 3.7 5.1 4 5.1 4A4.4 4.4 0 0 0 5 7.7 4.7 4.7 0 0 0 3.7 11c0 4.7 2.8 5.7 5.5 6 .5.4.8 1 .8 1.9V22" })
1069
+ };
1070
+ var iconPaths = { ...coreIconPaths, ...extendedIconPaths };
1071
+ var ICON_NAMES = Object.freeze(Object.keys(iconPaths));
1072
+ var filledIconPaths = {
1073
+ info: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1074
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
1075
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 10.5v6M12 7.2v.1", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
1076
+ ] }),
1077
+ question: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1078
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
1079
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M9.6 9a2.5 2.5 0 1 1 3.6 2.3c-.8.5-1.2 1.1-1.2 2.1M12 16.8v.1", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
1080
+ ] }),
1081
+ warning: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1082
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M10.3 3.5 1.8 19a2 2 0 0 0 1.8 3h16.8a2 2 0 0 0 1.8-3L13.7 3.5a2 2 0 0 0-3.4 0Z", fill: "currentColor", stroke: "none" }),
1083
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 9v5M12 18v.1", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
1084
+ ] }),
1085
+ "circle-check": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1086
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
1087
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m7.5 12 3 3 6-6", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
1088
+ ] }),
1089
+ "circle-close": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1090
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
1091
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m8.8 8.8 6.4 6.4M15.2 8.8l-6.4 6.4", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
1092
+ ] }),
1093
+ "circle-plus": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1094
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
1095
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 7.5v9M7.5 12h9", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
1096
+ ] }),
1097
+ "circle-minus": /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1098
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
1099
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M7.5 12h9", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
1100
+ ] }),
1101
+ home: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M2.6 10.8 12 2.8l9.4 8a1 1 0 0 1-1.3 1.5l-.6-.5V21h-5.2v-6.2H9.7V21H4.5v-9.2l-.6.5a1 1 0 1 1-1.3-1.5Z", fill: "currentColor", stroke: "none" }),
1102
+ user: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1103
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "7.5", r: "4.5", fill: "currentColor", stroke: "none" }),
1104
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M3.5 21c.7-5 3.6-7.5 8.5-7.5s7.8 2.5 8.5 7.5H3.5Z", fill: "currentColor", stroke: "none" })
1105
+ ] }),
1106
+ users: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1107
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "8.5", cy: "8", r: "3.8", fill: "currentColor", stroke: "none" }),
1108
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "17", cy: "8.5", r: "3", fill: "currentColor", stroke: "none", opacity: ".7" }),
1109
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M1.8 21c.6-4.6 2.8-7 6.7-7s6.1 2.4 6.7 7H1.8ZM14.4 15.2c3.9-.2 6.4 1.7 7 5.8h-4.5a9.9 9.9 0 0 0-2.5-5.8Z", fill: "currentColor", stroke: "none" })
1110
+ ] }),
1111
+ trash: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M8 3h8l1 3h4v2H3V6h4l1-3Zm-2.5 7h13l-1 11h-11l-1-11Z", fill: "currentColor", stroke: "none" }),
1112
+ bell: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 2.5a2 2 0 0 1 2 1.6c3 .9 5 3.6 5 6.9v4.3l2 3.2H3l2-3.2V11c0-3.3 2-6 5-6.9a2 2 0 0 1 2-1.6ZM9.2 20h5.6a3 3 0 0 1-5.6 0Z", fill: "currentColor", stroke: "none" }),
1113
+ star: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m12 2.2 3 6 6.6 1-4.8 4.6 1.1 6.6-5.9-3.1-5.9 3.1 1.1-6.6-4.8-4.6 6.6-1 3-6Z", fill: "currentColor", stroke: "none" }),
1114
+ heart: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 21.3 3.1 13.7A5.8 5.8 0 0 1 11 5.2l1 1 1-1a5.8 5.8 0 0 1 7.9 8.5L12 21.3Z", fill: "currentColor", stroke: "none" }),
1115
+ mail: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1116
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "2.5", y: "4.5", width: "19", height: "15", rx: "2.5", fill: "currentColor", stroke: "none" }),
1117
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m4.5 7 7.5 5.8L19.5 7", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "1.8" })
1118
+ ] }),
1119
+ lock: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M7 10V7a5 5 0 0 1 10 0v3h1.5a2.5 2.5 0 0 1 2.5 2.5v7a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 19.5v-7A2.5 2.5 0 0 1 5.5 10H7Zm2.5 0h5V7a2.5 2.5 0 0 0-5 0v3Z", fill: "currentColor", stroke: "none" }),
1120
+ unlock: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M7 10V7a5 5 0 0 1 9.5-2.2l-2.2 1.1A2.5 2.5 0 0 0 9.5 7v3h9A2.5 2.5 0 0 1 21 12.5v7a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 19.5v-7A2.5 2.5 0 0 1 5.5 10H7Z", fill: "currentColor", stroke: "none" }),
1121
+ calendar: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1122
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "2.5", y: "4.5", width: "19", height: "17", rx: "2.5", fill: "currentColor", stroke: "none" }),
1123
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M3 9.5h18M8 2.5v4M16 2.5v4", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "1.8" })
1124
+ ] }),
1125
+ clock: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1126
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
1127
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 6.5V12l4 2.3", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "2" })
1128
+ ] }),
1129
+ file: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M5 2.5h10l4 4V22H5V2.5Zm9 1.8V8h3.7L14 4.3Z", fill: "currentColor", stroke: "none" }),
1130
+ folder: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M2.5 5h7l2.2 2.5h9.8V20H2.5V5Z", fill: "currentColor", stroke: "none" }),
1131
+ image: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1132
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "2.5", y: "3.5", width: "19", height: "17", rx: "2.5", fill: "currentColor", stroke: "none" }),
1133
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m4.5 18 4.3-4.6 3.4 3 2.5-2.6 4.8 4.2", stroke: "var(--sia-icon-contrast, #fff)", strokeWidth: "1.7" }),
1134
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "8", cy: "8.5", r: "1.7", fill: "var(--sia-icon-contrast, #fff)", stroke: "none" })
1135
+ ] }),
1136
+ filter: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M2 4h20l-7.8 9v6.2L9.8 22v-9L2 4Z", fill: "currentColor", stroke: "none" }),
1137
+ play: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1138
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
1139
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "m10 7.8 6.5 4.2-6.5 4.2V7.8Z", fill: "var(--sia-icon-contrast, #fff)", stroke: "none" })
1140
+ ] }),
1141
+ pause: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1142
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
1143
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M8.5 7.5h2.5v9H8.5v-9Zm4.5 0h2.5v9H13v-9Z", fill: "var(--sia-icon-contrast, #fff)", stroke: "none" })
1144
+ ] }),
1145
+ book: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M3 4.5A3.5 3.5 0 0 1 6.5 1H11v19H6.5A3.5 3.5 0 0 0 3 23V4.5ZM21 4.5A3.5 3.5 0 0 0 17.5 1H13v19h4.5A3.5 3.5 0 0 1 21 23V4.5Z", fill: "currentColor", stroke: "none" }),
1146
+ component: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1147
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "3", y: "3", width: "8", height: "8", rx: "2", fill: "currentColor", stroke: "none" }),
1148
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "13", y: "3", width: "8", height: "8", rx: "2", fill: "currentColor", stroke: "none" }),
1149
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "3", y: "13", width: "8", height: "8", rx: "2", fill: "currentColor", stroke: "none" }),
1150
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("rect", { x: "13", y: "13", width: "8", height: "8", rx: "2", fill: "currentColor", stroke: "none" })
1151
+ ] }),
1152
+ token: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
1153
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("circle", { cx: "12", cy: "12", r: "5", fill: "currentColor", stroke: "none" }),
1154
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("path", { d: "M12 1v4M12 19v4M1 12h4M19 12h4M4.2 4.2 7 7M17 17l2.8 2.8M19.8 4.2 17 7M7 17l-2.8 2.8", stroke: "currentColor", strokeWidth: "2.2" })
1155
+ ] })
1156
+ };
1157
+ var FILLED_ICON_NAMES = Object.freeze(Object.keys(filledIconPaths));
1158
+ var Icon = (0, import_react4.forwardRef)(function Icon2({ name, size = "1em", strokeWidth = 1.8, rotate = 0, spin = false, pulse = false, label, variant = "outline", className = "", style, ...props }, ref) {
1159
+ const resolvedSize = typeof size === "number" ? `${size}px` : size;
1160
+ const mergedStyle = { "--sia-icon-size": resolvedSize, "--sia-icon-rotate": `${rotate}deg`, ...style };
1161
+ const animationClass = spin ? " sia-icon--spin" : pulse ? " sia-icon--pulse" : "";
1162
+ const filledPath = filledIconPaths[name];
1163
+ const resolvedVariant = variant === "filled" && filledPath ? "filled" : "outline";
1164
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1165
+ "span",
1166
+ {
1167
+ ref,
1168
+ className: `sia-icon${animationClass} ${className}`.trim(),
1169
+ "data-variant": resolvedVariant,
1170
+ role: label ? "img" : void 0,
1171
+ "aria-label": label,
1172
+ "aria-hidden": label ? void 0 : true,
1173
+ style: mergedStyle,
1174
+ ...withTitleTooltip(props),
1175
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", focusable: "false", children: resolvedVariant === "filled" ? filledPath : iconPaths[name] })
1176
+ }
1177
+ );
1178
+ });
1179
+
1151
1180
  // src/components/Navigation.tsx
1152
- var import_jsx_runtime7 = require("react/jsx-runtime");
1181
+ var import_react5 = require("react");
1182
+ var import_jsx_runtime6 = require("react/jsx-runtime");
1183
+ var import_react6 = require("react");
1153
1184
  function MenuPopup({
1154
1185
  anchorRef,
1155
1186
  open,
@@ -1160,8 +1191,8 @@ function MenuPopup({
1160
1191
  onMouseEnter,
1161
1192
  onMouseLeave
1162
1193
  }) {
1163
- const [mounted, setMounted] = (0, import_react6.useState)(open);
1164
- (0, import_react6.useEffect)(() => {
1194
+ const [mounted, setMounted] = (0, import_react5.useState)(open);
1195
+ (0, import_react5.useEffect)(() => {
1165
1196
  if (open) {
1166
1197
  setMounted(true);
1167
1198
  return void 0;
@@ -1169,7 +1200,7 @@ function MenuPopup({
1169
1200
  const timer = window.setTimeout(() => setMounted(false), 160);
1170
1201
  return () => window.clearTimeout(timer);
1171
1202
  }, [open]);
1172
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1203
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1173
1204
  PopupPortal,
1174
1205
  {
1175
1206
  anchorRef,
@@ -1180,7 +1211,7 @@ function MenuPopup({
1180
1211
  "data-sia-menu-owner": menuId,
1181
1212
  onMouseEnter,
1182
1213
  onMouseLeave,
1183
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("ul", { className: "sia-menu__popup-list", role: "menu", children })
1214
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("ul", { className: "sia-menu__popup-list", role: "menu", children })
1184
1215
  }
1185
1216
  );
1186
1217
  }
@@ -1191,15 +1222,15 @@ function MenuEntry({
1191
1222
  props,
1192
1223
  reserveIcon
1193
1224
  }) {
1194
- const anchorRef = (0, import_react6.useRef)(null);
1195
- const closeTimerRef = (0, import_react6.useRef)(void 0);
1225
+ const anchorRef = (0, import_react5.useRef)(null);
1226
+ const closeTimerRef = (0, import_react5.useRef)(void 0);
1196
1227
  const hasChildren = Boolean(item.children?.length);
1197
1228
  const isOpen = props.open.includes(item.key);
1198
1229
  const isSelected = props.selected.includes(item.key);
1199
1230
  const path = [item.key, ...parents];
1200
1231
  const collapsed = props.inlineCollapsed && level === 0;
1201
1232
  const inlineSubmenu = props.mode === "inline" && !collapsed;
1202
- (0, import_react6.useEffect)(() => () => {
1233
+ (0, import_react5.useEffect)(() => () => {
1203
1234
  if (closeTimerRef.current !== void 0) window.clearTimeout(closeTimerRef.current);
1204
1235
  }, []);
1205
1236
  function cancelClose() {
@@ -1213,9 +1244,9 @@ function MenuEntry({
1213
1244
  closeTimerRef.current = window.setTimeout(() => props.toggle(item.key, false), 100);
1214
1245
  }
1215
1246
  const hover = props.triggerSubMenuAction === "hover" && hasChildren && !inlineSubmenu;
1216
- const submenu = hasChildren ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(MenuLevel, { items: item.children ?? [], level: level + 1, parents: [item.key, ...parents], props }) : null;
1247
+ const submenu = hasChildren ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(MenuLevel, { items: item.children ?? [], level: level + 1, parents: [item.key, ...parents], props }) : null;
1217
1248
  const popupPlacement = props.mode === "horizontal" && level === 0 ? "bottom-start" : "right-start";
1218
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
1249
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
1219
1250
  "li",
1220
1251
  {
1221
1252
  className: `sia-menu__entry${isOpen ? " is-open" : ""}${isSelected ? " is-selected" : ""}${item.disabled ? " is-disabled" : ""}${item.danger ? " is-danger" : ""}`,
@@ -1225,27 +1256,27 @@ function MenuEntry({
1225
1256
  } : void 0,
1226
1257
  onMouseLeave: hover ? scheduleClose : void 0,
1227
1258
  children: [
1228
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
1259
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
1229
1260
  "button",
1230
1261
  {
1231
1262
  ref: anchorRef,
1232
1263
  type: "button",
1233
1264
  className: "sia-menu__item",
1234
1265
  style: { paddingInlineStart: props.mode === "inline" && !props.inlineCollapsed ? 12 + level * props.inlineIndent : void 0 },
1235
- title: collapsed ? item.title ?? (typeof item.label === "string" ? item.label : void 0) : item.title,
1266
+ ...withTitleTooltip({ title: collapsed ? item.title ?? (typeof item.label === "string" ? item.label : void 0) : item.title }),
1236
1267
  disabled: item.disabled,
1237
1268
  "aria-current": isSelected ? "page" : void 0,
1238
1269
  "aria-expanded": hasChildren ? isOpen : void 0,
1239
1270
  onClick: (event) => hasChildren ? props.toggle(item.key) : props.select(item, path, event),
1240
1271
  children: [
1241
- reserveIcon ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "sia-menu__icon", "aria-hidden": !item.icon || void 0, children: item.icon }) : null,
1242
- !collapsed ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "sia-menu__label", children: item.label }) : null,
1243
- !collapsed && item.extra ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "sia-menu__extra", children: item.extra }) : null,
1244
- !collapsed && hasChildren ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Icon, { className: "sia-menu__expand-icon", name: "chevron-down", size: 13 }) : null
1272
+ reserveIcon ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "sia-menu__icon", "aria-hidden": !item.icon || void 0, children: item.icon }) : null,
1273
+ !collapsed ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "sia-menu__label", children: item.label }) : null,
1274
+ !collapsed && item.extra ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "sia-menu__extra", children: item.extra }) : null,
1275
+ !collapsed && hasChildren ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Icon, { className: "sia-menu__expand-icon", name: "chevron-down", size: 13 }) : null
1245
1276
  ]
1246
1277
  }
1247
1278
  ),
1248
- hasChildren ? inlineSubmenu ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("ul", { className: "sia-menu__submenu", role: "menu", "aria-hidden": !isOpen, children: submenu }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1279
+ hasChildren ? inlineSubmenu ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("ul", { className: "sia-menu__submenu", role: "menu", "aria-hidden": !isOpen, children: submenu }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1249
1280
  MenuPopup,
1250
1281
  {
1251
1282
  anchorRef,
@@ -1272,13 +1303,13 @@ function MenuLevel({
1272
1303
  props,
1273
1304
  reserveIcon = hasMenuIcon(items)
1274
1305
  }) {
1275
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children: items.map((item, index) => {
1276
- if (item.type === "divider") return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("li", { className: "sia-menu__divider", role: "separator" }, item.key || `divider-${index}`);
1277
- if (item.type === "group") return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("li", { className: "sia-menu__group", children: [
1278
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "sia-menu__group-title", children: item.label }),
1279
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("ul", { role: "group", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(MenuLevel, { items: item.children ?? [], level: level + 1, parents: [...parents, item.key], props, reserveIcon }) })
1306
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: items.map((item, index) => {
1307
+ if (item.type === "divider") return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("li", { className: "sia-menu__divider", role: "separator" }, item.key || `divider-${index}`);
1308
+ if (item.type === "group") return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("li", { className: "sia-menu__group", children: [
1309
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "sia-menu__group-title", children: item.label }),
1310
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("ul", { role: "group", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(MenuLevel, { items: item.children ?? [], level: level + 1, parents: [...parents, item.key], props, reserveIcon }) })
1280
1311
  ] }, item.key);
1281
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(MenuEntry, { item, level, parents, props, reserveIcon }, item.key);
1312
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(MenuEntry, { item, level, parents, props, reserveIcon }, item.key);
1282
1313
  }) });
1283
1314
  }
1284
1315
  function Menu({
@@ -1301,11 +1332,11 @@ function Menu({
1301
1332
  className = "",
1302
1333
  ...rest
1303
1334
  }) {
1304
- const menuId = (0, import_react6.useId)();
1305
- const rootRef = (0, import_react6.useRef)(null);
1335
+ const menuId = (0, import_react5.useId)();
1336
+ const rootRef = (0, import_react5.useRef)(null);
1306
1337
  const [selected, setSelected] = useControllableState({ value: selectedKeys, defaultValue: defaultSelectedKeys });
1307
1338
  const [open, setOpen] = useControllableState({ value: openKeys, defaultValue: defaultOpenKeys, onChange: (next) => onOpenChange?.([...next]) });
1308
- (0, import_react6.useEffect)(() => {
1339
+ (0, import_react5.useEffect)(() => {
1309
1340
  if (mode === "inline" || !open.length) return void 0;
1310
1341
  const closeOutside = (event) => {
1311
1342
  const target = event.target;
@@ -1331,11 +1362,11 @@ function Menu({
1331
1362
  else onSelect?.({ ...info, selectedKeys: [...next] });
1332
1363
  if (mode !== "inline") setOpen([]);
1333
1364
  }
1334
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("ul", { ref: rootRef, className: `sia-menu sia-menu--${mode} sia-menu--${theme}${inlineCollapsed ? " sia-menu--collapsed" : ""} ${className}`.trim(), role: "menu", ...rest, "data-sia-menu-owner": menuId, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(MenuLevel, { items, level: 0, parents: [], props: { menuId, mode, theme, multiple, selectable, inlineCollapsed, inlineIndent, triggerSubMenuAction, selected, open, select, toggle } }) });
1365
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("ul", { ref: rootRef, className: `sia-menu sia-menu--${mode} sia-menu--${theme}${inlineCollapsed ? " sia-menu--collapsed" : ""} ${className}`.trim(), role: "menu", ...withTitleTooltip(rest), "data-sia-menu-owner": menuId, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(MenuLevel, { items, level: 0, parents: [], props: { menuId, mode, theme, multiple, selectable, inlineCollapsed, inlineIndent, triggerSubMenuAction, selected, open, select, toggle } }) });
1335
1366
  }
1336
1367
  function Segmented({ options, value, defaultValue, size: sizeProp, block = false, vertical = false, disabled = false, onChange, className = "", onKeyDown, ...props }) {
1337
1368
  const size = useControlSize(sizeProp);
1338
- const normalized = (0, import_react6.useMemo)(() => options.map((option) => typeof option === "object" ? option : { label: option, value: option }), [options]);
1369
+ const normalized = (0, import_react5.useMemo)(() => options.map((option) => typeof option === "object" ? option : { label: option, value: option }), [options]);
1339
1370
  const [current, setCurrent] = useControllableState({ value, defaultValue: defaultValue ?? normalized[0]?.value, onChange: (next) => next !== void 0 && onChange?.(next) });
1340
1371
  function keyboard(event) {
1341
1372
  onKeyDown?.(event);
@@ -1346,14 +1377,11 @@ function Segmented({ options, value, defaultValue, size: sizeProp, block = false
1346
1377
  const next = event.key === "ArrowRight" || event.key === "ArrowDown" ? enabled[(index + 1) % enabled.length] : enabled[(index - 1 + enabled.length) % enabled.length];
1347
1378
  if (next) setCurrent(next.value);
1348
1379
  }
1349
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: `sia-segmented sia-segmented--${size}${block ? " sia-segmented--block" : ""}${vertical ? " sia-segmented--vertical" : ""}${disabled ? " is-disabled" : ""} ${className}`.trim(), role: "radiogroup", onKeyDown: keyboard, ...props, children: normalized.map((option) => /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("button", { type: "button", role: "radio", "aria-checked": option.value === current, title: option.title, className: option.value === current ? "is-selected" : "", disabled: disabled || option.disabled, onClick: () => setCurrent(option.value), children: [
1350
- option.icon,
1351
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { children: option.label ?? option.value })
1352
- ] }, option.value)) });
1380
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: `sia-segmented sia-segmented--${size}${block ? " sia-segmented--block" : ""}${vertical ? " sia-segmented--vertical" : ""}${disabled ? " is-disabled" : ""} ${className}`.trim(), role: "radiogroup", onKeyDown: keyboard, ...withTitleTooltip(props), children: normalized.map((option) => /* @__PURE__ */ (0, import_react6.createElement)("button", { type: "button", role: "radio", "aria-checked": option.value === current, ...withTitleTooltip({ title: option.title }), className: option.value === current ? "is-selected" : "", disabled: disabled || option.disabled, key: option.value, onClick: () => setCurrent(option.value) }, option.icon, /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { children: option.label ?? option.value }))) });
1353
1381
  }
1354
1382
 
1355
1383
  // src/components/Dropdown.tsx
1356
- var import_jsx_runtime8 = require("react/jsx-runtime");
1384
+ var import_jsx_runtime7 = require("react/jsx-runtime");
1357
1385
  var placementMap = {
1358
1386
  bottomLeft: "bottom-start",
1359
1387
  bottomRight: "bottom-end",
@@ -1512,7 +1540,7 @@ function DropdownRoot({
1512
1540
  updateOpen(true, "trigger");
1513
1541
  }
1514
1542
  }
1515
- const menuNode = /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1543
+ const menuNode = /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1516
1544
  Menu,
1517
1545
  {
1518
1546
  mode: "vertical",
@@ -1529,11 +1557,11 @@ function DropdownRoot({
1529
1557
  className: "sia-dropdown__menu"
1530
1558
  }
1531
1559
  );
1532
- const triggerNode = showTriggerIcon && (0, import_react7.isValidElement)(children) && children.type === Button && children.props.children !== void 0 && children.props.children !== null ? (0, import_react7.cloneElement)(children, {}, /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("span", { className: "sia-dropdown__trigger-content", children: [
1560
+ const triggerNode = showTriggerIcon && (0, import_react7.isValidElement)(children) && children.type === Button && children.props.children !== void 0 && children.props.children !== null ? (0, import_react7.cloneElement)(children, {}, /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("span", { className: "sia-dropdown__trigger-content", children: [
1533
1561
  children.props.children,
1534
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Icon, { name: "chevron-down", size: 14, className: "sia-dropdown__trigger-icon" })
1562
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Icon, { name: "chevron-down", size: 14, className: "sia-dropdown__trigger-icon" })
1535
1563
  ] })) : children;
1536
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
1564
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
1537
1565
  "span",
1538
1566
  {
1539
1567
  ref: rootRef,
@@ -1546,10 +1574,10 @@ function DropdownRoot({
1546
1574
  onMouseLeave: handleMouseLeave,
1547
1575
  onContextMenu: handleContextMenu,
1548
1576
  onKeyDown: handleKeyDown,
1549
- ...props,
1577
+ ...withTitleTooltip(props),
1550
1578
  children: [
1551
1579
  triggerNode,
1552
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1580
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1553
1581
  "span",
1554
1582
  {
1555
1583
  ref: contextAnchorRef,
@@ -1558,7 +1586,7 @@ function DropdownRoot({
1558
1586
  "aria-hidden": "true"
1559
1587
  }
1560
1588
  ),
1561
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1589
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1562
1590
  PopupPortal,
1563
1591
  {
1564
1592
  ref: popupRef,
@@ -1593,15 +1621,15 @@ function DropdownButton({
1593
1621
  trigger = ["click"],
1594
1622
  ...dropdownProps
1595
1623
  }) {
1596
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("span", { className: `sia-dropdown-button ${className}`.trim(), children: [
1597
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Button, { ...buttonProps, disabled, onClick, children }),
1598
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(DropdownRoot, { ...dropdownProps, disabled, trigger, showTriggerIcon: false, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1624
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("span", { className: `sia-dropdown-button ${className}`.trim(), children: [
1625
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Button, { ...buttonProps, disabled, onClick, children }),
1626
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropdownRoot, { ...dropdownProps, disabled, trigger, showTriggerIcon: false, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1599
1627
  Button,
1600
1628
  {
1601
1629
  ...buttonProps,
1602
1630
  className: `sia-dropdown-button__arrow ${buttonProps?.className ?? ""}`.trim(),
1603
1631
  disabled,
1604
- icon: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Icon, { name: "chevron-down", size: 14 }),
1632
+ icon: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Icon, { name: "chevron-down", size: 14 }),
1605
1633
  "aria-label": "\u5C55\u5F00\u4E0B\u62C9\u83DC\u5355"
1606
1634
  }
1607
1635
  ) })
@@ -1612,8 +1640,170 @@ var Dropdown = Object.assign(DropdownRoot, {
1612
1640
  Button: DropdownButton
1613
1641
  });
1614
1642
 
1615
- // src/components/Tabs.tsx
1643
+ // src/components/Toolbar.tsx
1644
+ var import_jsx_runtime8 = require("react/jsx-runtime");
1645
+ function Toolbar({ items, onAction, disabled = false, size = "small", variant = "link", overflowLabel = "\u66F4\u591A\u64CD\u4F5C" }) {
1646
+ const root = (0, import_react8.useRef)(null);
1647
+ const [visibleCount, setVisibleCount] = (0, import_react8.useState)(Number.MAX_SAFE_INTEGER);
1648
+ const visibleItems = items.filter((item) => !item.hidden);
1649
+ (0, import_react8.useLayoutEffect)(() => {
1650
+ const element = root.current;
1651
+ if (!element) return;
1652
+ const buttons = Array.from(element.querySelectorAll("[data-sia-toolbar-item]"));
1653
+ const more = element.querySelector("[data-sia-toolbar-more]");
1654
+ const measure = () => {
1655
+ const gap = parseFloat(getComputedStyle(element).columnGap) || 0;
1656
+ const widths = buttons.map((button) => button.getBoundingClientRect().width);
1657
+ const total = widths.reduce((sum, width) => sum + width, 0) + Math.max(0, widths.length - 1) * gap;
1658
+ let count = widths.length;
1659
+ if (total > element.clientWidth) {
1660
+ const budget = element.clientWidth - (more?.getBoundingClientRect().width ?? 30);
1661
+ let used = 0;
1662
+ count = 0;
1663
+ for (const width of widths) {
1664
+ if (used + width + gap > budget) break;
1665
+ used += width + gap;
1666
+ count++;
1667
+ }
1668
+ }
1669
+ setVisibleCount((previous) => previous === count ? previous : count);
1670
+ };
1671
+ measure();
1672
+ const observer = new ResizeObserver(measure);
1673
+ observer.observe(element);
1674
+ buttons.forEach((button) => observer.observe(button));
1675
+ return () => observer.disconnect();
1676
+ }, [items, size, variant]);
1677
+ const blocked = (item) => disabled || Boolean(item.disabled || item.loading);
1678
+ const invoke = (key) => {
1679
+ const find = (entries) => {
1680
+ for (const item of entries) {
1681
+ if (item.hidden || blocked(item)) continue;
1682
+ if (item.key === key) return item;
1683
+ const child = item.children && find(item.children);
1684
+ if (child) return child;
1685
+ }
1686
+ };
1687
+ if (find(items)) void onAction?.(key);
1688
+ };
1689
+ const menuItems = (entries) => entries.filter((item) => !item.hidden).map((item) => ({
1690
+ key: item.children?.length ? `toolbar-menu:${item.key}` : item.key,
1691
+ label: item.label,
1692
+ icon: item.icon,
1693
+ disabled: blocked(item),
1694
+ danger: item.danger,
1695
+ children: item.children?.length ? [
1696
+ ...item.split ? [{ key: item.key, label: item.label, icon: item.icon, disabled: blocked(item) }] : [],
1697
+ ...menuItems(item.children)
1698
+ ] : void 0
1699
+ }));
1700
+ const overflow = visibleItems.slice(visibleCount);
1701
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { ref: root, className: "sia-toolbar", role: "toolbar", children: [
1702
+ visibleItems.map((item, index) => {
1703
+ const buttonProps = { size, variant, icon: item.icon, disabled: blocked(item), loading: item.loading, danger: item.danger };
1704
+ const menu = { items: menuItems(item.children ?? []), onClick: ({ key }) => invoke(key) };
1705
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { "data-sia-toolbar-item": true, className: `sia-toolbar__item${index >= visibleCount ? " sia-toolbar__item--hidden" : ""}`, "aria-hidden": index >= visibleCount || void 0, children: item.children?.length ? item.split ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Dropdown.Button, { trigger: ["hover"], menu, disabled: blocked(item), buttonProps, onClick: () => invoke(item.key), children: item.label }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Dropdown, { trigger: ["hover"], menu, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Button, { ...buttonProps, children: item.label }) }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Button, { ...buttonProps, onClick: () => invoke(item.key), children: item.label }) }, item.key);
1706
+ }),
1707
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { "data-sia-toolbar-more": true, className: `sia-toolbar__item${overflow.length ? "" : " sia-toolbar__item--hidden"}`, "aria-hidden": !overflow.length || void 0, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Dropdown, { trigger: ["hover"], menu: { items: menuItems(overflow), onClick: ({ key }) => invoke(key) }, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Button, { size, variant, disabled, "aria-label": overflowLabel, title: overflowLabel, icon: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Icon, { name: "more-horizontal", size: 16 }) }) }) })
1708
+ ] });
1709
+ }
1710
+
1711
+ // src/components/Card.tsx
1712
+ var import_react9 = require("react");
1616
1713
  var import_jsx_runtime9 = require("react/jsx-runtime");
1714
+ function Card({
1715
+ title,
1716
+ description,
1717
+ extra,
1718
+ accent,
1719
+ accentColor,
1720
+ collapsible = false,
1721
+ collapsed,
1722
+ defaultCollapsed = false,
1723
+ onCollapsedChange,
1724
+ bodyHeight,
1725
+ bodyClassName = "",
1726
+ bodyStyle,
1727
+ className = "",
1728
+ style,
1729
+ children,
1730
+ ...props
1731
+ }) {
1732
+ const [internalCollapsed, setInternalCollapsed] = (0, import_react9.useState)(defaultCollapsed);
1733
+ const isCollapsed = collapsed ?? internalCollapsed;
1734
+ const hasHeader = title || extra || collapsible;
1735
+ const mergedStyle = accentColor ? { "--sia-card-accent": accentColor, ...style } : style;
1736
+ const mergedBodyStyle = bodyHeight === void 0 ? { ...bodyStyle } : { height: bodyHeight, overflowY: "auto", ...bodyStyle };
1737
+ function toggleCollapsed() {
1738
+ const nextCollapsed = !isCollapsed;
1739
+ if (collapsed === void 0) setInternalCollapsed(nextCollapsed);
1740
+ onCollapsedChange?.(nextCollapsed);
1741
+ }
1742
+ const heading = /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("span", { className: "sia-card__heading", children: [
1743
+ accent || accentColor ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: `sia-card__accent${accent ? ` sia-card__accent--${accent}` : ""}`, "aria-hidden": "true" }) : null,
1744
+ title ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("h3", { className: "sia-card__title", children: title }) : null
1745
+ ] });
1746
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("section", { className: `sia-card${isCollapsed ? " sia-card--collapsed" : ""} ${className}`.trim(), style: mergedStyle, ...withTitleTooltip(props), children: [
1747
+ hasHeader ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("header", { className: "sia-card__header", children: [
1748
+ collapsible ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("button", { type: "button", className: "sia-card__collapse-trigger", "aria-expanded": !isCollapsed, onClick: toggleCollapsed, children: [
1749
+ heading,
1750
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Icon, { name: isCollapsed ? "chevron-down" : "chevron-up", size: 16 })
1751
+ ] }) : heading,
1752
+ extra ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "sia-card__extra", children: extra }) : null
1753
+ ] }) : null,
1754
+ !isCollapsed ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_jsx_runtime9.Fragment, { children: [
1755
+ description ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("p", { className: "sia-card__description", children: description }) : null,
1756
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: `sia-card__body ${bodyClassName}`.trim(), style: mergedBodyStyle, children })
1757
+ ] }) : null
1758
+ ] });
1759
+ }
1760
+
1761
+ // src/components/Tag.tsx
1762
+ var import_jsx_runtime10 = require("react/jsx-runtime");
1763
+ function Tag({
1764
+ status = "default",
1765
+ compact = false,
1766
+ variant = "soft",
1767
+ icon,
1768
+ closable = false,
1769
+ closeOnHover = false,
1770
+ disabled = false,
1771
+ onClose,
1772
+ className = "",
1773
+ children,
1774
+ ...props
1775
+ }) {
1776
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
1777
+ "span",
1778
+ {
1779
+ className: `sia-tag${closable && closeOnHover ? " sia-tag--close-on-hover" : ""} sia-tag--${status} sia-tag--${variant}${compact ? " sia-tag--compact" : ""}${disabled ? " sia-tag--disabled" : ""} ${className}`.trim(),
1780
+ "aria-disabled": disabled || void 0,
1781
+ ...withTitleTooltip(props),
1782
+ children: [
1783
+ icon ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "sia-tag__icon", children: icon }) : null,
1784
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { children }),
1785
+ closable ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1786
+ "button",
1787
+ {
1788
+ type: "button",
1789
+ className: "sia-tag__close",
1790
+ "aria-label": "\u79FB\u9664\u6807\u7B7E",
1791
+ disabled,
1792
+ onClick: (event) => {
1793
+ event.stopPropagation();
1794
+ onClose?.(event);
1795
+ },
1796
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Icon, { name: "close", size: 12 })
1797
+ }
1798
+ ) : null
1799
+ ]
1800
+ }
1801
+ );
1802
+ }
1803
+
1804
+ // src/components/Tabs.tsx
1805
+ var import_react10 = require("react");
1806
+ var import_jsx_runtime11 = require("react/jsx-runtime");
1617
1807
  function Tabs({
1618
1808
  items,
1619
1809
  activeKey,
@@ -1635,17 +1825,17 @@ function Tabs({
1635
1825
  ...props
1636
1826
  }) {
1637
1827
  const firstEnabledKey = items.find((item) => !item.disabled)?.key ?? "";
1638
- const [internalActiveKey, setInternalActiveKey] = (0, import_react8.useState)(defaultActiveKey ?? firstEnabledKey);
1828
+ const [internalActiveKey, setInternalActiveKey] = (0, import_react10.useState)(defaultActiveKey ?? firstEnabledKey);
1639
1829
  const currentKey = activeKey ?? internalActiveKey;
1640
1830
  const selectedKey = items.some((item) => item.key === currentKey && !item.disabled) ? currentKey : firstEnabledKey;
1641
- const baseId = (0, import_react8.useId)().replace(/:/g, "");
1642
- const enabledItems = (0, import_react8.useMemo)(() => items.filter((item) => !item.disabled), [items]);
1831
+ const baseId = (0, import_react10.useId)().replace(/:/g, "");
1832
+ const enabledItems = (0, import_react10.useMemo)(() => items.filter((item) => !item.disabled), [items]);
1643
1833
  const resolvedPosition = tabPosition ?? (orientation === "vertical" ? "left" : "top");
1644
1834
  const resolvedOrientation = resolvedPosition === "left" || resolvedPosition === "right" ? "vertical" : "horizontal";
1645
1835
  const sliding = ["capsule", "line", "underline", "tech", "tech-line"].includes(type);
1646
- const listRef = (0, import_react8.useRef)(null);
1647
- const indicatorRef = (0, import_react8.useRef)(null);
1648
- (0, import_react8.useLayoutEffect)(() => {
1836
+ const listRef = (0, import_react10.useRef)(null);
1837
+ const indicatorRef = (0, import_react10.useRef)(null);
1838
+ (0, import_react10.useLayoutEffect)(() => {
1649
1839
  if (!sliding) return;
1650
1840
  const list = listRef.current;
1651
1841
  const indicator = indicatorRef.current;
@@ -1696,25 +1886,25 @@ function Tabs({
1696
1886
  focusAndSelect(enabledItems[nextIndex].key);
1697
1887
  }
1698
1888
  const hasPanels = items.some((item) => item.children !== void 0);
1699
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
1889
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1700
1890
  "div",
1701
1891
  {
1702
1892
  className: `sia-tabs sia-tabs--${type}${type === "underline" ? " sia-tabs--line" : ""} sia-tabs--${size} sia-tabs--${resolvedOrientation} sia-tabs--${resolvedPosition}${centered ? " sia-tabs--centered" : ""} ${className}`.trim(),
1703
- ...props,
1893
+ ...withTitleTooltip(props),
1704
1894
  children: [
1705
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "sia-tabs__header", children: [
1706
- tabBarTitle ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "sia-tabs__title", children: [
1895
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "sia-tabs__header", children: [
1896
+ tabBarTitle ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "sia-tabs__title", children: [
1707
1897
  tabBarTitle,
1708
- type === "tech-line" ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("svg", { className: "sia-tabs__title-connector", viewBox: "0 0 32 40", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("path", { d: "M0 39 H5 Q8 39 10 35 L28 3 Q29 1 32 1", fill: "none", stroke: "currentColor", strokeWidth: "1.5" }) }) : null
1898
+ type === "tech-line" ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("svg", { className: "sia-tabs__title-connector", viewBox: "0 0 32 40", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("path", { d: "M0 39 H5 Q8 39 10 35 L28 3 Q29 1 32 1", fill: "none", stroke: "currentColor", strokeWidth: "1.5" }) }) : null
1709
1899
  ] }) : null,
1710
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { ref: listRef, className: `sia-tabs__list${sliding ? " sia-tabs__list--sliding" : ""}`, role: "tablist", "aria-orientation": resolvedOrientation, children: [
1711
- sliding ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { ref: indicatorRef, className: `sia-tabs__indicator${type === "capsule" ? " sia-tabs__capsule-indicator" : ""}`, "aria-hidden": "true", children: type === "tech-line" ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("svg", { className: "sia-tabs__indicator-shape", viewBox: "0 0 100 34", preserveAspectRatio: "none", "aria-hidden": "true", children: [
1712
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("linearGradient", { id: `${baseId}-tab-fill-indicator`, x1: "0", y1: "0", x2: "1", y2: "0", children: [
1713
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("stop", { offset: "0", stopColor: "var(--sia-tabs-line-fill-edge, var(--sia-tabs-line-fill))" }),
1714
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("stop", { offset: ".53", stopColor: "var(--sia-tabs-line-fill-center, var(--sia-tabs-line-fill))" }),
1715
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("stop", { offset: "1", stopColor: "var(--sia-tabs-line-fill-edge, var(--sia-tabs-line-fill))" })
1900
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { ref: listRef, className: `sia-tabs__list${sliding ? " sia-tabs__list--sliding" : ""}`, role: "tablist", "aria-orientation": resolvedOrientation, children: [
1901
+ sliding ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { ref: indicatorRef, className: `sia-tabs__indicator${type === "capsule" ? " sia-tabs__capsule-indicator" : ""}`, "aria-hidden": "true", children: type === "tech-line" ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("svg", { className: "sia-tabs__indicator-shape", viewBox: "0 0 100 34", preserveAspectRatio: "none", "aria-hidden": "true", children: [
1902
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("linearGradient", { id: `${baseId}-tab-fill-indicator`, x1: "0", y1: "0", x2: "1", y2: "0", children: [
1903
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("stop", { offset: "0", stopColor: "var(--sia-tabs-line-fill-edge, var(--sia-tabs-line-fill))" }),
1904
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("stop", { offset: ".53", stopColor: "var(--sia-tabs-line-fill-center, var(--sia-tabs-line-fill))" }),
1905
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("stop", { offset: "1", stopColor: "var(--sia-tabs-line-fill-edge, var(--sia-tabs-line-fill))" })
1716
1906
  ] }) }),
1717
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1907
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1718
1908
  "path",
1719
1909
  {
1720
1910
  d: "M19 1 H96 Q99 1 97.5 4 L83.5 30 Q82 33 79 33 H4 Q1 33 2.5 30 L16.5 4 Q18 1 19 1 Z",
@@ -1728,8 +1918,8 @@ function Tabs({
1728
1918
  items.map((item) => {
1729
1919
  const selected = item.key === selectedKey;
1730
1920
  const canClose = item.closable ?? closable;
1731
- const tabNode = /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("span", { className: `sia-tabs__tab-wrap${canClose ? " is-closable" : ""}`, children: [
1732
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
1921
+ const tabNode = /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: `sia-tabs__tab-wrap${canClose ? " is-closable" : ""}`, children: [
1922
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1733
1923
  "button",
1734
1924
  {
1735
1925
  id: `${baseId}-tab-${item.key}`,
@@ -1743,13 +1933,13 @@ function Tabs({
1743
1933
  onClick: () => selectTab(item.key),
1744
1934
  onKeyDown: (event) => handleKeyDown(event, item.key),
1745
1935
  children: [
1746
- type === "tech-line" ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("svg", { className: "sia-tabs__tab-shape", viewBox: "0 0 100 34", preserveAspectRatio: "none", "aria-hidden": "true", children: [
1747
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("linearGradient", { id: `${baseId}-tab-fill-${item.key}`, x1: "0", y1: "0", x2: "1", y2: "0", children: [
1748
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("stop", { offset: "0", stopColor: "var(--sia-tabs-line-fill-edge, var(--sia-tabs-line-fill))" }),
1749
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("stop", { offset: ".53", stopColor: "var(--sia-tabs-line-fill-center, var(--sia-tabs-line-fill))" }),
1750
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("stop", { offset: "1", stopColor: "var(--sia-tabs-line-fill-edge, var(--sia-tabs-line-fill))" })
1936
+ type === "tech-line" ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("svg", { className: "sia-tabs__tab-shape", viewBox: "0 0 100 34", preserveAspectRatio: "none", "aria-hidden": "true", children: [
1937
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("linearGradient", { id: `${baseId}-tab-fill-${item.key}`, x1: "0", y1: "0", x2: "1", y2: "0", children: [
1938
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("stop", { offset: "0", stopColor: "var(--sia-tabs-line-fill-edge, var(--sia-tabs-line-fill))" }),
1939
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("stop", { offset: ".53", stopColor: "var(--sia-tabs-line-fill-center, var(--sia-tabs-line-fill))" }),
1940
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("stop", { offset: "1", stopColor: "var(--sia-tabs-line-fill-edge, var(--sia-tabs-line-fill))" })
1751
1941
  ] }) }),
1752
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1942
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1753
1943
  "path",
1754
1944
  {
1755
1945
  d: "M19 1 H96 Q99 1 97.5 4 L83.5 30 Q82 33 79 33 H4 Q1 33 2.5 30 L16.5 4 Q18 1 19 1 Z",
@@ -1760,12 +1950,12 @@ function Tabs({
1760
1950
  }
1761
1951
  )
1762
1952
  ] }) : null,
1763
- item.icon ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "sia-tabs__icon", children: item.icon }) : null,
1764
- /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { children: item.label })
1953
+ item.icon ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "sia-tabs__icon", children: item.icon }) : null,
1954
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { children: item.label })
1765
1955
  ]
1766
1956
  }
1767
1957
  ),
1768
- canClose ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1958
+ canClose ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1769
1959
  "button",
1770
1960
  {
1771
1961
  type: "button",
@@ -1773,13 +1963,13 @@ function Tabs({
1773
1963
  "aria-label": `\u5173\u95ED${typeof item.label === "string" ? item.label : "\u6807\u7B7E\u9875"}`,
1774
1964
  disabled: item.disabled,
1775
1965
  onClick: () => onEdit?.(item.key, "remove"),
1776
- children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Icon, { name: "close", size: 12 })
1966
+ children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Icon, { name: "close", size: 12 })
1777
1967
  }
1778
1968
  ) : null
1779
1969
  ] }, item.key);
1780
1970
  const contextMenuItems = typeof tabContextMenu === "function" ? tabContextMenu(item) : tabContextMenu;
1781
1971
  if (!contextMenuItems?.length) return tabNode;
1782
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1972
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1783
1973
  Dropdown,
1784
1974
  {
1785
1975
  className: "sia-tabs__tab-context-trigger",
@@ -1797,12 +1987,12 @@ function Tabs({
1797
1987
  );
1798
1988
  })
1799
1989
  ] }),
1800
- tabBarExtraContent ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "sia-tabs__extra", children: tabBarExtraContent }) : null
1990
+ tabBarExtraContent ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "sia-tabs__extra", children: tabBarExtraContent }) : null
1801
1991
  ] }),
1802
- hasPanels ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "sia-tabs__panels", children: items.map((item) => {
1992
+ hasPanels ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "sia-tabs__panels", children: items.map((item) => {
1803
1993
  const selected = item.key === selectedKey;
1804
1994
  if (destroyInactiveTabPane && !selected) return null;
1805
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1995
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1806
1996
  "div",
1807
1997
  {
1808
1998
  id: `${baseId}-panel-${item.key}`,
@@ -1822,26 +2012,26 @@ function Tabs({
1822
2012
  }
1823
2013
 
1824
2014
  // src/components/Feedback.tsx
1825
- var import_react11 = require("react");
2015
+ var import_react13 = require("react");
1826
2016
  var import_react_dom3 = require("react-dom");
1827
- var import_client = require("react-dom/client");
2017
+ var import_client2 = require("react-dom/client");
1828
2018
 
1829
2019
  // src/components/FloatingDisplay.tsx
1830
- var import_react10 = require("react");
2020
+ var import_react12 = require("react");
1831
2021
  var import_react_dom2 = require("react-dom");
1832
2022
 
1833
2023
  // src/components/Checkbox.tsx
1834
- var import_react9 = require("react");
1835
- var import_jsx_runtime10 = require("react/jsx-runtime");
1836
- var CheckboxGroupContext = (0, import_react9.createContext)(null);
1837
- var CheckboxRoot = (0, import_react9.forwardRef)(function Checkbox({ value, size: sizeProp, indeterminate = false, children, disabled, checked, defaultChecked, className = "", onChange, ...props }, forwardedRef) {
2024
+ var import_react11 = require("react");
2025
+ var import_jsx_runtime12 = require("react/jsx-runtime");
2026
+ var CheckboxGroupContext = (0, import_react11.createContext)(null);
2027
+ var CheckboxRoot = (0, import_react11.forwardRef)(function Checkbox({ value, size: sizeProp, indeterminate = false, children, disabled, checked, defaultChecked, className = "", onChange, ...props }, forwardedRef) {
1838
2028
  const size = useControlSize(sizeProp);
1839
- const group = (0, import_react9.useContext)(CheckboxGroupContext);
1840
- const localRef = (0, import_react9.useRef)(null);
1841
- const fallbackId = (0, import_react9.useId)();
2029
+ const group = (0, import_react11.useContext)(CheckboxGroupContext);
2030
+ const localRef = (0, import_react11.useRef)(null);
2031
+ const fallbackId = (0, import_react11.useId)();
1842
2032
  const grouped = group !== null && value !== void 0;
1843
2033
  const currentChecked = grouped ? group.values.includes(value) : checked;
1844
- (0, import_react9.useEffect)(() => {
2034
+ (0, import_react11.useEffect)(() => {
1845
2035
  if (localRef.current) localRef.current.indeterminate = indeterminate;
1846
2036
  }, [indeterminate]);
1847
2037
  function setRef(node) {
@@ -1849,11 +2039,11 @@ var CheckboxRoot = (0, import_react9.forwardRef)(function Checkbox({ value, size
1849
2039
  if (typeof forwardedRef === "function") forwardedRef(node);
1850
2040
  else if (forwardedRef) forwardedRef.current = node;
1851
2041
  }
1852
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("label", { className: `sia-checkbox sia-checkbox--${size}${disabled || group?.disabled ? " is-disabled" : ""} ${className}`.trim(), children: [
1853
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
2042
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("label", { className: `sia-checkbox sia-checkbox--${size}${disabled || group?.disabled ? " is-disabled" : ""} ${className}`.trim(), children: [
2043
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1854
2044
  "input",
1855
2045
  {
1856
- ...props,
2046
+ ...withTitleTooltip(props),
1857
2047
  ref: setRef,
1858
2048
  id: props.id ?? fallbackId,
1859
2049
  className: "sia-checkbox__input",
@@ -1869,8 +2059,8 @@ var CheckboxRoot = (0, import_react9.forwardRef)(function Checkbox({ value, size
1869
2059
  }
1870
2060
  }
1871
2061
  ),
1872
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "sia-checkbox__control", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", {}) }),
1873
- children !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "sia-checkbox__label", children }) : null
2062
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "sia-checkbox__control", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", {}) }),
2063
+ children !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "sia-checkbox__label", children }) : null
1874
2064
  ] });
1875
2065
  });
1876
2066
  function CheckboxGroup({
@@ -1886,7 +2076,7 @@ function CheckboxGroup({
1886
2076
  }) {
1887
2077
  const size = useControlSize(sizeProp);
1888
2078
  const [values, setValues] = useControllableState({ value, defaultValue, onChange });
1889
- const context = (0, import_react9.useMemo)(() => ({
2079
+ const context = (0, import_react11.useMemo)(() => ({
1890
2080
  values,
1891
2081
  disabled,
1892
2082
  name,
@@ -1895,10 +2085,10 @@ function CheckboxGroup({
1895
2085
  setValues(next);
1896
2086
  }
1897
2087
  }), [disabled, name, setValues, values]);
1898
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ControlSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(CheckboxGroupContext.Provider, { value: context, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: `sia-checkbox-group ${className}`.trim(), role: "group", children: [
2088
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ControlSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CheckboxGroupContext.Provider, { value: context, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: `sia-checkbox-group ${className}`.trim(), role: "group", children: [
1899
2089
  options?.map((option) => {
1900
2090
  const normalized = typeof option === "object" ? option : { label: String(option), value: option };
1901
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(CheckboxRoot, { value: normalized.value, disabled: normalized.disabled, children: normalized.label }, normalized.value);
2091
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CheckboxRoot, { value: normalized.value, disabled: normalized.disabled, children: normalized.label }, normalized.value);
1902
2092
  }),
1903
2093
  children
1904
2094
  ] }) }) });
@@ -1909,7 +2099,7 @@ var Checkbox2 = Object.assign(CheckboxRoot, {
1909
2099
  });
1910
2100
 
1911
2101
  // src/components/FloatingDisplay.tsx
1912
- var import_jsx_runtime11 = require("react/jsx-runtime");
2102
+ var import_jsx_runtime13 = require("react/jsx-runtime");
1913
2103
  var FLOATING_GAP = 9;
1914
2104
  var FLOATING_VIEWPORT_PADDING = 8;
1915
2105
  var FLOATING_ARROW_EDGE_OFFSET = 16;
@@ -1965,17 +2155,17 @@ function Floating({
1965
2155
  role = "tooltip",
1966
2156
  onOpenChange
1967
2157
  }) {
1968
- const rootRef = (0, import_react10.useRef)(null);
1969
- const overlayRef = (0, import_react10.useRef)(null);
1970
- const enterTimer = (0, import_react10.useRef)();
1971
- const leaveTimer = (0, import_react10.useRef)();
1972
- const contentId = (0, import_react10.useId)();
2158
+ const rootRef = (0, import_react12.useRef)(null);
2159
+ const overlayRef = (0, import_react12.useRef)(null);
2160
+ const enterTimer = (0, import_react12.useRef)();
2161
+ const leaveTimer = (0, import_react12.useRef)();
2162
+ const contentId = (0, import_react12.useId)();
1973
2163
  const triggers = Array.isArray(trigger) ? trigger : [trigger];
1974
2164
  const [visible, setVisible] = useControllableState({ value: open, defaultValue: defaultOpen, onChange: onOpenChange });
1975
- const [position, setPosition] = (0, import_react10.useState)();
1976
- const setVisibleRef = (0, import_react10.useRef)(setVisible);
2165
+ const [position, setPosition] = (0, import_react12.useState)();
2166
+ const setVisibleRef = (0, import_react12.useRef)(setVisible);
1977
2167
  setVisibleRef.current = setVisible;
1978
- const closeSelfRef = (0, import_react10.useRef)();
2168
+ const closeSelfRef = (0, import_react12.useRef)();
1979
2169
  if (!closeSelfRef.current) closeSelfRef.current = () => setVisibleRef.current(false);
1980
2170
  const exclusiveTooltip = role === "tooltip" && triggers.includes("hover");
1981
2171
  function openNow() {
@@ -2003,7 +2193,7 @@ function Floating({
2003
2193
  if (delay <= 0) closeNow();
2004
2194
  else leaveTimer.current = window.setTimeout(closeNow, delay * 1e3);
2005
2195
  }
2006
- (0, import_react10.useEffect)(() => {
2196
+ (0, import_react12.useEffect)(() => {
2007
2197
  if (!visible || !triggers.includes("click")) return;
2008
2198
  const close = (event) => {
2009
2199
  const target = event.target;
@@ -2012,7 +2202,7 @@ function Floating({
2012
2202
  document.addEventListener("pointerdown", close);
2013
2203
  return () => document.removeEventListener("pointerdown", close);
2014
2204
  }, [triggers.join("|"), visible]);
2015
- (0, import_react10.useLayoutEffect)(() => {
2205
+ (0, import_react12.useLayoutEffect)(() => {
2016
2206
  if (!visible) {
2017
2207
  setPosition(void 0);
2018
2208
  return;
@@ -2033,11 +2223,11 @@ function Floating({
2033
2223
  observer.disconnect();
2034
2224
  };
2035
2225
  }, [children, content, placement, visible]);
2036
- (0, import_react10.useEffect)(() => () => {
2226
+ (0, import_react12.useEffect)(() => () => {
2037
2227
  clearTimers();
2038
2228
  if (activeTooltipClose === closeSelfRef.current) activeTooltipClose = void 0;
2039
2229
  }, []);
2040
- const child = (0, import_react10.cloneElement)(children, {
2230
+ const child = (0, import_react12.cloneElement)(children, {
2041
2231
  ...triggers.includes("hover") ? { onMouseEnter: (event) => {
2042
2232
  children.props.onMouseEnter?.(event);
2043
2233
  show(mouseEnterDelay);
@@ -2060,7 +2250,7 @@ function Floating({
2060
2250
  "aria-describedby": visible ? contentId : void 0
2061
2251
  });
2062
2252
  const overlay = visible && content !== null && content !== void 0 && typeof document !== "undefined" ? (0, import_react_dom2.createPortal)(
2063
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
2253
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
2064
2254
  "span",
2065
2255
  {
2066
2256
  ref: overlayRef,
@@ -2080,23 +2270,23 @@ function Floating({
2080
2270
  onMouseLeave: triggers.includes("hover") ? () => hide(mouseLeaveDelay) : void 0,
2081
2271
  children: [
2082
2272
  content,
2083
- arrow ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "sia-floating__arrow" }) : null
2273
+ arrow ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "sia-floating__arrow" }) : null
2084
2274
  ]
2085
2275
  }
2086
2276
  ),
2087
2277
  document.body
2088
2278
  ) : null;
2089
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
2090
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { ref: rootRef, className: `sia-floating ${className}`.trim(), children: child }),
2279
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
2280
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { ref: rootRef, className: `sia-floating ${className}`.trim(), children: child }),
2091
2281
  overlay
2092
2282
  ] });
2093
2283
  }
2094
2284
  function Tooltip(props) {
2095
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Floating, { ...props, content: props.title });
2285
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Floating, { ...props, content: props.title });
2096
2286
  }
2097
2287
 
2098
2288
  // src/components/Feedback.tsx
2099
- var import_jsx_runtime12 = require("react/jsx-runtime");
2289
+ var import_jsx_runtime14 = require("react/jsx-runtime");
2100
2290
  function Progress({
2101
2291
  percent = 0,
2102
2292
  type = "line",
@@ -2118,35 +2308,35 @@ function Progress({
2118
2308
  const resolved = status ?? (safe >= 100 ? "success" : "normal");
2119
2309
  const color = typeof strokeColor === "string" ? strokeColor : void 0;
2120
2310
  const background = typeof strokeColor === "object" ? `linear-gradient(90deg, ${strokeColor.from}, ${strokeColor.to})` : color;
2121
- const label = format?.(safe, success?.percent) ?? (resolved === "exception" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Icon, { name: "close" }) : resolved === "success" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Icon, { name: "check" }) : `${safe}%`);
2311
+ const label = format?.(safe, success?.percent) ?? (resolved === "exception" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Icon, { name: "close" }) : resolved === "success" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Icon, { name: "check" }) : `${safe}%`);
2122
2312
  if (type !== "line") {
2123
2313
  const radius = 46;
2124
2314
  const circumference = 2 * Math.PI * radius;
2125
2315
  const dash = circumference * (safe / 100);
2126
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: `sia-progress sia-progress--${type} sia-progress--${resolved} ${className}`.trim(), style: { width, height: width, ...style }, ...props, children: [
2127
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("svg", { viewBox: "0 0 100 100", role: "progressbar", "aria-valuenow": safe, children: [
2128
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("circle", { className: "sia-progress__trail", cx: "50", cy: "50", r: radius, style: { stroke: trailColor } }),
2129
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("circle", { className: "sia-progress__circle", cx: "50", cy: "50", r: radius, style: { stroke: color, strokeDasharray: type === "dashboard" ? `${circumference * 0.75} ${circumference * 0.25}` : circumference, strokeDashoffset: (type === "dashboard" ? circumference * 0.75 : circumference) - dash * (type === "dashboard" ? 0.75 : 1), strokeWidth } })
2316
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: `sia-progress sia-progress--${type} sia-progress--${resolved} ${className}`.trim(), style: { width, height: width, ...style }, ...withTitleTooltip(props), children: [
2317
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("svg", { viewBox: "0 0 100 100", role: "progressbar", "aria-valuenow": safe, children: [
2318
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("circle", { className: "sia-progress__trail", cx: "50", cy: "50", r: radius, style: { stroke: trailColor } }),
2319
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("circle", { className: "sia-progress__circle", cx: "50", cy: "50", r: radius, style: { stroke: color, strokeDasharray: type === "dashboard" ? `${circumference * 0.75} ${circumference * 0.25}` : circumference, strokeDashoffset: (type === "dashboard" ? circumference * 0.75 : circumference) - dash * (type === "dashboard" ? 0.75 : 1), strokeWidth } })
2130
2320
  ] }),
2131
- showInfo ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "sia-progress__text", children: label }) : null
2321
+ showInfo ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "sia-progress__text", children: label }) : null
2132
2322
  ] });
2133
2323
  }
2134
2324
  const height = Array.isArray(size) ? size[1] : typeof size === "number" ? size : size === "small" ? 6 : strokeWidth;
2135
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: `sia-progress sia-progress--line sia-progress--${resolved} ${className}`.trim(), style, ...props, children: [
2136
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "sia-progress__outer", style: { height, backgroundColor: trailColor }, children: steps ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "sia-progress__steps", children: Array.from({ length: steps }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: index < Math.round(steps * safe / 100) ? "is-active" : "", style: { background: index < Math.round(steps * safe / 100) ? background : trailColor } }, index)) }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
2137
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "sia-progress__bar", style: { width: `${safe}%`, background } }),
2138
- success?.percent ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "sia-progress__success", style: { width: `${success.percent}%`, background: success.strokeColor } }) : null
2325
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: `sia-progress sia-progress--line sia-progress--${resolved} ${className}`.trim(), style, ...withTitleTooltip(props), children: [
2326
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "sia-progress__outer", style: { height, backgroundColor: trailColor }, children: steps ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "sia-progress__steps", children: Array.from({ length: steps }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: index < Math.round(steps * safe / 100) ? "is-active" : "", style: { background: index < Math.round(steps * safe / 100) ? background : trailColor } }, index)) }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
2327
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "sia-progress__bar", style: { width: `${safe}%`, background } }),
2328
+ success?.percent ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "sia-progress__success", style: { width: `${success.percent}%`, background: success.strokeColor } }) : null
2139
2329
  ] }) }),
2140
- showInfo ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "sia-progress__info", children: label }) : null
2330
+ showInfo ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "sia-progress__info", children: label }) : null
2141
2331
  ] });
2142
2332
  }
2143
2333
 
2144
2334
  // src/components/DataDisplay.tsx
2145
- var import_react13 = require("react");
2335
+ var import_react15 = require("react");
2146
2336
  var import_react_dom5 = require("react-dom");
2147
2337
 
2148
2338
  // src/components/Overlay.tsx
2149
- var import_react12 = require("react");
2339
+ var import_react14 = require("react");
2150
2340
  var import_react_dom4 = require("react-dom");
2151
2341
  var bodyLockCount = 0;
2152
2342
  var previousBodyOverflow = "";
@@ -2168,10 +2358,10 @@ function focusableElements(container) {
2168
2358
  )].filter((element) => !element.hidden && element.getAttribute("aria-hidden") !== "true");
2169
2359
  }
2170
2360
  function useOverlayLifecycle(open, panelRef, onRequestClose, keyboard = true) {
2171
- const overlayIdRef = (0, import_react12.useRef)(/* @__PURE__ */ Symbol("sia-overlay"));
2172
- const closeRef = (0, import_react12.useRef)(onRequestClose);
2361
+ const overlayIdRef = (0, import_react14.useRef)(/* @__PURE__ */ Symbol("sia-overlay"));
2362
+ const closeRef = (0, import_react14.useRef)(onRequestClose);
2173
2363
  closeRef.current = onRequestClose;
2174
- (0, import_react12.useEffect)(() => {
2364
+ (0, import_react14.useEffect)(() => {
2175
2365
  if (!open || typeof document === "undefined") return void 0;
2176
2366
  const overlayId = overlayIdRef.current;
2177
2367
  const previouslyFocused = document.activeElement instanceof HTMLElement ? document.activeElement : null;
@@ -2225,26 +2415,26 @@ function OverlayPortal({ children, container }) {
2225
2415
  }
2226
2416
 
2227
2417
  // src/components/DataDisplay.tsx
2228
- var import_jsx_runtime13 = require("react/jsx-runtime");
2418
+ var import_jsx_runtime15 = require("react/jsx-runtime");
2229
2419
  function BadgeRibbon({ text, color, placement = "end", className = "", children, ...props }) {
2230
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: `sia-ribbon-wrap ${className}`.trim(), ...props, children: [
2420
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: `sia-ribbon-wrap ${className}`.trim(), ...withTitleTooltip(props), children: [
2231
2421
  children,
2232
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: `sia-ribbon sia-ribbon--${placement}`, style: { backgroundColor: color }, children: text })
2422
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: `sia-ribbon sia-ribbon--${placement}`, style: { backgroundColor: color }, children: text })
2233
2423
  ] });
2234
2424
  }
2235
2425
  function Badge({ count, showZero = false, overflowCount = 99, dot = false, status, text, color, offset = [0, 0], size = "default", className = "", children, style, ...props }) {
2236
2426
  const numeric = typeof count === "number";
2237
2427
  const hidden = !dot && !status && (count === void 0 || count === null || count === 0 && !showZero);
2238
2428
  const display = numeric && count > overflowCount ? `${overflowCount}+` : count;
2239
- const badge = !hidden ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("sup", { className: `sia-badge__count${dot || status ? " sia-badge__dot" : ""}${status ? ` sia-badge__dot--${status}` : ""} sia-badge__count--${size}`, style: { backgroundColor: color, transform: `translate(calc(50% + ${offset[0]}px), calc(-50% + ${offset[1]}px))` }, children: dot || status ? null : display }) : null;
2240
- if (status && !children) return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("span", { className: `sia-badge sia-badge--status ${className}`.trim(), style, ...props, children: [
2429
+ const badge = !hidden ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("sup", { className: `sia-badge__count${dot || status ? " sia-badge__dot" : ""}${status ? ` sia-badge__dot--${status}` : ""} sia-badge__count--${size}`, style: { backgroundColor: color, transform: `translate(calc(50% + ${offset[0]}px), calc(-50% + ${offset[1]}px))` }, children: dot || status ? null : display }) : null;
2430
+ if (status && !children) return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: `sia-badge sia-badge--status ${className}`.trim(), style, ...withTitleTooltip(props), children: [
2241
2431
  badge,
2242
- text ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "sia-badge__text", children: text }) : null
2432
+ text ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "sia-badge__text", children: text }) : null
2243
2433
  ] });
2244
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("span", { className: `sia-badge ${className}`.trim(), style, ...props, children: [
2434
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: `sia-badge ${className}`.trim(), style, ...withTitleTooltip(props), children: [
2245
2435
  children,
2246
2436
  badge,
2247
- text && !status ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "sia-badge__text", children: text }) : null
2437
+ text && !status ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "sia-badge__text", children: text }) : null
2248
2438
  ] });
2249
2439
  }
2250
2440
  Badge.Ribbon = BadgeRibbon;
@@ -2254,8 +2444,8 @@ function CollapsePanel({
2254
2444
  destroyInactivePanel = false,
2255
2445
  children
2256
2446
  }) {
2257
- const [keepChildren, setKeepChildren] = (0, import_react13.useState)(open || forceRender || !destroyInactivePanel);
2258
- (0, import_react13.useEffect)(() => {
2447
+ const [keepChildren, setKeepChildren] = (0, import_react15.useState)(open || forceRender || !destroyInactivePanel);
2448
+ (0, import_react15.useEffect)(() => {
2259
2449
  if (open || forceRender || !destroyInactivePanel) {
2260
2450
  setKeepChildren(true);
2261
2451
  return void 0;
@@ -2264,12 +2454,12 @@ function CollapsePanel({
2264
2454
  return () => window.clearTimeout(timer);
2265
2455
  }, [destroyInactivePanel, forceRender, open]);
2266
2456
  const renderChildren = open || forceRender || !destroyInactivePanel || keepChildren;
2267
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "sia-collapse__panel", "aria-hidden": !open, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "sia-collapse__panel-motion", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "sia-collapse__panel-body", children: renderChildren ? children : null }) }) });
2457
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "sia-collapse__panel", "aria-hidden": !open, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "sia-collapse__panel-motion", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "sia-collapse__panel-body", children: renderChildren ? children : null }) }) });
2268
2458
  }
2269
2459
  function Collapse({ items, activeKey, defaultActiveKey = [], accordion = false, bordered = true, ghost = false, destroyInactivePanel = false, expandIconPosition = "start", onChange, className = "", ...props }) {
2270
2460
  const normalize = (key) => Array.isArray(key) ? [...key] : key === void 0 ? [] : [key];
2271
2461
  const controlled = activeKey !== void 0;
2272
- const [internal, setInternal] = (0, import_react13.useState)(normalize(defaultActiveKey));
2462
+ const [internal, setInternal] = (0, import_react15.useState)(normalize(defaultActiveKey));
2273
2463
  const openKeys = controlled ? normalize(activeKey) : internal;
2274
2464
  function toggle(item) {
2275
2465
  if (item.disabled || item.collapsible === "disabled") return;
@@ -2279,54 +2469,54 @@ function Collapse({ items, activeKey, defaultActiveKey = [], accordion = false,
2279
2469
  onChange?.(accordion ? next[0] ?? "" : next);
2280
2470
  }
2281
2471
  const borderClassName = !bordered || ghost ? "sia-collapse--borderless" : "sia-collapse--bordered";
2282
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: `sia-collapse ${borderClassName}${ghost ? " sia-collapse--ghost" : ""} sia-collapse--icon-${expandIconPosition} ${className}`.trim(), ...props, children: items.map((item) => {
2472
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: `sia-collapse ${borderClassName}${ghost ? " sia-collapse--ghost" : ""} sia-collapse--icon-${expandIconPosition} ${className}`.trim(), ...withTitleTooltip(props), children: items.map((item) => {
2283
2473
  const open = openKeys.includes(item.key);
2284
- const arrow = item.showArrow === false ? null : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("button", { type: "button", className: "sia-collapse__arrow", "aria-label": open ? "\u6536\u8D77" : "\u5C55\u5F00", onClick: item.collapsible === "icon" ? () => toggle(item) : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Icon, { name: "chevron-right", size: 14 }) });
2285
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("section", { className: `sia-collapse__item${open ? " is-open" : ""}${item.disabled ? " is-disabled" : ""} ${item.className ?? ""}`.trim(), children: [
2286
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("header", { className: "sia-collapse__header", role: "button", tabIndex: item.disabled ? -1 : 0, "aria-expanded": open, onClick: item.collapsible === "icon" ? void 0 : () => toggle(item), onKeyDown: (event) => {
2474
+ const arrow = item.showArrow === false ? null : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("button", { type: "button", className: "sia-collapse__arrow", "aria-label": open ? "\u6536\u8D77" : "\u5C55\u5F00", onClick: item.collapsible === "icon" ? () => toggle(item) : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Icon, { name: "chevron-right", size: 14 }) });
2475
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("section", { className: `sia-collapse__item${open ? " is-open" : ""}${item.disabled ? " is-disabled" : ""} ${item.className ?? ""}`.trim(), children: [
2476
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("header", { className: "sia-collapse__header", role: "button", tabIndex: item.disabled ? -1 : 0, "aria-expanded": open, onClick: item.collapsible === "icon" ? void 0 : () => toggle(item), onKeyDown: (event) => {
2287
2477
  if (event.key === "Enter" || event.key === " ") {
2288
2478
  event.preventDefault();
2289
2479
  toggle(item);
2290
2480
  }
2291
2481
  }, children: [
2292
2482
  expandIconPosition === "start" ? arrow : null,
2293
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "sia-collapse__label", children: item.label }),
2294
- item.extra ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "sia-collapse__extra", onClick: (event) => event.stopPropagation(), children: item.extra }) : null,
2483
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "sia-collapse__label", children: item.label }),
2484
+ item.extra ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "sia-collapse__extra", onClick: (event) => event.stopPropagation(), children: item.extra }) : null,
2295
2485
  expandIconPosition === "end" ? arrow : null
2296
2486
  ] }),
2297
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(CollapsePanel, { open, forceRender: item.forceRender, destroyInactivePanel, children: item.children })
2487
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(CollapsePanel, { open, forceRender: item.forceRender, destroyInactivePanel, children: item.children })
2298
2488
  ] }, item.key);
2299
2489
  }) });
2300
2490
  }
2301
2491
 
2302
2492
  // src/components/FloatingPlaceholder.tsx
2303
- var import_jsx_runtime14 = require("react/jsx-runtime");
2493
+ var import_jsx_runtime16 = require("react/jsx-runtime");
2304
2494
  function useFloatingPlaceholder({ mode, placeholder, filled, active = false }) {
2305
2495
  const enabled = usePlaceholderMode(mode) === "floating" && Boolean(placeholder);
2306
2496
  return {
2307
2497
  enabled,
2308
2498
  className: enabled ? ` sia-placeholder-floating${filled ? " sia-placeholder-floating--filled" : ""}${active ? " sia-placeholder-floating--active" : ""}` : "",
2309
- label: enabled ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "sia-floating-placeholder", "aria-hidden": "true", children: placeholder }) : null
2499
+ label: enabled ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "sia-floating-placeholder", "aria-hidden": "true", children: placeholder }) : null
2310
2500
  };
2311
2501
  }
2312
2502
 
2313
2503
  // src/components/Select.tsx
2314
- var import_react20 = require("react");
2504
+ var import_react22 = require("react");
2315
2505
 
2316
2506
  // src/components/Modal.tsx
2317
- var import_react14 = require("react");
2318
- var import_client2 = require("react-dom/client");
2319
- var import_jsx_runtime15 = require("react/jsx-runtime");
2507
+ var import_react16 = require("react");
2508
+ var import_client3 = require("react-dom/client");
2509
+ var import_jsx_runtime17 = require("react/jsx-runtime");
2320
2510
  var modalHandles = /* @__PURE__ */ new Set();
2321
2511
  var MODAL_MOTION_DURATION = 220;
2322
2512
  var typeIcons = {
2323
- info: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Icon, { name: "info", size: 23 }),
2324
- success: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Icon, { name: "circle-check", size: 23 }),
2325
- warning: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Icon, { name: "warning", size: 23 }),
2326
- error: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Icon, { name: "circle-close", size: 23 }),
2327
- confirm: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Icon, { name: "question", size: 23 })
2513
+ info: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon, { name: "info", size: 23 }),
2514
+ success: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon, { name: "circle-check", size: 23 }),
2515
+ warning: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon, { name: "warning", size: 23 }),
2516
+ error: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon, { name: "circle-close", size: 23 }),
2517
+ confirm: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon, { name: "question", size: 23 })
2328
2518
  };
2329
- var ModalRoot = (0, import_react14.forwardRef)(function Modal({
2519
+ var ModalRoot = (0, import_react16.forwardRef)(function Modal({
2330
2520
  open,
2331
2521
  title,
2332
2522
  children,
@@ -2344,6 +2534,7 @@ var ModalRoot = (0, import_react14.forwardRef)(function Modal({
2344
2534
  keyboard = true,
2345
2535
  centered = false,
2346
2536
  width = 520,
2537
+ height,
2347
2538
  zIndex = 1e3,
2348
2539
  getContainer,
2349
2540
  onOk,
@@ -2354,20 +2545,20 @@ var ModalRoot = (0, import_react14.forwardRef)(function Modal({
2354
2545
  style,
2355
2546
  ...props
2356
2547
  }, forwardedRef) {
2357
- const localRef = (0, import_react14.useRef)(null);
2358
- const titleId = (0, import_react14.useId)();
2359
- const [submitting, setSubmitting] = (0, import_react14.useState)(false);
2360
- const [rendered, setRendered] = (0, import_react14.useState)(open);
2361
- const [closing, setClosing] = (0, import_react14.useState)(false);
2362
- const afterOpenChangeRef = (0, import_react14.useRef)(afterOpenChange);
2548
+ const localRef = (0, import_react16.useRef)(null);
2549
+ const titleId = (0, import_react16.useId)();
2550
+ const [submitting, setSubmitting] = (0, import_react16.useState)(false);
2551
+ const [rendered, setRendered] = (0, import_react16.useState)(open);
2552
+ const [closing, setClosing] = (0, import_react16.useState)(false);
2553
+ const afterOpenChangeRef = (0, import_react16.useRef)(afterOpenChange);
2363
2554
  afterOpenChangeRef.current = afterOpenChange;
2364
- const submitLock = (0, import_react14.useRef)(false);
2365
- (0, import_react14.useEffect)(() => {
2555
+ const submitLock = (0, import_react16.useRef)(false);
2556
+ (0, import_react16.useEffect)(() => {
2366
2557
  if (!open || !rendered) return void 0;
2367
2558
  const timer = window.setTimeout(() => afterOpenChangeRef.current?.(true), MODAL_MOTION_DURATION);
2368
2559
  return () => window.clearTimeout(timer);
2369
2560
  }, [open, rendered]);
2370
- (0, import_react14.useEffect)(() => {
2561
+ (0, import_react16.useEffect)(() => {
2371
2562
  if (open) {
2372
2563
  setRendered(true);
2373
2564
  setClosing(false);
@@ -2419,15 +2610,16 @@ var ModalRoot = (0, import_react14.forwardRef)(function Modal({
2419
2610
  useOverlayLifecycle(rendered, localRef, requestClose, keyboard);
2420
2611
  if (!rendered) return null;
2421
2612
  const mergedStyle = {
2613
+ ...height !== void 0 ? { display: "flex", flexDirection: "column", height, maxHeight: "calc(100dvh - 48px)" } : {},
2422
2614
  ...style,
2423
2615
  "--sia-modal-width": typeof width === "number" ? `${width}px` : width
2424
2616
  };
2425
2617
  const loading = submitting || confirmLoading;
2426
- const defaultFooter = /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
2427
- showCancel ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Button, { ...cancelButtonProps, onClick: requestClose, disabled: loading || cancelButtonProps?.disabled, children: cancelText }) : null,
2428
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Button, { variant: "primary", ...okButtonProps, onClick: handleOk, loading, children: okText })
2618
+ const defaultFooter = /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
2619
+ showCancel ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Button, { ...cancelButtonProps, onClick: requestClose, disabled: loading || cancelButtonProps?.disabled, children: cancelText }) : null,
2620
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Button, { variant: "primary", ...okButtonProps, onClick: handleOk, loading, children: okText })
2429
2621
  ] });
2430
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(OverlayPortal, { container: getContainer, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2622
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(OverlayPortal, { container: getContainer, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2431
2623
  "div",
2432
2624
  {
2433
2625
  className: `sia-modal-root${centered ? " sia-modal-root--centered" : ""}`,
@@ -2436,7 +2628,7 @@ var ModalRoot = (0, import_react14.forwardRef)(function Modal({
2436
2628
  onMouseDown: (event) => {
2437
2629
  if (event.target === event.currentTarget && maskClosable) requestClose();
2438
2630
  },
2439
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
2631
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
2440
2632
  "div",
2441
2633
  {
2442
2634
  ref: setRef,
@@ -2446,18 +2638,18 @@ var ModalRoot = (0, import_react14.forwardRef)(function Modal({
2446
2638
  "aria-modal": "true",
2447
2639
  "aria-labelledby": title ? titleId : void 0,
2448
2640
  tabIndex: -1,
2449
- ...props,
2641
+ ...withTitleTooltip(props),
2450
2642
  children: [
2451
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "sia-modal__header", children: [
2452
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "sia-modal__heading", children: [
2453
- typeIcons[type] ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "sia-modal__type-icon", "aria-hidden": "true", children: typeIcons[type] }) : null,
2454
- title ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("strong", { id: titleId, children: title }) : null
2643
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "sia-modal__header", style: height !== void 0 ? { flexShrink: 0 } : void 0, children: [
2644
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "sia-modal__heading", children: [
2645
+ typeIcons[type] ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "sia-modal__type-icon", "aria-hidden": "true", children: typeIcons[type] }) : null,
2646
+ title ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("strong", { id: titleId, children: title }) : null
2455
2647
  ] }),
2456
- closable ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("button", { type: "button", className: "sia-modal__close", "aria-label": "\u5173\u95ED\u5BF9\u8BDD\u6846", onClick: requestClose, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Icon, { name: "close", size: 17 }) }) : null
2648
+ closable ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { type: "button", className: "sia-modal__close", "aria-label": "\u5173\u95ED\u5BF9\u8BDD\u6846", onClick: requestClose, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon, { name: "close", size: 17 }) }) : null
2457
2649
  ] }),
2458
- children !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "sia-modal__body", children }) : null,
2459
- footer !== null ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "sia-modal__footer", children: [
2460
- footer === void 0 && footerExtra != null ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { style: { marginRight: "auto" }, children: footerExtra }) : null,
2650
+ children !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "sia-modal__body", style: height !== void 0 ? { flex: 1, minHeight: 0, overflow: "auto" } : void 0, children }) : null,
2651
+ footer !== null ? /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "sia-modal__footer", style: height !== void 0 ? { flexShrink: 0 } : void 0, children: [
2652
+ footer === void 0 && footerExtra != null ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { style: { marginRight: "auto" }, children: footerExtra }) : null,
2461
2653
  footer ?? defaultFooter
2462
2654
  ] }) : null
2463
2655
  ]
@@ -2473,7 +2665,7 @@ function openModal(config) {
2473
2665
  const container = document.createElement("div");
2474
2666
  container.className = "sia-modal-api-host";
2475
2667
  document.body.appendChild(container);
2476
- const root = (0, import_client2.createRoot)(container);
2668
+ const root = (0, import_client3.createRoot)(container);
2477
2669
  let currentConfig = config;
2478
2670
  let currentOpen = true;
2479
2671
  let destroyed = false;
@@ -2493,7 +2685,7 @@ function openModal(config) {
2493
2685
  cleanupTimer = window.setTimeout(cleanup2, MODAL_MOTION_DURATION);
2494
2686
  }
2495
2687
  function render() {
2496
- root.render(/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ModalRoot, { ...currentConfig, open: currentOpen, onOpenChange: (nextOpen) => {
2688
+ root.render(/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ModalRoot, { ...currentConfig, open: currentOpen, onOpenChange: (nextOpen) => {
2497
2689
  currentConfig.onOpenChange?.(nextOpen);
2498
2690
  if (!nextOpen) closeWithMotion();
2499
2691
  } }));
@@ -2541,9 +2733,9 @@ var Modal2 = Object.assign(ModalRoot, {
2541
2733
  });
2542
2734
 
2543
2735
  // src/components/Input.tsx
2544
- var import_react15 = require("react");
2545
- var import_jsx_runtime16 = require("react/jsx-runtime");
2546
- var Input = (0, import_react15.forwardRef)(function Input2({
2736
+ var import_react17 = require("react");
2737
+ var import_jsx_runtime18 = require("react/jsx-runtime");
2738
+ var Input = (0, import_react17.forwardRef)(function Input2({
2547
2739
  label,
2548
2740
  hint,
2549
2741
  status = "default",
@@ -2565,10 +2757,10 @@ var Input = (0, import_react15.forwardRef)(function Input2({
2565
2757
  ...props
2566
2758
  }, forwardedRef) {
2567
2759
  const size = useControlSize(sizeProp);
2568
- const fallbackId = (0, import_react15.useId)();
2760
+ const fallbackId = (0, import_react17.useId)();
2569
2761
  const inputId = id ?? fallbackId;
2570
- const localRef = (0, import_react15.useRef)(null);
2571
- const [uncontrolledValue, setUncontrolledValue] = (0, import_react15.useState)(() => defaultValue === void 0 ? "" : String(defaultValue));
2762
+ const localRef = (0, import_react17.useRef)(null);
2763
+ const [uncontrolledValue, setUncontrolledValue] = (0, import_react17.useState)(() => defaultValue === void 0 ? "" : String(defaultValue));
2572
2764
  const currentText = value !== void 0 ? String(value) : uncontrolledValue;
2573
2765
  const hasValue = currentText.length > 0;
2574
2766
  const floatingPlaceholder = usePlaceholderMode(placeholderMode) === "floating" && Boolean(placeholder);
@@ -2606,10 +2798,10 @@ var Input = (0, import_react15.forwardRef)(function Input2({
2606
2798
  event.preventDefault();
2607
2799
  localRef.current?.focus({ preventScroll: true });
2608
2800
  }
2609
- const input = /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2801
+ const input = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2610
2802
  "input",
2611
2803
  {
2612
- ...props,
2804
+ ...withTitleTooltip(props),
2613
2805
  ref: setRef,
2614
2806
  id: inputId,
2615
2807
  className: "sia-input",
@@ -2623,30 +2815,30 @@ var Input = (0, import_react15.forwardRef)(function Input2({
2623
2815
  onChange: handleChange
2624
2816
  }
2625
2817
  );
2626
- const control = /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { onMouseDown: handleControlMouseDown, className: `sia-input-control sia-input-control--${size} sia-input-control--${status}${floatingPlaceholder ? " sia-input-control--floating" : ""}${floatingPlaceholder && hasValue ? " is-filled" : ""}${disabled ? " is-disabled" : ""}`, children: [
2627
- prefix ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "sia-input-control__affix", children: prefix }) : null,
2628
- floatingPlaceholder ? /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { className: "sia-input-control__input-wrap", children: [
2818
+ const control = /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("span", { onMouseDown: handleControlMouseDown, className: `sia-input-control sia-input-control--${size} sia-input-control--${status}${floatingPlaceholder ? " sia-input-control--floating" : ""}${floatingPlaceholder && hasValue ? " is-filled" : ""}${disabled ? " is-disabled" : ""}`, children: [
2819
+ prefix ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "sia-input-control__affix", children: prefix }) : null,
2820
+ floatingPlaceholder ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("span", { className: "sia-input-control__input-wrap", children: [
2629
2821
  input,
2630
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "sia-input-control__floating-placeholder", "aria-hidden": "true", children: placeholder })
2822
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "sia-input-control__floating-placeholder", "aria-hidden": "true", children: placeholder })
2631
2823
  ] }) : input,
2632
- allowClear && hasValue && !disabled ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("button", { className: "sia-input-control__clear", type: "button", "aria-label": "\u6E05\u7A7A\u8F93\u5165", onClick: clearValue, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Icon, { name: "circle-close", variant: "filled", size: 15 }) }) : null,
2633
- suffix ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "sia-input-control__affix", children: suffix }) : null,
2634
- showCount ? /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { className: `sia-input-control__count${maxLength !== void 0 && currentText.length >= maxLength ? " is-limit" : ""}`, "aria-live": "polite", children: [
2824
+ allowClear && hasValue && !disabled ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("button", { className: "sia-input-control__clear", type: "button", "aria-label": "\u6E05\u7A7A\u8F93\u5165", onClick: clearValue, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Icon, { name: "circle-close", variant: "filled", size: 15 }) }) : null,
2825
+ suffix ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "sia-input-control__affix", children: suffix }) : null,
2826
+ showCount ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("span", { className: `sia-input-control__count${maxLength !== void 0 && currentText.length >= maxLength ? " is-limit" : ""}`, "aria-live": "polite", children: [
2635
2827
  currentText.length,
2636
2828
  maxLength !== void 0 ? `/${maxLength}` : null
2637
2829
  ] }) : null
2638
2830
  ] });
2639
- if (!label && !hint) return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: `sia-field ${className}`.trim(), children: control });
2640
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { className: `sia-field ${className}`.trim(), children: [
2641
- label ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("label", { className: "sia-field__label", htmlFor: inputId, children: label }) : null,
2831
+ if (!label && !hint) return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: `sia-field ${className}`.trim(), children: control });
2832
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("span", { className: `sia-field ${className}`.trim(), children: [
2833
+ label ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("label", { className: "sia-field__label", htmlFor: inputId, children: label }) : null,
2642
2834
  control,
2643
- hint ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { id: hintId, className: `sia-field__hint sia-field__hint--${status}`, children: hint }) : null
2835
+ hint ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { id: hintId, className: `sia-field__hint sia-field__hint--${status}`, children: hint }) : null
2644
2836
  ] });
2645
2837
  });
2646
2838
 
2647
2839
  // src/components/SelectionPanel.tsx
2648
- var import_react16 = require("react");
2649
- var import_jsx_runtime17 = require("react/jsx-runtime");
2840
+ var import_react18 = require("react");
2841
+ var import_jsx_runtime19 = require("react/jsx-runtime");
2650
2842
  function SelectionPanel({
2651
2843
  options,
2652
2844
  value,
@@ -2667,26 +2859,26 @@ function SelectionPanel({
2667
2859
  maxHeight = 250,
2668
2860
  autoFocusSearch = false
2669
2861
  }) {
2670
- const [localSearch, setLocalSearch] = (0, import_react16.useState)("");
2862
+ const [localSearch, setLocalSearch] = (0, import_react18.useState)("");
2671
2863
  const search = searchValue ?? localSearch;
2672
- const [scrollTop, setScrollTop] = (0, import_react16.useState)(0);
2673
- const [active, setActive] = (0, import_react16.useState)();
2674
- const [keyboardActive, setKeyboardActive] = (0, import_react16.useState)(false);
2675
- const [deselectedHover, setDeselectedHover] = (0, import_react16.useState)();
2676
- const listRef = (0, import_react16.useRef)(null);
2677
- const id = (0, import_react16.useId)();
2678
- const selected = (0, import_react16.useMemo)(() => new Set(value), [value]);
2864
+ const [scrollTop, setScrollTop] = (0, import_react18.useState)(0);
2865
+ const [active, setActive] = (0, import_react18.useState)();
2866
+ const [keyboardActive, setKeyboardActive] = (0, import_react18.useState)(false);
2867
+ const [deselectedHover, setDeselectedHover] = (0, import_react18.useState)();
2868
+ const listRef = (0, import_react18.useRef)(null);
2869
+ const id = (0, import_react18.useId)();
2870
+ const selected = (0, import_react18.useMemo)(() => new Set(value), [value]);
2679
2871
  const count = Math.max(1, Math.floor(columns));
2680
- const allOptions = (0, import_react16.useMemo)(() => {
2872
+ const allOptions = (0, import_react18.useMemo)(() => {
2681
2873
  if (!includeUnknownValues) return [...options];
2682
2874
  const known = new Set(options.filter((option) => option.optionType !== "divider").map((option) => option.value));
2683
2875
  return [...value.filter((item) => !known.has(item)).map((item) => ({ value: item, label: String(item), group: "\u81EA\u5B9A\u4E49\u503C" })), ...options];
2684
2876
  }, [options, value, includeUnknownValues]);
2685
- const filtered = (0, import_react16.useMemo)(
2877
+ const filtered = (0, import_react18.useMemo)(
2686
2878
  () => allOptions.filter((option) => (!selectedOnly || selected.has(option.value)) && (!search || option.optionType !== "divider" && [option.label, option.value].some((text) => String(text ?? "").toLowerCase().includes(search.toLowerCase())))),
2687
2879
  [allOptions, selectedOnly, selected, search]
2688
2880
  );
2689
- const rows = (0, import_react16.useMemo)(() => {
2881
+ const rows = (0, import_react18.useMemo)(() => {
2690
2882
  const groups = /* @__PURE__ */ new Map();
2691
2883
  filtered.forEach((option) => {
2692
2884
  const items = groups.get(option.group) ?? [];
@@ -2712,7 +2904,7 @@ function SelectionPanel({
2712
2904
  const virtual = filtered.length > 100;
2713
2905
  const renderedRows = virtual ? rows.filter((row) => row.top + row.height >= scrollTop - 100 && row.top <= scrollTop + maxHeight + 100) : rows;
2714
2906
  const enabled = filtered.filter((option) => !option.disabled && option.optionType !== "divider");
2715
- (0, import_react16.useEffect)(() => {
2907
+ (0, import_react18.useEffect)(() => {
2716
2908
  setScrollTop(0);
2717
2909
  if (listRef.current) listRef.current.scrollTop = 0;
2718
2910
  setActive(void 0);
@@ -2735,8 +2927,8 @@ function SelectionPanel({
2735
2927
  const add = enabled.filter((option) => operation === "all" || !selected.has(option.value)).map((option) => option.value);
2736
2928
  onChange([...retained, ...add]);
2737
2929
  }
2738
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "sia-selection-panel", children: [
2739
- showSearch && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2930
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "sia-selection-panel", children: [
2931
+ showSearch && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
2740
2932
  Input,
2741
2933
  {
2742
2934
  "aria-label": "\u641C\u7D22\u9009\u9879",
@@ -2750,17 +2942,17 @@ function SelectionPanel({
2750
2942
  }
2751
2943
  }
2752
2944
  ),
2753
- multiple && showActions && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "sia-selection-panel__actions", children: [
2754
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Button, { variant: "link", size: "small", disabled: disabled || loading || !enabled.length, onClick: () => batch("all"), children: "\u5168\u9009" }),
2755
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Button, { variant: "link", size: "small", disabled: disabled || loading || !enabled.length, onClick: () => batch("invert"), children: "\u53CD\u9009" }),
2756
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Button, { variant: "link", size: "small", disabled: disabled || loading || !value.length, onClick: () => batch("clear"), children: "\u6E05\u7A7A" }),
2757
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("span", { children: [
2945
+ multiple && showActions && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "sia-selection-panel__actions", children: [
2946
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { variant: "link", size: "small", disabled: disabled || loading || !enabled.length, onClick: () => batch("all"), children: "\u5168\u9009" }),
2947
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { variant: "link", size: "small", disabled: disabled || loading || !enabled.length, onClick: () => batch("invert"), children: "\u53CD\u9009" }),
2948
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { variant: "link", size: "small", disabled: disabled || loading || !value.length, onClick: () => batch("clear"), children: "\u6E05\u7A7A" }),
2949
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("span", { children: [
2758
2950
  "\u5DF2\u9009 ",
2759
2951
  value.length,
2760
2952
  " \u9879"
2761
2953
  ] })
2762
2954
  ] }),
2763
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2955
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
2764
2956
  "div",
2765
2957
  {
2766
2958
  ref: listRef,
@@ -2797,12 +2989,12 @@ function SelectionPanel({
2797
2989
  toggle(enabled[index], true);
2798
2990
  }
2799
2991
  },
2800
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { role: "status", children: "\u52A0\u8F7D\u4E2D\u2026" }) : !rows.length ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "sia-selection-panel__empty", children: "\u6682\u65E0\u5339\u914D\u9009\u9879" }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { style: { height: totalHeight, position: "relative" }, children: renderedRows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2992
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { role: "status", children: "\u52A0\u8F7D\u4E2D\u2026" }) : !rows.length ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "sia-selection-panel__empty", children: "\u6682\u65E0\u5339\u914D\u9009\u9879" }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { style: { height: totalHeight, position: "relative" }, children: renderedRows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
2801
2993
  "div",
2802
2994
  {
2803
2995
  className: row.title !== void 0 ? "sia-selection-panel__group" : "sia-selection-panel__row",
2804
2996
  style: { position: "absolute", top: row.top, height: row.height, width: "100%", gridTemplateColumns: `repeat(${count}, minmax(0, 1fr))` },
2805
- children: row.title ?? row.items?.map((option, index) => option.optionType === "divider" ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { role: "separator", className: "sia-selection-panel__divider" }, `divider-${index}`) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Tooltip, { title: option.disabled ? option.disabledTip : void 0, placement: "right", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2997
+ children: row.title ?? row.items?.map((option, index) => option.optionType === "divider" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { role: "separator", className: "sia-selection-panel__divider" }, `divider-${index}`) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Tooltip, { title: option.disabled ? option.disabledTip : void 0, placement: "right", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
2806
2998
  "div",
2807
2999
  {
2808
3000
  role: "option",
@@ -2818,12 +3010,12 @@ function SelectionPanel({
2818
3010
  onClick: (event) => {
2819
3011
  if (!event.target.closest(".sia-checkbox")) toggle(option);
2820
3012
  },
2821
- children: multiple ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Checkbox2, { checked: selected.has(option.value), disabled: disabled || loading || option.disabled, tabIndex: -1, onChange: () => toggle(option), children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("span", { className: "sia-selection-panel__text", children: [
2822
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "sia-selection-panel__label", children: showValue || displayField === "label" ? option.label : String(option.value) }),
2823
- showValue && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("small", { children: String(option.value) })
2824
- ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("span", { className: "sia-selection-panel__text", children: [
2825
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "sia-selection-panel__label", children: showValue || displayField === "label" ? option.label : String(option.value) }),
2826
- showValue && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("small", { children: String(option.value) })
3013
+ children: multiple ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Checkbox2, { checked: selected.has(option.value), disabled: disabled || loading || option.disabled, tabIndex: -1, onChange: () => toggle(option), children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("span", { className: "sia-selection-panel__text", children: [
3014
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "sia-selection-panel__label", children: showValue || displayField === "label" ? option.label : String(option.value) }),
3015
+ showValue && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("small", { children: String(option.value) })
3016
+ ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("span", { className: "sia-selection-panel__text", children: [
3017
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "sia-selection-panel__label", children: showValue || displayField === "label" ? option.label : String(option.value) }),
3018
+ showValue && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("small", { children: String(option.value) })
2827
3019
  ] })
2828
3020
  }
2829
3021
  ) }, `${typeof option.value}-${option.value}`))
@@ -2836,14 +3028,14 @@ function SelectionPanel({
2836
3028
  }
2837
3029
 
2838
3030
  // src/components/OverflowTags.tsx
2839
- var import_react17 = require("react");
2840
- var import_jsx_runtime18 = require("react/jsx-runtime");
3031
+ var import_react19 = require("react");
3032
+ var import_jsx_runtime20 = require("react/jsx-runtime");
2841
3033
  function OverflowTags({ items, maxCount: maxCount2, className = "", tagClassName, restClassName = "" }) {
2842
- const rootRef = (0, import_react17.useRef)(null);
2843
- const measureRef = (0, import_react17.useRef)(null);
3034
+ const rootRef = (0, import_react19.useRef)(null);
3035
+ const measureRef = (0, import_react19.useRef)(null);
2844
3036
  const limit = Math.min(items.length, Math.max(0, Math.floor(maxCount2) || 0));
2845
- const [visibleCount, setVisibleCount] = (0, import_react17.useState)(0);
2846
- (0, import_react17.useLayoutEffect)(() => {
3037
+ const [visibleCount, setVisibleCount] = (0, import_react19.useState)(0);
3038
+ (0, import_react19.useLayoutEffect)(() => {
2847
3039
  const root = rootRef.current;
2848
3040
  const measure = measureRef.current;
2849
3041
  if (!root || !measure) return;
@@ -2866,15 +3058,15 @@ function OverflowTags({ items, maxCount: maxCount2, className = "", tagClassName
2866
3058
  return () => observer.disconnect();
2867
3059
  }, [items, limit]);
2868
3060
  const count = Math.min(visibleCount, limit);
2869
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("span", { ref: rootRef, className: `sia-overflow-tags ${className}`.trim(), children: [
2870
- items.slice(0, count).map((item) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: tagClassName, children: item.label }, item.key)),
2871
- items.length > count ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("span", { className: `${tagClassName} sia-overflow-tags__rest ${restClassName}`.trim(), children: [
3061
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("span", { ref: rootRef, className: `sia-overflow-tags ${className}`.trim(), children: [
3062
+ items.slice(0, count).map((item) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: tagClassName, children: item.label }, item.key)),
3063
+ items.length > count ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("span", { className: `${tagClassName} sia-overflow-tags__rest ${restClassName}`.trim(), children: [
2872
3064
  "+",
2873
3065
  items.length - count
2874
3066
  ] }) : null,
2875
- /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("span", { ref: measureRef, className: "sia-overflow-tags__measure", "aria-hidden": "true", children: [
2876
- items.slice(0, limit).map((item) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: tagClassName, children: item.label }, item.key)),
2877
- Array.from({ length: limit + 1 }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("span", { className: `${tagClassName} ${restClassName}`.trim(), children: [
3067
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("span", { ref: measureRef, className: "sia-overflow-tags__measure", "aria-hidden": "true", children: [
3068
+ items.slice(0, limit).map((item) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: tagClassName, children: item.label }, item.key)),
3069
+ Array.from({ length: limit + 1 }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("span", { className: `${tagClassName} ${restClassName}`.trim(), children: [
2878
3070
  "+",
2879
3071
  items.length - index
2880
3072
  ] }, `rest-${index}`))
@@ -2883,14 +3075,14 @@ function OverflowTags({ items, maxCount: maxCount2, className = "", tagClassName
2883
3075
  }
2884
3076
 
2885
3077
  // src/components/FloatingScrollbarProvider.tsx
2886
- var import_react19 = require("react");
3078
+ var import_react21 = require("react");
2887
3079
 
2888
3080
  // src/components/useScrollbarProximity.ts
2889
- var import_react18 = require("react");
3081
+ var import_react20 = require("react");
2890
3082
  var users = 0;
2891
3083
  var cleanup;
2892
3084
  function useScrollbarProximity() {
2893
- (0, import_react18.useEffect)(() => {
3085
+ (0, import_react20.useEffect)(() => {
2894
3086
  if (users++ === 0) {
2895
3087
  let frame = 0;
2896
3088
  let x = -Infinity;
@@ -3011,7 +3203,7 @@ function createTrack(axis) {
3011
3203
  }
3012
3204
  function FloatingScrollbarProvider({ disabled = false, targetRef }) {
3013
3205
  useScrollbarProximity();
3014
- (0, import_react19.useEffect)(() => {
3206
+ (0, import_react21.useEffect)(() => {
3015
3207
  if (disabled) return;
3016
3208
  const layer = document.createElement("div");
3017
3209
  layer.className = "sia-floating-scrollbar-layer";
@@ -3258,12 +3450,12 @@ function FloatingScrollbarProvider({ disabled = false, targetRef }) {
3258
3450
  }
3259
3451
 
3260
3452
  // src/components/Select.tsx
3261
- var import_jsx_runtime19 = require("react/jsx-runtime");
3453
+ var import_jsx_runtime21 = require("react/jsx-runtime");
3262
3454
  function defaultFilterOption(query, option) {
3263
3455
  const keyword = query.toLowerCase();
3264
3456
  return [option.label, option.value].some((value) => String(value).toLowerCase().includes(keyword));
3265
3457
  }
3266
- var Select = (0, import_react20.forwardRef)(function Select2({
3458
+ var Select = (0, import_react22.forwardRef)(function Select2({
3267
3459
  options,
3268
3460
  mode = "single",
3269
3461
  popupMode: popupModeProp,
@@ -3301,23 +3493,25 @@ var Select = (0, import_react20.forwardRef)(function Select2({
3301
3493
  ...props
3302
3494
  }, forwardedRef) {
3303
3495
  const size = useControlSize(sizeProp);
3304
- const fallbackId = (0, import_react20.useId)();
3496
+ const fallbackId = (0, import_react22.useId)();
3305
3497
  const selectId = id ?? fallbackId;
3306
3498
  const listboxId = `${selectId}-listbox`;
3307
- const rootRef = (0, import_react20.useRef)(null);
3308
- const popupRef = (0, import_react20.useRef)(null);
3309
- const searchRef = (0, import_react20.useRef)(null);
3310
- const listRef = (0, import_react20.useRef)(null);
3311
- const [open, setOpen] = (0, import_react20.useState)(false);
3499
+ const rootRef = (0, import_react22.useRef)(null);
3500
+ const popupRef = (0, import_react22.useRef)(null);
3501
+ const searchRef = (0, import_react22.useRef)(null);
3502
+ const listRef = (0, import_react22.useRef)(null);
3503
+ const [open, setOpen] = (0, import_react22.useState)(false);
3312
3504
  const automaticMode = popupModeProp ?? (options.length > modalThreshold ? "modal" : "dropdown");
3313
- const [openedMode, setOpenedMode] = (0, import_react20.useState)(automaticMode);
3505
+ const [openedMode, setOpenedMode] = (0, import_react22.useState)(automaticMode);
3314
3506
  const popupMode = open ? openedMode : automaticMode;
3315
- const [modalValues, setModalValues] = (0, import_react20.useState)([]);
3316
- const [selectedOnly, setSelectedOnly] = (0, import_react20.useState)(false);
3317
- const [query, setQuery] = (0, import_react20.useState)("");
3318
- const [activeIndex, setActiveIndex] = (0, import_react20.useState)(-1);
3319
- const [scrollTop, setScrollTop] = (0, import_react20.useState)(0);
3320
- const deferredQuery = (0, import_react20.useDeferredValue)(query.trim());
3507
+ const [modalValues, setModalValues] = (0, import_react22.useState)([]);
3508
+ const [modalSubmitting, setModalSubmitting] = (0, import_react22.useState)(false);
3509
+ const modalSubmitLock = (0, import_react22.useRef)(false);
3510
+ const [selectedOnly, setSelectedOnly] = (0, import_react22.useState)(false);
3511
+ const [query, setQuery] = (0, import_react22.useState)("");
3512
+ const [activeIndex, setActiveIndex] = (0, import_react22.useState)(-1);
3513
+ const [scrollTop, setScrollTop] = (0, import_react22.useState)(0);
3514
+ const deferredQuery = (0, import_react22.useDeferredValue)(query.trim());
3321
3515
  const initialValue = defaultValue === void 0 ? mode === "multiple" ? [] : null : defaultValue;
3322
3516
  const [currentValue, setCurrentValue] = useControllableState({
3323
3517
  value,
@@ -3332,19 +3526,20 @@ var Select = (0, import_react20.forwardRef)(function Select2({
3332
3526
  }
3333
3527
  }
3334
3528
  });
3335
- const selectedValues = (0, import_react20.useMemo)(() => {
3529
+ const selectedValues = (0, import_react22.useMemo)(() => {
3530
+ if (currentValue == null || currentValue === "" && !options.some((option) => option.value === "")) return [];
3336
3531
  if (mode === "multiple") return Array.isArray(currentValue) ? currentValue : currentValue === null ? [] : [currentValue];
3337
3532
  return Array.isArray(currentValue) ? currentValue.slice(0, 1) : currentValue === null ? [] : [currentValue];
3338
- }, [currentValue, mode]);
3339
- const selectedValueSet = (0, import_react20.useMemo)(() => new Set(selectedValues), [selectedValues]);
3340
- const availableOptions = (0, import_react20.useMemo)(() => {
3533
+ }, [currentValue, mode, options]);
3534
+ const selectedValueSet = (0, import_react22.useMemo)(() => new Set(selectedValues), [selectedValues]);
3535
+ const availableOptions = (0, import_react22.useMemo)(() => {
3341
3536
  if (!allowInput) return options;
3342
3537
  const optionValueSet = new Set(options.map((option) => option.value));
3343
3538
  const selectedCustomOptions = selectedValues.filter((selectedValue) => !optionValueSet.has(selectedValue)).map((selectedValue) => ({ label: String(selectedValue), value: selectedValue }));
3344
3539
  return selectedCustomOptions.length ? [...selectedCustomOptions, ...options] : options;
3345
3540
  }, [allowInput, options, selectedValues]);
3346
- const selectedOptions = (0, import_react20.useMemo)(() => selectedValues.map((selectedValue) => availableOptions.find((option) => option.value === selectedValue)).filter((option) => option !== void 0), [availableOptions, selectedValues]);
3347
- const filteredOptions = (0, import_react20.useMemo)(() => deferredQuery ? availableOptions.filter((option) => filterOption(deferredQuery, option)) : availableOptions, [availableOptions, deferredQuery, filterOption]);
3541
+ const selectedOptions = (0, import_react22.useMemo)(() => selectedValues.map((selectedValue) => availableOptions.find((option) => option.value === selectedValue)).filter((option) => option !== void 0), [availableOptions, selectedValues]);
3542
+ const filteredOptions = (0, import_react22.useMemo)(() => deferredQuery ? availableOptions.filter((option) => filterOption(deferredQuery, option)) : availableOptions, [availableOptions, deferredQuery, filterOption]);
3348
3543
  const inputValue = query.trim();
3349
3544
  const exactInputOption = inputValue ? availableOptions.find((option) => String(option.value).toLowerCase() === inputValue.toLowerCase() || typeof option.label === "string" && option.label.toLowerCase() === inputValue.toLowerCase()) : void 0;
3350
3545
  const canSubmitInput = allowInput && Boolean(inputValue) && !exactInputOption;
@@ -3358,7 +3553,7 @@ var Select = (0, import_react20.forwardRef)(function Select2({
3358
3553
  const renderedOptions = virtualEnabled ? filteredOptions.slice(virtualStart, virtualEnd) : filteredOptions;
3359
3554
  const enabledFilteredOptions = filteredOptions.filter((option) => !option.disabled);
3360
3555
  const allFilteredSelected = enabledFilteredOptions.length > 0 && enabledFilteredOptions.every((option) => selectedValueSet.has(option.value));
3361
- (0, import_react20.useEffect)(() => {
3556
+ (0, import_react22.useEffect)(() => {
3362
3557
  if (!open || popupMode === "modal") return void 0;
3363
3558
  function closeFromOutside(event) {
3364
3559
  const target = event.target;
@@ -3367,10 +3562,10 @@ var Select = (0, import_react20.forwardRef)(function Select2({
3367
3562
  document.addEventListener("mousedown", closeFromOutside);
3368
3563
  return () => document.removeEventListener("mousedown", closeFromOutside);
3369
3564
  }, [open, popupMode]);
3370
- (0, import_react20.useEffect)(() => {
3565
+ (0, import_react22.useEffect)(() => {
3371
3566
  if (open && (showSearch || allowInput)) searchRef.current?.focus();
3372
3567
  }, [allowInput, open, showSearch]);
3373
- (0, import_react20.useEffect)(() => {
3568
+ (0, import_react22.useEffect)(() => {
3374
3569
  if (disabled || loading) closeDropdown();
3375
3570
  }, [disabled, loading]);
3376
3571
  function firstEnabledIndex() {
@@ -3381,6 +3576,24 @@ var Select = (0, import_react20.forwardRef)(function Select2({
3381
3576
  setQuery("");
3382
3577
  setScrollTop(0);
3383
3578
  }
3579
+ async function confirmModalSelection() {
3580
+ if (disabled || loading || modalSubmitLock.current) return;
3581
+ modalSubmitLock.current = true;
3582
+ const nextValue = multiple ? [...modalValues] : modalValues[0] ?? null;
3583
+ const selected = modalValues.map((selectedValue) => availableOptions.find((option) => option.value === selectedValue) ?? (allowInput ? { value: selectedValue, label: String(selectedValue) } : void 0)).filter((option) => option !== void 0);
3584
+ const extraValues = { ...modalConfig?.extraValues };
3585
+ setModalSubmitting(true);
3586
+ try {
3587
+ const result = await modalConfig?.onConfirm?.(nextValue, multiple ? selected : selected[0] ?? null, extraValues);
3588
+ if (result === false) return;
3589
+ setCurrentValue(nextValue);
3590
+ closeDropdown();
3591
+ } catch {
3592
+ } finally {
3593
+ modalSubmitLock.current = false;
3594
+ setModalSubmitting(false);
3595
+ }
3596
+ }
3384
3597
  function openDropdown() {
3385
3598
  if (disabled || loading) return;
3386
3599
  setOpenedMode(automaticMode);
@@ -3499,7 +3712,7 @@ var Select = (0, import_react20.forwardRef)(function Select2({
3499
3712
  function renderOption(option, renderedIndex) {
3500
3713
  const optionIndex = virtualEnabled ? virtualStart + renderedIndex : renderedIndex;
3501
3714
  const selected = selectedValueSet.has(option.value);
3502
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
3715
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
3503
3716
  "div",
3504
3717
  {
3505
3718
  id: `${listboxId}-${optionIndex}`,
@@ -3512,11 +3725,11 @@ var Select = (0, import_react20.forwardRef)(function Select2({
3512
3725
  onMouseDown: (event) => event.preventDefault(),
3513
3726
  onClick: () => selectOption(option),
3514
3727
  children: [
3515
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("span", { className: "sia-select__option-content", children: [
3516
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "sia-select__option-label", children: option.label }),
3517
- showValue ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("small", { className: "sia-select__option-value", children: String(option.value) }) : null
3728
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: "sia-select__option-content", children: [
3729
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "sia-select__option-label", children: option.label }),
3730
+ showValue ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("small", { className: "sia-select__option-value", children: String(option.value) }) : null
3518
3731
  ] }),
3519
- selected ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Icon, { name: "check", size: 15 }) : null
3732
+ selected ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Icon, { name: "check", size: 15 }) : null
3520
3733
  ]
3521
3734
  },
3522
3735
  `${typeof option.value}-${option.value}`
@@ -3530,11 +3743,11 @@ var Select = (0, import_react20.forwardRef)(function Select2({
3530
3743
  setModalValues([...modalValues.filter((value2) => !editable.has(value2)), ...modalEnabled.filter((option) => operation === "all" || operation === "invert" && !modalValues.includes(option.value)).map((option) => option.value)]);
3531
3744
  }
3532
3745
  const floating = useFloatingPlaceholder({ mode: placeholderMode, placeholder, filled: hasValue, active: open });
3533
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { ref: rootRef, className: `sia-select sia-select--${size} sia-select--${status}${open ? " is-open" : ""}${disabled ? " is-disabled" : ""}${multiple ? " sia-select--multiple" : ""} ${className}`.trim(), style, children: [
3534
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
3746
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { ref: rootRef, className: `sia-select sia-select--${size} sia-select--${status}${open ? " is-open" : ""}${disabled ? " is-disabled" : ""}${multiple ? " sia-select--multiple" : ""} ${className}`.trim(), style, children: [
3747
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
3535
3748
  "button",
3536
3749
  {
3537
- ...props,
3750
+ ...withTitleTooltip(props),
3538
3751
  ref: forwardedRef,
3539
3752
  className: `sia-select__trigger${floating.className}`,
3540
3753
  id: selectId,
@@ -3549,29 +3762,29 @@ var Select = (0, import_react20.forwardRef)(function Select2({
3549
3762
  onClick: () => open ? closeDropdown() : openDropdown(),
3550
3763
  onKeyDown: handleTriggerKeyDown,
3551
3764
  children: [
3552
- multiple && hasValue ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(OverflowTags, { className: "sia-select__tags", tagClassName: "sia-select__tag", restClassName: "sia-select__tag--rest", maxCount: maxTagCount, items: selectedOptions.map((option) => ({ key: `${typeof option.value}-${option.value}`, label: option.label })) }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: `sia-select__value${hasValue ? "" : " is-placeholder"}`, children: selectedOptions[0]?.label ?? placeholder }),
3553
- loading ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "sia-select__spinner", "aria-hidden": "true" }) : null,
3765
+ multiple && hasValue ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(OverflowTags, { className: "sia-select__tags", tagClassName: "sia-select__tag", restClassName: "sia-select__tag--rest", maxCount: maxTagCount, items: selectedOptions.map((option) => ({ key: `${typeof option.value}-${option.value}`, label: option.label })) }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: `sia-select__value${hasValue ? "" : " is-placeholder"}`, children: selectedOptions[0]?.label ?? placeholder }),
3766
+ loading ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "sia-select__spinner", "aria-hidden": "true" }) : null,
3554
3767
  floating.label,
3555
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Icon, { className: "sia-select__arrow", name: "chevron-down", size: 15 })
3768
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Icon, { className: "sia-select__arrow", name: "chevron-down", size: 15 })
3556
3769
  ]
3557
3770
  }
3558
3771
  ),
3559
- allowClear && hasValue && !disabled && !loading ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("button", { className: "sia-select__clear", type: "button", "aria-label": "\u6E05\u7A7A\u9009\u62E9", onClick: clearValue, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Icon, { name: "circle-close", variant: "filled", size: 15 }) }) : null,
3560
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(PopupPortal, { ref: popupRef, anchorRef: rootRef, open: open && popupMode === "dropdown", className: `sia-select__dropdown${filteredOptions.length === 0 && !canSubmitInput ? " sia-select__dropdown--empty" : ""}`, children: [
3561
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(FloatingScrollbarProvider, { targetRef: listRef }),
3562
- showSearch || allowInput ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("label", { className: "sia-select__search", children: [
3563
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Icon, { name: "search", size: 15 }),
3564
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("input", { ref: searchRef, value: query, maxLength: inputMaxLength, onChange: handleSearchChange, onKeyDown: (event) => handleInteractionKeyDown(event, true), placeholder: searchPlaceholder, "aria-label": searchPlaceholder })
3772
+ allowClear && hasValue && !disabled && !loading ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { className: "sia-select__clear", type: "button", "aria-label": "\u6E05\u7A7A\u9009\u62E9", onClick: clearValue, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Icon, { name: "circle-close", variant: "filled", size: 15 }) }) : null,
3773
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(PopupPortal, { ref: popupRef, anchorRef: rootRef, open: open && popupMode === "dropdown", className: `sia-select__dropdown${filteredOptions.length === 0 && !canSubmitInput ? " sia-select__dropdown--empty" : ""}`, children: [
3774
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(FloatingScrollbarProvider, { targetRef: listRef }),
3775
+ showSearch || allowInput ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("label", { className: "sia-select__search", children: [
3776
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Icon, { name: "search", size: 15 }),
3777
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("input", { ref: searchRef, value: query, maxLength: inputMaxLength, onChange: handleSearchChange, onKeyDown: (event) => handleInteractionKeyDown(event, true), placeholder: searchPlaceholder, "aria-label": searchPlaceholder })
3565
3778
  ] }) : null,
3566
- canSubmitInput ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("button", { type: "button", className: "sia-select__input-option", onMouseDown: (event) => event.preventDefault(), onClick: submitInputValue, children: [
3567
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Icon, { name: "plus", size: 14 }),
3568
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("span", { children: [
3779
+ canSubmitInput ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("button", { type: "button", className: "sia-select__input-option", onMouseDown: (event) => event.preventDefault(), onClick: submitInputValue, children: [
3780
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Icon, { name: "plus", size: 14 }),
3781
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { children: [
3569
3782
  "\u4F7F\u7528\u201C",
3570
3783
  inputValue,
3571
3784
  "\u201D"
3572
3785
  ] })
3573
3786
  ] }) : null,
3574
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3787
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
3575
3788
  "div",
3576
3789
  {
3577
3790
  ref: listRef,
@@ -3582,59 +3795,58 @@ var Select = (0, import_react20.forwardRef)(function Select2({
3582
3795
  "aria-multiselectable": multiple || void 0,
3583
3796
  style: { maxHeight: listHeight },
3584
3797
  onScroll: handleListScroll,
3585
- children: filteredOptions.length > 0 ? virtualEnabled ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "sia-select__virtual-space", style: { height: filteredOptions.length * optionHeight }, children: renderedOptions.map(renderOption) }) : renderedOptions.map(renderOption) : canSubmitInput ? null : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "sia-select__empty", children: notFoundContent })
3798
+ children: filteredOptions.length > 0 ? virtualEnabled ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "sia-select__virtual-space", style: { height: filteredOptions.length * optionHeight }, children: renderedOptions.map(renderOption) }) : renderedOptions.map(renderOption) : canSubmitInput ? null : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "sia-select__empty", children: notFoundContent })
3586
3799
  }
3587
3800
  ),
3588
- showActions ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "sia-select__actions", children: [
3589
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("span", { children: [
3801
+ showActions ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "sia-select__actions", children: [
3802
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { children: [
3590
3803
  "\u5171 ",
3591
3804
  filteredOptions.length,
3592
3805
  " \u6761"
3593
3806
  ] }),
3594
- multiple && showSelectAll ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
3595
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { variant: "link", size: "small", disabled: allFilteredSelected || !enabledFilteredOptions.length, onClick: selectAllFiltered, children: "\u5168\u9009" }),
3596
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { variant: "link", size: "small", disabled: !enabledFilteredOptions.length, onClick: invertFiltered, children: "\u53CD\u9009" })
3807
+ multiple && showSelectAll ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
3808
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button, { variant: "link", size: "small", disabled: allFilteredSelected || !enabledFilteredOptions.length, onClick: selectAllFiltered, children: "\u5168\u9009" }),
3809
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button, { variant: "link", size: "small", disabled: !enabledFilteredOptions.length, onClick: invertFiltered, children: "\u53CD\u9009" })
3597
3810
  ] }) : null,
3598
- multiple || allowClear ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { variant: "link", size: "small", danger: true, disabled: !hasValue, onClick: clearSelection, children: "\u6E05\u7A7A" }) : null
3811
+ multiple || allowClear ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button, { variant: "link", size: "small", danger: true, disabled: !hasValue, onClick: clearSelection, children: "\u6E05\u7A7A" }) : null
3599
3812
  ] }) : null
3600
3813
  ] }),
3601
- popupMode === "modal" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3814
+ popupMode === "modal" ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
3602
3815
  Modal2,
3603
3816
  {
3604
3817
  className: "sia-select-modal",
3605
3818
  open,
3606
3819
  title: modalConfig?.title ?? placeholder,
3607
3820
  width: modalConfig?.width ?? 900,
3821
+ confirmLoading: modalSubmitting,
3608
3822
  onOpenChange: (next) => {
3609
3823
  if (!next) closeDropdown();
3610
3824
  },
3611
3825
  onCancel: closeDropdown,
3612
- footer: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "sia-select-modal__footer", children: [
3613
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { children: modalConfig?.footerExtra }),
3614
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { children: [
3615
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { onClick: closeDropdown, children: "\u53D6\u6D88" }),
3616
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { variant: "primary", disabled: disabled || loading, onClick: () => {
3617
- setCurrentValue(multiple ? modalValues : modalValues[0] ?? null);
3618
- closeDropdown();
3619
- }, children: "\u786E\u5B9A" })
3826
+ footer: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "sia-select-modal__footer", children: [
3827
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { children: modalConfig?.footerExtra }),
3828
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
3829
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button, { disabled: modalSubmitting, onClick: closeDropdown, children: "\u53D6\u6D88" }),
3830
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button, { variant: "primary", loading: modalSubmitting, disabled: disabled || loading, onClick: confirmModalSelection, children: "\u786E\u5B9A" })
3620
3831
  ] })
3621
3832
  ] }),
3622
- children: open ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
3623
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "sia-select-modal__heading", children: [
3624
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { role: "tablist", "aria-label": "\u9009\u9879\u8303\u56F4", children: [
3625
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { role: "tab", "aria-selected": !selectedOnly, variant: "link", onClick: () => setSelectedOnly(false), children: "\u5168\u90E8" }),
3626
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Button, { role: "tab", "aria-selected": selectedOnly, variant: "link", onClick: () => setSelectedOnly(true), children: [
3833
+ children: open ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
3834
+ modalConfig?.headerExtra != null && modalConfig.headerExtra !== false ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "sia-select-modal__header-extra", children: modalConfig.headerExtra }) : null,
3835
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "sia-select-modal__heading", children: [
3836
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { role: "tablist", "aria-label": "\u9009\u9879\u8303\u56F4", children: [
3837
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button, { role: "tab", "aria-selected": !selectedOnly, variant: "link", onClick: () => setSelectedOnly(false), children: "\u5168\u90E8" }),
3838
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Button, { role: "tab", "aria-selected": selectedOnly, variant: "link", onClick: () => setSelectedOnly(true), children: [
3627
3839
  "\u5DF2\u9009\u9879(",
3628
3840
  modalValues.length,
3629
3841
  ")"
3630
3842
  ] })
3631
3843
  ] }),
3632
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3844
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
3633
3845
  Input,
3634
3846
  {
3635
3847
  "aria-label": searchPlaceholder,
3636
3848
  placeholder: searchPlaceholder,
3637
- prefix: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Icon, { name: "search", size: 14 }),
3849
+ prefix: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Icon, { name: "search", size: 14 }),
3638
3850
  value: query,
3639
3851
  allowClear: true,
3640
3852
  onChange: (event) => {
@@ -3644,8 +3856,8 @@ var Select = (0, import_react20.forwardRef)(function Select2({
3644
3856
  }
3645
3857
  )
3646
3858
  ] }),
3647
- multiple && showSelectAll ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "sia-select-modal__actions", children: [
3648
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3859
+ multiple && showSelectAll ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "sia-select-modal__actions", children: [
3860
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
3649
3861
  Checkbox2,
3650
3862
  {
3651
3863
  checked: modalEnabled.length > 0 && modalEnabled.every((option) => modalValues.includes(option.value)),
@@ -3655,10 +3867,10 @@ var Select = (0, import_react20.forwardRef)(function Select2({
3655
3867
  children: "\u5168\u9009"
3656
3868
  }
3657
3869
  ),
3658
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { variant: "link", size: "small", disabled: !modalEnabled.length, onClick: () => modalBatch("invert"), children: "\u53CD\u9009" }),
3659
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { variant: "link", size: "small", danger: true, disabled: !modalValues.length, onClick: () => setModalValues([]), children: "\u6E05\u7A7A" })
3870
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button, { variant: "link", size: "small", disabled: !modalEnabled.length, onClick: () => modalBatch("invert"), children: "\u53CD\u9009" }),
3871
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button, { variant: "link", size: "small", danger: true, disabled: !modalValues.length, onClick: () => setModalValues([]), children: "\u6E05\u7A7A" })
3660
3872
  ] }) : null,
3661
- allowInput && canSubmitInput ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Button, { variant: "link", onClick: () => {
3873
+ allowInput && canSubmitInput ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Button, { variant: "link", onClick: () => {
3662
3874
  setModalValues(multiple ? [.../* @__PURE__ */ new Set([...modalValues, inputValue])] : [inputValue]);
3663
3875
  setQuery("");
3664
3876
  }, children: [
@@ -3666,7 +3878,7 @@ var Select = (0, import_react20.forwardRef)(function Select2({
3666
3878
  inputValue,
3667
3879
  "\u201D"
3668
3880
  ] }) : null,
3669
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
3881
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
3670
3882
  SelectionPanel,
3671
3883
  {
3672
3884
  options: modalFiltered,
@@ -3690,8 +3902,8 @@ var Select = (0, import_react20.forwardRef)(function Select2({
3690
3902
  });
3691
3903
 
3692
3904
  // src/components/Upload.tsx
3693
- var import_react21 = require("react");
3694
- var import_jsx_runtime20 = require("react/jsx-runtime");
3905
+ var import_react23 = require("react");
3906
+ var import_jsx_runtime22 = require("react/jsx-runtime");
3695
3907
  var LIST_IGNORE = /* @__PURE__ */ Symbol("SIA_UPLOAD_LIST_IGNORE");
3696
3908
  function UploadRoot({
3697
3909
  accept,
@@ -3713,9 +3925,9 @@ function UploadRoot({
3713
3925
  onDrop,
3714
3926
  ...props
3715
3927
  }) {
3716
- const inputRef = (0, import_react21.useRef)(null);
3717
- const filesRef = (0, import_react21.useRef)(fileList ?? defaultFileList);
3718
- const id = (0, import_react21.useId)();
3928
+ const inputRef = (0, import_react23.useRef)(null);
3929
+ const filesRef = (0, import_react23.useRef)(fileList ?? defaultFileList);
3930
+ const id = (0, import_react23.useId)();
3719
3931
  const [files, setFiles] = useControllableState({ value: fileList, defaultValue: defaultFileList });
3720
3932
  filesRef.current = files;
3721
3933
  function emit(file, nextList) {
@@ -3774,7 +3986,7 @@ function UploadRoot({
3774
3986
  const next = files.filter((item) => item.uid !== file.uid);
3775
3987
  emit({ ...file, status: "ready" }, next);
3776
3988
  }
3777
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
3989
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
3778
3990
  "div",
3779
3991
  {
3780
3992
  className: `sia-upload sia-upload--${listType} ${className}`.trim(),
@@ -3783,9 +3995,9 @@ function UploadRoot({
3783
3995
  if (!event.defaultPrevented && !disabled) event.preventDefault();
3784
3996
  },
3785
3997
  onDrop: handleDrop,
3786
- ...props,
3998
+ ...withTitleTooltip(props),
3787
3999
  children: [
3788
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4000
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
3789
4001
  "input",
3790
4002
  {
3791
4003
  ref: inputRef,
@@ -3795,26 +4007,26 @@ function UploadRoot({
3795
4007
  accept,
3796
4008
  multiple,
3797
4009
  disabled,
3798
- ...directory ? { webkitdirectory: "", directory: "" } : {},
4010
+ ...withTitleTooltip(directory ? { webkitdirectory: "", directory: "" } : {}),
3799
4011
  onChange: handleFiles
3800
4012
  }
3801
4013
  ),
3802
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "sia-upload__trigger", onClick: () => !disabled && inputRef.current?.click(), children: children ?? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Button, { icon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Icon, { name: "upload", size: 16 }), disabled, children: "\u9009\u62E9\u6587\u4EF6" }) }),
3803
- showUploadList && files.length ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "sia-upload__list", children: files.map((file) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: `sia-upload__item sia-upload__item--${file.status ?? "ready"}`, children: [
3804
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Icon, { name: file.status === "done" ? "circle-check" : "file", size: 16 }),
3805
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "sia-upload__name", title: file.name, children: file.name }),
3806
- file.status === "uploading" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "sia-upload__progress", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { style: { width: `${file.percent ?? 0}%` } }) }) : null,
3807
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("button", { type: "button", "aria-label": `\u79FB\u9664 ${file.name}`, onClick: () => void remove(file), children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Icon, { name: "close", size: 14 }) })
4014
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "sia-upload__trigger", onClick: () => !disabled && inputRef.current?.click(), children: children ?? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Button, { icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Icon, { name: "upload", size: 16 }), disabled, children: "\u9009\u62E9\u6587\u4EF6" }) }),
4015
+ showUploadList && files.length ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "sia-upload__list", children: files.map((file) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `sia-upload__item sia-upload__item--${file.status ?? "ready"}`, children: [
4016
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Icon, { name: file.status === "done" ? "circle-check" : "file", size: 16 }),
4017
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "sia-upload__name", ...withTitleTooltip({ title: file.name }), children: file.name }),
4018
+ file.status === "uploading" ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "sia-upload__progress", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { style: { width: `${file.percent ?? 0}%` } }) }) : null,
4019
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("button", { type: "button", "aria-label": `\u79FB\u9664 ${file.name}`, onClick: () => void remove(file), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Icon, { name: "close", size: 14 }) })
3808
4020
  ] }, file.uid)) }) : null
3809
4021
  ]
3810
4022
  }
3811
4023
  );
3812
4024
  }
3813
4025
  function UploadDragger({ hint = "\u652F\u6301\u5355\u4E2A\u6216\u6279\u91CF\u4E0A\u4F20", children, className = "", ...props }) {
3814
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(UploadRoot, { ...props, className: `sia-upload-dragger ${className}`.trim(), children: children ?? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "sia-upload-dragger__content", children: [
3815
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Icon, { name: "upload", size: 28 }),
3816
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("strong", { children: "\u70B9\u51FB\u6216\u62D6\u62FD\u6587\u4EF6\u5230\u6B64\u533A\u57DF\u4E0A\u4F20" }),
3817
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { children: hint })
4026
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(UploadRoot, { ...props, className: `sia-upload-dragger ${className}`.trim(), children: children ?? /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "sia-upload-dragger__content", children: [
4027
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Icon, { name: "upload", size: 28 }),
4028
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("strong", { children: "\u70B9\u51FB\u6216\u62D6\u62FD\u6587\u4EF6\u5230\u6B64\u533A\u57DF\u4E0A\u4F20" }),
4029
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: hint })
3818
4030
  ] }) });
3819
4031
  }
3820
4032
  var Upload = Object.assign(UploadRoot, {
@@ -3825,8 +4037,8 @@ var Upload = Object.assign(UploadRoot, {
3825
4037
  });
3826
4038
 
3827
4039
  // src/components/Message.tsx
3828
- var import_client3 = require("react-dom/client");
3829
- var import_jsx_runtime21 = require("react/jsx-runtime");
4040
+ var import_client4 = require("react-dom/client");
4041
+ var import_jsx_runtime23 = require("react/jsx-runtime");
3830
4042
  var messageSeed = 0;
3831
4043
  var messageRoot = null;
3832
4044
  var messageContainer = null;
@@ -3835,11 +4047,11 @@ var defaultDuration = 3;
3835
4047
  var maxCount = 5;
3836
4048
  var messageTimers = /* @__PURE__ */ new Map();
3837
4049
  var messageIcons = {
3838
- info: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Icon, { name: "info", size: 18 }),
3839
- success: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Icon, { name: "circle-check", size: 18 }),
3840
- warning: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Icon, { name: "warning", size: 18 }),
3841
- error: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Icon, { name: "circle-close", size: 18 }),
3842
- loading: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Icon, { name: "loader", size: 18, spin: true })
4050
+ info: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Icon, { name: "info", size: 18 }),
4051
+ success: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Icon, { name: "circle-check", size: 18 }),
4052
+ warning: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Icon, { name: "warning", size: 18 }),
4053
+ error: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Icon, { name: "circle-close", size: 18 }),
4054
+ loading: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Icon, { name: "loader", size: 18, spin: true })
3843
4055
  };
3844
4056
  function ensureMessageRoot() {
3845
4057
  if (typeof document === "undefined") return false;
@@ -3847,16 +4059,16 @@ function ensureMessageRoot() {
3847
4059
  messageContainer = document.createElement("div");
3848
4060
  messageContainer.className = "sia-message-root";
3849
4061
  document.body.appendChild(messageContainer);
3850
- messageRoot = (0, import_client3.createRoot)(messageContainer);
4062
+ messageRoot = (0, import_client4.createRoot)(messageContainer);
3851
4063
  }
3852
4064
  return true;
3853
4065
  }
3854
4066
  function renderMessages() {
3855
4067
  if (!ensureMessageRoot()) return;
3856
- messageRoot.render(/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "sia-message-list", "aria-live": "polite", children: messageItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `sia-message sia-message--${item.type}`, role: item.type === "loading" ? "status" : "alert", children: [
3857
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "sia-message__icon", "aria-hidden": "true", children: messageIcons[item.type] }),
3858
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "sia-message__content", children: item.content }),
3859
- item.closable ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { type: "button", className: "sia-message__close", "aria-label": "\u5173\u95ED\u63D0\u793A", onClick: () => closeMessage(item.key), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Icon, { name: "close", size: 14 }) }) : null
4068
+ messageRoot.render(/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "sia-message-list", "aria-live": "polite", children: messageItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `sia-message sia-message--${item.type}`, role: item.type === "loading" ? "status" : "alert", children: [
4069
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "sia-message__icon", "aria-hidden": "true", children: messageIcons[item.type] }),
4070
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "sia-message__content", children: item.content }),
4071
+ item.closable ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("button", { type: "button", className: "sia-message__close", "aria-label": "\u5173\u95ED\u63D0\u793A", onClick: () => closeMessage(item.key), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Icon, { name: "close", size: 14 }) }) : null
3860
4072
  ] }, item.key)) }));
3861
4073
  }
3862
4074
  function closeMessage(key) {
@@ -3930,33 +4142,33 @@ var message = {
3930
4142
  };
3931
4143
 
3932
4144
  // src/components/Breadcrumb.tsx
3933
- var import_jsx_runtime22 = require("react/jsx-runtime");
4145
+ var import_jsx_runtime24 = require("react/jsx-runtime");
3934
4146
  function Breadcrumb({ items, separator = "/", itemRender, className = "", ...props }) {
3935
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("nav", { "aria-label": "\u9762\u5305\u5C51\u5BFC\u822A", ...props, className: `sia-breadcrumb ${className}`.trim(), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("ol", { className: "sia-breadcrumb__list", children: items.map((item, index) => {
4147
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("nav", { "aria-label": "\u9762\u5305\u5C51\u5BFC\u822A", ...withTitleTooltip(props), className: `sia-breadcrumb ${className}`.trim(), children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("ol", { className: "sia-breadcrumb__list", children: items.map((item, index) => {
3936
4148
  const current = index === items.length - 1;
3937
- const content = /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [
3938
- item.icon ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "sia-breadcrumb__icon", "aria-hidden": "true", children: item.icon }) : null,
3939
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "sia-breadcrumb__title", children: item.title })
4149
+ const content = /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_jsx_runtime24.Fragment, { children: [
4150
+ item.icon ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "sia-breadcrumb__icon", "aria-hidden": "true", children: item.icon }) : null,
4151
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "sia-breadcrumb__title", children: item.title })
3940
4152
  ] });
3941
4153
  const custom = itemRender?.(item, index, items);
3942
- const label = item.disabled ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "sia-breadcrumb__label", "aria-disabled": "true", children: content }) : custom !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "sia-breadcrumb__label", children: custom }) : item.href ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("a", { className: "sia-breadcrumb__label", href: item.href, target: item.target, rel: item.target === "_blank" ? "noopener noreferrer" : void 0, onClick: item.onClick, children: content }) : item.onClick ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Button, { className: "sia-breadcrumb__label", variant: "text", onClick: item.onClick, children: content }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "sia-breadcrumb__label", children: content });
3943
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("li", { className: `sia-breadcrumb__item${current ? " is-current" : ""}${item.disabled ? " is-disabled" : ""}`, children: [
3944
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: "sia-breadcrumb__entry", "aria-current": current ? "page" : void 0, children: [
4154
+ const label = item.disabled ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "sia-breadcrumb__label", "aria-disabled": "true", children: content }) : custom !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "sia-breadcrumb__label", children: custom }) : item.href ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("a", { className: "sia-breadcrumb__label", href: item.href, target: item.target, rel: item.target === "_blank" ? "noopener noreferrer" : void 0, onClick: item.onClick, children: content }) : item.onClick ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Button, { className: "sia-breadcrumb__label", variant: "text", onClick: item.onClick, children: content }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "sia-breadcrumb__label", children: content });
4155
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("li", { className: `sia-breadcrumb__item${current ? " is-current" : ""}${item.disabled ? " is-disabled" : ""}`, children: [
4156
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: "sia-breadcrumb__entry", "aria-current": current ? "page" : void 0, children: [
3945
4157
  label,
3946
- item.menu?.items.length ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Dropdown, { menu: item.menu, trigger: ["click"], disabled: item.disabled, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Button, { className: "sia-breadcrumb__menu-trigger", variant: "text", size: "small", disabled: item.disabled, "aria-label": `\u5C55\u5F00${typeof item.title === "string" ? item.title : "\u5C42\u7EA7"}\u83DC\u5355`, icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Icon, { name: "chevron-down", size: 12 }) }) }) : null
4158
+ item.menu?.items.length ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Dropdown, { menu: item.menu, trigger: ["click"], disabled: item.disabled, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Button, { className: "sia-breadcrumb__menu-trigger", variant: "text", size: "small", disabled: item.disabled, "aria-label": `\u5C55\u5F00${typeof item.title === "string" ? item.title : "\u5C42\u7EA7"}\u83DC\u5355`, icon: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Icon, { name: "chevron-down", size: 12 }) }) }) : null
3947
4159
  ] }),
3948
- !current ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "sia-breadcrumb__separator", "aria-hidden": "true", children: item.separator === void 0 ? separator : item.separator }) : null
4160
+ !current ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "sia-breadcrumb__separator", "aria-hidden": "true", children: item.separator === void 0 ? separator : item.separator }) : null
3949
4161
  ] }, item.key ?? index);
3950
4162
  }) }) });
3951
4163
  }
3952
4164
 
3953
4165
  // src/components/Typography.tsx
3954
- var import_react23 = require("react");
4166
+ var import_react25 = require("react");
3955
4167
 
3956
4168
  // src/components/TextArea.tsx
3957
- var import_react22 = require("react");
3958
- var import_jsx_runtime23 = require("react/jsx-runtime");
3959
- var TextArea = (0, import_react22.forwardRef)(function TextArea2({
4169
+ var import_react24 = require("react");
4170
+ var import_jsx_runtime25 = require("react/jsx-runtime");
4171
+ var TextArea = (0, import_react24.forwardRef)(function TextArea2({
3960
4172
  label,
3961
4173
  hint,
3962
4174
  status = "default",
@@ -3974,9 +4186,9 @@ var TextArea = (0, import_react22.forwardRef)(function TextArea2({
3974
4186
  ...props
3975
4187
  }, ref) {
3976
4188
  const size = useControlSize(sizeProp);
3977
- const fallbackId = (0, import_react22.useId)();
4189
+ const fallbackId = (0, import_react24.useId)();
3978
4190
  const textAreaId = id ?? fallbackId;
3979
- const [uncontrolledValue, setUncontrolledValue] = (0, import_react22.useState)(() => defaultValue === void 0 ? "" : String(defaultValue));
4191
+ const [uncontrolledValue, setUncontrolledValue] = (0, import_react24.useState)(() => defaultValue === void 0 ? "" : String(defaultValue));
3980
4192
  const currentText = value !== void 0 ? String(value) : uncontrolledValue;
3981
4193
  const floating = useFloatingPlaceholder({ mode: placeholderMode, placeholder, filled: currentText.length > 0 });
3982
4194
  const hintId = `${textAreaId}-hint`;
@@ -3985,11 +4197,11 @@ var TextArea = (0, import_react22.forwardRef)(function TextArea2({
3985
4197
  setUncontrolledValue(event.target.value);
3986
4198
  onChange?.(event);
3987
4199
  }
3988
- const control = /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: `sia-textarea-control sia-textarea-control--${size} sia-textarea-control--${status}${floating.className}${disabled ? " is-disabled" : ""}`, children: [
3989
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4200
+ const control = /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("span", { className: `sia-textarea-control sia-textarea-control--${size} sia-textarea-control--${status}${floating.className}${disabled ? " is-disabled" : ""}`, children: [
4201
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
3990
4202
  "textarea",
3991
4203
  {
3992
- ...props,
4204
+ ...withTitleTooltip(props),
3993
4205
  ref,
3994
4206
  id: textAreaId,
3995
4207
  className: "sia-textarea",
@@ -4004,21 +4216,21 @@ var TextArea = (0, import_react22.forwardRef)(function TextArea2({
4004
4216
  }
4005
4217
  ),
4006
4218
  floating.label,
4007
- showCount ? /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: `sia-textarea-control__count${maxLength !== void 0 && currentText.length >= maxLength ? " is-limit" : ""}`, "aria-live": "polite", children: [
4219
+ showCount ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("span", { className: `sia-textarea-control__count${maxLength !== void 0 && currentText.length >= maxLength ? " is-limit" : ""}`, "aria-live": "polite", children: [
4008
4220
  currentText.length,
4009
4221
  maxLength !== void 0 ? `/${maxLength}` : null
4010
4222
  ] }) : null
4011
4223
  ] });
4012
- if (!label && !hint) return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `sia-field ${className}`.trim(), children: control });
4013
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: `sia-field ${className}`.trim(), children: [
4014
- label ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("label", { className: "sia-field__label", htmlFor: textAreaId, children: label }) : null,
4224
+ if (!label && !hint) return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `sia-field ${className}`.trim(), children: control });
4225
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("span", { className: `sia-field ${className}`.trim(), children: [
4226
+ label ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("label", { className: "sia-field__label", htmlFor: textAreaId, children: label }) : null,
4015
4227
  control,
4016
- hint ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { id: hintId, className: `sia-field__hint sia-field__hint--${status}`, children: hint }) : null
4228
+ hint ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { id: hintId, className: `sia-field__hint sia-field__hint--${status}`, children: hint }) : null
4017
4229
  ] });
4018
4230
  });
4019
4231
 
4020
4232
  // src/components/Typography.tsx
4021
- var import_jsx_runtime24 = require("react/jsx-runtime");
4233
+ var import_jsx_runtime26 = require("react/jsx-runtime");
4022
4234
  function TypographyContent({
4023
4235
  as: Tag2 = "span",
4024
4236
  type,
@@ -4037,26 +4249,26 @@ function TypographyContent({
4037
4249
  className = "",
4038
4250
  ...props
4039
4251
  }) {
4040
- const contentRef = (0, import_react23.useRef)(null);
4041
- const editRef = (0, import_react23.useRef)(null);
4042
- const timer = (0, import_react23.useRef)();
4043
- const [localText, setLocalText] = (0, import_react23.useState)();
4044
- const [draft, setDraft] = (0, import_react23.useState)("");
4045
- const [editing, setEditing] = (0, import_react23.useState)(false);
4046
- const [copied, setCopied] = (0, import_react23.useState)(false);
4047
- const [copyError, setCopyError] = (0, import_react23.useState)(false);
4048
- const [expanded, setExpanded] = (0, import_react23.useState)(false);
4049
- const [overflow, setOverflow] = (0, import_react23.useState)(false);
4252
+ const contentRef = (0, import_react25.useRef)(null);
4253
+ const editRef = (0, import_react25.useRef)(null);
4254
+ const timer = (0, import_react25.useRef)();
4255
+ const [localText, setLocalText] = (0, import_react25.useState)();
4256
+ const [draft, setDraft] = (0, import_react25.useState)("");
4257
+ const [editing, setEditing] = (0, import_react25.useState)(false);
4258
+ const [copied, setCopied] = (0, import_react25.useState)(false);
4259
+ const [copyError, setCopyError] = (0, import_react25.useState)(false);
4260
+ const [expanded, setExpanded] = (0, import_react25.useState)(false);
4261
+ const [overflow, setOverflow] = (0, import_react25.useState)(false);
4050
4262
  const editConfig = typeof editable === "object" ? editable : void 0;
4051
4263
  const content = editConfig?.text ?? localText ?? children;
4052
4264
  const requestedRows = typeof ellipsis === "object" ? ellipsis.rows ?? 1 : 1;
4053
4265
  const rows = Number.isFinite(requestedRows) ? Math.max(1, Math.floor(requestedRows)) : 1;
4054
4266
  const expandable = typeof ellipsis === "object" && ellipsis.expandable;
4055
- (0, import_react23.useEffect)(() => {
4267
+ (0, import_react25.useEffect)(() => {
4056
4268
  setLocalText(void 0);
4057
4269
  }, [children]);
4058
- (0, import_react23.useEffect)(() => () => clearTimeout(timer.current), []);
4059
- (0, import_react23.useLayoutEffect)(() => {
4270
+ (0, import_react25.useEffect)(() => () => clearTimeout(timer.current), []);
4271
+ (0, import_react25.useLayoutEffect)(() => {
4060
4272
  const element = contentRef.current;
4061
4273
  if (!element || !ellipsis || editing || expanded) return;
4062
4274
  const measure = () => setOverflow(element.scrollHeight > element.clientHeight + 1 || element.scrollWidth > element.clientWidth + 1);
@@ -4087,15 +4299,15 @@ function TypographyContent({
4087
4299
  requestAnimationFrame(() => editRef.current?.focus());
4088
4300
  }
4089
4301
  let formatted = content;
4090
- if (strong) formatted = /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("strong", { children: formatted });
4091
- if (italic) formatted = /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("em", { children: formatted });
4092
- if (underline) formatted = /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("u", { children: formatted });
4093
- if (deleted) formatted = /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("del", { children: formatted });
4094
- if (mark) formatted = /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("mark", { children: formatted });
4095
- if (code) formatted = /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("code", { children: formatted });
4096
- if (keyboard) formatted = /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("kbd", { children: formatted });
4097
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Tag2, { ...props, "aria-disabled": disabled || void 0, className: `sia-typography sia-typography--${Tag2}${type ? ` sia-typography--${type}` : ""}${disabled ? " is-disabled" : ""} ${className}`.trim(), children: editing ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: "sia-typography__editor", children: [
4098
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4302
+ if (strong) formatted = /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("strong", { children: formatted });
4303
+ if (italic) formatted = /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("em", { children: formatted });
4304
+ if (underline) formatted = /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("u", { children: formatted });
4305
+ if (deleted) formatted = /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("del", { children: formatted });
4306
+ if (mark) formatted = /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("mark", { children: formatted });
4307
+ if (code) formatted = /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("code", { children: formatted });
4308
+ if (keyboard) formatted = /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("kbd", { children: formatted });
4309
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Tag2, { ...withTitleTooltip(props), "aria-disabled": disabled || void 0, className: `sia-typography sia-typography--${Tag2}${type ? ` sia-typography--${type}` : ""}${disabled ? " is-disabled" : ""} ${className}`.trim(), children: editing ? /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("span", { className: "sia-typography__editor", children: [
4310
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
4099
4311
  TextArea,
4100
4312
  {
4101
4313
  autoFocus: true,
@@ -4117,35 +4329,35 @@ function TypographyContent({
4117
4329
  }
4118
4330
  }
4119
4331
  ),
4120
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: "sia-typography__edit-actions", children: [
4121
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Button, { size: "small", onClick: () => finish(false), children: "\u53D6\u6D88" }),
4122
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Button, { size: "small", variant: "primary", onClick: () => finish(true), children: "\u4FDD\u5B58" })
4332
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("span", { className: "sia-typography__edit-actions", children: [
4333
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Button, { size: "small", onClick: () => finish(false), children: "\u53D6\u6D88" }),
4334
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Button, { size: "small", variant: "primary", onClick: () => finish(true), children: "\u4FDD\u5B58" })
4123
4335
  ] })
4124
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_jsx_runtime24.Fragment, { children: [
4125
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { ref: contentRef, className: ellipsis && !expanded ? "sia-typography__ellipsis" : void 0, style: ellipsis && !expanded ? { "--sia-typography-rows": rows } : void 0, children: formatted }),
4126
- expandable && (overflow || expanded) ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Button, { variant: "link", size: "small", className: "sia-typography__action", "aria-expanded": expanded, disabled, onClick: () => setExpanded(!expanded), children: expanded ? "\u6536\u8D77" : "\u5C55\u5F00" }) : null,
4127
- editable ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Button, { ref: editRef, variant: "text", size: "small", className: "sia-typography__action", "aria-label": "\u7F16\u8F91\u6587\u672C", title: "\u7F16\u8F91", disabled, icon: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Icon, { name: "edit", size: 14 }), onClick: () => {
4336
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
4337
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { ref: contentRef, className: ellipsis && !expanded ? "sia-typography__ellipsis" : void 0, style: ellipsis && !expanded ? { "--sia-typography-rows": rows } : void 0, children: formatted }),
4338
+ expandable && (overflow || expanded) ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Button, { variant: "link", size: "small", className: "sia-typography__action", "aria-expanded": expanded, disabled, onClick: () => setExpanded(!expanded), children: expanded ? "\u6536\u8D77" : "\u5C55\u5F00" }) : null,
4339
+ editable ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Button, { ref: editRef, variant: "text", size: "small", className: "sia-typography__action", "aria-label": "\u7F16\u8F91\u6587\u672C", title: "\u7F16\u8F91", disabled, icon: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Icon, { name: "edit", size: 14 }), onClick: () => {
4128
4340
  setDraft(contentRef.current?.textContent ?? "");
4129
4341
  setEditing(true);
4130
4342
  } }) : null,
4131
- copyable ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Button, { variant: "text", size: "small", className: "sia-typography__action", "aria-label": copied ? "\u5DF2\u590D\u5236" : "\u590D\u5236\u6587\u672C", title: copied ? "\u5DF2\u590D\u5236" : "\u590D\u5236", disabled, icon: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Icon, { name: copied ? "check" : "copy", size: 14 }), onClick: () => void copy() }) : null,
4132
- copyError ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { role: "status", className: "sia-typography--danger", children: "\u590D\u5236\u5931\u8D25\uFF0C\u8BF7\u624B\u52A8\u9009\u62E9\u6587\u672C\u590D\u5236\u3002" }) : null
4343
+ copyable ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Button, { variant: "text", size: "small", className: "sia-typography__action", "aria-label": copied ? "\u5DF2\u590D\u5236" : "\u590D\u5236\u6587\u672C", title: copied ? "\u5DF2\u590D\u5236" : "\u590D\u5236", disabled, icon: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Icon, { name: copied ? "check" : "copy", size: 14 }), onClick: () => void copy() }) : null,
4344
+ copyError ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { role: "status", className: "sia-typography--danger", children: "\u590D\u5236\u5931\u8D25\uFF0C\u8BF7\u624B\u52A8\u9009\u62E9\u6587\u672C\u590D\u5236\u3002" }) : null
4133
4345
  ] }) });
4134
4346
  }
4135
4347
  function Title({ level = 1, ...props }) {
4136
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(TypographyContent, { ...props, as: `h${level}` });
4348
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(TypographyContent, { ...props, as: `h${level}` });
4137
4349
  }
4138
4350
  function Text(props) {
4139
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(TypographyContent, { ...props });
4351
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(TypographyContent, { ...props });
4140
4352
  }
4141
4353
  function Paragraph(props) {
4142
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(TypographyContent, { ...props, as: "p" });
4354
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(TypographyContent, { ...props, as: "p" });
4143
4355
  }
4144
4356
  function Link({ disabled, className = "", onClick, href, target, rel, ...props }) {
4145
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4357
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
4146
4358
  "a",
4147
4359
  {
4148
- ...props,
4360
+ ...withTitleTooltip(props),
4149
4361
  href: disabled ? void 0 : href,
4150
4362
  target,
4151
4363
  rel: rel ?? (target === "_blank" ? "noopener noreferrer" : void 0),
@@ -4160,7 +4372,7 @@ function Link({ disabled, className = "", onClick, href, target, rel, ...props }
4160
4372
  );
4161
4373
  }
4162
4374
  function TypographyRoot({ className = "", ...props }) {
4163
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { ...props, className: `sia-typography ${className}`.trim() });
4375
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { ...withTitleTooltip(props), className: `sia-typography ${className}`.trim() });
4164
4376
  }
4165
4377
  var Typography = Object.assign(TypographyRoot, {
4166
4378
  /** 语义化标题,支持标题级别、复制和编辑。 */
@@ -4174,10 +4386,10 @@ var Typography = Object.assign(TypographyRoot, {
4174
4386
  });
4175
4387
 
4176
4388
  // src/components/FloatButton.tsx
4177
- var import_react24 = require("react");
4178
- var import_jsx_runtime25 = require("react/jsx-runtime");
4179
- var GroupShape = (0, import_react24.createContext)(void 0);
4180
- var FloatButtonRoot = (0, import_react24.forwardRef)(function FloatButton({
4389
+ var import_react26 = require("react");
4390
+ var import_jsx_runtime27 = require("react/jsx-runtime");
4391
+ var GroupShape = (0, import_react26.createContext)(void 0);
4392
+ var FloatButtonRoot = (0, import_react26.forwardRef)(function FloatButton({
4181
4393
  icon,
4182
4394
  description,
4183
4395
  tooltip,
@@ -4190,23 +4402,23 @@ var FloatButtonRoot = (0, import_react24.forwardRef)(function FloatButton({
4190
4402
  children,
4191
4403
  ...props
4192
4404
  }, ref) {
4193
- const groupShape = (0, import_react24.useContext)(GroupShape);
4405
+ const groupShape = (0, import_react26.useContext)(GroupShape);
4194
4406
  const label = props["aria-label"] ?? (typeof tooltip === "string" ? tooltip : typeof description === "string" ? description : "\u60AC\u6D6E\u64CD\u4F5C");
4195
- const button = /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4407
+ const button = /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4196
4408
  "button",
4197
4409
  {
4198
- ...props,
4410
+ ...withTitleTooltip(props),
4199
4411
  ref,
4200
4412
  type: htmlType,
4201
4413
  "aria-label": label,
4202
4414
  className: `sia-float-button sia-float-button--${groupShape ?? shape} sia-float-button--${type} ${className}`.trim(),
4203
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Badge, { ...badge, className: "sia-float-button__badge", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("span", { className: "sia-float-button__body", children: [
4204
- icon !== null ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "sia-float-button__icon", children: icon ?? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Icon, { name: "question", size: 20 }) }) : null,
4205
- description != null || children != null ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "sia-float-button__description", children: description ?? children }) : null
4415
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Badge, { ...badge, className: "sia-float-button__badge", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("span", { className: "sia-float-button__body", children: [
4416
+ icon !== null ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "sia-float-button__icon", children: icon ?? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon, { name: "question", size: 20 }) }) : null,
4417
+ description != null || children != null ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "sia-float-button__description", children: description ?? children }) : null
4206
4418
  ] }) })
4207
4419
  }
4208
4420
  );
4209
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "sia-float-button-root", style, children: tooltip ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Tooltip, { title: tooltip, placement: "left", children: button }) : button });
4421
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "sia-float-button-root", style, children: tooltip ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Tooltip, { title: tooltip, placement: "left", children: button }) : button });
4210
4422
  });
4211
4423
  function FloatButtonGroup({
4212
4424
  shape = "circle",
@@ -4228,10 +4440,10 @@ function FloatButtonGroup({
4228
4440
  ...props
4229
4441
  }) {
4230
4442
  const [visible, setVisible] = useControllableState({ value: open, defaultValue: defaultOpen, onChange: onOpenChange });
4231
- const rootRef = (0, import_react24.useRef)(null);
4232
- const triggerRef = (0, import_react24.useRef)(null);
4233
- const id = (0, import_react24.useId)();
4234
- (0, import_react24.useEffect)(() => {
4443
+ const rootRef = (0, import_react26.useRef)(null);
4444
+ const triggerRef = (0, import_react26.useRef)(null);
4445
+ const id = (0, import_react26.useId)();
4446
+ (0, import_react26.useEffect)(() => {
4235
4447
  if (!trigger || !visible) return;
4236
4448
  const close = (event) => {
4237
4449
  if (!rootRef.current?.contains(event.target)) setVisible(false);
@@ -4239,10 +4451,10 @@ function FloatButtonGroup({
4239
4451
  document.addEventListener("pointerdown", close);
4240
4452
  return () => document.removeEventListener("pointerdown", close);
4241
4453
  }, [trigger, visible, setVisible]);
4242
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(GroupShape.Provider, { value: shape, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
4454
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(GroupShape.Provider, { value: shape, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
4243
4455
  "div",
4244
4456
  {
4245
- ...props,
4457
+ ...withTitleTooltip(props),
4246
4458
  ref: rootRef,
4247
4459
  role: "group",
4248
4460
  className: `sia-float-button-group sia-float-button-group--${shape} sia-float-button-group--${placement}${trigger ? " sia-float-button-group--menu" : ""} ${className}`.trim(),
@@ -4266,13 +4478,13 @@ function FloatButtonGroup({
4266
4478
  }
4267
4479
  },
4268
4480
  children: [
4269
- !trigger || visible ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { id, className: "sia-float-button-group__list", children }) : null,
4270
- trigger ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4481
+ !trigger || visible ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { id, className: "sia-float-button-group__list", children }) : null,
4482
+ trigger ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4271
4483
  FloatButtonRoot,
4272
4484
  {
4273
4485
  ref: triggerRef,
4274
4486
  type,
4275
- icon: visible ? closeIcon ?? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Icon, { name: "close", size: 20 }) : icon ?? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Icon, { name: "plus", size: 20 }),
4487
+ icon: visible ? closeIcon ?? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon, { name: "close", size: 20 }) : icon ?? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon, { name: "plus", size: 20 }),
4276
4488
  tooltip,
4277
4489
  "aria-label": visible ? "\u6536\u8D77\u60AC\u6D6E\u83DC\u5355" : "\u5C55\u5F00\u60AC\u6D6E\u83DC\u5355",
4278
4490
  "aria-expanded": visible,
@@ -4285,8 +4497,8 @@ function FloatButtonGroup({
4285
4497
  ) });
4286
4498
  }
4287
4499
  function FloatButtonBackTop({ target, visibilityHeight = 400, behavior = "smooth", onClick, icon, tooltip = "\u8FD4\u56DE\u9876\u90E8", ...props }) {
4288
- const [visible, setVisible] = (0, import_react24.useState)(false);
4289
- (0, import_react24.useEffect)(() => {
4500
+ const [visible, setVisible] = (0, import_react26.useState)(false);
4501
+ (0, import_react26.useEffect)(() => {
4290
4502
  const element = target ? target() : window;
4291
4503
  if (!element) return;
4292
4504
  const update = () => setVisible((element === window ? window.scrollY : element.scrollTop) >= visibilityHeight);
@@ -4295,7 +4507,7 @@ function FloatButtonBackTop({ target, visibilityHeight = 400, behavior = "smooth
4295
4507
  return () => element.removeEventListener("scroll", update);
4296
4508
  }, [target, visibilityHeight]);
4297
4509
  if (!visible) return null;
4298
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(FloatButtonRoot, { ...props, tooltip, icon: icon ?? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Icon, { name: "arrow-up", size: 20 }), onClick: (event) => {
4510
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(FloatButtonRoot, { ...props, tooltip, icon: icon ?? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon, { name: "arrow-up", size: 20 }), onClick: (event) => {
4299
4511
  onClick?.(event);
4300
4512
  if (event.defaultPrevented) return;
4301
4513
  const element = target ? target() : window;
@@ -4323,6 +4535,7 @@ var FloatButton2 = Object.assign(FloatButtonRoot, {
4323
4535
  Select,
4324
4536
  Tabs,
4325
4537
  Tag,
4538
+ Toolbar,
4326
4539
  Typography,
4327
4540
  Upload,
4328
4541
  message