@wipco/sdui 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,102 +1,703 @@
1
+ import React, { useState, useRef, useMemo, useCallback, useEffect, useLayoutEffect } from 'react';
1
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { useState, useRef, useMemo, useCallback, useEffect, useLayoutEffect } from 'react';
3
+
4
+ // src/components.tsx
3
5
 
4
6
  // src/icons.ts
5
- var ICON_PATHS = {
6
- x: ["M18 6 6 18", "m6 6 12 12"],
7
- check: ["M20 6 9 17l-5-5"],
8
- minus: ["M5 12h14"],
9
- plus: ["M5 12h14", "M12 5v14"],
10
- "chevron-down": ["m6 9 6 6 6-6"],
11
- "chevron-up": ["m18 15-6-6-6 6"],
12
- "chevron-left": ["m15 18-6-6 6-6"],
13
- "chevron-right": ["m9 18 6-6-6-6"],
14
- "chevrons-up-down": ["m7 15 5 5 5-5", "m7 9 5-5 5 5"],
15
- search: ["M11 3a8 8 0 1 0 0 16 8 8 0 0 0 0-16Z", "m21 21-4.3-4.3"],
16
- info: ["M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z", "M12 16v-4", "M12 8h.01"],
17
- "circle-check": ["M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z", "m9 12 2 2 4-4"],
18
- "circle-alert": ["M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z", "M12 8v4", "M12 16h.01"],
19
- "triangle-alert": [
20
- "m21.73 18-8-14a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",
21
- "M12 9v4",
22
- "M12 17h.01"
7
+ var ICON_NODES = {
8
+ "activity": [
9
+ { t: "path", d: "M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2" }
10
+ ],
11
+ "arrow-down": [
12
+ { t: "path", d: "M12 5v14" },
13
+ { t: "path", d: "m19 12-7 7-7-7" }
14
+ ],
15
+ "arrow-left": [
16
+ { t: "path", d: "m12 19-7-7 7-7" },
17
+ { t: "path", d: "M19 12H5" }
18
+ ],
19
+ "arrow-right": [
20
+ { t: "path", d: "M5 12h14" },
21
+ { t: "path", d: "m12 5 7 7-7 7" }
22
+ ],
23
+ "arrow-up-right": [
24
+ { t: "path", d: "M7 7h10v10" },
25
+ { t: "path", d: "M7 17 17 7" }
26
+ ],
27
+ "axis-3d": [
28
+ { t: "path", d: "M13.5 10.5 15 9" },
29
+ { t: "path", d: "M4 4v15a1 1 0 0 0 1 1h15" },
30
+ { t: "path", d: "M4.293 19.707 6 18" },
31
+ { t: "path", d: "m9 15 1.5-1.5" }
32
+ ],
33
+ "bell": [
34
+ { t: "path", d: "M10.268 21a2 2 0 0 0 3.464 0" },
35
+ { t: "path", d: "M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326" }
36
+ ],
37
+ "blocks": [
38
+ { t: "path", d: "M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2" },
39
+ { t: "rect", x: "14", y: "2", width: "8", height: "8", rx: "1" }
40
+ ],
41
+ "bookmark": [
42
+ { t: "path", d: "M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z" }
43
+ ],
44
+ "box": [
45
+ { t: "path", d: "M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z" },
46
+ { t: "path", d: "m3.3 7 8.7 5 8.7-5" },
47
+ { t: "path", d: "M12 22V12" }
48
+ ],
49
+ "boxes": [
50
+ { t: "path", d: "M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z" },
51
+ { t: "path", d: "m7 16.5-4.74-2.85" },
52
+ { t: "path", d: "m7 16.5 5-3" },
53
+ { t: "path", d: "M7 16.5v5.17" },
54
+ { t: "path", d: "M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z" },
55
+ { t: "path", d: "m17 16.5-5-3" },
56
+ { t: "path", d: "m17 16.5 4.74-2.85" },
57
+ { t: "path", d: "M17 16.5v5.17" },
58
+ { t: "path", d: "M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z" },
59
+ { t: "path", d: "M12 8 7.26 5.15" },
60
+ { t: "path", d: "m12 8 4.74-2.85" },
61
+ { t: "path", d: "M12 13.5V8" }
62
+ ],
63
+ "building-2": [
64
+ { t: "path", d: "M10 12h4" },
65
+ { t: "path", d: "M10 8h4" },
66
+ { t: "path", d: "M14 21v-3a2 2 0 0 0-4 0v3" },
67
+ { t: "path", d: "M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2" },
68
+ { t: "path", d: "M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16" }
69
+ ],
70
+ "calendar": [
71
+ { t: "path", d: "M8 2v3" },
72
+ { t: "path", d: "M16 2v3" },
73
+ { t: "rect", x: "3", y: "3", width: "18", height: "18", rx: "2" },
74
+ { t: "path", d: "M3 9h18" }
75
+ ],
76
+ "camera": [
77
+ { t: "path", d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z" },
78
+ { t: "circle", cx: "12", cy: "13", r: "3" }
79
+ ],
80
+ "chart-column": [
81
+ { t: "path", d: "M3 3v16a2 2 0 0 0 2 2h16" },
82
+ { t: "path", d: "M18 17V9" },
83
+ { t: "path", d: "M13 17V5" },
84
+ { t: "path", d: "M8 17v-3" }
85
+ ],
86
+ "chart-pie": [
87
+ { t: "path", d: "M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z" },
88
+ { t: "path", d: "M21.21 15.89A10 10 0 1 1 8 2.83" }
89
+ ],
90
+ "check": [
91
+ { t: "path", d: "M20 6 9 17l-5-5" }
92
+ ],
93
+ "check-check": [
94
+ { t: "path", d: "M18 6 7 17l-5-5" },
95
+ { t: "path", d: "m22 10-7.5 7.5L13 16" }
96
+ ],
97
+ "chevron-down": [
98
+ { t: "path", d: "m6 9 6 6 6-6" }
99
+ ],
100
+ "chevron-left": [
101
+ { t: "path", d: "m15 18-6-6 6-6" }
102
+ ],
103
+ "chevron-right": [
104
+ { t: "path", d: "m9 18 6-6-6-6" }
105
+ ],
106
+ "chevron-up": [
107
+ { t: "path", d: "m18 15-6-6-6 6" }
108
+ ],
109
+ "chevrons-up-down": [
110
+ { t: "path", d: "m7 15 5 5 5-5" },
111
+ { t: "path", d: "m7 9 5-5 5 5" }
112
+ ],
113
+ "circle-alert": [
114
+ { t: "circle", cx: "12", cy: "12", r: "10" },
115
+ { t: "line", x1: "12", x2: "12", y1: "8", y2: "12" },
116
+ { t: "line", x1: "12", x2: "12.01", y1: "16", y2: "16" }
117
+ ],
118
+ "circle-check": [
119
+ { t: "circle", cx: "12", cy: "12", r: "10" },
120
+ { t: "path", d: "m9 12 2 2 4-4" }
121
+ ],
122
+ "circle-dot": [
123
+ { t: "circle", cx: "12", cy: "12", r: "10" },
124
+ { t: "circle", cx: "12", cy: "12", r: "1" }
125
+ ],
126
+ "circle-question-mark": [
127
+ { t: "circle", cx: "12", cy: "12", r: "10" },
128
+ { t: "path", d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" },
129
+ { t: "path", d: "M12 17h.01" }
130
+ ],
131
+ "circle-user": [
132
+ { t: "circle", cx: "12", cy: "12", r: "10" },
133
+ { t: "circle", cx: "12", cy: "10", r: "3" },
134
+ { t: "path", d: "M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662" }
135
+ ],
136
+ "circle-x": [
137
+ { t: "circle", cx: "12", cy: "12", r: "10" },
138
+ { t: "path", d: "m15 9-6 6" },
139
+ { t: "path", d: "m9 9 6 6" }
140
+ ],
141
+ "clock": [
142
+ { t: "circle", cx: "12", cy: "12", r: "10" },
143
+ { t: "path", d: "M12 6v6l4 2" }
144
+ ],
145
+ "cloud": [
146
+ { t: "path", d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z" }
147
+ ],
148
+ "cloud-upload": [
149
+ { t: "path", d: "M12 13v8" },
150
+ { t: "path", d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242" },
151
+ { t: "path", d: "m8 17 4-4 4 4" }
152
+ ],
153
+ "compass": [
154
+ { t: "circle", cx: "12", cy: "12", r: "10" },
155
+ { t: "path", d: "m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z" }
156
+ ],
157
+ "component": [
158
+ { t: "path", d: "M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z" },
159
+ { t: "path", d: "M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z" },
160
+ { t: "path", d: "M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z" },
161
+ { t: "path", d: "M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z" }
162
+ ],
163
+ "construction": [
164
+ { t: "rect", x: "2", y: "6", width: "20", height: "8", rx: "1" },
165
+ { t: "path", d: "M17 14v7" },
166
+ { t: "path", d: "M7 14v7" },
167
+ { t: "path", d: "M17 3v3" },
168
+ { t: "path", d: "M7 3v3" },
169
+ { t: "path", d: "M10 14 2.3 6.3" },
170
+ { t: "path", d: "m14 6 7.7 7.7" },
171
+ { t: "path", d: "m8 6 8 8" }
172
+ ],
173
+ "copy": [
174
+ { t: "rect", width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2" },
175
+ { t: "path", d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" }
176
+ ],
177
+ "cpu": [
178
+ { t: "path", d: "M12 20v2" },
179
+ { t: "path", d: "M12 2v2" },
180
+ { t: "path", d: "M17 20v2" },
181
+ { t: "path", d: "M17 2v2" },
182
+ { t: "path", d: "M2 12h2" },
183
+ { t: "path", d: "M2 17h2" },
184
+ { t: "path", d: "M2 7h2" },
185
+ { t: "path", d: "M20 12h2" },
186
+ { t: "path", d: "M20 17h2" },
187
+ { t: "path", d: "M20 7h2" },
188
+ { t: "path", d: "M7 20v2" },
189
+ { t: "path", d: "M7 2v2" },
190
+ { t: "rect", x: "4", y: "4", width: "16", height: "16", rx: "2" },
191
+ { t: "rect", x: "8", y: "8", width: "8", height: "8", rx: "1" }
192
+ ],
193
+ "crosshair": [
194
+ { t: "circle", cx: "12", cy: "12", r: "10" },
195
+ { t: "line", x1: "22", x2: "18", y1: "12", y2: "12" },
196
+ { t: "line", x1: "6", x2: "2", y1: "12", y2: "12" },
197
+ { t: "line", x1: "12", x2: "12", y1: "6", y2: "2" },
198
+ { t: "line", x1: "12", x2: "12", y1: "22", y2: "18" }
199
+ ],
200
+ "database": [
201
+ { t: "ellipse", cx: "12", cy: "5", rx: "9", ry: "3" },
202
+ { t: "path", d: "M3 5V19A9 3 0 0 0 21 19V5" },
203
+ { t: "path", d: "M3 12A9 3 0 0 0 21 12" }
204
+ ],
205
+ "download": [
206
+ { t: "path", d: "M12 15V3" },
207
+ { t: "path", d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" },
208
+ { t: "path", d: "m7 10 5 5 5-5" }
209
+ ],
210
+ "ellipsis": [
211
+ { t: "circle", cx: "12", cy: "12", r: "1" },
212
+ { t: "circle", cx: "19", cy: "12", r: "1" },
213
+ { t: "circle", cx: "5", cy: "12", r: "1" }
214
+ ],
215
+ "ellipsis-vertical": [
216
+ { t: "circle", cx: "12", cy: "12", r: "1" },
217
+ { t: "circle", cx: "12", cy: "5", r: "1" },
218
+ { t: "circle", cx: "12", cy: "19", r: "1" }
219
+ ],
220
+ "external-link": [
221
+ { t: "path", d: "M15 3h6v6" },
222
+ { t: "path", d: "M10 14 21 3" },
223
+ { t: "path", d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }
224
+ ],
225
+ "eye": [
226
+ { t: "path", d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0" },
227
+ { t: "circle", cx: "12", cy: "12", r: "3" }
228
+ ],
229
+ "eye-off": [
230
+ { t: "path", d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49" },
231
+ { t: "path", d: "M14.084 14.158a3 3 0 0 1-4.242-4.242" },
232
+ { t: "path", d: "M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143" },
233
+ { t: "path", d: "m2 2 20 20" }
234
+ ],
235
+ "factory": [
236
+ { t: "path", d: "M12 16h.01" },
237
+ { t: "path", d: "M16 16h.01" },
238
+ { t: "path", d: "M3 19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a.5.5 0 0 0-.769-.422l-4.462 2.844A.5.5 0 0 1 15 10.5v-2a.5.5 0 0 0-.769-.422L9.77 10.922A.5.5 0 0 1 9 10.5V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2z" },
239
+ { t: "path", d: "M8 16h.01" }
23
240
  ],
24
- "trash-2": [
25
- "M3 6h18",
26
- "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",
27
- "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",
28
- "M10 11v6",
29
- "M14 11v6"
30
- ],
31
- pencil: [
32
- "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497Z"
33
- ],
34
- copy: ["M9 9h12v12H9z", "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"],
35
- eye: ["M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z", "M12 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z"],
36
- "log-out": ["M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4", "m16 17 5-5-5-5", "M21 12H9"],
37
- save: [
38
- "M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2Z",
39
- "M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",
40
- "M7 3v4a1 1 0 0 0 1 1h7"
41
- ],
42
- "layout-dashboard": ["M3 3h7v9H3z", "M14 3h7v5h-7z", "M14 12h7v9h-7z", "M3 16h7v5H3z"],
43
241
  "file-text": [
44
- "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",
45
- "M14 2v4a2 2 0 0 0 2 2h4",
46
- "M16 13H8",
47
- "M16 17H8",
48
- "M10 9H8"
242
+ { t: "path", d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z" },
243
+ { t: "path", d: "M14 2v5a1 1 0 0 0 1 1h5" },
244
+ { t: "path", d: "M10 9H8" },
245
+ { t: "path", d: "M16 13H8" },
246
+ { t: "path", d: "M16 17H8" }
247
+ ],
248
+ "files": [
249
+ { t: "path", d: "M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8" },
250
+ { t: "path", d: "M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z" },
251
+ { t: "path", d: "M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1" }
252
+ ],
253
+ "flag": [
254
+ { t: "path", d: "M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528" }
255
+ ],
256
+ "folder": [
257
+ { t: "path", d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z" }
258
+ ],
259
+ "folder-open": [
260
+ { t: "path", d: "m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2" }
261
+ ],
262
+ "funnel": [
263
+ { t: "path", d: "M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z" }
264
+ ],
265
+ "gauge": [
266
+ { t: "path", d: "m12 14 4-4" },
267
+ { t: "path", d: "M3.34 19a10 10 0 1 1 17.32 0" }
268
+ ],
269
+ "git-branch": [
270
+ { t: "path", d: "M15 6a9 9 0 0 0-9 9V3" },
271
+ { t: "circle", cx: "18", cy: "6", r: "3" },
272
+ { t: "circle", cx: "6", cy: "18", r: "3" }
273
+ ],
274
+ "grid-3x3": [
275
+ { t: "rect", width: "18", height: "18", x: "3", y: "3", rx: "2" },
276
+ { t: "path", d: "M3 9h18" },
277
+ { t: "path", d: "M3 15h18" },
278
+ { t: "path", d: "M9 3v18" },
279
+ { t: "path", d: "M15 3v18" }
280
+ ],
281
+ "hammer": [
282
+ { t: "path", d: "m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9" },
283
+ { t: "path", d: "m18 15 4-4" },
284
+ { t: "path", d: "m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5" }
285
+ ],
286
+ "hard-drive": [
287
+ { t: "path", d: "M10 16h.01" },
288
+ { t: "path", d: "M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z" },
289
+ { t: "path", d: "M21.946 12.013H2.054" },
290
+ { t: "path", d: "M6 16h.01" }
291
+ ],
292
+ "image": [
293
+ { t: "rect", width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2" },
294
+ { t: "circle", cx: "9", cy: "9", r: "2" },
295
+ { t: "path", d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21" }
296
+ ],
297
+ "info": [
298
+ { t: "circle", cx: "12", cy: "12", r: "10" },
299
+ { t: "path", d: "M12 16v-4" },
300
+ { t: "path", d: "M12 8h.01" }
301
+ ],
302
+ "key": [
303
+ { t: "path", d: "m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4" },
304
+ { t: "path", d: "m21 2-9.6 9.6" },
305
+ { t: "circle", cx: "7.5", cy: "15.5", r: "5.5" }
306
+ ],
307
+ "land-plot": [
308
+ { t: "path", d: "m12 8 6-3-6-3v10" },
309
+ { t: "path", d: "m8 11.99-5.5 3.14a1 1 0 0 0 0 1.74l8.5 4.86a2 2 0 0 0 2 0l8.5-4.86a1 1 0 0 0 0-1.74L16 12" },
310
+ { t: "path", d: "m6.49 12.85 11.02 6.3" },
311
+ { t: "path", d: "M17.51 12.85 6.5 19.15" }
312
+ ],
313
+ "layers": [
314
+ { t: "path", d: "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z" },
315
+ { t: "path", d: "M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12" },
316
+ { t: "path", d: "M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17" }
317
+ ],
318
+ "layout-dashboard": [
319
+ { t: "rect", width: "7", height: "9", x: "3", y: "3", rx: "1" },
320
+ { t: "rect", width: "7", height: "5", x: "14", y: "3", rx: "1" },
321
+ { t: "rect", width: "7", height: "9", x: "14", y: "12", rx: "1" },
322
+ { t: "rect", width: "7", height: "5", x: "3", y: "16", rx: "1" }
323
+ ],
324
+ "layout-grid": [
325
+ { t: "rect", width: "7", height: "7", x: "3", y: "3", rx: "1" },
326
+ { t: "rect", width: "7", height: "7", x: "14", y: "3", rx: "1" },
327
+ { t: "rect", width: "7", height: "7", x: "14", y: "14", rx: "1" },
328
+ { t: "rect", width: "7", height: "7", x: "3", y: "14", rx: "1" }
329
+ ],
330
+ "link": [
331
+ { t: "path", d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" },
332
+ { t: "path", d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" }
333
+ ],
334
+ "list": [
335
+ { t: "path", d: "M3 5h.01" },
336
+ { t: "path", d: "M3 12h.01" },
337
+ { t: "path", d: "M3 19h.01" },
338
+ { t: "path", d: "M8 5h13" },
339
+ { t: "path", d: "M8 12h13" },
340
+ { t: "path", d: "M8 19h13" }
341
+ ],
342
+ "list-filter": [
343
+ { t: "path", d: "M2 5h20" },
344
+ { t: "path", d: "M6 12h12" },
345
+ { t: "path", d: "M9 19h6" }
346
+ ],
347
+ "loader-circle": [
348
+ { t: "path", d: "M21 12a9 9 0 1 1-6.219-8.56" }
349
+ ],
350
+ "locate-fixed": [
351
+ { t: "line", x1: "2", x2: "5", y1: "12", y2: "12" },
352
+ { t: "line", x1: "19", x2: "22", y1: "12", y2: "12" },
353
+ { t: "line", x1: "12", x2: "12", y1: "2", y2: "5" },
354
+ { t: "line", x1: "12", x2: "12", y1: "19", y2: "22" },
355
+ { t: "circle", cx: "12", cy: "12", r: "7" },
356
+ { t: "circle", cx: "12", cy: "12", r: "3" }
357
+ ],
358
+ "lock": [
359
+ { t: "rect", width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2" },
360
+ { t: "path", d: "M7 11V7a5 5 0 0 1 10 0v4" }
361
+ ],
362
+ "lock-open": [
363
+ { t: "rect", width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2" },
364
+ { t: "path", d: "M7 11V7a5 5 0 0 1 9.9-1" }
365
+ ],
366
+ "log-out": [
367
+ { t: "path", d: "m16 17 5-5-5-5" },
368
+ { t: "path", d: "M21 12H9" },
369
+ { t: "path", d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" }
370
+ ],
371
+ "map": [
372
+ { t: "path", d: "M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z" },
373
+ { t: "path", d: "M15 5.764v15" },
374
+ { t: "path", d: "M9 3.236v15" }
375
+ ],
376
+ "map-pin": [
377
+ { t: "path", d: "M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0" },
378
+ { t: "circle", cx: "12", cy: "10", r: "3" }
379
+ ],
380
+ "maximize": [
381
+ { t: "path", d: "M8 3H5a2 2 0 0 0-2 2v3" },
382
+ { t: "path", d: "M21 8V5a2 2 0 0 0-2-2h-3" },
383
+ { t: "path", d: "M3 16v3a2 2 0 0 0 2 2h3" },
384
+ { t: "path", d: "M16 21h3a2 2 0 0 0 2-2v-3" }
385
+ ],
386
+ "message-square": [
387
+ { t: "path", d: "M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z" }
388
+ ],
389
+ "minimize": [
390
+ { t: "path", d: "M8 3v3a2 2 0 0 1-2 2H3" },
391
+ { t: "path", d: "M21 8h-3a2 2 0 0 1-2-2V3" },
392
+ { t: "path", d: "M3 16h3a2 2 0 0 1 2 2v3" },
393
+ { t: "path", d: "M16 21v-3a2 2 0 0 1 2-2h3" }
394
+ ],
395
+ "minus": [
396
+ { t: "path", d: "M5 12h14" }
397
+ ],
398
+ "monitor": [
399
+ { t: "rect", width: "20", height: "14", x: "2", y: "3", rx: "2" },
400
+ { t: "line", x1: "8", x2: "16", y1: "21", y2: "21" },
401
+ { t: "line", x1: "12", x2: "12", y1: "17", y2: "21" }
402
+ ],
403
+ "moon": [
404
+ { t: "path", d: "M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401" }
405
+ ],
406
+ "move": [
407
+ { t: "path", d: "M12 2v20" },
408
+ { t: "path", d: "m15 19-3 3-3-3" },
409
+ { t: "path", d: "m19 9 3 3-3 3" },
410
+ { t: "path", d: "M2 12h20" },
411
+ { t: "path", d: "m5 9-3 3 3 3" },
412
+ { t: "path", d: "m9 5 3-3 3 3" }
413
+ ],
414
+ "move-3d": [
415
+ { t: "path", d: "M5 3v16h16" },
416
+ { t: "path", d: "m5 19 6-6" },
417
+ { t: "path", d: "m2 6 3-3 3 3" },
418
+ { t: "path", d: "m18 16 3 3-3 3" }
419
+ ],
420
+ "orbit": [
421
+ { t: "path", d: "M20.341 6.484A10 10 0 0 1 10.266 21.85" },
422
+ { t: "path", d: "M3.659 17.516A10 10 0 0 1 13.74 2.152" },
423
+ { t: "circle", cx: "12", cy: "12", r: "3" },
424
+ { t: "circle", cx: "19", cy: "5", r: "2" },
425
+ { t: "circle", cx: "5", cy: "19", r: "2" }
426
+ ],
427
+ "panel-left": [
428
+ { t: "rect", width: "18", height: "18", x: "3", y: "3", rx: "2" },
429
+ { t: "path", d: "M9 3v18" }
430
+ ],
431
+ "panel-right-close": [
432
+ { t: "rect", width: "18", height: "18", x: "3", y: "3", rx: "2" },
433
+ { t: "path", d: "M15 3v18" },
434
+ { t: "path", d: "m8 9 3 3-3 3" }
435
+ ],
436
+ "paperclip": [
437
+ { t: "path", d: "m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551" }
438
+ ],
439
+ "pause": [
440
+ { t: "rect", x: "14", y: "3", width: "5", height: "18", rx: "1" },
441
+ { t: "rect", x: "5", y: "3", width: "5", height: "18", rx: "1" }
442
+ ],
443
+ "pen-tool": [
444
+ { t: "path", d: "M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z" },
445
+ { t: "path", d: "m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18" },
446
+ { t: "path", d: "m2.3 2.3 7.286 7.286" },
447
+ { t: "circle", cx: "11", cy: "11", r: "2" }
448
+ ],
449
+ "pencil": [
450
+ { t: "path", d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z" },
451
+ { t: "path", d: "m15 5 4 4" }
452
+ ],
453
+ "pin": [
454
+ { t: "path", d: "M12 17v5" },
455
+ { t: "path", d: "M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z" }
456
+ ],
457
+ "play": [
458
+ { t: "path", d: "M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z" }
459
+ ],
460
+ "plus": [
461
+ { t: "path", d: "M5 12h14" },
462
+ { t: "path", d: "M12 5v14" }
463
+ ],
464
+ "radar": [
465
+ { t: "path", d: "M19.07 4.93A10 10 0 0 0 6.99 3.34" },
466
+ { t: "path", d: "M4 6h.01" },
467
+ { t: "path", d: "M2.29 9.62A10 10 0 1 0 21.31 8.35" },
468
+ { t: "path", d: "M16.24 7.76A6 6 0 1 0 8.23 16.67" },
469
+ { t: "path", d: "M12 18h.01" },
470
+ { t: "path", d: "M17.99 11.66A6 6 0 0 1 15.77 16.67" },
471
+ { t: "circle", cx: "12", cy: "12", r: "2" },
472
+ { t: "path", d: "m13.41 10.59 5.66-5.66" }
49
473
  ],
50
- list: ["M8 6h13", "M8 12h13", "M8 18h13", "M3 6h.01", "M3 12h.01", "M3 18h.01"],
51
474
  "refresh-cw": [
52
- "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",
53
- "M21 3v5h-5",
54
- "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",
55
- "M3 21v-5h5"
56
- ],
57
- "external-link": ["M15 3h6v6", "M10 14 21 3", "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"],
58
- lock: ["M5 11h14v10H5z", "M7 11V7a5 5 0 0 1 10 0v4"],
59
- user: ["M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2", "M12 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8Z"],
475
+ { t: "path", d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" },
476
+ { t: "path", d: "M21 3v5h-5" },
477
+ { t: "path", d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" },
478
+ { t: "path", d: "M8 16H3v5" }
479
+ ],
480
+ "rotate-3d": [
481
+ { t: "path", d: "m15.194 13.707 3.814 1.86-1.86 3.814" },
482
+ { t: "path", d: "M16.47214 7.52786 A 5 10 0 1 0 13 21.79796" },
483
+ { t: "path", d: "M21.79796 11 A 10 5 0 1 0 19 15.57071" }
484
+ ],
485
+ "rotate-ccw": [
486
+ { t: "path", d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" },
487
+ { t: "path", d: "M3 3v5h5" }
488
+ ],
489
+ "route": [
490
+ { t: "circle", cx: "6", cy: "19", r: "3" },
491
+ { t: "path", d: "M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15" },
492
+ { t: "circle", cx: "18", cy: "5", r: "3" }
493
+ ],
494
+ "ruler": [
495
+ { t: "path", d: "M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z" },
496
+ { t: "path", d: "m14.5 12.5 2-2" },
497
+ { t: "path", d: "m11.5 9.5 2-2" },
498
+ { t: "path", d: "m8.5 6.5 2-2" },
499
+ { t: "path", d: "m17.5 15.5 2-2" }
500
+ ],
501
+ "scan": [
502
+ { t: "path", d: "M3 7V5a2 2 0 0 1 2-2h2" },
503
+ { t: "path", d: "M17 3h2a2 2 0 0 1 2 2v2" },
504
+ { t: "path", d: "M21 17v2a2 2 0 0 1-2 2h-2" },
505
+ { t: "path", d: "M7 21H5a2 2 0 0 1-2-2v-2" }
506
+ ],
507
+ "scan-line": [
508
+ { t: "path", d: "M3 7V5a2 2 0 0 1 2-2h2" },
509
+ { t: "path", d: "M17 3h2a2 2 0 0 1 2 2v2" },
510
+ { t: "path", d: "M21 17v2a2 2 0 0 1-2 2h-2" },
511
+ { t: "path", d: "M7 21H5a2 2 0 0 1-2-2v-2" },
512
+ { t: "path", d: "M7 12h10" }
513
+ ],
514
+ "scan-search": [
515
+ { t: "path", d: "M3 7V5a2 2 0 0 1 2-2h2" },
516
+ { t: "path", d: "M17 3h2a2 2 0 0 1 2 2v2" },
517
+ { t: "path", d: "M21 17v2a2 2 0 0 1-2 2h-2" },
518
+ { t: "path", d: "M7 21H5a2 2 0 0 1-2-2v-2" },
519
+ { t: "circle", cx: "12", cy: "12", r: "3" },
520
+ { t: "path", d: "m16 16-1.9-1.9" }
521
+ ],
522
+ "search": [
523
+ { t: "path", d: "m21 21-4.34-4.34" },
524
+ { t: "circle", cx: "11", cy: "11", r: "8" }
525
+ ],
526
+ "send": [
527
+ { t: "path", d: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z" },
528
+ { t: "path", d: "m21.854 2.147-10.94 10.939" }
529
+ ],
530
+ "settings": [
531
+ { t: "path", d: "M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915" },
532
+ { t: "circle", cx: "12", cy: "12", r: "3" }
533
+ ],
534
+ "settings-2": [
535
+ { t: "path", d: "M14 17H5" },
536
+ { t: "path", d: "M19 7h-9" },
537
+ { t: "circle", cx: "17", cy: "17", r: "3" },
538
+ { t: "circle", cx: "7", cy: "7", r: "3" }
539
+ ],
540
+ "share-2": [
541
+ { t: "circle", cx: "18", cy: "5", r: "3" },
542
+ { t: "circle", cx: "6", cy: "12", r: "3" },
543
+ { t: "circle", cx: "18", cy: "19", r: "3" },
544
+ { t: "line", x1: "8.59", x2: "15.42", y1: "13.51", y2: "17.49" },
545
+ { t: "line", x1: "15.41", x2: "8.59", y1: "6.51", y2: "10.49" }
546
+ ],
547
+ "shield-check": [
548
+ { t: "path", d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z" },
549
+ { t: "path", d: "m9 12 2 2 4-4" }
550
+ ],
551
+ "sliders-horizontal": [
552
+ { t: "path", d: "M10 5H3" },
553
+ { t: "path", d: "M12 19H3" },
554
+ { t: "path", d: "M14 3v4" },
555
+ { t: "path", d: "M16 17v4" },
556
+ { t: "path", d: "M21 12h-9" },
557
+ { t: "path", d: "M21 19h-5" },
558
+ { t: "path", d: "M21 5h-7" },
559
+ { t: "path", d: "M8 10v4" },
560
+ { t: "path", d: "M8 12H3" }
561
+ ],
562
+ "split": [
563
+ { t: "path", d: "M16 3h5v5" },
564
+ { t: "path", d: "M8 3H3v5" },
565
+ { t: "path", d: "M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3" },
566
+ { t: "path", d: "m15 9 6-6" }
567
+ ],
60
568
  "square-dashed": [
61
- "M5 3a2 2 0 0 0-2 2",
62
- "M19 3a2 2 0 0 1 2 2",
63
- "M21 19a2 2 0 0 1-2 2",
64
- "M5 21a2 2 0 0 1-2-2",
65
- "M9 3h2",
66
- "M9 21h2",
67
- "M14 3h2",
68
- "M14 21h2",
69
- "M3 9v2",
70
- "M21 9v2",
71
- "M3 14v2",
72
- "M21 14v2"
73
- ],
74
- "arrow-up-right": ["M7 7h10v10", "M7 17 17 7"],
75
- "arrow-down": ["M12 5v14", "m19 12-7 7-7-7"],
76
- box: [
77
- "M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",
78
- "M3.3 7 12 12l8.7-5",
79
- "M12 22V12"
80
- ],
81
- code: ["m16 18 6-6-6-6", "m8 6-6 6 6 6"],
82
- play: ["m6 3 14 9-14 9V3Z"],
83
- calendar: ["M8 2v4", "M16 2v4", "M3 6h18v16H3z", "M3 10h18"],
84
- clock: ["M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z", "M12 6v6l4 2"],
85
- settings: ["M4 21v-7", "M4 10V3", "M12 21v-9", "M12 8V3", "M20 21v-5", "M20 12V3", "M1 14h6", "M9 8h6", "M17 16h6"],
86
- home: ["m3 10 9-7 9 7v11a1 1 0 0 1-1 1h-5v-7h-6v7H4a1 1 0 0 1-1-1Z"],
87
- "chart-column": ["M3 3v18h18", "M8 17v-6", "M13 17V7", "M18 17v-3"],
88
- "circle-help": ["M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z", "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", "M12 17h.01"],
89
- "log-in": ["M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4", "m10 17 5-5-5-5", "M15 12H3"],
90
- "arrow-left": ["m12 19-7-7 7-7", "M19 12H5"]
569
+ { t: "path", d: "M5 3a2 2 0 0 0-2 2" },
570
+ { t: "path", d: "M19 3a2 2 0 0 1 2 2" },
571
+ { t: "path", d: "M21 19a2 2 0 0 1-2 2" },
572
+ { t: "path", d: "M5 21a2 2 0 0 1-2-2" },
573
+ { t: "path", d: "M9 3h1" },
574
+ { t: "path", d: "M9 21h1" },
575
+ { t: "path", d: "M14 3h1" },
576
+ { t: "path", d: "M14 21h1" },
577
+ { t: "path", d: "M3 9v1" },
578
+ { t: "path", d: "M21 9v1" },
579
+ { t: "path", d: "M3 14v1" },
580
+ { t: "path", d: "M21 14v1" }
581
+ ],
582
+ "square-pen": [
583
+ { t: "path", d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" },
584
+ { t: "path", d: "M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z" }
585
+ ],
586
+ "star": [
587
+ { t: "path", d: "M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" }
588
+ ],
589
+ "sun": [
590
+ { t: "circle", cx: "12", cy: "12", r: "4" },
591
+ { t: "path", d: "M12 2v2" },
592
+ { t: "path", d: "M12 20v2" },
593
+ { t: "path", d: "m4.93 4.93 1.41 1.41" },
594
+ { t: "path", d: "m17.66 17.66 1.41 1.41" },
595
+ { t: "path", d: "M2 12h2" },
596
+ { t: "path", d: "M20 12h2" },
597
+ { t: "path", d: "m6.34 17.66-1.41 1.41" },
598
+ { t: "path", d: "m19.07 4.93-1.41 1.41" }
599
+ ],
600
+ "table": [
601
+ { t: "path", d: "M12 3v18" },
602
+ { t: "rect", width: "18", height: "18", x: "3", y: "3", rx: "2" },
603
+ { t: "path", d: "M3 9h18" },
604
+ { t: "path", d: "M3 15h18" }
605
+ ],
606
+ "tag": [
607
+ { t: "path", d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z" },
608
+ { t: "circle", cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor" }
609
+ ],
610
+ "target": [
611
+ { t: "circle", cx: "12", cy: "12", r: "10" },
612
+ { t: "circle", cx: "12", cy: "12", r: "6" },
613
+ { t: "circle", cx: "12", cy: "12", r: "2" }
614
+ ],
615
+ "trash-2": [
616
+ { t: "path", d: "M10 11v6" },
617
+ { t: "path", d: "M14 11v6" },
618
+ { t: "path", d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6" },
619
+ { t: "path", d: "M3 6h18" },
620
+ { t: "path", d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" }
621
+ ],
622
+ "trending-up": [
623
+ { t: "path", d: "M16 7h6v6" },
624
+ { t: "path", d: "m22 7-8.5 8.5-5-5L2 17" }
625
+ ],
626
+ "triangle-alert": [
627
+ { t: "path", d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" },
628
+ { t: "path", d: "M12 9v4" },
629
+ { t: "path", d: "M12 17h.01" }
630
+ ],
631
+ "unplug": [
632
+ { t: "path", d: "m19 5 3-3" },
633
+ { t: "path", d: "m2 22 3-3" },
634
+ { t: "path", d: "M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z" },
635
+ { t: "path", d: "M7.5 13.5 10 11" },
636
+ { t: "path", d: "M10.5 16.5 13 14" },
637
+ { t: "path", d: "m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z" }
638
+ ],
639
+ "upload": [
640
+ { t: "path", d: "M12 3v12" },
641
+ { t: "path", d: "m17 8-5-5-5 5" },
642
+ { t: "path", d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }
643
+ ],
644
+ "user": [
645
+ { t: "path", d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2" },
646
+ { t: "circle", cx: "12", cy: "7", r: "4" }
647
+ ],
648
+ "users": [
649
+ { t: "path", d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" },
650
+ { t: "path", d: "M16 3.128a4 4 0 0 1 0 7.744" },
651
+ { t: "path", d: "M22 21v-2a4 4 0 0 0-3-3.87" },
652
+ { t: "circle", cx: "9", cy: "7", r: "4" }
653
+ ],
654
+ "video": [
655
+ { t: "path", d: "m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5" },
656
+ { t: "rect", x: "2", y: "6", width: "14", height: "12", rx: "2" }
657
+ ],
658
+ "waypoints": [
659
+ { t: "path", d: "m10.586 5.414-5.172 5.172" },
660
+ { t: "path", d: "m18.586 13.414-5.172 5.172" },
661
+ { t: "path", d: "M6 12h12" },
662
+ { t: "circle", cx: "12", cy: "20", r: "2" },
663
+ { t: "circle", cx: "12", cy: "4", r: "2" },
664
+ { t: "circle", cx: "20", cy: "12", r: "2" },
665
+ { t: "circle", cx: "4", cy: "12", r: "2" }
666
+ ],
667
+ "workflow": [
668
+ { t: "rect", width: "8", height: "8", x: "3", y: "3", rx: "2" },
669
+ { t: "path", d: "M7 11v4a2 2 0 0 0 2 2h4" },
670
+ { t: "rect", width: "8", height: "8", x: "13", y: "13", rx: "2" }
671
+ ],
672
+ "wrench": [
673
+ { t: "path", d: "M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z" }
674
+ ],
675
+ "x": [
676
+ { t: "path", d: "M18 6 6 18" },
677
+ { t: "path", d: "m6 6 12 12" }
678
+ ],
679
+ "zoom-in": [
680
+ { t: "circle", cx: "11", cy: "11", r: "8" },
681
+ { t: "line", x1: "21", x2: "16.65", y1: "21", y2: "16.65" },
682
+ { t: "line", x1: "11", x2: "11", y1: "8", y2: "14" },
683
+ { t: "line", x1: "8", x2: "14", y1: "11", y2: "11" }
684
+ ],
685
+ "zoom-out": [
686
+ { t: "circle", cx: "11", cy: "11", r: "8" },
687
+ { t: "line", x1: "21", x2: "16.65", y1: "21", y2: "16.65" },
688
+ { t: "line", x1: "8", x2: "14", y1: "11", y2: "11" }
689
+ ]
91
690
  };
92
691
  function cx(...parts) {
93
692
  return parts.filter(Boolean).join(" ");
94
693
  }
95
- function Icon({ name, size = 16, strokeWidth = 1.8, ...rest }) {
96
- const paths = ICON_PATHS[name];
694
+ function Icon({ name, size = 18, strokeWidth = 1.5, className = "", style, title, ...rest }) {
695
+ const nodes = Object.hasOwn(ICON_NODES, name) ? ICON_NODES[name] : void 0;
696
+ if (!nodes) return null;
97
697
  return /* @__PURE__ */ jsx(
98
698
  "svg",
99
699
  {
700
+ xmlns: "http://www.w3.org/2000/svg",
100
701
  width: size,
101
702
  height: size,
102
703
  viewBox: "0 0 24 24",
@@ -105,9 +706,13 @@ function Icon({ name, size = 16, strokeWidth = 1.8, ...rest }) {
105
706
  strokeWidth,
106
707
  strokeLinecap: "round",
107
708
  strokeLinejoin: "round",
108
- "aria-hidden": "true",
709
+ className: ("wp-ico " + className).trim(),
710
+ style: { flex: "none", display: "block", ...style },
711
+ role: title ? "img" : void 0,
712
+ "aria-hidden": title ? void 0 : true,
713
+ "aria-label": title,
109
714
  ...rest,
110
- children: paths ? paths.map((d, i) => /* @__PURE__ */ jsx("path", { d }, i)) : /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "4", fill: "currentColor", stroke: "none" })
715
+ children: nodes.map(({ t: Tag2, ...attrs }, i) => /* @__PURE__ */ jsx(Tag2, { ...attrs }, i))
111
716
  }
112
717
  );
113
718
  }
@@ -119,32 +724,64 @@ function Button({
119
724
  loading = false,
120
725
  block = false,
121
726
  disabled = false,
727
+ as = "button",
122
728
  children,
123
729
  className = "",
124
- type = "button",
125
730
  ...rest
126
731
  }) {
732
+ const Tag2 = as;
127
733
  const classes = ["wp-btn", `wp-btn--${variant}`];
128
734
  if (size !== "md") classes.push(`wp-btn--${size}`);
129
735
  if (block) classes.push("wp-btn--block");
130
736
  if (loading) classes.push("wp-btn--loading");
131
737
  if (className) classes.push(className);
132
738
  const iconSize = size === "xs" || size === "sm" ? 14 : size === "lg" || size === "xl" ? 18 : 16;
133
- return /* @__PURE__ */ jsxs("button", { type, className: classes.join(" "), disabled: disabled || loading, ...rest, children: [
134
- loading ? /* @__PURE__ */ jsx("span", { className: "wp-spinner wp-spinner--sm", role: "status", "aria-label": "\uCC98\uB9AC \uC911" }) : null,
135
- icon && !loading ? /* @__PURE__ */ jsx(Icon, { name: icon, size: iconSize }) : null,
136
- children,
137
- iconEnd ? /* @__PURE__ */ jsx(Icon, { name: iconEnd, size: iconSize }) : null
138
- ] });
739
+ return /* @__PURE__ */ jsxs(
740
+ Tag2,
741
+ {
742
+ className: classes.join(" "),
743
+ disabled: Tag2 === "button" ? disabled || loading : void 0,
744
+ "aria-disabled": disabled || void 0,
745
+ ...rest,
746
+ children: [
747
+ icon ? /* @__PURE__ */ jsx(Icon, { name: icon, size: iconSize }) : null,
748
+ children,
749
+ iconEnd ? /* @__PURE__ */ jsx(Icon, { name: iconEnd, size: iconSize }) : null
750
+ ]
751
+ }
752
+ );
139
753
  }
140
- function IconButton({ icon, label, size = "md", tone = "default", variant, className = "", type = "button", ...rest }) {
754
+ function IconButton({
755
+ icon,
756
+ label,
757
+ size = "md",
758
+ tone = "default",
759
+ variant,
760
+ pressed,
761
+ disabled = false,
762
+ className = "",
763
+ type = "button",
764
+ ...rest
765
+ }) {
141
766
  const look = variant ?? (tone === "danger" ? "danger" : "ghost");
142
767
  const classes = ["wp-iconbtn"];
143
- if (size !== "md") classes.push(`wp-iconbtn--${size}`);
144
768
  if (look !== "ghost") classes.push(`wp-iconbtn--${look}`);
769
+ if (size !== "md") classes.push(`wp-iconbtn--${size}`);
145
770
  if (className) classes.push(className);
146
- const iconSize = size === "xs" ? 13 : size === "sm" ? 15 : 16;
147
- return /* @__PURE__ */ jsx("button", { type, className: classes.join(" "), "aria-label": label, title: label, ...rest, children: /* @__PURE__ */ jsx(Icon, { name: icon, size: iconSize }) });
771
+ const iconSize = size === "xs" ? 14 : size === "sm" ? 16 : size === "lg" ? 20 : 18;
772
+ return /* @__PURE__ */ jsx(
773
+ "button",
774
+ {
775
+ type,
776
+ className: classes.join(" "),
777
+ title: label,
778
+ "aria-label": label,
779
+ "aria-pressed": pressed,
780
+ disabled,
781
+ ...rest,
782
+ children: /* @__PURE__ */ jsx(Icon, { name: icon, size: iconSize })
783
+ }
784
+ );
148
785
  }
149
786
  function Input({ size = "md", icon, invalid = false, mono = false, trailing, className = "", style, ...rest }) {
150
787
  const classes = ["wp-input"];
@@ -152,32 +789,16 @@ function Input({ size = "md", icon, invalid = false, mono = false, trailing, cla
152
789
  if (invalid) classes.push("wp-input--invalid");
153
790
  if (mono) classes.push("wp-input--mono");
154
791
  if (className) classes.push(className);
155
- const hasTrailing = trailing !== void 0 && trailing !== null && trailing !== false && trailing !== "";
156
- const input = /* @__PURE__ */ jsx(
157
- "input",
158
- {
159
- className: classes.join(" "),
160
- "aria-invalid": invalid || void 0,
161
- style: icon || hasTrailing ? void 0 : style,
162
- ...rest
163
- }
164
- );
165
- if (!icon && !hasTrailing) return input;
792
+ const input = /* @__PURE__ */ jsx("input", { className: classes.join(" "), "aria-invalid": invalid || void 0, style, ...rest });
793
+ if (!icon && !trailing) return input;
166
794
  const wrap = ["wp-inputwrap"];
167
795
  if (icon) wrap.push("wp-inputwrap--lead");
168
- if (hasTrailing) wrap.push("wp-inputwrap--trail");
169
- return (
170
- /*
171
- * 장식(선행 아이콘·후행 단위)은 입력 박스 위에 겹쳐 놓이므로 래퍼가 입력과
172
- * 같은 크기여야 한다. style은 실사용이 전부 폭 제한(maxWidth)이라 래퍼에 준다 —
173
- * 입력에 주면 입력만 좁아지고 오른쪽에 붙는 단위는 넓은 래퍼 끝에 남아 떨어진다.
174
- */
175
- /* @__PURE__ */ jsxs("div", { className: wrap.join(" "), style, children: [
176
- icon ? /* @__PURE__ */ jsx("span", { className: "wp-inputwrap__lead", children: /* @__PURE__ */ jsx(Icon, { name: icon, size: 15 }) }) : null,
177
- input,
178
- hasTrailing ? /* @__PURE__ */ jsx("span", { className: "wp-inputwrap__trail", children: typeof trailing === "string" && Object.hasOwn(ICON_PATHS, trailing) ? /* @__PURE__ */ jsx(Icon, { name: trailing, size: 15 }) : trailing }) : null
179
- ] })
180
- );
796
+ if (trailing) wrap.push("wp-inputwrap--trail");
797
+ return /* @__PURE__ */ jsxs("div", { className: wrap.join(" "), children: [
798
+ icon ? /* @__PURE__ */ jsx("span", { className: "wp-inputwrap__lead", children: /* @__PURE__ */ jsx(Icon, { name: icon, size: 15 }) }) : null,
799
+ input,
800
+ trailing ? /* @__PURE__ */ jsx("span", { className: "wp-inputwrap__trail", children: typeof trailing === "string" ? /* @__PURE__ */ jsx(Icon, { name: trailing, size: 15 }) : trailing }) : null
801
+ ] });
181
802
  }
182
803
  function Textarea({ invalid = false, rows = 3, className = "", ...rest }) {
183
804
  return /* @__PURE__ */ jsx(
@@ -203,10 +824,14 @@ function Select({ options = [], size = "md", invalid = false, placeholder, class
203
824
  /* @__PURE__ */ jsx("span", { className: "wp-selectwrap__caret", children: /* @__PURE__ */ jsx(Icon, { name: "chevron-down", size: 15 }) })
204
825
  ] });
205
826
  }
206
- function Checkbox({ label, description, disabled = false, className = "", ...rest }) {
827
+ function Checkbox({ label, description, indeterminate = false, disabled = false, className = "", ...rest }) {
828
+ const ref = React.useRef(null);
829
+ React.useEffect(() => {
830
+ if (ref.current) ref.current.indeterminate = indeterminate;
831
+ }, [indeterminate]);
207
832
  return /* @__PURE__ */ jsxs("label", { className: cx("wp-check", disabled && "wp-check--disabled", className), children: [
208
- /* @__PURE__ */ jsx("input", { type: "checkbox", disabled, ...rest }),
209
- /* @__PURE__ */ jsx("span", { className: "wp-check__box", children: /* @__PURE__ */ jsx(Icon, { name: "check", size: 12, strokeWidth: 2.5 }) }),
833
+ /* @__PURE__ */ jsx("input", { ref, type: "checkbox", disabled, ...rest }),
834
+ /* @__PURE__ */ jsx("span", { className: "wp-check__box", children: /* @__PURE__ */ jsx(Icon, { name: indeterminate ? "minus" : "check", size: 12, strokeWidth: 2.5 }) }),
210
835
  label || description ? /* @__PURE__ */ jsxs("span", { className: "wp-check__text", children: [
211
836
  /* @__PURE__ */ jsx("span", { children: label }),
212
837
  description ? /* @__PURE__ */ jsx("span", { className: "wp-check__desc", children: description }) : null
@@ -309,39 +934,52 @@ function Alert({ tone = "info", title, children, actions, onClose, bar = false,
309
934
  }
310
935
  );
311
936
  }
312
- function Toast({ tone = "info", title, children, onClose, className = "", ...rest }) {
937
+ function Toast({ tone = "info", title, children, action, onClose, className = "", ...rest }) {
313
938
  return /* @__PURE__ */ jsxs("div", { className: cx("wp-toast", `wp-toast--${tone}`, className), role: "status", ...rest, children: [
314
939
  /* @__PURE__ */ jsx("span", { className: "wp-toast__icon", children: /* @__PURE__ */ jsx(Icon, { name: TONE_ICONS[tone] ?? "info", size: 16 }) }),
315
940
  /* @__PURE__ */ jsxs("div", { className: "wp-toast__body", children: [
316
941
  title ? /* @__PURE__ */ jsx("span", { className: "wp-toast__title", children: title }) : null,
317
942
  children ? /* @__PURE__ */ jsx("span", { className: "wp-toast__text", children }) : null
318
943
  ] }),
944
+ action,
319
945
  onClose ? /* @__PURE__ */ jsx("button", { type: "button", className: "wp-toast__x", "aria-label": "\uB2EB\uAE30", onClick: onClose, children: /* @__PURE__ */ jsx(Icon, { name: "x", size: 13 }) }) : null
320
946
  ] });
321
947
  }
322
- function Tabs({ items = [], value, onChange, size = "md", className = "", ...rest }) {
323
- return /* @__PURE__ */ jsx("div", { className: cx("wp-tabs", size === "lg" && "wp-tabs--lg", className), role: "tablist", ...rest, children: items.map((item) => /* @__PURE__ */ jsxs(
324
- "button",
948
+ function Tabs({ items = [], value, onChange, size = "md", onChrome = false, className = "", ...rest }) {
949
+ return /* @__PURE__ */ jsx(
950
+ "div",
325
951
  {
326
- type: "button",
327
- role: "tab",
328
- className: "wp-tab",
329
- "aria-selected": value === item.value,
330
- onClick: onChange ? () => onChange(item.value) : void 0,
331
- children: [
332
- item.icon ? /* @__PURE__ */ jsx(Icon, { name: item.icon, size: 15 }) : null,
333
- item.label,
334
- item.count != null ? /* @__PURE__ */ jsx("span", { className: "wp-tab__count", children: item.count }) : null
335
- ]
336
- },
337
- item.value
338
- )) });
952
+ className: cx("wp-tabs", size === "lg" && "wp-tabs--lg", onChrome && "wp-tabs--onchrome", className),
953
+ role: "tablist",
954
+ ...rest,
955
+ children: items.map((item) => /* @__PURE__ */ jsxs(
956
+ "button",
957
+ {
958
+ type: "button",
959
+ role: "tab",
960
+ className: "wp-tab",
961
+ "aria-selected": value === item.value,
962
+ onClick: onChange ? () => onChange(item.value) : void 0,
963
+ children: [
964
+ item.icon ? /* @__PURE__ */ jsx(Icon, { name: item.icon, size: 15 }) : null,
965
+ item.label,
966
+ item.count != null ? /* @__PURE__ */ jsx("span", { className: "wp-tab__count", children: item.count }) : null
967
+ ]
968
+ },
969
+ item.value
970
+ ))
971
+ }
972
+ );
339
973
  }
340
974
  function Table({
341
975
  columns = [],
342
976
  rows = [],
343
977
  dense = false,
344
978
  hover = true,
979
+ sticky = false,
980
+ sort,
981
+ onSort,
982
+ selectedIds = [],
345
983
  rowKey = "id",
346
984
  onRowClick,
347
985
  empty,
@@ -351,13 +989,24 @@ function Table({
351
989
  const classes = ["wp-table"];
352
990
  if (dense) classes.push("wp-table--dense");
353
991
  if (hover) classes.push("wp-table--hover");
992
+ if (sticky) classes.push("wp-table--sticky");
354
993
  if (className) classes.push(className);
355
994
  if (!rows.length && empty) return /* @__PURE__ */ jsx(Fragment, { children: empty });
356
995
  return /* @__PURE__ */ jsxs("table", { className: classes.join(" "), ...rest, children: [
357
- /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { children: columns.map((column) => /* @__PURE__ */ jsx("th", { style: { width: column.width, textAlign: column.align === "right" ? "right" : void 0 }, children: column.header }, column.key)) }) }),
996
+ /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { children: columns.map((column) => /* @__PURE__ */ jsx("th", { style: { width: column.width, textAlign: column.align === "right" ? "right" : void 0 }, children: column.sortable && onSort ? /* @__PURE__ */ jsxs("button", { type: "button", className: "wp-table__sort", onClick: () => onSort(column.key), children: [
997
+ column.header,
998
+ /* @__PURE__ */ jsx(
999
+ Icon,
1000
+ {
1001
+ name: sort && sort.key === column.key ? sort.dir === "asc" ? "chevron-up" : "chevron-down" : "chevrons-up-down",
1002
+ size: 12
1003
+ }
1004
+ )
1005
+ ] }) : column.header }, column.key)) }) }),
358
1006
  /* @__PURE__ */ jsx("tbody", { children: rows.map((row, index) => /* @__PURE__ */ jsx(
359
1007
  "tr",
360
1008
  {
1009
+ "aria-selected": selectedIds.indexOf(row?.[rowKey]) > -1 || void 0,
361
1010
  onClick: onRowClick ? () => onRowClick(row) : void 0,
362
1011
  style: onRowClick ? { cursor: "pointer" } : void 0,
363
1012
  children: columns.map((column) => {
@@ -409,11 +1058,11 @@ function EmptyState({ icon = "square-dashed", title, children, actions, tight =
409
1058
  actions ? /* @__PURE__ */ jsx("div", { className: "wp-empty__actions", children: actions }) : null
410
1059
  ] });
411
1060
  }
412
- function Spinner({ size = "md", label, className = "", ...rest }) {
1061
+ function Spinner({ size = "md", inverse = false, label, className = "", ...rest }) {
413
1062
  const el = /* @__PURE__ */ jsx(
414
1063
  "span",
415
1064
  {
416
- className: cx("wp-spinner", size !== "md" && `wp-spinner--${size}`, className),
1065
+ className: cx("wp-spinner", size !== "md" && `wp-spinner--${size}`, inverse && "wp-spinner--inverse", className),
417
1066
  role: "status",
418
1067
  "aria-label": label || "\uB85C\uB529 \uC911",
419
1068
  ...rest
@@ -425,17 +1074,53 @@ function Spinner({ size = "md", label, className = "", ...rest }) {
425
1074
  /* @__PURE__ */ jsx("span", { className: "wp-caption", children: label })
426
1075
  ] });
427
1076
  }
428
- function ProgressBar({ value, tone = "brand", label, showValue = false, className = "", ...rest }) {
429
- const clamped = Math.max(0, Math.min(100, Number(value) || 0));
430
- return /* @__PURE__ */ jsxs("div", { className: cx("wp-progress", className), ...rest, children: [
431
- label || showValue ? /* @__PURE__ */ jsxs("div", { className: "wp-progress__label", children: [
432
- label,
433
- showValue ? /* @__PURE__ */ jsxs("span", { className: "wp-progress__value wp-num", children: [
434
- clamped,
1077
+ function ProgressBar({
1078
+ value = 0,
1079
+ max = 100,
1080
+ tone = "brand",
1081
+ size = "md",
1082
+ striped = false,
1083
+ showValue = false,
1084
+ label,
1085
+ className = "",
1086
+ ...rest
1087
+ }) {
1088
+ const pct = Math.max(0, Math.min(100, (Number(value) || 0) / (Number(max) || 100) * 100));
1089
+ const track = ["wp-meter"];
1090
+ if (size !== "md") track.push(`wp-meter--${size}`);
1091
+ const fill = ["wp-meter__fill"];
1092
+ if (tone !== "brand") fill.push(`wp-meter__fill--${tone}`);
1093
+ if (striped) fill.push("wp-meter__fill--striped");
1094
+ const bar = /* @__PURE__ */ jsx(
1095
+ "div",
1096
+ {
1097
+ className: track.join(" "),
1098
+ role: "progressbar",
1099
+ "aria-valuenow": value,
1100
+ "aria-valuemin": 0,
1101
+ "aria-valuemax": max,
1102
+ "aria-label": typeof label === "string" ? label : void 0,
1103
+ children: /* @__PURE__ */ jsx("div", { className: fill.join(" "), style: { width: `${pct}%` } })
1104
+ }
1105
+ );
1106
+ if (!showValue && !label) {
1107
+ return /* @__PURE__ */ jsx("div", { className, ...rest, children: bar });
1108
+ }
1109
+ return /* @__PURE__ */ jsxs("div", { className: cx("wp-col", className), style: { gap: 5 }, ...rest, children: [
1110
+ label ? /* @__PURE__ */ jsxs("div", { className: "wp-row wp-row--between", children: [
1111
+ /* @__PURE__ */ jsx("span", { className: "wp-caption", children: label }),
1112
+ showValue ? /* @__PURE__ */ jsxs("span", { className: "wp-caption wp-num", children: [
1113
+ Math.round(pct),
435
1114
  "%"
436
1115
  ] }) : null
437
1116
  ] }) : null,
438
- /* @__PURE__ */ jsx("div", { className: "wp-progress__track", role: "progressbar", "aria-valuenow": clamped, "aria-valuemin": 0, "aria-valuemax": 100, children: /* @__PURE__ */ jsx("div", { className: `wp-progress__fill wp-progress__fill--${tone}`, style: { width: `${clamped}%` } }) })
1117
+ label ? bar : /* @__PURE__ */ jsxs("div", { className: "wp-meter-row", children: [
1118
+ bar,
1119
+ /* @__PURE__ */ jsxs("span", { className: "wp-meter-row__val", children: [
1120
+ Math.round(pct),
1121
+ "%"
1122
+ ] })
1123
+ ] })
439
1124
  ] });
440
1125
  }
441
1126
  function pageItems(page, total) {