@octavius2929-personal/design-system 0.12.0 → 0.14.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.
- package/dist/index.cjs +646 -430
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +76 -272
- package/dist/index.d.ts +76 -272
- package/dist/index.js +550 -336
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -62,6 +62,7 @@ __export(index_exports, {
|
|
|
62
62
|
Switch: () => Switch,
|
|
63
63
|
Table: () => Table,
|
|
64
64
|
Tabs: () => Tabs,
|
|
65
|
+
TestIdProvider: () => TestIdProvider,
|
|
65
66
|
TextField: () => TextField,
|
|
66
67
|
ThemeProvider: () => ThemeProvider,
|
|
67
68
|
Tooltip: () => Tooltip,
|
|
@@ -75,6 +76,7 @@ __export(index_exports, {
|
|
|
75
76
|
theme: () => vars,
|
|
76
77
|
themes: () => themes,
|
|
77
78
|
usePrevious: () => usePrevious,
|
|
79
|
+
useTestId: () => useTestId,
|
|
78
80
|
useTheme: () => useTheme,
|
|
79
81
|
useToggle: () => useToggle
|
|
80
82
|
});
|
|
@@ -106,7 +108,47 @@ function useToggle(initial = false) {
|
|
|
106
108
|
}
|
|
107
109
|
|
|
108
110
|
// src/components/container/index.tsx
|
|
111
|
+
var import_react5 = require("react");
|
|
112
|
+
|
|
113
|
+
// src/testing/use-test-id.ts
|
|
114
|
+
var import_react4 = require("react");
|
|
115
|
+
|
|
116
|
+
// src/testing/compose.ts
|
|
117
|
+
function normalizeSegment(seg) {
|
|
118
|
+
return seg.trim().replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/[\s_]+/g, "-").toLowerCase();
|
|
119
|
+
}
|
|
120
|
+
function composeTestId(parts) {
|
|
121
|
+
return parts.filter((p) => typeof p === "string" && p.trim() !== "").map(normalizeSegment).join("__");
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// src/testing/context/test-id-context.tsx
|
|
109
125
|
var import_react3 = require("react");
|
|
126
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
127
|
+
var TestIdContext = (0, import_react3.createContext)([]);
|
|
128
|
+
function TestIdProvider({ context, children }) {
|
|
129
|
+
const parent = (0, import_react3.useContext)(TestIdContext);
|
|
130
|
+
const value = (0, import_react3.useMemo)(
|
|
131
|
+
() => [...parent, normalizeSegment(context)].filter((seg) => seg !== ""),
|
|
132
|
+
[parent, context]
|
|
133
|
+
);
|
|
134
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TestIdContext.Provider, { value, children });
|
|
135
|
+
}
|
|
136
|
+
function useTestIdContext() {
|
|
137
|
+
return (0, import_react3.useContext)(TestIdContext);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// src/testing/use-test-id.ts
|
|
141
|
+
function useTestId(type, ownTestId) {
|
|
142
|
+
const ctx = useTestIdContext();
|
|
143
|
+
const testId = composeTestId([type, ...ctx, ownTestId]);
|
|
144
|
+
return (0, import_react4.useMemo)(
|
|
145
|
+
() => ({
|
|
146
|
+
testId,
|
|
147
|
+
slot: (name) => `${testId}__${normalizeSegment(name)}`
|
|
148
|
+
}),
|
|
149
|
+
[testId]
|
|
150
|
+
);
|
|
151
|
+
}
|
|
110
152
|
|
|
111
153
|
// src/theme/styles/sprinkles/index.css.ts
|
|
112
154
|
var import_createRuntimeSprinkles = require("@vanilla-extract/sprinkles/createRuntimeSprinkles");
|
|
@@ -128,25 +170,26 @@ function useStyles(props) {
|
|
|
128
170
|
}
|
|
129
171
|
|
|
130
172
|
// src/components/container/index.tsx
|
|
131
|
-
var
|
|
132
|
-
function ContainerImpl({ as, ...props }, ref) {
|
|
173
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
174
|
+
function ContainerImpl({ as, testId, ...props }, ref) {
|
|
133
175
|
const Component = as ?? "div";
|
|
134
176
|
const { className, rest } = useStyles(props);
|
|
135
|
-
|
|
177
|
+
const { testId: dataTestId } = useTestId("layout", testId);
|
|
178
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Component, { ref, "data-testid": dataTestId, ...rest, className });
|
|
136
179
|
}
|
|
137
|
-
var ContainerForwarded = (0,
|
|
180
|
+
var ContainerForwarded = (0, import_react5.forwardRef)(ContainerImpl);
|
|
138
181
|
ContainerForwarded.displayName = "Container";
|
|
139
182
|
var Container = ContainerForwarded;
|
|
140
183
|
|
|
141
184
|
// src/components/typography/index.tsx
|
|
142
|
-
var
|
|
185
|
+
var import_react8 = require("react");
|
|
143
186
|
|
|
144
187
|
// src/components/typography/use-styles.ts
|
|
145
|
-
var
|
|
188
|
+
var import_react7 = require("react");
|
|
146
189
|
|
|
147
190
|
// src/theme/context/theme-context.tsx
|
|
148
|
-
var
|
|
149
|
-
var
|
|
191
|
+
var import_react6 = require("react");
|
|
192
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
150
193
|
var noop = () => {
|
|
151
194
|
};
|
|
152
195
|
var DEFAULT_VALUE = {
|
|
@@ -159,7 +202,7 @@ var DEFAULT_VALUE = {
|
|
|
159
202
|
toggleMode: noop,
|
|
160
203
|
cycleMode: noop
|
|
161
204
|
};
|
|
162
|
-
var ThemeContext = (0,
|
|
205
|
+
var ThemeContext = (0, import_react6.createContext)(null);
|
|
163
206
|
function resolveSystemMode() {
|
|
164
207
|
if (typeof window === "undefined" || typeof window.matchMedia !== "function") return "light";
|
|
165
208
|
if (window.matchMedia("(prefers-contrast: more)").matches) return "contrast";
|
|
@@ -189,14 +232,14 @@ function ThemeProvider({
|
|
|
189
232
|
storageKey = "ds-theme",
|
|
190
233
|
persist = true
|
|
191
234
|
}) {
|
|
192
|
-
const [schema, setSchema] = (0,
|
|
235
|
+
const [schema, setSchema] = (0, import_react6.useState)(
|
|
193
236
|
() => persist && readStored(storageKey)?.schema || defaultSchema
|
|
194
237
|
);
|
|
195
|
-
const [preference, setPreference] = (0,
|
|
238
|
+
const [preference, setPreference] = (0, import_react6.useState)(
|
|
196
239
|
() => (persist ? readStored(storageKey)?.preference : null) ?? defaultMode
|
|
197
240
|
);
|
|
198
|
-
const [systemMode, setSystemMode] = (0,
|
|
199
|
-
(0,
|
|
241
|
+
const [systemMode, setSystemMode] = (0, import_react6.useState)(resolveSystemMode);
|
|
242
|
+
(0, import_react6.useEffect)(() => {
|
|
200
243
|
if (preference !== "system") return;
|
|
201
244
|
if (typeof window === "undefined" || typeof window.matchMedia !== "function") return;
|
|
202
245
|
const mqls = ["(prefers-contrast: more)", "(prefers-color-scheme: dark)"].map(
|
|
@@ -210,10 +253,10 @@ function ThemeProvider({
|
|
|
210
253
|
};
|
|
211
254
|
}, [preference]);
|
|
212
255
|
const mode = preference === "system" ? systemMode : preference;
|
|
213
|
-
(0,
|
|
256
|
+
(0, import_react6.useEffect)(() => {
|
|
214
257
|
if (persist) writeStored(storageKey, { schema, preference });
|
|
215
258
|
}, [schema, preference, persist, storageKey]);
|
|
216
|
-
const value = (0,
|
|
259
|
+
const value = (0, import_react6.useMemo)(
|
|
217
260
|
() => ({
|
|
218
261
|
schema,
|
|
219
262
|
mode,
|
|
@@ -229,10 +272,10 @@ function ThemeProvider({
|
|
|
229
272
|
}),
|
|
230
273
|
[schema, mode, preference]
|
|
231
274
|
);
|
|
232
|
-
return /* @__PURE__ */ (0,
|
|
275
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ThemeContext.Provider, { value, children });
|
|
233
276
|
}
|
|
234
277
|
function useTheme() {
|
|
235
|
-
return (0,
|
|
278
|
+
return (0, import_react6.useContext)(ThemeContext) ?? DEFAULT_VALUE;
|
|
236
279
|
}
|
|
237
280
|
|
|
238
281
|
// src/theme/typography.css.ts
|
|
@@ -250,7 +293,7 @@ function useStyles2({
|
|
|
250
293
|
align: align2
|
|
251
294
|
}) {
|
|
252
295
|
const { themeClass } = useTheme();
|
|
253
|
-
const className = (0,
|
|
296
|
+
const className = (0, import_react7.useMemo)(
|
|
254
297
|
() => [
|
|
255
298
|
themeClass,
|
|
256
299
|
base,
|
|
@@ -264,7 +307,7 @@ function useStyles2({
|
|
|
264
307
|
}
|
|
265
308
|
|
|
266
309
|
// src/components/typography/index.tsx
|
|
267
|
-
var
|
|
310
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
268
311
|
var defaultElement = {
|
|
269
312
|
display: "h1",
|
|
270
313
|
h1: "h1",
|
|
@@ -279,22 +322,29 @@ var defaultElement = {
|
|
|
279
322
|
code: "code",
|
|
280
323
|
blackletter: "span"
|
|
281
324
|
};
|
|
282
|
-
function TypographyInner({ variant: variant2, as, color: color2, align: align2, ...rest }, ref) {
|
|
325
|
+
function TypographyInner({ variant: variant2, as, color: color2, align: align2, testId, ...rest }, ref) {
|
|
283
326
|
const Component = as ?? defaultElement[variant2];
|
|
284
327
|
const { text: text2 } = useStyles2({ variant: variant2, color: color2, align: align2 });
|
|
285
|
-
|
|
328
|
+
const { testId: dataTestId } = useTestId("text", testId);
|
|
329
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Component, { ref, "data-testid": dataTestId, ...rest, className: text2 });
|
|
286
330
|
}
|
|
287
|
-
var TypographyForwarded = (0,
|
|
331
|
+
var TypographyForwarded = (0, import_react8.forwardRef)(
|
|
288
332
|
TypographyInner
|
|
289
333
|
);
|
|
290
334
|
TypographyForwarded.displayName = "Typography";
|
|
291
335
|
var Typography = TypographyForwarded;
|
|
292
336
|
|
|
293
337
|
// src/components/button/index.tsx
|
|
294
|
-
var
|
|
338
|
+
var import_react10 = require("react");
|
|
339
|
+
|
|
340
|
+
// src/testing/states.ts
|
|
341
|
+
function states(map) {
|
|
342
|
+
const active2 = Object.keys(map).filter((key) => map[key]);
|
|
343
|
+
return active2.length > 0 ? active2.join(" ") : void 0;
|
|
344
|
+
}
|
|
295
345
|
|
|
296
346
|
// src/components/button/use-styles.ts
|
|
297
|
-
var
|
|
347
|
+
var import_react9 = require("react");
|
|
298
348
|
|
|
299
349
|
// src/components/button/use-styles.css.ts
|
|
300
350
|
var full = "use-styles_full__1pbtill4";
|
|
@@ -315,7 +365,7 @@ function useStyles3({
|
|
|
315
365
|
className
|
|
316
366
|
}) {
|
|
317
367
|
const { themeClass } = useTheme();
|
|
318
|
-
const container = (0,
|
|
368
|
+
const container = (0, import_react9.useMemo)(
|
|
319
369
|
() => [
|
|
320
370
|
themeClass,
|
|
321
371
|
root,
|
|
@@ -330,9 +380,9 @@ function useStyles3({
|
|
|
330
380
|
}
|
|
331
381
|
|
|
332
382
|
// src/components/button/index.tsx
|
|
333
|
-
var
|
|
383
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
334
384
|
var ICON_SIZE = { sm: 14, md: 16, lg: 18 };
|
|
335
|
-
var Button = (0,
|
|
385
|
+
var Button = (0, import_react10.forwardRef)(function Button2({
|
|
336
386
|
variant: variant2,
|
|
337
387
|
tone: tone4,
|
|
338
388
|
size: size3 = "md",
|
|
@@ -341,23 +391,36 @@ var Button = (0, import_react8.forwardRef)(function Button2({
|
|
|
341
391
|
full: full2,
|
|
342
392
|
className,
|
|
343
393
|
type = "button",
|
|
394
|
+
testId,
|
|
344
395
|
children,
|
|
345
396
|
...rest
|
|
346
397
|
}, ref) {
|
|
347
398
|
const { container } = useStyles3({ variant: variant2, tone: tone4, size: size3, full: full2, className });
|
|
399
|
+
const { testId: dataTestId } = useTestId("button", testId);
|
|
348
400
|
const iconSize = ICON_SIZE[size3];
|
|
349
|
-
return /* @__PURE__ */ (0,
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
401
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
402
|
+
"button",
|
|
403
|
+
{
|
|
404
|
+
ref,
|
|
405
|
+
type,
|
|
406
|
+
className: container,
|
|
407
|
+
"data-testid": dataTestId,
|
|
408
|
+
"data-state": states({ disabled: rest.disabled }),
|
|
409
|
+
...rest,
|
|
410
|
+
children: [
|
|
411
|
+
StartIcon && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StartIcon, { size: iconSize }),
|
|
412
|
+
children,
|
|
413
|
+
EndIcon && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(EndIcon, { size: iconSize })
|
|
414
|
+
]
|
|
415
|
+
}
|
|
416
|
+
);
|
|
354
417
|
});
|
|
355
418
|
|
|
356
419
|
// src/components/divider/index.tsx
|
|
357
|
-
var
|
|
420
|
+
var import_react12 = require("react");
|
|
358
421
|
|
|
359
422
|
// src/components/divider/use-styles.ts
|
|
360
|
-
var
|
|
423
|
+
var import_react11 = require("react");
|
|
361
424
|
|
|
362
425
|
// src/components/divider/use-styles.css.ts
|
|
363
426
|
var horizontal = "use-styles_horizontal__1n7v7yj1";
|
|
@@ -370,7 +433,7 @@ var vertical = "use-styles_vertical__1n7v7yj2";
|
|
|
370
433
|
// src/components/divider/use-styles.ts
|
|
371
434
|
function useStyles4({ vertical: vertical2, hasLabel }) {
|
|
372
435
|
const { themeClass } = useTheme();
|
|
373
|
-
const root24 = (0,
|
|
436
|
+
const root24 = (0, import_react11.useMemo)(
|
|
374
437
|
() => [
|
|
375
438
|
themeClass,
|
|
376
439
|
root2,
|
|
@@ -382,25 +445,26 @@ function useStyles4({ vertical: vertical2, hasLabel }) {
|
|
|
382
445
|
}
|
|
383
446
|
|
|
384
447
|
// src/components/divider/index.tsx
|
|
385
|
-
var
|
|
386
|
-
var Divider = (0,
|
|
448
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
449
|
+
var Divider = (0, import_react12.forwardRef)(function Divider2({ vertical: vertical2, label: label7, testId, ...rest }, ref) {
|
|
387
450
|
const hasLabel = label7 != null;
|
|
388
451
|
const { root: root24, line: line2, label: labelClass } = useStyles4({ vertical: vertical2, hasLabel });
|
|
452
|
+
const { testId: dataTestId, slot } = useTestId("layout", testId);
|
|
389
453
|
if (hasLabel) {
|
|
390
|
-
return /* @__PURE__ */ (0,
|
|
391
|
-
/* @__PURE__ */ (0,
|
|
392
|
-
/* @__PURE__ */ (0,
|
|
393
|
-
/* @__PURE__ */ (0,
|
|
454
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { ref, role: "separator", className: root24, "data-testid": dataTestId, ...rest, children: [
|
|
455
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: line2 }),
|
|
456
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: labelClass, "data-testid": slot("label"), children: label7 }),
|
|
457
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: line2 })
|
|
394
458
|
] });
|
|
395
459
|
}
|
|
396
|
-
return /* @__PURE__ */ (0,
|
|
460
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, role: "separator", className: root24, "data-testid": dataTestId, ...rest });
|
|
397
461
|
});
|
|
398
462
|
|
|
399
463
|
// src/components/avatar/index.tsx
|
|
400
|
-
var
|
|
464
|
+
var import_react14 = require("react");
|
|
401
465
|
|
|
402
466
|
// src/components/avatar/use-styles.ts
|
|
403
|
-
var
|
|
467
|
+
var import_react13 = require("react");
|
|
404
468
|
|
|
405
469
|
// src/components/avatar/use-styles.css.ts
|
|
406
470
|
var root3 = "use-styles_root__1mn1rmu0";
|
|
@@ -414,7 +478,7 @@ function useStyles5({
|
|
|
414
478
|
className
|
|
415
479
|
}) {
|
|
416
480
|
const { themeClass } = useTheme();
|
|
417
|
-
const root24 = (0,
|
|
481
|
+
const root24 = (0, import_react13.useMemo)(
|
|
418
482
|
() => [
|
|
419
483
|
themeClass,
|
|
420
484
|
root3,
|
|
@@ -428,17 +492,18 @@ function useStyles5({
|
|
|
428
492
|
}
|
|
429
493
|
|
|
430
494
|
// src/components/avatar/index.tsx
|
|
431
|
-
var
|
|
432
|
-
var Avatar = (0,
|
|
495
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
496
|
+
var Avatar = (0, import_react14.forwardRef)(function Avatar2({ size: size3, filled, className, children, testId, ...rest }, ref) {
|
|
433
497
|
const { root: root24 } = useStyles5({ size: size3, filled, className });
|
|
434
|
-
|
|
498
|
+
const { testId: dataTestId } = useTestId("media", testId);
|
|
499
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { ref, className: root24, "data-testid": dataTestId, ...rest, children });
|
|
435
500
|
});
|
|
436
501
|
|
|
437
502
|
// src/components/badge/index.tsx
|
|
438
|
-
var
|
|
503
|
+
var import_react16 = require("react");
|
|
439
504
|
|
|
440
505
|
// src/components/badge/use-styles.ts
|
|
441
|
-
var
|
|
506
|
+
var import_react15 = require("react");
|
|
442
507
|
|
|
443
508
|
// src/components/badge/use-styles.css.ts
|
|
444
509
|
var dot = "use-styles_dot__1wpei6p1";
|
|
@@ -451,29 +516,30 @@ function useStyles6({
|
|
|
451
516
|
className
|
|
452
517
|
}) {
|
|
453
518
|
const { themeClass } = useTheme();
|
|
454
|
-
const root24 = (0,
|
|
519
|
+
const root24 = (0, import_react15.useMemo)(
|
|
455
520
|
() => [themeClass, root4, className].filter(Boolean).join(" "),
|
|
456
521
|
[themeClass, className]
|
|
457
522
|
);
|
|
458
|
-
const dot3 = (0,
|
|
523
|
+
const dot3 = (0, import_react15.useMemo)(() => [dot, tone2[tone4]].join(" "), [tone4]);
|
|
459
524
|
return { root: root24, dot: dot3 };
|
|
460
525
|
}
|
|
461
526
|
|
|
462
527
|
// src/components/badge/index.tsx
|
|
463
|
-
var
|
|
464
|
-
var Badge = (0,
|
|
528
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
529
|
+
var Badge = (0, import_react16.forwardRef)(function Badge2({ count, tone: tone4, className, children, testId, ...rest }, ref) {
|
|
465
530
|
const { root: root24, dot: dot3 } = useStyles6({ tone: tone4, className });
|
|
466
|
-
|
|
531
|
+
const { testId: dataTestId, slot } = useTestId("media", testId);
|
|
532
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("span", { ref, className: root24, "data-testid": dataTestId, ...rest, children: [
|
|
467
533
|
children,
|
|
468
|
-
count != null && /* @__PURE__ */ (0,
|
|
534
|
+
count != null && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: dot3, "data-testid": slot("dot"), children: count })
|
|
469
535
|
] });
|
|
470
536
|
});
|
|
471
537
|
|
|
472
538
|
// src/components/progress/index.tsx
|
|
473
|
-
var
|
|
539
|
+
var import_react18 = require("react");
|
|
474
540
|
|
|
475
541
|
// src/components/progress/use-styles.ts
|
|
476
|
-
var
|
|
542
|
+
var import_react17 = require("react");
|
|
477
543
|
|
|
478
544
|
// src/components/progress/use-styles.css.ts
|
|
479
545
|
var bar = "use-styles_bar__kbop7v3";
|
|
@@ -489,7 +555,7 @@ function useStyles7({
|
|
|
489
555
|
}) {
|
|
490
556
|
const { themeClass } = useTheme();
|
|
491
557
|
const indeterminate2 = value === void 0;
|
|
492
|
-
return (0,
|
|
558
|
+
return (0, import_react17.useMemo)(() => {
|
|
493
559
|
const root24 = (...classes) => [themeClass, ...classes, className].filter(Boolean).join(" ");
|
|
494
560
|
if (variant2 === "circular") {
|
|
495
561
|
return { track: "", bar: "", spinner: root24(spinner) };
|
|
@@ -503,12 +569,13 @@ function useStyles7({
|
|
|
503
569
|
}
|
|
504
570
|
|
|
505
571
|
// src/components/progress/index.tsx
|
|
506
|
-
var
|
|
507
|
-
var Progress = (0,
|
|
572
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
573
|
+
var Progress = (0, import_react18.forwardRef)(function Progress2({ variant: variant2 = "linear", value, size: size3 = 20, className, testId, ...rest }, ref) {
|
|
508
574
|
const { track: track4, bar: bar2, spinner: spinner2 } = useStyles7({ variant: variant2, value, className });
|
|
509
575
|
const indeterminate2 = value === void 0;
|
|
576
|
+
const { testId: dataTestId, slot } = useTestId("media", testId);
|
|
510
577
|
if (variant2 === "circular") {
|
|
511
|
-
return /* @__PURE__ */ (0,
|
|
578
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
512
579
|
"span",
|
|
513
580
|
{
|
|
514
581
|
ref,
|
|
@@ -518,11 +585,13 @@ var Progress = (0, import_react16.forwardRef)(function Progress2({ variant: vari
|
|
|
518
585
|
"aria-valuemin": indeterminate2 ? void 0 : 0,
|
|
519
586
|
"aria-valuemax": indeterminate2 ? void 0 : 100,
|
|
520
587
|
style: { width: size3, height: size3 },
|
|
588
|
+
"data-testid": dataTestId,
|
|
589
|
+
"data-state": states({ indeterminate: indeterminate2 }),
|
|
521
590
|
...rest
|
|
522
591
|
}
|
|
523
592
|
);
|
|
524
593
|
}
|
|
525
|
-
return /* @__PURE__ */ (0,
|
|
594
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
526
595
|
"div",
|
|
527
596
|
{
|
|
528
597
|
ref,
|
|
@@ -531,19 +600,28 @@ var Progress = (0, import_react16.forwardRef)(function Progress2({ variant: vari
|
|
|
531
600
|
"aria-valuenow": indeterminate2 ? void 0 : value,
|
|
532
601
|
"aria-valuemin": indeterminate2 ? void 0 : 0,
|
|
533
602
|
"aria-valuemax": indeterminate2 ? void 0 : 100,
|
|
603
|
+
"data-testid": dataTestId,
|
|
604
|
+
"data-state": states({ indeterminate: indeterminate2 }),
|
|
534
605
|
...rest,
|
|
535
|
-
children: /* @__PURE__ */ (0,
|
|
606
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
607
|
+
"div",
|
|
608
|
+
{
|
|
609
|
+
className: bar2,
|
|
610
|
+
style: indeterminate2 ? void 0 : { width: `${value}%` },
|
|
611
|
+
"data-testid": slot("bar")
|
|
612
|
+
}
|
|
613
|
+
)
|
|
536
614
|
}
|
|
537
615
|
);
|
|
538
616
|
});
|
|
539
617
|
|
|
540
618
|
// src/components/chip/index.tsx
|
|
541
|
-
var
|
|
619
|
+
var import_react20 = require("react");
|
|
542
620
|
|
|
543
621
|
// src/components/icons/x/index.tsx
|
|
544
|
-
var
|
|
622
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
545
623
|
function XIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
546
|
-
return /* @__PURE__ */ (0,
|
|
624
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
547
625
|
"svg",
|
|
548
626
|
{
|
|
549
627
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -558,15 +636,15 @@ function XIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
558
636
|
"aria-hidden": "true",
|
|
559
637
|
...rest,
|
|
560
638
|
children: [
|
|
561
|
-
/* @__PURE__ */ (0,
|
|
562
|
-
/* @__PURE__ */ (0,
|
|
639
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("path", { d: "M18 6 6 18" }),
|
|
640
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("path", { d: "m6 6 12 12" })
|
|
563
641
|
]
|
|
564
642
|
}
|
|
565
643
|
);
|
|
566
644
|
}
|
|
567
645
|
|
|
568
646
|
// src/components/chip/use-styles.ts
|
|
569
|
-
var
|
|
647
|
+
var import_react19 = require("react");
|
|
570
648
|
|
|
571
649
|
// src/components/chip/use-styles.css.ts
|
|
572
650
|
var clickable = "use-styles_clickable__1axilf44";
|
|
@@ -582,7 +660,7 @@ function useStyles8({
|
|
|
582
660
|
clickable: clickable2
|
|
583
661
|
}) {
|
|
584
662
|
const { themeClass } = useTheme();
|
|
585
|
-
const root24 = (0,
|
|
663
|
+
const root24 = (0, import_react19.useMemo)(
|
|
586
664
|
() => [
|
|
587
665
|
themeClass,
|
|
588
666
|
root5,
|
|
@@ -595,27 +673,49 @@ function useStyles8({
|
|
|
595
673
|
}
|
|
596
674
|
|
|
597
675
|
// src/components/chip/index.tsx
|
|
598
|
-
var
|
|
599
|
-
var Chip = (0,
|
|
676
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
677
|
+
var Chip = (0, import_react20.forwardRef)(function Chip2({ selected: selected3, tone: tone4, onDelete, onClick, children, testId, ...rest }, ref) {
|
|
600
678
|
const clickable2 = Boolean(onClick);
|
|
601
679
|
const { root: root24, deleteBtn: deleteBtn2 } = useStyles8({ selected: selected3, tone: tone4, clickable: clickable2 });
|
|
680
|
+
const { testId: dataTestId, slot } = useTestId("media", testId);
|
|
602
681
|
const handleDelete = (event) => {
|
|
603
682
|
event.stopPropagation();
|
|
604
683
|
onDelete?.();
|
|
605
684
|
};
|
|
606
|
-
return /* @__PURE__ */ (0,
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
685
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
686
|
+
"span",
|
|
687
|
+
{
|
|
688
|
+
ref,
|
|
689
|
+
className: root24,
|
|
690
|
+
onClick,
|
|
691
|
+
"data-testid": dataTestId,
|
|
692
|
+
"data-state": states({ selected: selected3 }),
|
|
693
|
+
...rest,
|
|
694
|
+
children: [
|
|
695
|
+
children,
|
|
696
|
+
onDelete && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
697
|
+
"button",
|
|
698
|
+
{
|
|
699
|
+
type: "button",
|
|
700
|
+
className: deleteBtn2,
|
|
701
|
+
"aria-label": "Remove",
|
|
702
|
+
onClick: handleDelete,
|
|
703
|
+
"data-testid": slot("delete"),
|
|
704
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(XIcon, { size: 13 })
|
|
705
|
+
}
|
|
706
|
+
)
|
|
707
|
+
]
|
|
708
|
+
}
|
|
709
|
+
);
|
|
610
710
|
});
|
|
611
711
|
|
|
612
712
|
// src/components/checkbox/index.tsx
|
|
613
|
-
var
|
|
713
|
+
var import_react22 = require("react");
|
|
614
714
|
|
|
615
715
|
// src/components/icons/check/index.tsx
|
|
616
|
-
var
|
|
716
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
617
717
|
function CheckIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
618
|
-
return /* @__PURE__ */ (0,
|
|
718
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
619
719
|
"svg",
|
|
620
720
|
{
|
|
621
721
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -629,13 +729,13 @@ function CheckIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
629
729
|
strokeLinejoin: "round",
|
|
630
730
|
"aria-hidden": "true",
|
|
631
731
|
...rest,
|
|
632
|
-
children: /* @__PURE__ */ (0,
|
|
732
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("path", { d: "M20 6 9 17l-5-5" })
|
|
633
733
|
}
|
|
634
734
|
);
|
|
635
735
|
}
|
|
636
736
|
|
|
637
737
|
// src/components/checkbox/use-styles.ts
|
|
638
|
-
var
|
|
738
|
+
var import_react21 = require("react");
|
|
639
739
|
|
|
640
740
|
// src/components/checkbox/use-styles.css.ts
|
|
641
741
|
var box = "use-styles_box__9zoga91";
|
|
@@ -648,11 +748,11 @@ var root6 = "use-styles_root__9zoga90";
|
|
|
648
748
|
// src/components/checkbox/use-styles.ts
|
|
649
749
|
function useStyles9({ checked, disabled: disabled3 }) {
|
|
650
750
|
const { themeClass } = useTheme();
|
|
651
|
-
const root24 = (0,
|
|
751
|
+
const root24 = (0, import_react21.useMemo)(
|
|
652
752
|
() => [themeClass, root6, disabled3 && disabled].filter(Boolean).join(" "),
|
|
653
753
|
[themeClass, disabled3]
|
|
654
754
|
);
|
|
655
|
-
const box2 = (0,
|
|
755
|
+
const box2 = (0, import_react21.useMemo)(
|
|
656
756
|
() => [box, checked && boxChecked].filter(Boolean).join(" "),
|
|
657
757
|
[checked]
|
|
658
758
|
);
|
|
@@ -660,15 +760,16 @@ function useStyles9({ checked, disabled: disabled3 }) {
|
|
|
660
760
|
}
|
|
661
761
|
|
|
662
762
|
// src/components/checkbox/index.tsx
|
|
663
|
-
var
|
|
664
|
-
var Checkbox = (0,
|
|
763
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
764
|
+
var Checkbox = (0, import_react22.forwardRef)(function Checkbox2({ checked = false, onChange, label: label7, disabled: disabled3 = false, id, testId, ...rest }, ref) {
|
|
665
765
|
const { root: root24, input: input6, box: box2, check: check2 } = useStyles9({ checked, disabled: disabled3 });
|
|
766
|
+
const { testId: dataTestId } = useTestId("toggle", testId);
|
|
666
767
|
const handleChange = (e) => {
|
|
667
768
|
if (disabled3) return;
|
|
668
769
|
onChange?.(e.target.checked);
|
|
669
770
|
};
|
|
670
|
-
return /* @__PURE__ */ (0,
|
|
671
|
-
/* @__PURE__ */ (0,
|
|
771
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("label", { className: root24, "data-testid": dataTestId, "data-state": states({ checked, disabled: disabled3 }), children: [
|
|
772
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
672
773
|
"input",
|
|
673
774
|
{
|
|
674
775
|
ref,
|
|
@@ -681,16 +782,16 @@ var Checkbox = (0, import_react20.forwardRef)(function Checkbox2({ checked = fal
|
|
|
681
782
|
...rest
|
|
682
783
|
}
|
|
683
784
|
),
|
|
684
|
-
/* @__PURE__ */ (0,
|
|
785
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: box2, children: checked && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(CheckIcon, { size: 12, className: check2 }) }),
|
|
685
786
|
label7
|
|
686
787
|
] });
|
|
687
788
|
});
|
|
688
789
|
|
|
689
790
|
// src/components/radio/index.tsx
|
|
690
|
-
var
|
|
791
|
+
var import_react24 = require("react");
|
|
691
792
|
|
|
692
793
|
// src/components/radio/use-styles.ts
|
|
693
|
-
var
|
|
794
|
+
var import_react23 = require("react");
|
|
694
795
|
|
|
695
796
|
// src/components/radio/use-styles.css.ts
|
|
696
797
|
var circle = "use-styles_circle__vy61b42";
|
|
@@ -706,7 +807,7 @@ function useStyles10({
|
|
|
706
807
|
className
|
|
707
808
|
}) {
|
|
708
809
|
const { themeClass } = useTheme();
|
|
709
|
-
const root24 = (0,
|
|
810
|
+
const root24 = (0, import_react23.useMemo)(
|
|
710
811
|
() => [themeClass, root7, disabled3 && disabled2, className].filter(Boolean).join(" "),
|
|
711
812
|
[themeClass, disabled3, className]
|
|
712
813
|
);
|
|
@@ -720,11 +821,12 @@ function useStyles10({
|
|
|
720
821
|
}
|
|
721
822
|
|
|
722
823
|
// src/components/radio/index.tsx
|
|
723
|
-
var
|
|
724
|
-
var Radio = (0,
|
|
824
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
825
|
+
var Radio = (0, import_react24.forwardRef)(function Radio2({ checked, onChange, label: label7, name, value, disabled: disabled3, testId, ...rest }, ref) {
|
|
725
826
|
const { root: root24, input: input6, circle: circle2, dot: dot3, label: labelClass } = useStyles10({ disabled: disabled3 });
|
|
726
|
-
|
|
727
|
-
|
|
827
|
+
const { testId: dataTestId } = useTestId("toggle", testId);
|
|
828
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("label", { className: root24, "data-testid": dataTestId, "data-state": states({ checked, disabled: disabled3 }), children: [
|
|
829
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
728
830
|
"input",
|
|
729
831
|
{
|
|
730
832
|
ref,
|
|
@@ -738,16 +840,16 @@ var Radio = (0, import_react22.forwardRef)(function Radio2({ checked, onChange,
|
|
|
738
840
|
...rest
|
|
739
841
|
}
|
|
740
842
|
),
|
|
741
|
-
/* @__PURE__ */ (0,
|
|
742
|
-
label7 != null && /* @__PURE__ */ (0,
|
|
843
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: circle2, children: checked && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: dot3 }) }),
|
|
844
|
+
label7 != null && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: labelClass, children: label7 })
|
|
743
845
|
] });
|
|
744
846
|
});
|
|
745
847
|
|
|
746
848
|
// src/components/switch/index.tsx
|
|
747
|
-
var
|
|
849
|
+
var import_react26 = require("react");
|
|
748
850
|
|
|
749
851
|
// src/components/switch/use-styles.ts
|
|
750
|
-
var
|
|
852
|
+
var import_react25 = require("react");
|
|
751
853
|
|
|
752
854
|
// src/components/switch/use-styles.css.ts
|
|
753
855
|
var input3 = "surfaces_srOnly__1qa7atn0";
|
|
@@ -761,7 +863,7 @@ var trackChecked = "use-styles_trackChecked__1r6kem72";
|
|
|
761
863
|
// src/components/switch/use-styles.ts
|
|
762
864
|
function useStyles11({ checked }) {
|
|
763
865
|
const { themeClass } = useTheme();
|
|
764
|
-
return (0,
|
|
866
|
+
return (0, import_react25.useMemo)(
|
|
765
867
|
() => ({
|
|
766
868
|
root: [themeClass, root8].filter(Boolean).join(" "),
|
|
767
869
|
input: input3,
|
|
@@ -774,11 +876,12 @@ function useStyles11({ checked }) {
|
|
|
774
876
|
}
|
|
775
877
|
|
|
776
878
|
// src/components/switch/index.tsx
|
|
777
|
-
var
|
|
778
|
-
var Switch = (0,
|
|
879
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
880
|
+
var Switch = (0, import_react26.forwardRef)(function Switch2({ checked = false, onChange, label: label7, disabled: disabled3, testId, ...rest }, ref) {
|
|
779
881
|
const { root: root24, input: input6, track: track4, knob: knob2, label: labelClass } = useStyles11({ checked });
|
|
780
|
-
|
|
781
|
-
|
|
882
|
+
const { testId: dataTestId } = useTestId("toggle", testId);
|
|
883
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("label", { className: root24, "data-testid": dataTestId, "data-state": states({ checked, disabled: disabled3 }), children: [
|
|
884
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
782
885
|
"input",
|
|
783
886
|
{
|
|
784
887
|
ref,
|
|
@@ -795,19 +898,19 @@ var Switch = (0, import_react24.forwardRef)(function Switch2({ checked = false,
|
|
|
795
898
|
...rest
|
|
796
899
|
}
|
|
797
900
|
),
|
|
798
|
-
/* @__PURE__ */ (0,
|
|
799
|
-
label7 != null && /* @__PURE__ */ (0,
|
|
901
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: track4, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: knob2 }) }),
|
|
902
|
+
label7 != null && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: labelClass, children: label7 })
|
|
800
903
|
] });
|
|
801
904
|
});
|
|
802
905
|
|
|
803
906
|
// src/components/text-field/index.tsx
|
|
804
|
-
var
|
|
907
|
+
var import_react29 = require("react");
|
|
805
908
|
|
|
806
909
|
// src/components/base-field/index.tsx
|
|
807
|
-
var
|
|
910
|
+
var import_react28 = require("react");
|
|
808
911
|
|
|
809
912
|
// src/components/base-field/use-styles.ts
|
|
810
|
-
var
|
|
913
|
+
var import_react27 = require("react");
|
|
811
914
|
|
|
812
915
|
// src/components/base-field/use-styles.css.ts
|
|
813
916
|
var field = "use-styles_field__1c3cgd3";
|
|
@@ -826,7 +929,7 @@ var trailingSlot = "use-styles_trailingSlot__1c3cgdb";
|
|
|
826
929
|
// src/components/base-field/use-styles.ts
|
|
827
930
|
function useStyles12({ error, hasStartIcon, hasTrailing, className }) {
|
|
828
931
|
const { themeClass } = useTheme();
|
|
829
|
-
return (0,
|
|
932
|
+
return (0, import_react27.useMemo)(() => {
|
|
830
933
|
const root24 = [themeClass, root9].filter(Boolean).join(" ");
|
|
831
934
|
const labelText2 = [labelText, error && labelTextError].filter(Boolean).join(" ");
|
|
832
935
|
const input6 = [
|
|
@@ -850,9 +953,9 @@ function useStyles12({ error, hasStartIcon, hasTrailing, className }) {
|
|
|
850
953
|
}
|
|
851
954
|
|
|
852
955
|
// src/components/base-field/index.tsx
|
|
853
|
-
var
|
|
854
|
-
var BaseField = (0,
|
|
855
|
-
const autoId = (0,
|
|
956
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
957
|
+
var BaseField = (0, import_react28.forwardRef)(function BaseField2({ label: label7, help, error, startIcon: StartIcon, trailing: trailing2, id, className, testId, children }, ref) {
|
|
958
|
+
const autoId = (0, import_react28.useId)();
|
|
856
959
|
const controlId = id ?? autoId;
|
|
857
960
|
const errorMessage = error != null && error !== false && error !== true && error !== "" ? error : null;
|
|
858
961
|
const hasError = error === true || errorMessage != null;
|
|
@@ -864,27 +967,30 @@ var BaseField = (0, import_react26.forwardRef)(function BaseField2({ label: labe
|
|
|
864
967
|
hasTrailing: trailing2 != null,
|
|
865
968
|
className
|
|
866
969
|
});
|
|
970
|
+
const { testId: rootTestId, slot } = useTestId("field", testId);
|
|
867
971
|
const control = {
|
|
868
972
|
id: controlId,
|
|
869
973
|
className: classes.input,
|
|
870
974
|
ref,
|
|
871
975
|
"aria-describedby": messageId,
|
|
872
|
-
"aria-invalid": hasError ? true : void 0
|
|
976
|
+
"aria-invalid": hasError ? true : void 0,
|
|
977
|
+
"data-testid": slot("input")
|
|
873
978
|
};
|
|
874
|
-
return /* @__PURE__ */ (0,
|
|
875
|
-
label7 != null && /* @__PURE__ */ (0,
|
|
876
|
-
/* @__PURE__ */ (0,
|
|
877
|
-
StartIcon != null && /* @__PURE__ */ (0,
|
|
979
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: classes.root, "data-testid": rootTestId, "data-state": states({ error: hasError }), children: [
|
|
980
|
+
label7 != null && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("label", { htmlFor: controlId, className: classes.labelText, "data-testid": slot("label"), children: label7 }),
|
|
981
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: classes.field, children: [
|
|
982
|
+
StartIcon != null && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: classes.startIconSlot, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(StartIcon, { size: 18 }) }),
|
|
878
983
|
children(control),
|
|
879
|
-
trailing2 != null && /* @__PURE__ */ (0,
|
|
984
|
+
trailing2 != null && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: classes.trailingSlot, children: trailing2 })
|
|
880
985
|
] }),
|
|
881
986
|
message2 != null && // `aria-live` solo cuando el mensaje es un error: anuncia la validación al aparecer.
|
|
882
|
-
/* @__PURE__ */ (0,
|
|
987
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
883
988
|
"span",
|
|
884
989
|
{
|
|
885
990
|
id: messageId,
|
|
886
991
|
className: classes.helpText,
|
|
887
992
|
"aria-live": errorMessage ? "polite" : void 0,
|
|
993
|
+
"data-testid": slot("message"),
|
|
888
994
|
children: message2
|
|
889
995
|
}
|
|
890
996
|
)
|
|
@@ -892,12 +998,12 @@ var BaseField = (0, import_react26.forwardRef)(function BaseField2({ label: labe
|
|
|
892
998
|
});
|
|
893
999
|
|
|
894
1000
|
// src/components/text-field/index.tsx
|
|
895
|
-
var
|
|
1001
|
+
var import_jsx_runtime17 = (
|
|
896
1002
|
// En multiline el control es un <textarea>: no reenviamos `controlRef` porque el
|
|
897
1003
|
// tipo público de la ref es HTMLInputElement (la ref aplica solo a la rama <input>).
|
|
898
1004
|
require("react/jsx-runtime")
|
|
899
1005
|
);
|
|
900
|
-
var TextField = (0,
|
|
1006
|
+
var TextField = (0, import_react29.forwardRef)(function TextField2({
|
|
901
1007
|
label: label7,
|
|
902
1008
|
help,
|
|
903
1009
|
error,
|
|
@@ -908,9 +1014,11 @@ var TextField = (0, import_react27.forwardRef)(function TextField2({
|
|
|
908
1014
|
onChange,
|
|
909
1015
|
className,
|
|
910
1016
|
id,
|
|
1017
|
+
testId,
|
|
911
1018
|
...rest
|
|
912
1019
|
}, ref) {
|
|
913
|
-
|
|
1020
|
+
const rawTestId = rest["data-testid"];
|
|
1021
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
914
1022
|
BaseField,
|
|
915
1023
|
{
|
|
916
1024
|
ref,
|
|
@@ -920,19 +1028,22 @@ var TextField = (0, import_react27.forwardRef)(function TextField2({
|
|
|
920
1028
|
startIcon,
|
|
921
1029
|
id,
|
|
922
1030
|
className,
|
|
923
|
-
|
|
1031
|
+
testId,
|
|
1032
|
+
children: ({ ref: controlRef, ...control }) => multiline ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
924
1033
|
"textarea",
|
|
925
1034
|
{
|
|
926
1035
|
...rest,
|
|
927
1036
|
...control,
|
|
1037
|
+
"data-testid": rawTestId ?? control["data-testid"],
|
|
928
1038
|
rows: rows ?? 4,
|
|
929
1039
|
onChange: (e) => onChange?.(e.target.value)
|
|
930
1040
|
}
|
|
931
|
-
) : /* @__PURE__ */ (0,
|
|
1041
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
932
1042
|
"input",
|
|
933
1043
|
{
|
|
934
1044
|
...rest,
|
|
935
1045
|
...control,
|
|
1046
|
+
"data-testid": rawTestId ?? control["data-testid"],
|
|
936
1047
|
ref: controlRef,
|
|
937
1048
|
type,
|
|
938
1049
|
onChange: (e) => onChange?.(e.target.value)
|
|
@@ -943,12 +1054,12 @@ var TextField = (0, import_react27.forwardRef)(function TextField2({
|
|
|
943
1054
|
});
|
|
944
1055
|
|
|
945
1056
|
// src/components/password-field/index.tsx
|
|
946
|
-
var
|
|
1057
|
+
var import_react31 = require("react");
|
|
947
1058
|
|
|
948
1059
|
// src/components/icons/eye/index.tsx
|
|
949
|
-
var
|
|
1060
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
950
1061
|
function EyeIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
951
|
-
return /* @__PURE__ */ (0,
|
|
1062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
952
1063
|
"svg",
|
|
953
1064
|
{
|
|
954
1065
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -963,17 +1074,17 @@ function EyeIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
963
1074
|
"aria-hidden": "true",
|
|
964
1075
|
...rest,
|
|
965
1076
|
children: [
|
|
966
|
-
/* @__PURE__ */ (0,
|
|
967
|
-
/* @__PURE__ */ (0,
|
|
1077
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("path", { d: "M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z" }),
|
|
1078
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("circle", { cx: "12", cy: "12", r: "3" })
|
|
968
1079
|
]
|
|
969
1080
|
}
|
|
970
1081
|
);
|
|
971
1082
|
}
|
|
972
1083
|
|
|
973
1084
|
// src/components/icons/eye-off/index.tsx
|
|
974
|
-
var
|
|
1085
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
975
1086
|
function EyeOffIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
976
|
-
return /* @__PURE__ */ (0,
|
|
1087
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
977
1088
|
"svg",
|
|
978
1089
|
{
|
|
979
1090
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -988,31 +1099,31 @@ function EyeOffIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
988
1099
|
"aria-hidden": "true",
|
|
989
1100
|
...rest,
|
|
990
1101
|
children: [
|
|
991
|
-
/* @__PURE__ */ (0,
|
|
992
|
-
/* @__PURE__ */ (0,
|
|
993
|
-
/* @__PURE__ */ (0,
|
|
994
|
-
/* @__PURE__ */ (0,
|
|
1102
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M9.88 9.88a3 3 0 1 0 4.24 4.24" }),
|
|
1103
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68" }),
|
|
1104
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61" }),
|
|
1105
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("path", { d: "m2 2 20 20" })
|
|
995
1106
|
]
|
|
996
1107
|
}
|
|
997
1108
|
);
|
|
998
1109
|
}
|
|
999
1110
|
|
|
1000
1111
|
// src/components/password-field/use-styles.ts
|
|
1001
|
-
var
|
|
1112
|
+
var import_react30 = require("react");
|
|
1002
1113
|
|
|
1003
1114
|
// src/components/password-field/use-styles.css.ts
|
|
1004
1115
|
var revealButton = "use-styles_revealButton__rsu9d50";
|
|
1005
1116
|
|
|
1006
1117
|
// src/components/password-field/use-styles.ts
|
|
1007
1118
|
function useStyles13() {
|
|
1008
|
-
return (0,
|
|
1119
|
+
return (0, import_react30.useMemo)(() => ({ revealButton }), []);
|
|
1009
1120
|
}
|
|
1010
1121
|
|
|
1011
1122
|
// src/components/password-field/index.tsx
|
|
1012
|
-
var
|
|
1013
|
-
var PasswordField = (0,
|
|
1123
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1124
|
+
var PasswordField = (0, import_react31.forwardRef)(
|
|
1014
1125
|
function PasswordField2({ label: label7, help, error, startIcon, onChange, id, className, ...rest }, ref) {
|
|
1015
|
-
const [reveal, setReveal] = (0,
|
|
1126
|
+
const [reveal, setReveal] = (0, import_react31.useState)(false);
|
|
1016
1127
|
const classes = useStyles13();
|
|
1017
1128
|
const handleChange = (e) => {
|
|
1018
1129
|
onChange?.(e.target.value);
|
|
@@ -1020,7 +1131,7 @@ var PasswordField = (0, import_react29.forwardRef)(
|
|
|
1020
1131
|
const handleToggleMouseDown = (e) => {
|
|
1021
1132
|
e.preventDefault();
|
|
1022
1133
|
};
|
|
1023
|
-
const toggleButton = /* @__PURE__ */ (0,
|
|
1134
|
+
const toggleButton = /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1024
1135
|
"button",
|
|
1025
1136
|
{
|
|
1026
1137
|
type: "button",
|
|
@@ -1029,10 +1140,10 @@ var PasswordField = (0, import_react29.forwardRef)(
|
|
|
1029
1140
|
"aria-label": reveal ? "Ocultar contrase\xF1a" : "Mostrar contrase\xF1a",
|
|
1030
1141
|
onMouseDown: handleToggleMouseDown,
|
|
1031
1142
|
onClick: () => setReveal((r) => !r),
|
|
1032
|
-
children: reveal ? /* @__PURE__ */ (0,
|
|
1143
|
+
children: reveal ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(EyeOffIcon, { size: 18 }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(EyeIcon, { size: 18 })
|
|
1033
1144
|
}
|
|
1034
1145
|
);
|
|
1035
|
-
return /* @__PURE__ */ (0,
|
|
1146
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1036
1147
|
BaseField,
|
|
1037
1148
|
{
|
|
1038
1149
|
ref,
|
|
@@ -1043,7 +1154,7 @@ var PasswordField = (0, import_react29.forwardRef)(
|
|
|
1043
1154
|
trailing: toggleButton,
|
|
1044
1155
|
id,
|
|
1045
1156
|
className,
|
|
1046
|
-
children: (control) => /* @__PURE__ */ (0,
|
|
1157
|
+
children: (control) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1047
1158
|
"input",
|
|
1048
1159
|
{
|
|
1049
1160
|
...rest,
|
|
@@ -1058,15 +1169,15 @@ var PasswordField = (0, import_react29.forwardRef)(
|
|
|
1058
1169
|
);
|
|
1059
1170
|
|
|
1060
1171
|
// src/components/money-field/index.tsx
|
|
1061
|
-
var
|
|
1062
|
-
var
|
|
1172
|
+
var import_react32 = require("react");
|
|
1173
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1063
1174
|
function parseAmount(raw) {
|
|
1064
1175
|
const cleaned = raw.replace(/[^0-9.-]/g, "");
|
|
1065
1176
|
if (cleaned === "" || cleaned === "-" || cleaned === ".") return null;
|
|
1066
1177
|
const n = Number.parseFloat(cleaned);
|
|
1067
1178
|
return Number.isNaN(n) ? null : n;
|
|
1068
1179
|
}
|
|
1069
|
-
var MoneyField = (0,
|
|
1180
|
+
var MoneyField = (0, import_react32.forwardRef)(function MoneyField2({
|
|
1070
1181
|
value,
|
|
1071
1182
|
onChange,
|
|
1072
1183
|
currency = "USD",
|
|
@@ -1081,9 +1192,9 @@ var MoneyField = (0, import_react30.forwardRef)(function MoneyField2({
|
|
|
1081
1192
|
onBlur,
|
|
1082
1193
|
...rest
|
|
1083
1194
|
}, ref) {
|
|
1084
|
-
const [focused, setFocused] = (0,
|
|
1085
|
-
const [draft, setDraft] = (0,
|
|
1086
|
-
const formatter = (0,
|
|
1195
|
+
const [focused, setFocused] = (0, import_react32.useState)(false);
|
|
1196
|
+
const [draft, setDraft] = (0, import_react32.useState)("");
|
|
1197
|
+
const formatter = (0, import_react32.useMemo)(
|
|
1087
1198
|
() => new Intl.NumberFormat(locale, { style: "currency", currency }),
|
|
1088
1199
|
[locale, currency]
|
|
1089
1200
|
);
|
|
@@ -1099,7 +1210,7 @@ var MoneyField = (0, import_react30.forwardRef)(function MoneyField2({
|
|
|
1099
1210
|
onChange?.(parseAmount(draft));
|
|
1100
1211
|
onBlur?.(e);
|
|
1101
1212
|
};
|
|
1102
|
-
return /* @__PURE__ */ (0,
|
|
1213
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1103
1214
|
BaseField,
|
|
1104
1215
|
{
|
|
1105
1216
|
ref,
|
|
@@ -1109,7 +1220,7 @@ var MoneyField = (0, import_react30.forwardRef)(function MoneyField2({
|
|
|
1109
1220
|
startIcon,
|
|
1110
1221
|
id,
|
|
1111
1222
|
className,
|
|
1112
|
-
children: (control) => /* @__PURE__ */ (0,
|
|
1223
|
+
children: (control) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1113
1224
|
"input",
|
|
1114
1225
|
{
|
|
1115
1226
|
...rest,
|
|
@@ -1126,10 +1237,10 @@ var MoneyField = (0, import_react30.forwardRef)(function MoneyField2({
|
|
|
1126
1237
|
});
|
|
1127
1238
|
|
|
1128
1239
|
// src/components/icon-button/index.tsx
|
|
1129
|
-
var
|
|
1240
|
+
var import_react34 = require("react");
|
|
1130
1241
|
|
|
1131
1242
|
// src/components/icon-button/use-styles.ts
|
|
1132
|
-
var
|
|
1243
|
+
var import_react33 = require("react");
|
|
1133
1244
|
|
|
1134
1245
|
// src/components/icon-button/use-styles.css.ts
|
|
1135
1246
|
var accent = "use-styles_accent__18np0q02";
|
|
@@ -1142,7 +1253,7 @@ function useStyles14({
|
|
|
1142
1253
|
tone: tone4 = "ink"
|
|
1143
1254
|
}) {
|
|
1144
1255
|
const { themeClass } = useTheme();
|
|
1145
|
-
const root24 = (0,
|
|
1256
|
+
const root24 = (0, import_react33.useMemo)(
|
|
1146
1257
|
() => [themeClass, root10, tone4 === "accent" && accent, active2 && active].filter(Boolean).join(" "),
|
|
1147
1258
|
[themeClass, active2, tone4]
|
|
1148
1259
|
);
|
|
@@ -1150,8 +1261,8 @@ function useStyles14({
|
|
|
1150
1261
|
}
|
|
1151
1262
|
|
|
1152
1263
|
// src/components/icon-button/index.tsx
|
|
1153
|
-
var
|
|
1154
|
-
var IconButton = (0,
|
|
1264
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1265
|
+
var IconButton = (0, import_react34.forwardRef)(function IconButton2({ icon: Icon, active: active2, tone: tone4, title, type = "button", testId, ...rest }, ref) {
|
|
1155
1266
|
if (typeof process !== "undefined" && process.env.NODE_ENV !== "production") {
|
|
1156
1267
|
const restProps = rest;
|
|
1157
1268
|
const hasName = title.trim() !== "" || restProps["aria-label"] != null || restProps["aria-labelledby"] != null;
|
|
@@ -1160,14 +1271,28 @@ var IconButton = (0, import_react32.forwardRef)(function IconButton2({ icon: Ico
|
|
|
1160
1271
|
}
|
|
1161
1272
|
}
|
|
1162
1273
|
const { root: root24 } = useStyles14({ active: active2, tone: tone4 });
|
|
1163
|
-
|
|
1274
|
+
const { testId: dataTestId } = useTestId("button", testId);
|
|
1275
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1276
|
+
"button",
|
|
1277
|
+
{
|
|
1278
|
+
ref,
|
|
1279
|
+
type,
|
|
1280
|
+
className: root24,
|
|
1281
|
+
"aria-label": title,
|
|
1282
|
+
title,
|
|
1283
|
+
"data-testid": dataTestId,
|
|
1284
|
+
"data-state": states({ active: active2, disabled: rest.disabled }),
|
|
1285
|
+
...rest,
|
|
1286
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Icon, { size: 18 })
|
|
1287
|
+
}
|
|
1288
|
+
);
|
|
1164
1289
|
});
|
|
1165
1290
|
|
|
1166
1291
|
// src/components/card/index.tsx
|
|
1167
|
-
var
|
|
1292
|
+
var import_react36 = require("react");
|
|
1168
1293
|
|
|
1169
1294
|
// src/components/card/use-styles.ts
|
|
1170
|
-
var
|
|
1295
|
+
var import_react35 = require("react");
|
|
1171
1296
|
|
|
1172
1297
|
// src/components/card/use-styles.css.ts
|
|
1173
1298
|
var body = "use-styles_body__1fuvd022";
|
|
@@ -1178,27 +1303,28 @@ var root11 = "use-styles_root__1fuvd020";
|
|
|
1178
1303
|
// src/components/card/use-styles.ts
|
|
1179
1304
|
function useStyles15() {
|
|
1180
1305
|
const { themeClass } = useTheme();
|
|
1181
|
-
const root24 = (0,
|
|
1306
|
+
const root24 = (0, import_react35.useMemo)(() => `${themeClass} ${root11}`, [themeClass]);
|
|
1182
1307
|
return { root: root24, header, body, footer };
|
|
1183
1308
|
}
|
|
1184
1309
|
|
|
1185
1310
|
// src/components/card/index.tsx
|
|
1186
|
-
var
|
|
1187
|
-
var CardRoot = (0,
|
|
1311
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1312
|
+
var CardRoot = (0, import_react36.forwardRef)(function Card({ children, testId, ...rest }, ref) {
|
|
1188
1313
|
const { root: root24 } = useStyles15();
|
|
1189
|
-
|
|
1314
|
+
const { testId: dataTestId } = useTestId("layout", testId);
|
|
1315
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { ref, className: root24, "data-testid": dataTestId, ...rest, children });
|
|
1190
1316
|
});
|
|
1191
1317
|
function CardHeader({ children, ...rest }) {
|
|
1192
1318
|
const { header: header3 } = useStyles15();
|
|
1193
|
-
return /* @__PURE__ */ (0,
|
|
1319
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: header3, ...rest, children });
|
|
1194
1320
|
}
|
|
1195
1321
|
function CardBody({ children, ...rest }) {
|
|
1196
1322
|
const { body: body3 } = useStyles15();
|
|
1197
|
-
return /* @__PURE__ */ (0,
|
|
1323
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: body3, ...rest, children });
|
|
1198
1324
|
}
|
|
1199
1325
|
function CardFooter({ children, ...rest }) {
|
|
1200
1326
|
const { footer: footer2 } = useStyles15();
|
|
1201
|
-
return /* @__PURE__ */ (0,
|
|
1327
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: footer2, ...rest, children });
|
|
1202
1328
|
}
|
|
1203
1329
|
CardRoot.displayName = "Card";
|
|
1204
1330
|
CardHeader.displayName = "Card.Header";
|
|
@@ -1211,12 +1337,12 @@ var Card2 = Object.assign(CardRoot, {
|
|
|
1211
1337
|
});
|
|
1212
1338
|
|
|
1213
1339
|
// src/components/alert/index.tsx
|
|
1214
|
-
var
|
|
1340
|
+
var import_react38 = require("react");
|
|
1215
1341
|
|
|
1216
1342
|
// src/components/icons/circle-check/index.tsx
|
|
1217
|
-
var
|
|
1343
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1218
1344
|
function CircleCheckIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
1219
|
-
return /* @__PURE__ */ (0,
|
|
1345
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
1220
1346
|
"svg",
|
|
1221
1347
|
{
|
|
1222
1348
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1231,17 +1357,17 @@ function CircleCheckIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
1231
1357
|
"aria-hidden": "true",
|
|
1232
1358
|
...rest,
|
|
1233
1359
|
children: [
|
|
1234
|
-
/* @__PURE__ */ (0,
|
|
1235
|
-
/* @__PURE__ */ (0,
|
|
1360
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("circle", { cx: "12", cy: "12", r: "10" }),
|
|
1361
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("path", { d: "m9 12 2 2 4-4" })
|
|
1236
1362
|
]
|
|
1237
1363
|
}
|
|
1238
1364
|
);
|
|
1239
1365
|
}
|
|
1240
1366
|
|
|
1241
1367
|
// src/components/icons/circle-x/index.tsx
|
|
1242
|
-
var
|
|
1368
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1243
1369
|
function CircleXIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
1244
|
-
return /* @__PURE__ */ (0,
|
|
1370
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
1245
1371
|
"svg",
|
|
1246
1372
|
{
|
|
1247
1373
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1256,18 +1382,18 @@ function CircleXIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
1256
1382
|
"aria-hidden": "true",
|
|
1257
1383
|
...rest,
|
|
1258
1384
|
children: [
|
|
1259
|
-
/* @__PURE__ */ (0,
|
|
1260
|
-
/* @__PURE__ */ (0,
|
|
1261
|
-
/* @__PURE__ */ (0,
|
|
1385
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("circle", { cx: "12", cy: "12", r: "10" }),
|
|
1386
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "m15 9-6 6" }),
|
|
1387
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { d: "m9 9 6 6" })
|
|
1262
1388
|
]
|
|
1263
1389
|
}
|
|
1264
1390
|
);
|
|
1265
1391
|
}
|
|
1266
1392
|
|
|
1267
1393
|
// src/components/icons/info/index.tsx
|
|
1268
|
-
var
|
|
1394
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1269
1395
|
function InfoIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
1270
|
-
return /* @__PURE__ */ (0,
|
|
1396
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
1271
1397
|
"svg",
|
|
1272
1398
|
{
|
|
1273
1399
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1282,18 +1408,18 @@ function InfoIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
1282
1408
|
"aria-hidden": "true",
|
|
1283
1409
|
...rest,
|
|
1284
1410
|
children: [
|
|
1285
|
-
/* @__PURE__ */ (0,
|
|
1286
|
-
/* @__PURE__ */ (0,
|
|
1287
|
-
/* @__PURE__ */ (0,
|
|
1411
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("circle", { cx: "12", cy: "12", r: "10" }),
|
|
1412
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("path", { d: "M12 16v-4" }),
|
|
1413
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("path", { d: "M12 8h.01" })
|
|
1288
1414
|
]
|
|
1289
1415
|
}
|
|
1290
1416
|
);
|
|
1291
1417
|
}
|
|
1292
1418
|
|
|
1293
1419
|
// src/components/icons/triangle-alert/index.tsx
|
|
1294
|
-
var
|
|
1420
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1295
1421
|
function TriangleAlertIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
1296
|
-
return /* @__PURE__ */ (0,
|
|
1422
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
1297
1423
|
"svg",
|
|
1298
1424
|
{
|
|
1299
1425
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1308,16 +1434,16 @@ function TriangleAlertIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
1308
1434
|
"aria-hidden": "true",
|
|
1309
1435
|
...rest,
|
|
1310
1436
|
children: [
|
|
1311
|
-
/* @__PURE__ */ (0,
|
|
1312
|
-
/* @__PURE__ */ (0,
|
|
1313
|
-
/* @__PURE__ */ (0,
|
|
1437
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("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-3Z" }),
|
|
1438
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("path", { d: "M12 9v4" }),
|
|
1439
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("path", { d: "M12 17h.01" })
|
|
1314
1440
|
]
|
|
1315
1441
|
}
|
|
1316
1442
|
);
|
|
1317
1443
|
}
|
|
1318
1444
|
|
|
1319
1445
|
// src/components/alert/use-styles.ts
|
|
1320
|
-
var
|
|
1446
|
+
var import_react37 = require("react");
|
|
1321
1447
|
|
|
1322
1448
|
// src/components/alert/use-styles.css.ts
|
|
1323
1449
|
var content = "use-styles_content__ivsh6u6";
|
|
@@ -1331,7 +1457,7 @@ function useStyles16({
|
|
|
1331
1457
|
className
|
|
1332
1458
|
}) {
|
|
1333
1459
|
const { themeClass } = useTheme();
|
|
1334
|
-
const root24 = (0,
|
|
1460
|
+
const root24 = (0, import_react37.useMemo)(
|
|
1335
1461
|
() => [themeClass, root12, severity[severity2], className].filter(Boolean).join(" "),
|
|
1336
1462
|
[themeClass, severity2, className]
|
|
1337
1463
|
);
|
|
@@ -1343,30 +1469,31 @@ function useStyles16({
|
|
|
1343
1469
|
}
|
|
1344
1470
|
|
|
1345
1471
|
// src/components/alert/index.tsx
|
|
1346
|
-
var
|
|
1472
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1347
1473
|
var defaultIcons = {
|
|
1348
1474
|
info: InfoIcon,
|
|
1349
1475
|
ok: CircleCheckIcon,
|
|
1350
1476
|
warn: TriangleAlertIcon,
|
|
1351
1477
|
danger: CircleXIcon
|
|
1352
1478
|
};
|
|
1353
|
-
var Alert = (0,
|
|
1479
|
+
var Alert = (0, import_react38.forwardRef)(function Alert2({ severity: severity2 = "info", title, icon, className, testId, children, ...rest }, ref) {
|
|
1354
1480
|
const styles = useStyles16({ severity: severity2, className });
|
|
1481
|
+
const { testId: dataTestId, slot } = useTestId("feedback", testId);
|
|
1355
1482
|
const IconComponent = icon ?? defaultIcons[severity2];
|
|
1356
|
-
return /* @__PURE__ */ (0,
|
|
1357
|
-
/* @__PURE__ */ (0,
|
|
1358
|
-
/* @__PURE__ */ (0,
|
|
1359
|
-
title != null && /* @__PURE__ */ (0,
|
|
1360
|
-
children != null && /* @__PURE__ */ (0,
|
|
1483
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { ref, role: "alert", className: styles.root, "data-testid": dataTestId, ...rest, children: [
|
|
1484
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: styles.iconSlot, "data-testid": slot("icon"), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(IconComponent, {}) }),
|
|
1485
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: styles.content, "data-testid": slot("content"), children: [
|
|
1486
|
+
title != null && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Typography, { variant: "h4", children: title }),
|
|
1487
|
+
children != null && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Typography, { variant: "body", color: "fg2", children })
|
|
1361
1488
|
] })
|
|
1362
1489
|
] });
|
|
1363
1490
|
});
|
|
1364
1491
|
|
|
1365
1492
|
// src/components/tooltip/index.tsx
|
|
1366
|
-
var
|
|
1493
|
+
var import_react40 = require("react");
|
|
1367
1494
|
|
|
1368
1495
|
// src/components/tooltip/use-styles.ts
|
|
1369
|
-
var
|
|
1496
|
+
var import_react39 = require("react");
|
|
1370
1497
|
|
|
1371
1498
|
// src/components/tooltip/use-styles.css.ts
|
|
1372
1499
|
var bubble = "use-styles_bubble__h9kvh1 surfaces_inkySurface__1qa7atn2";
|
|
@@ -1378,11 +1505,11 @@ function useStyles17({
|
|
|
1378
1505
|
placement: placement2 = "top"
|
|
1379
1506
|
}) {
|
|
1380
1507
|
const { themeClass } = useTheme();
|
|
1381
|
-
const wrapper4 = (0,
|
|
1508
|
+
const wrapper4 = (0, import_react39.useMemo)(
|
|
1382
1509
|
() => [themeClass, wrapper].filter(Boolean).join(" "),
|
|
1383
1510
|
[themeClass]
|
|
1384
1511
|
);
|
|
1385
|
-
const bubble2 = (0,
|
|
1512
|
+
const bubble2 = (0, import_react39.useMemo)(
|
|
1386
1513
|
() => [bubble, placement[placement2]].filter(Boolean).join(" "),
|
|
1387
1514
|
[placement2]
|
|
1388
1515
|
);
|
|
@@ -1390,13 +1517,14 @@ function useStyles17({
|
|
|
1390
1517
|
}
|
|
1391
1518
|
|
|
1392
1519
|
// src/components/tooltip/index.tsx
|
|
1393
|
-
var
|
|
1520
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1394
1521
|
var HIDE_DELAY = 120;
|
|
1395
|
-
var Tooltip = (0,
|
|
1396
|
-
const [open, setOpen] = (0,
|
|
1397
|
-
const tooltipId = (0,
|
|
1522
|
+
var Tooltip = (0, import_react40.forwardRef)(function Tooltip2({ label: label7, children, placement: placement2, testId }, ref) {
|
|
1523
|
+
const [open, setOpen] = (0, import_react40.useState)(false);
|
|
1524
|
+
const tooltipId = (0, import_react40.useId)();
|
|
1398
1525
|
const { wrapper: wrapper4, bubble: bubble2 } = useStyles17({ placement: placement2 });
|
|
1399
|
-
const
|
|
1526
|
+
const { testId: dataTestId, slot } = useTestId("feedback", testId);
|
|
1527
|
+
const hideTimer = (0, import_react40.useRef)(null);
|
|
1400
1528
|
const clearHide = () => {
|
|
1401
1529
|
if (hideTimer.current) {
|
|
1402
1530
|
clearTimeout(hideTimer.current);
|
|
@@ -1415,7 +1543,7 @@ var Tooltip = (0, import_react38.forwardRef)(function Tooltip2({ label: label7,
|
|
|
1415
1543
|
clearHide();
|
|
1416
1544
|
setOpen(false);
|
|
1417
1545
|
};
|
|
1418
|
-
(0,
|
|
1546
|
+
(0, import_react40.useEffect)(() => {
|
|
1419
1547
|
return () => {
|
|
1420
1548
|
if (hideTimer.current) clearTimeout(hideTimer.current);
|
|
1421
1549
|
};
|
|
@@ -1428,12 +1556,13 @@ var Tooltip = (0, import_react38.forwardRef)(function Tooltip2({ label: label7,
|
|
|
1428
1556
|
};
|
|
1429
1557
|
const previousDescribedBy = children.props["aria-describedby"];
|
|
1430
1558
|
const describedBy = open ? [previousDescribedBy, tooltipId].filter(Boolean).join(" ") : previousDescribedBy;
|
|
1431
|
-
const trigger2 = (0,
|
|
1432
|
-
return /* @__PURE__ */ (0,
|
|
1559
|
+
const trigger2 = (0, import_react40.cloneElement)(children, { "aria-describedby": describedBy });
|
|
1560
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
1433
1561
|
"span",
|
|
1434
1562
|
{
|
|
1435
1563
|
ref,
|
|
1436
1564
|
className: wrapper4,
|
|
1565
|
+
"data-testid": dataTestId,
|
|
1437
1566
|
onMouseEnter: show,
|
|
1438
1567
|
onMouseLeave: scheduleHide,
|
|
1439
1568
|
onFocus: show,
|
|
@@ -1441,12 +1570,13 @@ var Tooltip = (0, import_react38.forwardRef)(function Tooltip2({ label: label7,
|
|
|
1441
1570
|
onKeyDown: handleKeyDown,
|
|
1442
1571
|
children: [
|
|
1443
1572
|
trigger2,
|
|
1444
|
-
open && /* @__PURE__ */ (0,
|
|
1573
|
+
open && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1445
1574
|
"span",
|
|
1446
1575
|
{
|
|
1447
1576
|
id: tooltipId,
|
|
1448
1577
|
role: "tooltip",
|
|
1449
1578
|
className: bubble2,
|
|
1579
|
+
"data-testid": slot("bubble"),
|
|
1450
1580
|
onMouseEnter: show,
|
|
1451
1581
|
onMouseLeave: scheduleHide,
|
|
1452
1582
|
children: label7
|
|
@@ -1458,12 +1588,12 @@ var Tooltip = (0, import_react38.forwardRef)(function Tooltip2({ label: label7,
|
|
|
1458
1588
|
});
|
|
1459
1589
|
|
|
1460
1590
|
// src/components/select/index.tsx
|
|
1461
|
-
var
|
|
1591
|
+
var import_react42 = require("react");
|
|
1462
1592
|
|
|
1463
1593
|
// src/components/icons/chevron-down/index.tsx
|
|
1464
|
-
var
|
|
1594
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1465
1595
|
function ChevronDownIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
1466
|
-
return /* @__PURE__ */ (0,
|
|
1596
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
1467
1597
|
"svg",
|
|
1468
1598
|
{
|
|
1469
1599
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1477,13 +1607,13 @@ function ChevronDownIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
1477
1607
|
strokeLinejoin: "round",
|
|
1478
1608
|
"aria-hidden": "true",
|
|
1479
1609
|
...rest,
|
|
1480
|
-
children: /* @__PURE__ */ (0,
|
|
1610
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("path", { d: "m6 9 6 6 6-6" })
|
|
1481
1611
|
}
|
|
1482
1612
|
);
|
|
1483
1613
|
}
|
|
1484
1614
|
|
|
1485
1615
|
// src/components/select/use-styles.ts
|
|
1486
|
-
var
|
|
1616
|
+
var import_react41 = require("react");
|
|
1487
1617
|
|
|
1488
1618
|
// src/components/select/use-styles.css.ts
|
|
1489
1619
|
var chevron = "use-styles_chevron__1w1czpb4";
|
|
@@ -1502,7 +1632,7 @@ function useStyles18({
|
|
|
1502
1632
|
open = false
|
|
1503
1633
|
}) {
|
|
1504
1634
|
const { themeClass } = useTheme();
|
|
1505
|
-
return (0,
|
|
1635
|
+
return (0, import_react41.useMemo)(() => {
|
|
1506
1636
|
const chevron3 = [chevron, open && chevronOpen].filter(Boolean).join(" ");
|
|
1507
1637
|
return {
|
|
1508
1638
|
root: [themeClass, root13].filter(Boolean).join(" "),
|
|
@@ -1517,17 +1647,17 @@ function useStyles18({
|
|
|
1517
1647
|
}
|
|
1518
1648
|
|
|
1519
1649
|
// src/components/select/index.tsx
|
|
1520
|
-
var
|
|
1521
|
-
var Select = (0,
|
|
1522
|
-
const [open, setOpen] = (0,
|
|
1523
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
1524
|
-
const rootRef = (0,
|
|
1650
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1651
|
+
var Select = (0, import_react42.forwardRef)(function Select2({ options, value, onChange, placeholder: placeholder2, label: label7, disabled: disabled3, ...rest }, ref) {
|
|
1652
|
+
const [open, setOpen] = (0, import_react42.useState)(false);
|
|
1653
|
+
const [activeIndex, setActiveIndex] = (0, import_react42.useState)(0);
|
|
1654
|
+
const rootRef = (0, import_react42.useRef)(null);
|
|
1525
1655
|
const setRootRef = (node) => {
|
|
1526
1656
|
rootRef.current = node;
|
|
1527
1657
|
if (typeof ref === "function") ref(node);
|
|
1528
1658
|
else if (ref) ref.current = node;
|
|
1529
1659
|
};
|
|
1530
|
-
const baseId = (0,
|
|
1660
|
+
const baseId = (0, import_react42.useId)();
|
|
1531
1661
|
const labelId = `${baseId}-label`;
|
|
1532
1662
|
const optionId = (index) => `${baseId}-option-${index}`;
|
|
1533
1663
|
const {
|
|
@@ -1539,7 +1669,7 @@ var Select = (0, import_react40.forwardRef)(function Select2({ options, value, o
|
|
|
1539
1669
|
menu: menu2,
|
|
1540
1670
|
optionClass
|
|
1541
1671
|
} = useStyles18({ open });
|
|
1542
|
-
(0,
|
|
1672
|
+
(0, import_react42.useEffect)(() => {
|
|
1543
1673
|
if (!open) return;
|
|
1544
1674
|
const onPointerDown = (event) => {
|
|
1545
1675
|
if (rootRef.current && !rootRef.current.contains(event.target)) {
|
|
@@ -1599,9 +1729,9 @@ var Select = (0, import_react40.forwardRef)(function Select2({ options, value, o
|
|
|
1599
1729
|
break;
|
|
1600
1730
|
}
|
|
1601
1731
|
};
|
|
1602
|
-
return /* @__PURE__ */ (0,
|
|
1603
|
-
label7 && /* @__PURE__ */ (0,
|
|
1604
|
-
/* @__PURE__ */ (0,
|
|
1732
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { ref: setRootRef, className: root24, ...rest, children: [
|
|
1733
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { id: labelId, className: labelClass, children: label7 }),
|
|
1734
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
1605
1735
|
"button",
|
|
1606
1736
|
{
|
|
1607
1737
|
type: "button",
|
|
@@ -1621,17 +1751,17 @@ var Select = (0, import_react40.forwardRef)(function Select2({ options, value, o
|
|
|
1621
1751
|
},
|
|
1622
1752
|
onKeyDown: handleKeyDown,
|
|
1623
1753
|
children: [
|
|
1624
|
-
selected3 ? selected3.label : /* @__PURE__ */ (0,
|
|
1625
|
-
/* @__PURE__ */ (0,
|
|
1754
|
+
selected3 ? selected3.label : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: placeholderClass, children: placeholder2 }),
|
|
1755
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: chevron3, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(ChevronDownIcon, { size: 18 }) })
|
|
1626
1756
|
]
|
|
1627
1757
|
}
|
|
1628
1758
|
),
|
|
1629
|
-
open && /* @__PURE__ */ (0,
|
|
1759
|
+
open && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: menu2, role: "listbox", children: options.map((option2, index) => {
|
|
1630
1760
|
const isSelected = option2.value === value;
|
|
1631
1761
|
const isActive = index === activeIndex;
|
|
1632
1762
|
return (
|
|
1633
1763
|
// biome-ignore lint/a11y/useKeyWithClickEvents: keyboard nav lives on the trigger via aria-activedescendant; options are not focusable.
|
|
1634
|
-
/* @__PURE__ */ (0,
|
|
1764
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
1635
1765
|
"div",
|
|
1636
1766
|
{
|
|
1637
1767
|
id: optionId(index),
|
|
@@ -1650,10 +1780,10 @@ var Select = (0, import_react40.forwardRef)(function Select2({ options, value, o
|
|
|
1650
1780
|
});
|
|
1651
1781
|
|
|
1652
1782
|
// src/components/slider/index.tsx
|
|
1653
|
-
var
|
|
1783
|
+
var import_react44 = require("react");
|
|
1654
1784
|
|
|
1655
1785
|
// src/components/slider/use-styles.ts
|
|
1656
|
-
var
|
|
1786
|
+
var import_react43 = require("react");
|
|
1657
1787
|
|
|
1658
1788
|
// src/components/slider/use-styles.css.ts
|
|
1659
1789
|
var input5 = "use-styles_input__okw59n3";
|
|
@@ -1667,7 +1797,7 @@ var wrapper2 = "use-styles_wrapper__okw59n6";
|
|
|
1667
1797
|
// src/components/slider/use-styles.ts
|
|
1668
1798
|
function useStyles19() {
|
|
1669
1799
|
const { themeClass } = useTheme();
|
|
1670
|
-
return (0,
|
|
1800
|
+
return (0, import_react43.useMemo)(() => {
|
|
1671
1801
|
const root24 = [themeClass, root14].filter(Boolean).join(" ");
|
|
1672
1802
|
return {
|
|
1673
1803
|
wrapper: wrapper2,
|
|
@@ -1682,8 +1812,8 @@ function useStyles19() {
|
|
|
1682
1812
|
}
|
|
1683
1813
|
|
|
1684
1814
|
// src/components/slider/index.tsx
|
|
1685
|
-
var
|
|
1686
|
-
var Slider = (0,
|
|
1815
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1816
|
+
var Slider = (0, import_react44.forwardRef)(function Slider2({ value = 0, onChange, min = 0, max = 100, step: step2 = 1, disabled: disabled3, label: label7, ...rest }, ref) {
|
|
1687
1817
|
const { wrapper: wrapper4, label: labelClass, root: root24, track: track4, range: range2, thumb: thumb2, input: input6 } = useStyles19();
|
|
1688
1818
|
const span = max - min;
|
|
1689
1819
|
const percent = span > 0 ? (value - min) / span * 100 : 0;
|
|
@@ -1691,12 +1821,12 @@ var Slider = (0, import_react42.forwardRef)(function Slider2({ value = 0, onChan
|
|
|
1691
1821
|
const handleChange = (e) => {
|
|
1692
1822
|
onChange?.(Number(e.target.value));
|
|
1693
1823
|
};
|
|
1694
|
-
return /* @__PURE__ */ (0,
|
|
1695
|
-
label7 ? /* @__PURE__ */ (0,
|
|
1696
|
-
/* @__PURE__ */ (0,
|
|
1697
|
-
/* @__PURE__ */ (0,
|
|
1698
|
-
/* @__PURE__ */ (0,
|
|
1699
|
-
/* @__PURE__ */ (0,
|
|
1824
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("span", { className: wrapper4, children: [
|
|
1825
|
+
label7 ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: labelClass, children: label7 }) : null,
|
|
1826
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("span", { className: root24, children: [
|
|
1827
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: track4 }),
|
|
1828
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: range2, style: { width: `${clamped}%` } }),
|
|
1829
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
1700
1830
|
"input",
|
|
1701
1831
|
{
|
|
1702
1832
|
ref,
|
|
@@ -1711,16 +1841,16 @@ var Slider = (0, import_react42.forwardRef)(function Slider2({ value = 0, onChan
|
|
|
1711
1841
|
...rest
|
|
1712
1842
|
}
|
|
1713
1843
|
),
|
|
1714
|
-
/* @__PURE__ */ (0,
|
|
1844
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: thumb2, style: { left: `${clamped}%` } })
|
|
1715
1845
|
] })
|
|
1716
1846
|
] });
|
|
1717
1847
|
});
|
|
1718
1848
|
|
|
1719
1849
|
// src/components/accordion/index.tsx
|
|
1720
|
-
var
|
|
1850
|
+
var import_react46 = require("react");
|
|
1721
1851
|
|
|
1722
1852
|
// src/components/accordion/use-styles.ts
|
|
1723
|
-
var
|
|
1853
|
+
var import_react45 = require("react");
|
|
1724
1854
|
|
|
1725
1855
|
// src/components/accordion/use-styles.css.ts
|
|
1726
1856
|
var chevron2 = "use-styles_chevron__1cjrdh93";
|
|
@@ -1733,7 +1863,7 @@ var root15 = "use-styles_root__1cjrdh90";
|
|
|
1733
1863
|
// src/components/accordion/use-styles.ts
|
|
1734
1864
|
function useStyles20({ className }) {
|
|
1735
1865
|
const { themeClass } = useTheme();
|
|
1736
|
-
return (0,
|
|
1866
|
+
return (0, import_react45.useMemo)(
|
|
1737
1867
|
() => ({
|
|
1738
1868
|
root: [themeClass, root15, className].filter(Boolean).join(" "),
|
|
1739
1869
|
item,
|
|
@@ -1746,10 +1876,11 @@ function useStyles20({ className }) {
|
|
|
1746
1876
|
}
|
|
1747
1877
|
|
|
1748
1878
|
// src/components/accordion/index.tsx
|
|
1749
|
-
var
|
|
1750
|
-
var Accordion = (0,
|
|
1751
|
-
const [open, setOpen] = (0,
|
|
1879
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1880
|
+
var Accordion = (0, import_react46.forwardRef)(function Accordion2({ items, multiple = false, defaultOpen = [], className, testId }, ref) {
|
|
1881
|
+
const [open, setOpen] = (0, import_react46.useState)(defaultOpen);
|
|
1752
1882
|
const { root: root24, item: item3, header: header3, chevronFor, panel: panel3 } = useStyles20({ className });
|
|
1883
|
+
const { testId: dataTestId, slot } = useTestId("layout", testId);
|
|
1753
1884
|
const toggle = (id) => {
|
|
1754
1885
|
setOpen((current2) => {
|
|
1755
1886
|
const isOpen = current2.includes(id);
|
|
@@ -1757,38 +1888,59 @@ var Accordion = (0, import_react44.forwardRef)(function Accordion2({ items, mult
|
|
|
1757
1888
|
return multiple ? [...current2, id] : [id];
|
|
1758
1889
|
});
|
|
1759
1890
|
};
|
|
1760
|
-
return /* @__PURE__ */ (0,
|
|
1891
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { ref, className: root24, "data-testid": dataTestId, children: items.map((it) => {
|
|
1761
1892
|
const isOpen = open.includes(it.id);
|
|
1762
1893
|
const panelId = `accordion-panel-${it.id}`;
|
|
1763
1894
|
const headerId = `accordion-header-${it.id}`;
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1895
|
+
const itemSlot = slot(`item-${it.id}`);
|
|
1896
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
1897
|
+
"div",
|
|
1898
|
+
{
|
|
1899
|
+
className: item3,
|
|
1900
|
+
"data-testid": itemSlot,
|
|
1901
|
+
"data-state": states({ expanded: isOpen }),
|
|
1902
|
+
children: [
|
|
1903
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
1904
|
+
"button",
|
|
1905
|
+
{
|
|
1906
|
+
type: "button",
|
|
1907
|
+
id: headerId,
|
|
1908
|
+
className: header3,
|
|
1909
|
+
"aria-expanded": isOpen,
|
|
1910
|
+
"aria-controls": panelId,
|
|
1911
|
+
"data-testid": `${itemSlot}__trigger`,
|
|
1912
|
+
onClick: () => toggle(it.id),
|
|
1913
|
+
children: [
|
|
1914
|
+
it.title,
|
|
1915
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ChevronDownIcon, { className: chevronFor(isOpen) })
|
|
1916
|
+
]
|
|
1917
|
+
}
|
|
1918
|
+
),
|
|
1919
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
1920
|
+
"div",
|
|
1921
|
+
{
|
|
1922
|
+
id: panelId,
|
|
1923
|
+
className: panel3,
|
|
1924
|
+
role: "region",
|
|
1925
|
+
"aria-labelledby": headerId,
|
|
1926
|
+
"data-testid": `${itemSlot}__panel`,
|
|
1927
|
+
children: it.content
|
|
1928
|
+
}
|
|
1929
|
+
)
|
|
1930
|
+
]
|
|
1931
|
+
},
|
|
1932
|
+
it.id
|
|
1933
|
+
);
|
|
1782
1934
|
}) });
|
|
1783
1935
|
});
|
|
1784
1936
|
|
|
1785
1937
|
// src/components/breadcrumbs/index.tsx
|
|
1786
|
-
var
|
|
1938
|
+
var import_react48 = require("react");
|
|
1787
1939
|
|
|
1788
1940
|
// src/components/icons/chevron-right/index.tsx
|
|
1789
|
-
var
|
|
1941
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1790
1942
|
function ChevronRightIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
1791
|
-
return /* @__PURE__ */ (0,
|
|
1943
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1792
1944
|
"svg",
|
|
1793
1945
|
{
|
|
1794
1946
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1802,13 +1954,13 @@ function ChevronRightIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
1802
1954
|
strokeLinejoin: "round",
|
|
1803
1955
|
"aria-hidden": "true",
|
|
1804
1956
|
...rest,
|
|
1805
|
-
children: /* @__PURE__ */ (0,
|
|
1957
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("path", { d: "m9 18 6-6-6-6" })
|
|
1806
1958
|
}
|
|
1807
1959
|
);
|
|
1808
1960
|
}
|
|
1809
1961
|
|
|
1810
1962
|
// src/components/breadcrumbs/use-styles.ts
|
|
1811
|
-
var
|
|
1963
|
+
var import_react47 = require("react");
|
|
1812
1964
|
|
|
1813
1965
|
// src/components/breadcrumbs/use-styles.css.ts
|
|
1814
1966
|
var crumb = "use-styles_crumb__7u0du61";
|
|
@@ -1819,7 +1971,7 @@ var separator = "use-styles_separator__7u0du63";
|
|
|
1819
1971
|
// src/components/breadcrumbs/use-styles.ts
|
|
1820
1972
|
function useStyles21({ className }) {
|
|
1821
1973
|
const { themeClass } = useTheme();
|
|
1822
|
-
const root24 = (0,
|
|
1974
|
+
const root24 = (0, import_react47.useMemo)(
|
|
1823
1975
|
() => [themeClass, root16, className].filter(Boolean).join(" "),
|
|
1824
1976
|
[themeClass, className]
|
|
1825
1977
|
);
|
|
@@ -1827,26 +1979,27 @@ function useStyles21({ className }) {
|
|
|
1827
1979
|
}
|
|
1828
1980
|
|
|
1829
1981
|
// src/components/breadcrumbs/index.tsx
|
|
1830
|
-
var
|
|
1831
|
-
var Breadcrumbs = (0,
|
|
1982
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
1983
|
+
var Breadcrumbs = (0, import_react48.forwardRef)(function Breadcrumbs2({ items, className, testId, ...rest }, ref) {
|
|
1832
1984
|
const { root: root24, crumb: crumb2, current: current2, separator: separator2 } = useStyles21({ className });
|
|
1833
|
-
|
|
1985
|
+
const { testId: dataTestId, slot } = useTestId("nav", testId);
|
|
1986
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("nav", { ref, "aria-label": "Breadcrumb", className: root24, "data-testid": dataTestId, ...rest, children: items.map((item3, index) => {
|
|
1834
1987
|
const isLast = index === items.length - 1;
|
|
1835
1988
|
const key = index;
|
|
1836
|
-
return /* @__PURE__ */ (0,
|
|
1837
|
-
isLast ? /* @__PURE__ */ (0,
|
|
1838
|
-
!isLast && /* @__PURE__ */ (0,
|
|
1989
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react48.Fragment, { children: [
|
|
1990
|
+
isLast ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: current2, "aria-current": "page", "data-testid": slot(`crumb-${index}`), children: item3.label }) : item3.href ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("a", { className: crumb2, href: item3.href, "data-testid": slot(`crumb-${index}`), children: item3.label }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: crumb2, "data-testid": slot(`crumb-${index}`), children: item3.label }),
|
|
1991
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: separator2, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ChevronRightIcon, { size: 14 }) })
|
|
1839
1992
|
] }, key);
|
|
1840
1993
|
}) });
|
|
1841
1994
|
});
|
|
1842
1995
|
|
|
1843
1996
|
// src/components/pagination/index.tsx
|
|
1844
|
-
var
|
|
1997
|
+
var import_react50 = require("react");
|
|
1845
1998
|
|
|
1846
1999
|
// src/components/icons/chevron-left/index.tsx
|
|
1847
|
-
var
|
|
2000
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1848
2001
|
function ChevronLeftIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
1849
|
-
return /* @__PURE__ */ (0,
|
|
2002
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
1850
2003
|
"svg",
|
|
1851
2004
|
{
|
|
1852
2005
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1860,13 +2013,13 @@ function ChevronLeftIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
1860
2013
|
strokeLinejoin: "round",
|
|
1861
2014
|
"aria-hidden": "true",
|
|
1862
2015
|
...rest,
|
|
1863
|
-
children: /* @__PURE__ */ (0,
|
|
2016
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("path", { d: "m15 18-6-6 6-6" })
|
|
1864
2017
|
}
|
|
1865
2018
|
);
|
|
1866
2019
|
}
|
|
1867
2020
|
|
|
1868
2021
|
// src/components/pagination/use-styles.ts
|
|
1869
|
-
var
|
|
2022
|
+
var import_react49 = require("react");
|
|
1870
2023
|
|
|
1871
2024
|
// src/components/pagination/use-styles.css.ts
|
|
1872
2025
|
var ellipsis = "use-styles_ellipsis__1azgzoh3";
|
|
@@ -1878,7 +2031,7 @@ var root17 = "use-styles_root__1azgzoh0";
|
|
|
1878
2031
|
// src/components/pagination/use-styles.ts
|
|
1879
2032
|
function useStyles22() {
|
|
1880
2033
|
const { themeClass } = useTheme();
|
|
1881
|
-
return (0,
|
|
2034
|
+
return (0, import_react49.useMemo)(
|
|
1882
2035
|
() => ({
|
|
1883
2036
|
root: [themeClass, root17].filter(Boolean).join(" "),
|
|
1884
2037
|
pageBtnFor: (active2) => [pageBtn, active2 && pageActive].filter(Boolean).join(" "),
|
|
@@ -1890,7 +2043,7 @@ function useStyles22() {
|
|
|
1890
2043
|
}
|
|
1891
2044
|
|
|
1892
2045
|
// src/components/pagination/index.tsx
|
|
1893
|
-
var
|
|
2046
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
1894
2047
|
function buildItems(count, page, siblingCount) {
|
|
1895
2048
|
const total = Math.max(1, count);
|
|
1896
2049
|
const first = 1;
|
|
@@ -1904,59 +2057,68 @@ function buildItems(count, page, siblingCount) {
|
|
|
1904
2057
|
if (last > first) items.push(last);
|
|
1905
2058
|
return items;
|
|
1906
2059
|
}
|
|
1907
|
-
var Pagination = (0,
|
|
2060
|
+
var Pagination = (0, import_react50.forwardRef)(function Pagination2({ count, page = 1, onChange, siblingCount = 1, testId, ...rest }, ref) {
|
|
1908
2061
|
const { root: root24, pageBtnFor, ellipsis: ellipsis2, nav: nav2 } = useStyles22();
|
|
2062
|
+
const { testId: dataTestId, slot } = useTestId("nav", testId);
|
|
1909
2063
|
const total = Math.max(1, count);
|
|
1910
2064
|
const current2 = Math.min(Math.max(1, page), total);
|
|
1911
2065
|
const items = buildItems(total, current2, siblingCount);
|
|
1912
2066
|
const go = (n) => onChange?.(Math.min(Math.max(1, n), total));
|
|
1913
|
-
return /* @__PURE__ */ (0,
|
|
1914
|
-
/* @__PURE__ */ (0,
|
|
2067
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("nav", { ref, className: root24, "aria-label": "Pagination", "data-testid": dataTestId, ...rest, children: [
|
|
2068
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
1915
2069
|
"button",
|
|
1916
2070
|
{
|
|
1917
2071
|
type: "button",
|
|
1918
2072
|
className: nav2,
|
|
1919
2073
|
"aria-label": "Previous page",
|
|
1920
2074
|
disabled: current2 <= 1,
|
|
2075
|
+
"data-testid": slot("prev"),
|
|
1921
2076
|
onClick: () => go(current2 - 1),
|
|
1922
|
-
children: /* @__PURE__ */ (0,
|
|
2077
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ChevronLeftIcon, { size: 18 })
|
|
1923
2078
|
}
|
|
1924
2079
|
),
|
|
1925
2080
|
items.map(
|
|
1926
|
-
(item3, index) => item3 === "ellipsis" ? (
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
2081
|
+
(item3, index) => item3 === "ellipsis" ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2082
|
+
"span",
|
|
2083
|
+
{
|
|
2084
|
+
className: ellipsis2,
|
|
2085
|
+
"data-testid": slot(`ellipsis-${index}`),
|
|
2086
|
+
children: "\u2026"
|
|
2087
|
+
},
|
|
2088
|
+
`ellipsis-${index}`
|
|
2089
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
1930
2090
|
"button",
|
|
1931
2091
|
{
|
|
1932
2092
|
type: "button",
|
|
1933
2093
|
className: pageBtnFor(item3 === current2),
|
|
1934
2094
|
"aria-current": item3 === current2 ? "page" : void 0,
|
|
2095
|
+
"data-testid": slot(`page-${item3}`),
|
|
1935
2096
|
onClick: () => go(item3),
|
|
1936
2097
|
children: item3
|
|
1937
2098
|
},
|
|
1938
2099
|
item3
|
|
1939
2100
|
)
|
|
1940
2101
|
),
|
|
1941
|
-
/* @__PURE__ */ (0,
|
|
2102
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
1942
2103
|
"button",
|
|
1943
2104
|
{
|
|
1944
2105
|
type: "button",
|
|
1945
2106
|
className: nav2,
|
|
1946
2107
|
"aria-label": "Next page",
|
|
1947
2108
|
disabled: current2 >= total,
|
|
2109
|
+
"data-testid": slot("next"),
|
|
1948
2110
|
onClick: () => go(current2 + 1),
|
|
1949
|
-
children: /* @__PURE__ */ (0,
|
|
2111
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ChevronRightIcon, { size: 18 })
|
|
1950
2112
|
}
|
|
1951
2113
|
)
|
|
1952
2114
|
] });
|
|
1953
2115
|
});
|
|
1954
2116
|
|
|
1955
2117
|
// src/components/stepper/index.tsx
|
|
1956
|
-
var
|
|
2118
|
+
var import_react52 = require("react");
|
|
1957
2119
|
|
|
1958
2120
|
// src/components/stepper/use-styles.ts
|
|
1959
|
-
var
|
|
2121
|
+
var import_react51 = require("react");
|
|
1960
2122
|
|
|
1961
2123
|
// src/components/stepper/use-styles.css.ts
|
|
1962
2124
|
var connector = "use-styles_connector__79pt4e7";
|
|
@@ -1971,7 +2133,7 @@ var step = "use-styles_step__79pt4e1";
|
|
|
1971
2133
|
// src/components/stepper/use-styles.ts
|
|
1972
2134
|
function useStyles23({ className }) {
|
|
1973
2135
|
const { themeClass } = useTheme();
|
|
1974
|
-
return (0,
|
|
2136
|
+
return (0, import_react51.useMemo)(() => {
|
|
1975
2137
|
const root24 = [themeClass, root18, className].filter(Boolean).join(" ");
|
|
1976
2138
|
const markerFor = (state) => [
|
|
1977
2139
|
marker,
|
|
@@ -1984,30 +2146,40 @@ function useStyles23({ className }) {
|
|
|
1984
2146
|
}
|
|
1985
2147
|
|
|
1986
2148
|
// src/components/stepper/index.tsx
|
|
1987
|
-
var
|
|
1988
|
-
var Stepper = (0,
|
|
2149
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2150
|
+
var Stepper = (0, import_react52.forwardRef)(function Stepper2({ steps, active: active2 = 0, className, testId, ...rest }, ref) {
|
|
1989
2151
|
const { root: root24, step: step2, connector: connector2, markerFor, labelFor } = useStyles23({ className });
|
|
1990
|
-
|
|
2152
|
+
const { testId: dataTestId, slot } = useTestId("nav", testId);
|
|
2153
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { ref, className: root24, "data-testid": dataTestId, ...rest, children: steps.map((s, index) => {
|
|
1991
2154
|
const state = index < active2 ? "done" : index === active2 ? "active" : "upcoming";
|
|
1992
2155
|
const isActive = state === "active";
|
|
1993
2156
|
return (
|
|
1994
2157
|
// biome-ignore lint/suspicious/noArrayIndexKey: steps are a static, ordered list with no stable id.
|
|
1995
|
-
/* @__PURE__ */ (0,
|
|
1996
|
-
/* @__PURE__ */ (0,
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2158
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_react52.Fragment, { children: [
|
|
2159
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
2160
|
+
"div",
|
|
2161
|
+
{
|
|
2162
|
+
className: step2,
|
|
2163
|
+
"aria-current": isActive ? "step" : void 0,
|
|
2164
|
+
"data-testid": slot(`step-${index}`),
|
|
2165
|
+
"data-state": states({ done: state === "done", active: isActive }),
|
|
2166
|
+
children: [
|
|
2167
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: markerFor(state), children: state === "done" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CheckIcon, { size: 14 }) : index + 1 }),
|
|
2168
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: labelFor(isActive), children: s.label })
|
|
2169
|
+
]
|
|
2170
|
+
}
|
|
2171
|
+
),
|
|
2172
|
+
index < steps.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { "data-part": "connector", className: connector2 })
|
|
2001
2173
|
] }, index)
|
|
2002
2174
|
);
|
|
2003
2175
|
}) });
|
|
2004
2176
|
});
|
|
2005
2177
|
|
|
2006
2178
|
// src/components/tabs/index.tsx
|
|
2007
|
-
var
|
|
2179
|
+
var import_react54 = require("react");
|
|
2008
2180
|
|
|
2009
2181
|
// src/components/tabs/use-styles.ts
|
|
2010
|
-
var
|
|
2182
|
+
var import_react53 = require("react");
|
|
2011
2183
|
|
|
2012
2184
|
// src/components/tabs/use-styles.css.ts
|
|
2013
2185
|
var panel2 = "use-styles_panel__1l4m7t43";
|
|
@@ -2018,7 +2190,7 @@ var tabActive = "use-styles_tabActive__1l4m7t42";
|
|
|
2018
2190
|
// src/components/tabs/use-styles.ts
|
|
2019
2191
|
function useStyles24() {
|
|
2020
2192
|
const { themeClass } = useTheme();
|
|
2021
|
-
return (0,
|
|
2193
|
+
return (0, import_react53.useMemo)(() => {
|
|
2022
2194
|
const root24 = [themeClass, root19].filter(Boolean).join(" ");
|
|
2023
2195
|
const tabClass = (active2) => [tab, active2 && tabActive].filter(Boolean).join(" ");
|
|
2024
2196
|
return { root: root24, tab, tabClass, panel: panel2 };
|
|
@@ -2026,11 +2198,12 @@ function useStyles24() {
|
|
|
2026
2198
|
}
|
|
2027
2199
|
|
|
2028
2200
|
// src/components/tabs/index.tsx
|
|
2029
|
-
var
|
|
2030
|
-
var Tabs = (0,
|
|
2201
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2202
|
+
var Tabs = (0, import_react54.forwardRef)(function Tabs2({ items, value, onChange, testId, ...rest }, ref) {
|
|
2031
2203
|
const { root: root24, tabClass, panel: panel3 } = useStyles24();
|
|
2032
|
-
const
|
|
2033
|
-
const
|
|
2204
|
+
const { testId: dataTestId, slot } = useTestId("nav", testId);
|
|
2205
|
+
const baseId = (0, import_react54.useId)();
|
|
2206
|
+
const tabRefs = (0, import_react54.useRef)([]);
|
|
2034
2207
|
const hasPanels = items.some((item3) => item3.content !== void 0);
|
|
2035
2208
|
const activeIndex = items.findIndex((item3) => item3.value === value);
|
|
2036
2209
|
const tabId = (v) => `${baseId}-tab-${v}`;
|
|
@@ -2062,11 +2235,11 @@ var Tabs = (0, import_react52.forwardRef)(function Tabs2({ items, value, onChang
|
|
|
2062
2235
|
break;
|
|
2063
2236
|
}
|
|
2064
2237
|
};
|
|
2065
|
-
return /* @__PURE__ */ (0,
|
|
2066
|
-
/* @__PURE__ */ (0,
|
|
2238
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
|
|
2239
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { ref, role: "tablist", className: root24, "data-testid": dataTestId, ...rest, children: items.map((item3, index) => {
|
|
2067
2240
|
const active2 = item3.value === value;
|
|
2068
2241
|
const tabbable = active2 || activeIndex === -1 && index === 0;
|
|
2069
|
-
return /* @__PURE__ */ (0,
|
|
2242
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2070
2243
|
"button",
|
|
2071
2244
|
{
|
|
2072
2245
|
ref: (el) => {
|
|
@@ -2079,6 +2252,8 @@ var Tabs = (0, import_react52.forwardRef)(function Tabs2({ items, value, onChang
|
|
|
2079
2252
|
"aria-controls": hasPanels ? panelId(item3.value) : void 0,
|
|
2080
2253
|
tabIndex: tabbable ? 0 : -1,
|
|
2081
2254
|
className: tabClass(active2),
|
|
2255
|
+
"data-testid": slot(`tab-${index}`),
|
|
2256
|
+
"data-state": states({ selected: active2 }),
|
|
2082
2257
|
onClick: () => onChange?.(item3.value),
|
|
2083
2258
|
onKeyDown: (event) => onKeyDown(event, index),
|
|
2084
2259
|
children: item3.label
|
|
@@ -2086,7 +2261,7 @@ var Tabs = (0, import_react52.forwardRef)(function Tabs2({ items, value, onChang
|
|
|
2086
2261
|
item3.value
|
|
2087
2262
|
);
|
|
2088
2263
|
}) }),
|
|
2089
|
-
hasPanels && items.map((item3) => /* @__PURE__ */ (0,
|
|
2264
|
+
hasPanels && items.map((item3) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2090
2265
|
"div",
|
|
2091
2266
|
{
|
|
2092
2267
|
role: "tabpanel",
|
|
@@ -2095,6 +2270,7 @@ var Tabs = (0, import_react52.forwardRef)(function Tabs2({ items, value, onChang
|
|
|
2095
2270
|
hidden: item3.value !== value,
|
|
2096
2271
|
tabIndex: 0,
|
|
2097
2272
|
className: panel3,
|
|
2273
|
+
"data-testid": slot(`panel-${item3.value}`),
|
|
2098
2274
|
children: item3.content
|
|
2099
2275
|
},
|
|
2100
2276
|
item3.value
|
|
@@ -2103,10 +2279,10 @@ var Tabs = (0, import_react52.forwardRef)(function Tabs2({ items, value, onChang
|
|
|
2103
2279
|
});
|
|
2104
2280
|
|
|
2105
2281
|
// src/components/menu/index.tsx
|
|
2106
|
-
var
|
|
2282
|
+
var import_react56 = require("react");
|
|
2107
2283
|
|
|
2108
2284
|
// src/components/menu/use-styles.ts
|
|
2109
|
-
var
|
|
2285
|
+
var import_react55 = require("react");
|
|
2110
2286
|
|
|
2111
2287
|
// src/components/menu/use-styles.css.ts
|
|
2112
2288
|
var danger = "use-styles_danger__1uyxaj3";
|
|
@@ -2117,7 +2293,7 @@ var wrapper3 = "use-styles_wrapper__1uyxaj0";
|
|
|
2117
2293
|
// src/components/menu/use-styles.ts
|
|
2118
2294
|
function useStyles25() {
|
|
2119
2295
|
const { themeClass } = useTheme();
|
|
2120
|
-
return (0,
|
|
2296
|
+
return (0, import_react55.useMemo)(
|
|
2121
2297
|
() => ({
|
|
2122
2298
|
wrapper: [themeClass, wrapper3].filter(Boolean).join(" "),
|
|
2123
2299
|
list,
|
|
@@ -2129,22 +2305,23 @@ function useStyles25() {
|
|
|
2129
2305
|
}
|
|
2130
2306
|
|
|
2131
2307
|
// src/components/menu/index.tsx
|
|
2132
|
-
var
|
|
2308
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2133
2309
|
function assignRef(ref, value) {
|
|
2134
2310
|
if (typeof ref === "function") ref(value);
|
|
2135
2311
|
else if (ref) ref.current = value;
|
|
2136
2312
|
}
|
|
2137
|
-
var Menu = (0,
|
|
2313
|
+
var Menu = (0, import_react56.forwardRef)(function Menu2({ trigger: trigger2, items, testId }, ref) {
|
|
2138
2314
|
const { wrapper: wrapper4, list: list2, item: item3, dangerItem } = useStyles25();
|
|
2139
|
-
const
|
|
2140
|
-
const [
|
|
2141
|
-
const
|
|
2315
|
+
const { testId: rootTestId, slot } = useTestId("menu", testId);
|
|
2316
|
+
const [open, setOpen] = (0, import_react56.useState)(false);
|
|
2317
|
+
const [alignEnd, setAlignEnd] = (0, import_react56.useState)(false);
|
|
2318
|
+
const rootRef = (0, import_react56.useRef)(null);
|
|
2142
2319
|
const setRootRef = (node) => {
|
|
2143
2320
|
rootRef.current = node;
|
|
2144
2321
|
assignRef(ref, node);
|
|
2145
2322
|
};
|
|
2146
|
-
const listRef = (0,
|
|
2147
|
-
const triggerRef = (0,
|
|
2323
|
+
const listRef = (0, import_react56.useRef)(null);
|
|
2324
|
+
const triggerRef = (0, import_react56.useRef)(null);
|
|
2148
2325
|
const getMenuItems = () => Array.from(listRef.current?.querySelectorAll('[role="menuitem"]') ?? []);
|
|
2149
2326
|
const focusItemAt = (index) => {
|
|
2150
2327
|
const menuItems = getMenuItems();
|
|
@@ -2156,7 +2333,7 @@ var Menu = (0, import_react54.forwardRef)(function Menu2({ trigger: trigger2, it
|
|
|
2156
2333
|
setOpen(false);
|
|
2157
2334
|
triggerRef.current?.focus();
|
|
2158
2335
|
};
|
|
2159
|
-
(0,
|
|
2336
|
+
(0, import_react56.useLayoutEffect)(() => {
|
|
2160
2337
|
if (!open) {
|
|
2161
2338
|
setAlignEnd(false);
|
|
2162
2339
|
return;
|
|
@@ -2168,7 +2345,7 @@ var Menu = (0, import_react54.forwardRef)(function Menu2({ trigger: trigger2, it
|
|
|
2168
2345
|
const viewport = document.documentElement.clientWidth;
|
|
2169
2346
|
setAlignEnd(rootLeft + listEl.offsetWidth > viewport);
|
|
2170
2347
|
}, [open]);
|
|
2171
|
-
(0,
|
|
2348
|
+
(0, import_react56.useEffect)(() => {
|
|
2172
2349
|
if (!open) return;
|
|
2173
2350
|
listRef.current?.querySelector('[role="menuitem"]')?.focus();
|
|
2174
2351
|
const onDocMouseDown = (event) => {
|
|
@@ -2224,7 +2401,7 @@ var Menu = (0, import_react54.forwardRef)(function Menu2({ trigger: trigger2, it
|
|
|
2224
2401
|
triggerRef.current = node;
|
|
2225
2402
|
assignRef(consumerRef, node);
|
|
2226
2403
|
};
|
|
2227
|
-
const clonedTrigger = (0,
|
|
2404
|
+
const clonedTrigger = (0, import_react56.cloneElement)(trigger2, {
|
|
2228
2405
|
ref: mergedTriggerRef,
|
|
2229
2406
|
"aria-haspopup": "menu",
|
|
2230
2407
|
"aria-expanded": open,
|
|
@@ -2233,42 +2410,53 @@ var Menu = (0, import_react54.forwardRef)(function Menu2({ trigger: trigger2, it
|
|
|
2233
2410
|
setOpen((prev) => !prev);
|
|
2234
2411
|
}
|
|
2235
2412
|
});
|
|
2236
|
-
return /* @__PURE__ */ (0,
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
"button",
|
|
2413
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
2414
|
+
"div",
|
|
2415
|
+
{
|
|
2416
|
+
ref: setRootRef,
|
|
2417
|
+
className: wrapper4,
|
|
2418
|
+
"data-testid": rootTestId,
|
|
2419
|
+
"data-state": open ? "open" : "closed",
|
|
2420
|
+
children: [
|
|
2421
|
+
clonedTrigger,
|
|
2422
|
+
open && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2423
|
+
"div",
|
|
2248
2424
|
{
|
|
2249
|
-
|
|
2250
|
-
role: "
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2425
|
+
ref: listRef,
|
|
2426
|
+
role: "menu",
|
|
2427
|
+
className: list2,
|
|
2428
|
+
"data-align": alignEnd ? "end" : "start",
|
|
2429
|
+
"data-testid": slot("list"),
|
|
2430
|
+
onKeyDown: onMenuKeyDown,
|
|
2431
|
+
children: items.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2432
|
+
"button",
|
|
2433
|
+
{
|
|
2434
|
+
type: "button",
|
|
2435
|
+
role: "menuitem",
|
|
2436
|
+
tabIndex: -1,
|
|
2437
|
+
className: entry.danger ? dangerItem : item3,
|
|
2438
|
+
"data-testid": slot(`item-${index}`),
|
|
2439
|
+
onClick: () => {
|
|
2440
|
+
entry.onClick?.();
|
|
2441
|
+
setOpen(false);
|
|
2442
|
+
},
|
|
2443
|
+
children: entry.label
|
|
2444
|
+
},
|
|
2445
|
+
index
|
|
2446
|
+
))
|
|
2447
|
+
}
|
|
2448
|
+
)
|
|
2449
|
+
]
|
|
2450
|
+
}
|
|
2451
|
+
);
|
|
2264
2452
|
});
|
|
2265
2453
|
|
|
2266
2454
|
// src/components/dialog/index.tsx
|
|
2267
|
-
var
|
|
2455
|
+
var import_react58 = require("react");
|
|
2268
2456
|
var import_react_dom = require("react-dom");
|
|
2269
2457
|
|
|
2270
2458
|
// src/components/dialog/use-styles.ts
|
|
2271
|
-
var
|
|
2459
|
+
var import_react57 = require("react");
|
|
2272
2460
|
|
|
2273
2461
|
// src/components/dialog/use-styles.css.ts
|
|
2274
2462
|
var actions = "use-styles_actions__5tstu83";
|
|
@@ -2279,7 +2467,7 @@ var surface = "use-styles_surface__5tstu81";
|
|
|
2279
2467
|
// src/components/dialog/use-styles.ts
|
|
2280
2468
|
function useStyles26() {
|
|
2281
2469
|
const { themeClass } = useTheme();
|
|
2282
|
-
return (0,
|
|
2470
|
+
return (0, import_react57.useMemo)(
|
|
2283
2471
|
() => ({
|
|
2284
2472
|
overlay: [themeClass, overlay].filter(Boolean).join(" "),
|
|
2285
2473
|
surface,
|
|
@@ -2291,23 +2479,24 @@ function useStyles26() {
|
|
|
2291
2479
|
}
|
|
2292
2480
|
|
|
2293
2481
|
// src/components/dialog/index.tsx
|
|
2294
|
-
var
|
|
2482
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2295
2483
|
var FOCUSABLE = 'a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
2296
2484
|
function assignRef2(ref, value) {
|
|
2297
2485
|
if (typeof ref === "function") ref(value);
|
|
2298
2486
|
else if (ref) ref.current = value;
|
|
2299
2487
|
}
|
|
2300
|
-
var Dialog = (0,
|
|
2488
|
+
var Dialog = (0, import_react58.forwardRef)(function Dialog2({ open, onClose, title, actions: actions3, children, testId }, ref) {
|
|
2301
2489
|
const { overlay: overlay2, surface: surface2, body: body3, actions: actionsClass } = useStyles26();
|
|
2302
|
-
const
|
|
2490
|
+
const { testId: rootTestId, slot } = useTestId("dialog", testId);
|
|
2491
|
+
const surfaceRef = (0, import_react58.useRef)(null);
|
|
2303
2492
|
const setSurfaceRef = (node) => {
|
|
2304
2493
|
surfaceRef.current = node;
|
|
2305
2494
|
assignRef2(ref, node);
|
|
2306
2495
|
};
|
|
2307
|
-
const previouslyFocused = (0,
|
|
2308
|
-
const generatedId = (0,
|
|
2496
|
+
const previouslyFocused = (0, import_react58.useRef)(null);
|
|
2497
|
+
const generatedId = (0, import_react58.useId)();
|
|
2309
2498
|
const titleId = title != null ? generatedId : void 0;
|
|
2310
|
-
(0,
|
|
2499
|
+
(0, import_react58.useEffect)(() => {
|
|
2311
2500
|
if (!open) return;
|
|
2312
2501
|
const onKeyDown = (event) => {
|
|
2313
2502
|
if (event.key === "Escape") onClose();
|
|
@@ -2315,13 +2504,13 @@ var Dialog = (0, import_react56.forwardRef)(function Dialog2({ open, onClose, ti
|
|
|
2315
2504
|
document.addEventListener("keydown", onKeyDown);
|
|
2316
2505
|
return () => document.removeEventListener("keydown", onKeyDown);
|
|
2317
2506
|
}, [open, onClose]);
|
|
2318
|
-
(0,
|
|
2507
|
+
(0, import_react58.useEffect)(() => {
|
|
2319
2508
|
if (!open) return;
|
|
2320
2509
|
previouslyFocused.current = document.activeElement;
|
|
2321
2510
|
surfaceRef.current?.focus();
|
|
2322
2511
|
return () => previouslyFocused.current?.focus?.();
|
|
2323
2512
|
}, [open]);
|
|
2324
|
-
(0,
|
|
2513
|
+
(0, import_react58.useEffect)(() => {
|
|
2325
2514
|
if (!open) return;
|
|
2326
2515
|
const previousOverflow = document.body.style.overflow;
|
|
2327
2516
|
document.body.style.overflow = "hidden";
|
|
@@ -2359,7 +2548,7 @@ var Dialog = (0, import_react56.forwardRef)(function Dialog2({ open, onClose, ti
|
|
|
2359
2548
|
};
|
|
2360
2549
|
return (0, import_react_dom.createPortal)(
|
|
2361
2550
|
// biome-ignore lint/a11y/useKeyWithClickEvents: ESC handled by a document keydown listener.
|
|
2362
|
-
/* @__PURE__ */ (0,
|
|
2551
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: overlay2, "data-testid": slot("overlay"), onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
2363
2552
|
"div",
|
|
2364
2553
|
{
|
|
2365
2554
|
ref: setSurfaceRef,
|
|
@@ -2368,12 +2557,13 @@ var Dialog = (0, import_react56.forwardRef)(function Dialog2({ open, onClose, ti
|
|
|
2368
2557
|
"aria-modal": "true",
|
|
2369
2558
|
"aria-labelledby": titleId,
|
|
2370
2559
|
tabIndex: -1,
|
|
2560
|
+
"data-testid": rootTestId,
|
|
2371
2561
|
onClick: stop,
|
|
2372
2562
|
onKeyDown: onSurfaceKeyDown,
|
|
2373
2563
|
children: [
|
|
2374
|
-
title != null && /* @__PURE__ */ (0,
|
|
2375
|
-
children != null && /* @__PURE__ */ (0,
|
|
2376
|
-
actions3 != null && /* @__PURE__ */ (0,
|
|
2564
|
+
title != null && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Typography, { variant: "h3", as: "h2", id: titleId, children: title }),
|
|
2565
|
+
children != null && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: body3, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Typography, { variant: "body", color: "fg2", children }) }),
|
|
2566
|
+
actions3 != null && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: actionsClass, children: actions3 })
|
|
2377
2567
|
]
|
|
2378
2568
|
}
|
|
2379
2569
|
) }),
|
|
@@ -2382,11 +2572,11 @@ var Dialog = (0, import_react56.forwardRef)(function Dialog2({ open, onClose, ti
|
|
|
2382
2572
|
});
|
|
2383
2573
|
|
|
2384
2574
|
// src/components/snackbar/index.tsx
|
|
2385
|
-
var
|
|
2575
|
+
var import_react60 = require("react");
|
|
2386
2576
|
var import_react_dom2 = require("react-dom");
|
|
2387
2577
|
|
|
2388
2578
|
// src/components/snackbar/use-styles.ts
|
|
2389
|
-
var
|
|
2579
|
+
var import_react59 = require("react");
|
|
2390
2580
|
|
|
2391
2581
|
// src/components/snackbar/use-styles.css.ts
|
|
2392
2582
|
var closeBtn = "use-styles_closeBtn__ihzsep2";
|
|
@@ -2396,7 +2586,7 @@ var root20 = "use-styles_root__ihzsep0 surfaces_inkySurface__1qa7atn2";
|
|
|
2396
2586
|
// src/components/snackbar/use-styles.ts
|
|
2397
2587
|
function useStyles27() {
|
|
2398
2588
|
const { themeClass } = useTheme();
|
|
2399
|
-
return (0,
|
|
2589
|
+
return (0, import_react59.useMemo)(
|
|
2400
2590
|
() => ({
|
|
2401
2591
|
root: [themeClass, root20].filter(Boolean).join(" "),
|
|
2402
2592
|
message,
|
|
@@ -2407,25 +2597,36 @@ function useStyles27() {
|
|
|
2407
2597
|
}
|
|
2408
2598
|
|
|
2409
2599
|
// src/components/snackbar/index.tsx
|
|
2410
|
-
var
|
|
2411
|
-
var Snackbar = (0,
|
|
2600
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2601
|
+
var Snackbar = (0, import_react60.forwardRef)(function Snackbar2({ open, message: message2, action, onClose, testId }, ref) {
|
|
2412
2602
|
const { root: root24, message: messageClass, closeBtn: closeBtn2 } = useStyles27();
|
|
2603
|
+
const { testId: dataTestId, slot } = useTestId("feedback", testId);
|
|
2413
2604
|
if (!open || typeof document === "undefined") return null;
|
|
2414
2605
|
return (0, import_react_dom2.createPortal)(
|
|
2415
|
-
/* @__PURE__ */ (0,
|
|
2416
|
-
/* @__PURE__ */ (0,
|
|
2606
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { ref, role: "status", className: root24, "data-testid": dataTestId, children: [
|
|
2607
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: messageClass, "data-testid": slot("message"), children: message2 }),
|
|
2417
2608
|
action,
|
|
2418
|
-
onClose && /* @__PURE__ */ (0,
|
|
2609
|
+
onClose && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2610
|
+
"button",
|
|
2611
|
+
{
|
|
2612
|
+
type: "button",
|
|
2613
|
+
"aria-label": "Close",
|
|
2614
|
+
className: closeBtn2,
|
|
2615
|
+
"data-testid": slot("close"),
|
|
2616
|
+
onClick: onClose,
|
|
2617
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(XIcon, { size: 18 })
|
|
2618
|
+
}
|
|
2619
|
+
)
|
|
2419
2620
|
] }),
|
|
2420
2621
|
document.body
|
|
2421
2622
|
);
|
|
2422
2623
|
});
|
|
2423
2624
|
|
|
2424
2625
|
// src/components/table/index.tsx
|
|
2425
|
-
var
|
|
2626
|
+
var import_react62 = require("react");
|
|
2426
2627
|
|
|
2427
2628
|
// src/components/table/use-styles.ts
|
|
2428
|
-
var
|
|
2629
|
+
var import_react61 = require("react");
|
|
2429
2630
|
|
|
2430
2631
|
// src/components/table/use-styles.css.ts
|
|
2431
2632
|
var alignRight = "use-styles_alignRight__1n2cz6i3";
|
|
@@ -2437,7 +2638,7 @@ var th = "use-styles_th__1n2cz6i1";
|
|
|
2437
2638
|
// src/components/table/use-styles.ts
|
|
2438
2639
|
function useStyles28({ className }) {
|
|
2439
2640
|
const { themeClass } = useTheme();
|
|
2440
|
-
const root24 = (0,
|
|
2641
|
+
const root24 = (0, import_react61.useMemo)(
|
|
2441
2642
|
() => [themeClass, root21, className].filter(Boolean).join(" "),
|
|
2442
2643
|
[themeClass, className]
|
|
2443
2644
|
);
|
|
@@ -2451,26 +2652,27 @@ function useStyles28({ className }) {
|
|
|
2451
2652
|
}
|
|
2452
2653
|
|
|
2453
2654
|
// src/components/table/index.tsx
|
|
2454
|
-
var
|
|
2455
|
-
function TableInner({ columns, rows, getRowKey, className, caption: caption2, ...rest }, ref) {
|
|
2655
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2656
|
+
function TableInner({ columns, rows, getRowKey, className, caption: caption2, testId, ...rest }, ref) {
|
|
2456
2657
|
const { root: root24, th: th2, td: td2, alignRight: alignRight2, caption: captionClass } = useStyles28({ className });
|
|
2658
|
+
const { testId: dataTestId, slot } = useTestId("list", testId);
|
|
2457
2659
|
const headClass = (column) => column.align === "right" ? `${th2} ${alignRight2}` : th2;
|
|
2458
2660
|
const cellClass = (column) => column.align === "right" ? `${td2} ${alignRight2}` : td2;
|
|
2459
|
-
return /* @__PURE__ */ (0,
|
|
2460
|
-
caption2 != null && /* @__PURE__ */ (0,
|
|
2461
|
-
/* @__PURE__ */ (0,
|
|
2462
|
-
/* @__PURE__ */ (0,
|
|
2661
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("table", { ref, className: root24, "data-testid": dataTestId, ...rest, children: [
|
|
2662
|
+
caption2 != null && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("caption", { className: captionClass, children: caption2 }),
|
|
2663
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("tr", { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("th", { scope: "col", className: headClass(column), children: column.header }, column.key)) }) }),
|
|
2664
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("tbody", { children: rows.map((row, index) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("tr", { "data-testid": slot(`row-${index}`), children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("td", { className: cellClass(column), children: column.render ? column.render(row) : String(row[column.key]) }, column.key)) }, getRowKey ? getRowKey(row, index) : index)) })
|
|
2463
2665
|
] });
|
|
2464
2666
|
}
|
|
2465
|
-
var TableForwarded = (0,
|
|
2667
|
+
var TableForwarded = (0, import_react62.forwardRef)(TableInner);
|
|
2466
2668
|
TableForwarded.displayName = "Table";
|
|
2467
2669
|
var Table = TableForwarded;
|
|
2468
2670
|
|
|
2469
2671
|
// src/components/app-bar/index.tsx
|
|
2470
|
-
var
|
|
2672
|
+
var import_react64 = require("react");
|
|
2471
2673
|
|
|
2472
2674
|
// src/components/app-bar/use-styles.ts
|
|
2473
|
-
var
|
|
2675
|
+
var import_react63 = require("react");
|
|
2474
2676
|
|
|
2475
2677
|
// src/components/app-bar/use-styles.css.ts
|
|
2476
2678
|
var actions2 = "use-styles_actions__1h133nh2";
|
|
@@ -2480,7 +2682,7 @@ var root22 = "use-styles_root__1h133nh0";
|
|
|
2480
2682
|
// src/components/app-bar/use-styles.ts
|
|
2481
2683
|
function useStyles29({ className }) {
|
|
2482
2684
|
const { themeClass } = useTheme();
|
|
2483
|
-
const root24 = (0,
|
|
2685
|
+
const root24 = (0, import_react63.useMemo)(
|
|
2484
2686
|
() => [themeClass, root22, className].filter(Boolean).join(" "),
|
|
2485
2687
|
[themeClass, className]
|
|
2486
2688
|
);
|
|
@@ -2488,21 +2690,22 @@ function useStyles29({ className }) {
|
|
|
2488
2690
|
}
|
|
2489
2691
|
|
|
2490
2692
|
// src/components/app-bar/index.tsx
|
|
2491
|
-
var
|
|
2492
|
-
var AppBar = (0,
|
|
2693
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2694
|
+
var AppBar = (0, import_react64.forwardRef)(function AppBar2({ brand: brand2, actions: actions3, className, children, testId, ...rest }, ref) {
|
|
2493
2695
|
const styles = useStyles29({ className });
|
|
2494
|
-
|
|
2495
|
-
|
|
2696
|
+
const { testId: dataTestId, slot } = useTestId("nav", testId);
|
|
2697
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("header", { ref, className: styles.root, "data-testid": dataTestId, ...rest, children: [
|
|
2698
|
+
brand2 !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: styles.brand, "data-testid": slot("brand"), children: brand2 }) : null,
|
|
2496
2699
|
children,
|
|
2497
|
-
actions3 !== void 0 ? /* @__PURE__ */ (0,
|
|
2700
|
+
actions3 !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: styles.actions, "data-testid": slot("actions"), children: actions3 }) : null
|
|
2498
2701
|
] });
|
|
2499
2702
|
});
|
|
2500
2703
|
|
|
2501
2704
|
// src/components/list-item/index.tsx
|
|
2502
|
-
var
|
|
2705
|
+
var import_react66 = require("react");
|
|
2503
2706
|
|
|
2504
2707
|
// src/components/list-item/use-styles.ts
|
|
2505
|
-
var
|
|
2708
|
+
var import_react65 = require("react");
|
|
2506
2709
|
|
|
2507
2710
|
// src/components/list-item/use-styles.css.ts
|
|
2508
2711
|
var content2 = "use-styles_content__kbreq13";
|
|
@@ -2517,7 +2720,7 @@ function useStyles30({
|
|
|
2517
2720
|
className
|
|
2518
2721
|
}) {
|
|
2519
2722
|
const { themeClass } = useTheme();
|
|
2520
|
-
const root24 = (0,
|
|
2723
|
+
const root24 = (0, import_react65.useMemo)(
|
|
2521
2724
|
() => [themeClass, root23, selected3 && selected2, className].filter(Boolean).join(" "),
|
|
2522
2725
|
[themeClass, selected3, className]
|
|
2523
2726
|
);
|
|
@@ -2525,20 +2728,31 @@ function useStyles30({
|
|
|
2525
2728
|
}
|
|
2526
2729
|
|
|
2527
2730
|
// src/components/list-item/index.tsx
|
|
2528
|
-
var
|
|
2529
|
-
var ListItem = (0,
|
|
2731
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2732
|
+
var ListItem = (0, import_react66.forwardRef)(function ListItem2({ leading: leading2, trailing: trailing2, selected: selected3, className, testId, children, ...rest }, ref) {
|
|
2530
2733
|
const styles = useStyles30({ selected: selected3, className });
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2734
|
+
const { testId: dataTestId, slot } = useTestId("list", testId);
|
|
2735
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
2736
|
+
"div",
|
|
2737
|
+
{
|
|
2738
|
+
ref,
|
|
2739
|
+
className: styles.root,
|
|
2740
|
+
"data-testid": dataTestId,
|
|
2741
|
+
"data-state": states({ selected: selected3 }),
|
|
2742
|
+
...rest,
|
|
2743
|
+
children: [
|
|
2744
|
+
leading2 != null && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: styles.leading, "data-testid": slot("leading"), children: leading2 }),
|
|
2745
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: styles.content, "data-testid": slot("content"), children }),
|
|
2746
|
+
trailing2 != null && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: styles.trailing, "data-testid": slot("trailing"), children: trailing2 })
|
|
2747
|
+
]
|
|
2748
|
+
}
|
|
2749
|
+
);
|
|
2536
2750
|
});
|
|
2537
2751
|
|
|
2538
2752
|
// src/components/icons/chevron-up/index.tsx
|
|
2539
|
-
var
|
|
2753
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2540
2754
|
function ChevronUpIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
2541
|
-
return /* @__PURE__ */ (0,
|
|
2755
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2542
2756
|
"svg",
|
|
2543
2757
|
{
|
|
2544
2758
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -2552,15 +2766,15 @@ function ChevronUpIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
2552
2766
|
strokeLinejoin: "round",
|
|
2553
2767
|
"aria-hidden": "true",
|
|
2554
2768
|
...rest,
|
|
2555
|
-
children: /* @__PURE__ */ (0,
|
|
2769
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("path", { d: "m18 15-6-6-6 6" })
|
|
2556
2770
|
}
|
|
2557
2771
|
);
|
|
2558
2772
|
}
|
|
2559
2773
|
|
|
2560
2774
|
// src/components/icons/search/index.tsx
|
|
2561
|
-
var
|
|
2775
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2562
2776
|
function SearchIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
2563
|
-
return /* @__PURE__ */ (0,
|
|
2777
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
2564
2778
|
"svg",
|
|
2565
2779
|
{
|
|
2566
2780
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -2575,17 +2789,17 @@ function SearchIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
2575
2789
|
"aria-hidden": "true",
|
|
2576
2790
|
...rest,
|
|
2577
2791
|
children: [
|
|
2578
|
-
/* @__PURE__ */ (0,
|
|
2579
|
-
/* @__PURE__ */ (0,
|
|
2792
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("circle", { cx: "11", cy: "11", r: "8" }),
|
|
2793
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("path", { d: "m21 21-4.3-4.3" })
|
|
2580
2794
|
]
|
|
2581
2795
|
}
|
|
2582
2796
|
);
|
|
2583
2797
|
}
|
|
2584
2798
|
|
|
2585
2799
|
// src/components/icons/plus/index.tsx
|
|
2586
|
-
var
|
|
2800
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
2587
2801
|
function PlusIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
2588
|
-
return /* @__PURE__ */ (0,
|
|
2802
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
2589
2803
|
"svg",
|
|
2590
2804
|
{
|
|
2591
2805
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -2600,17 +2814,17 @@ function PlusIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
2600
2814
|
"aria-hidden": "true",
|
|
2601
2815
|
...rest,
|
|
2602
2816
|
children: [
|
|
2603
|
-
/* @__PURE__ */ (0,
|
|
2604
|
-
/* @__PURE__ */ (0,
|
|
2817
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("path", { d: "M5 12h14" }),
|
|
2818
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("path", { d: "M12 5v14" })
|
|
2605
2819
|
]
|
|
2606
2820
|
}
|
|
2607
2821
|
);
|
|
2608
2822
|
}
|
|
2609
2823
|
|
|
2610
2824
|
// src/components/icons/minus/index.tsx
|
|
2611
|
-
var
|
|
2825
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
2612
2826
|
function MinusIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
2613
|
-
return /* @__PURE__ */ (0,
|
|
2827
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
2614
2828
|
"svg",
|
|
2615
2829
|
{
|
|
2616
2830
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -2624,15 +2838,15 @@ function MinusIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
2624
2838
|
strokeLinejoin: "round",
|
|
2625
2839
|
"aria-hidden": "true",
|
|
2626
2840
|
...rest,
|
|
2627
|
-
children: /* @__PURE__ */ (0,
|
|
2841
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("path", { d: "M5 12h14" })
|
|
2628
2842
|
}
|
|
2629
2843
|
);
|
|
2630
2844
|
}
|
|
2631
2845
|
|
|
2632
2846
|
// src/components/icons/more-horizontal/index.tsx
|
|
2633
|
-
var
|
|
2847
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
2634
2848
|
function MoreHorizontalIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
2635
|
-
return /* @__PURE__ */ (0,
|
|
2849
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
2636
2850
|
"svg",
|
|
2637
2851
|
{
|
|
2638
2852
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -2647,9 +2861,9 @@ function MoreHorizontalIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
2647
2861
|
"aria-hidden": "true",
|
|
2648
2862
|
...rest,
|
|
2649
2863
|
children: [
|
|
2650
|
-
/* @__PURE__ */ (0,
|
|
2651
|
-
/* @__PURE__ */ (0,
|
|
2652
|
-
/* @__PURE__ */ (0,
|
|
2864
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("circle", { cx: "12", cy: "12", r: "1" }),
|
|
2865
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("circle", { cx: "19", cy: "12", r: "1" }),
|
|
2866
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("circle", { cx: "5", cy: "12", r: "1" })
|
|
2653
2867
|
]
|
|
2654
2868
|
}
|
|
2655
2869
|
);
|
|
@@ -2698,6 +2912,7 @@ function MoreHorizontalIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
2698
2912
|
Switch,
|
|
2699
2913
|
Table,
|
|
2700
2914
|
Tabs,
|
|
2915
|
+
TestIdProvider,
|
|
2701
2916
|
TextField,
|
|
2702
2917
|
ThemeProvider,
|
|
2703
2918
|
Tooltip,
|
|
@@ -2711,6 +2926,7 @@ function MoreHorizontalIcon({ size: size3 = 20, strokeWidth = 1.75, ...rest }) {
|
|
|
2711
2926
|
theme,
|
|
2712
2927
|
themes,
|
|
2713
2928
|
usePrevious,
|
|
2929
|
+
useTestId,
|
|
2714
2930
|
useTheme,
|
|
2715
2931
|
useToggle
|
|
2716
2932
|
});
|