@dimasbaguspm/versaur 0.0.27 → 0.0.29
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/js/{bottom-sheet-DCwLmjiX.js → bottom-sheet-BKd7WCCS.js} +168 -152
- package/dist/js/{bottom-sheet-input-D14wjCoC.js → bottom-sheet-input-DrbGhcXv.js} +255 -244
- package/dist/js/forms/index.js +1 -1
- package/dist/js/{image-rectangle-BGLYH2Gl.js → image-rectangle-CF656HIm.js} +432 -274
- package/dist/js/index.js +63 -59
- package/dist/js/layouts/index.js +9 -8
- package/dist/js/navigation/index.js +1 -1
- package/dist/js/overlays/index.js +2 -2
- package/dist/js/primitive/index.js +22 -19
- package/dist/js/{tabs-C0hcpxNk.js → tabs-DoiqKzR9.js} +1 -1
- package/dist/js/{tooltip-DlbAOUeP.js → tooltip-D1-q8Ars.js} +16 -16
- package/dist/js/{top-bar-BA88ij4M.js → top-bar-B4SZ2YZC.js} +166 -104
- package/dist/types/forms/drawer-input/types.d.ts +1 -1
- package/dist/types/layouts/filter-chip-group/filter-chip-group.d.ts +27 -0
- package/dist/types/layouts/filter-chip-group/index.d.ts +2 -0
- package/dist/types/layouts/filter-chip-group/types.d.ts +32 -0
- package/dist/types/layouts/index.d.ts +1 -0
- package/dist/types/overlays/bottom-sheet/types.d.ts +4 -0
- package/dist/types/overlays/drawer/types.d.ts +5 -13
- package/dist/types/overlays/modal/types.d.ts +14 -4
- package/dist/types/primitive/attribute/attribute.d.ts +10 -0
- package/dist/types/primitive/attribute/index.d.ts +2 -0
- package/dist/types/primitive/attribute/types.d.ts +14 -0
- package/dist/types/primitive/attribute-list/attribute.atoms.d.ts +5 -0
- package/dist/types/primitive/attribute-list/attribute.d.ts +4 -0
- package/dist/types/primitive/attribute-list/index.d.ts +2 -0
- package/dist/types/primitive/attribute-list/types.d.ts +24 -0
- package/dist/types/primitive/filter-chip/filter-chip.d.ts +3 -0
- package/dist/types/primitive/filter-chip/index.d.ts +2 -0
- package/dist/types/primitive/filter-chip/types.d.ts +35 -0
- package/dist/types/primitive/index.d.ts +3 -0
- package/dist/utils/enforce-subpath-import.js +4 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as cva, j as jsxRuntimeExports, a as cn } from "./index-DOdDlCoL.js";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import React__default, { forwardRef, useState, useEffect, useCallback, useRef, createContext, useContext } from "react";
|
|
4
|
-
import { X, ChevronLeft, ChevronRight, ImageOff } from "lucide-react";
|
|
4
|
+
import { X, ChevronLeft, ChevronRight, XIcon, ImageOff } from "lucide-react";
|
|
5
5
|
import { S as Skeleton } from "./skeleton-BNZyaRjo.js";
|
|
6
6
|
const alertVariants = cva(
|
|
7
7
|
"relative flex items-center gap-2 rounded-md p-2 text-sm transition-all duration-200",
|
|
@@ -146,18 +146,18 @@ const alertVariants = cva(
|
|
|
146
146
|
color: t = "neutral",
|
|
147
147
|
icon: r,
|
|
148
148
|
className: s,
|
|
149
|
-
children:
|
|
150
|
-
...
|
|
149
|
+
children: i,
|
|
150
|
+
...n
|
|
151
151
|
}, o) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
152
152
|
"div",
|
|
153
153
|
{
|
|
154
154
|
ref: o,
|
|
155
155
|
role: "alert",
|
|
156
156
|
className: cn(alertVariants({ variant: e, color: t }), s),
|
|
157
|
-
...
|
|
157
|
+
...n,
|
|
158
158
|
children: [
|
|
159
159
|
r && /* @__PURE__ */ jsxRuntimeExports.jsx(AlertIcon, { children: r }),
|
|
160
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1", children:
|
|
160
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1", children: i })
|
|
161
161
|
]
|
|
162
162
|
}
|
|
163
163
|
)
|
|
@@ -226,22 +226,239 @@ const alertVariants = cva(
|
|
|
226
226
|
className: t,
|
|
227
227
|
color: r = "primary",
|
|
228
228
|
fontSize: s = "base",
|
|
229
|
-
fontWeight:
|
|
230
|
-
quiet:
|
|
229
|
+
fontWeight: i = "medium",
|
|
230
|
+
quiet: n = !1,
|
|
231
231
|
...o
|
|
232
232
|
}, a) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
233
233
|
"a",
|
|
234
234
|
{
|
|
235
235
|
ref: a,
|
|
236
236
|
className: cn(
|
|
237
|
-
anchorVariants({ color: r, fontSize: s, fontWeight:
|
|
237
|
+
anchorVariants({ color: r, fontSize: s, fontWeight: i, quiet: n }),
|
|
238
238
|
t
|
|
239
239
|
),
|
|
240
240
|
...o,
|
|
241
241
|
children: e
|
|
242
242
|
}
|
|
243
243
|
)
|
|
244
|
-
),
|
|
244
|
+
), textVariants = cva("", {
|
|
245
|
+
variants: {
|
|
246
|
+
color: {
|
|
247
|
+
primary: "text-primary",
|
|
248
|
+
secondary: "text-secondary",
|
|
249
|
+
tertiary: "text-tertiary",
|
|
250
|
+
ghost: "text-ghost",
|
|
251
|
+
neutral: "text-ghost",
|
|
252
|
+
success: "text-success",
|
|
253
|
+
info: "text-info",
|
|
254
|
+
warning: "text-warning",
|
|
255
|
+
danger: "text-danger",
|
|
256
|
+
inherit: "",
|
|
257
|
+
gray: "text-gray-500",
|
|
258
|
+
black: "text-black",
|
|
259
|
+
white: "text-white"
|
|
260
|
+
},
|
|
261
|
+
hasUnderline: {
|
|
262
|
+
true: "underline",
|
|
263
|
+
false: ""
|
|
264
|
+
},
|
|
265
|
+
isCapitalize: {
|
|
266
|
+
true: "capitalize",
|
|
267
|
+
false: ""
|
|
268
|
+
},
|
|
269
|
+
align: {
|
|
270
|
+
left: "text-left",
|
|
271
|
+
center: "text-center",
|
|
272
|
+
right: "text-right",
|
|
273
|
+
justify: "text-justify"
|
|
274
|
+
},
|
|
275
|
+
italic: {
|
|
276
|
+
true: "italic",
|
|
277
|
+
false: ""
|
|
278
|
+
},
|
|
279
|
+
clamp: {
|
|
280
|
+
1: "line-clamp-1",
|
|
281
|
+
2: "line-clamp-2",
|
|
282
|
+
3: "line-clamp-3",
|
|
283
|
+
4: "line-clamp-4",
|
|
284
|
+
5: "line-clamp-5",
|
|
285
|
+
none: ""
|
|
286
|
+
},
|
|
287
|
+
ellipsis: {
|
|
288
|
+
true: "truncate",
|
|
289
|
+
false: ""
|
|
290
|
+
},
|
|
291
|
+
as: {
|
|
292
|
+
h1: "font-bold text-4xl leading-loose",
|
|
293
|
+
h2: "font-semibold text-3xl leading-relaxed",
|
|
294
|
+
h3: "font-medium text-2xl leading-relaxed",
|
|
295
|
+
h4: "font-bold text-xl leading-normal",
|
|
296
|
+
h5: "font-semibold text-lg leading-normal",
|
|
297
|
+
h6: "font-medium text-base leading-normal",
|
|
298
|
+
p: "font-normal text-base leading-normal",
|
|
299
|
+
span: "font-normal text-base leading-normal",
|
|
300
|
+
label: "font-normal text-xs leading-normal"
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
defaultVariants: {
|
|
304
|
+
color: "neutral",
|
|
305
|
+
hasUnderline: !1,
|
|
306
|
+
isCapitalize: !1,
|
|
307
|
+
align: "left",
|
|
308
|
+
italic: !1,
|
|
309
|
+
clamp: "none",
|
|
310
|
+
ellipsis: !1,
|
|
311
|
+
as: "span"
|
|
312
|
+
}
|
|
313
|
+
}), Text = forwardRef(
|
|
314
|
+
({
|
|
315
|
+
as: e = "span",
|
|
316
|
+
color: t = "ghost",
|
|
317
|
+
hasUnderline: r = !1,
|
|
318
|
+
isCapitalize: s = !1,
|
|
319
|
+
align: i = "left",
|
|
320
|
+
italic: n = !1,
|
|
321
|
+
clamp: o = "none",
|
|
322
|
+
ellipsis: a = !1,
|
|
323
|
+
fontSize: l,
|
|
324
|
+
fontWeight: c,
|
|
325
|
+
className: x,
|
|
326
|
+
children: h,
|
|
327
|
+
...d
|
|
328
|
+
}, p) => {
|
|
329
|
+
const f = [
|
|
330
|
+
"h1",
|
|
331
|
+
"h2",
|
|
332
|
+
"h3",
|
|
333
|
+
"h4",
|
|
334
|
+
"h5",
|
|
335
|
+
"h6",
|
|
336
|
+
"p",
|
|
337
|
+
"span",
|
|
338
|
+
"label"
|
|
339
|
+
].includes(e) ? e : "span", v = l ? `text-${l}` : "", w = c ? `font-${c}` : "";
|
|
340
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
341
|
+
e,
|
|
342
|
+
{
|
|
343
|
+
ref: p,
|
|
344
|
+
className: cn(
|
|
345
|
+
textVariants({
|
|
346
|
+
color: t,
|
|
347
|
+
hasUnderline: r,
|
|
348
|
+
isCapitalize: s,
|
|
349
|
+
align: i,
|
|
350
|
+
italic: n,
|
|
351
|
+
clamp: o,
|
|
352
|
+
ellipsis: a,
|
|
353
|
+
// @ts-expect-error - `as` is not a valid variant
|
|
354
|
+
as: f
|
|
355
|
+
}),
|
|
356
|
+
v,
|
|
357
|
+
w,
|
|
358
|
+
x
|
|
359
|
+
),
|
|
360
|
+
...d,
|
|
361
|
+
children: h
|
|
362
|
+
}
|
|
363
|
+
);
|
|
364
|
+
}
|
|
365
|
+
), Attribute = forwardRef(
|
|
366
|
+
function({ title: t, children: r, className: s, ...i }, n) {
|
|
367
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: n, className: cn("space-y-1", s), ...i, children: [
|
|
368
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
369
|
+
Text,
|
|
370
|
+
{
|
|
371
|
+
as: "h4",
|
|
372
|
+
fontSize: "sm",
|
|
373
|
+
fontWeight: "normal",
|
|
374
|
+
color: "gray",
|
|
375
|
+
className: "leading-none",
|
|
376
|
+
children: t
|
|
377
|
+
}
|
|
378
|
+
),
|
|
379
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Text, { as: "p", fontSize: "base", fontWeight: "normal", children: r })
|
|
380
|
+
] });
|
|
381
|
+
}
|
|
382
|
+
);
|
|
383
|
+
function getColSpan$1(e = 1) {
|
|
384
|
+
switch (e) {
|
|
385
|
+
case 1:
|
|
386
|
+
return "col-span-1";
|
|
387
|
+
case 2:
|
|
388
|
+
return "col-span-2";
|
|
389
|
+
case 3:
|
|
390
|
+
return "col-span-3";
|
|
391
|
+
case 4:
|
|
392
|
+
return "col-span-4";
|
|
393
|
+
case 5:
|
|
394
|
+
return "col-span-5";
|
|
395
|
+
case 6:
|
|
396
|
+
return "col-span-6";
|
|
397
|
+
case 7:
|
|
398
|
+
return "col-span-7";
|
|
399
|
+
case 8:
|
|
400
|
+
return "col-span-8";
|
|
401
|
+
case 9:
|
|
402
|
+
return "col-span-9";
|
|
403
|
+
case 10:
|
|
404
|
+
return "col-span-10";
|
|
405
|
+
case 11:
|
|
406
|
+
return "col-span-11";
|
|
407
|
+
case 12:
|
|
408
|
+
return "col-span-12";
|
|
409
|
+
default:
|
|
410
|
+
return "col-span-1";
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
function getGridCols(e = 4) {
|
|
414
|
+
switch (e) {
|
|
415
|
+
case 1:
|
|
416
|
+
return "grid-cols-1";
|
|
417
|
+
case 2:
|
|
418
|
+
return "grid-cols-2";
|
|
419
|
+
case 3:
|
|
420
|
+
return "grid-cols-3";
|
|
421
|
+
case 4:
|
|
422
|
+
return "grid-cols-4";
|
|
423
|
+
case 5:
|
|
424
|
+
return "grid-cols-5";
|
|
425
|
+
case 6:
|
|
426
|
+
return "grid-cols-6";
|
|
427
|
+
case 7:
|
|
428
|
+
return "grid-cols-7";
|
|
429
|
+
case 8:
|
|
430
|
+
return "grid-cols-8";
|
|
431
|
+
case 9:
|
|
432
|
+
return "grid-cols-9";
|
|
433
|
+
case 10:
|
|
434
|
+
return "grid-cols-10";
|
|
435
|
+
case 11:
|
|
436
|
+
return "grid-cols-11";
|
|
437
|
+
case 12:
|
|
438
|
+
return "grid-cols-12";
|
|
439
|
+
default:
|
|
440
|
+
return "grid-cols-4";
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
const AttributeListItem = forwardRef(function({ children: t, className: r, span: s = 1, title: i, ...n }, o) {
|
|
444
|
+
const a = getColSpan$1(s);
|
|
445
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("li", { ref: o, className: cn(a, r), ...n, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Attribute, { title: i, children: t }) });
|
|
446
|
+
}), AttributeListRoot = forwardRef(
|
|
447
|
+
function({ children: t, className: r, columns: s = 4, ...i }, n) {
|
|
448
|
+
const o = getGridCols(s);
|
|
449
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
450
|
+
"ul",
|
|
451
|
+
{
|
|
452
|
+
ref: n,
|
|
453
|
+
className: cn("grid gap-4", o, r),
|
|
454
|
+
...i,
|
|
455
|
+
children: t
|
|
456
|
+
}
|
|
457
|
+
);
|
|
458
|
+
}
|
|
459
|
+
), AttributeList = Object.assign(AttributeListRoot, {
|
|
460
|
+
Item: AttributeListItem
|
|
461
|
+
}), avatarVariants = cva(
|
|
245
462
|
"inline-flex items-center justify-center font-medium text-white overflow-hidden transition-all duration-200 select-none relative",
|
|
246
463
|
{
|
|
247
464
|
variants: {
|
|
@@ -285,19 +502,19 @@ const alertVariants = cva(
|
|
|
285
502
|
size: t = "md",
|
|
286
503
|
shape: r = "circle",
|
|
287
504
|
className: s,
|
|
288
|
-
children:
|
|
289
|
-
...
|
|
505
|
+
children: i,
|
|
506
|
+
...n
|
|
290
507
|
}, o) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
291
508
|
"div",
|
|
292
509
|
{
|
|
293
510
|
ref: o,
|
|
294
511
|
className: cn(avatarVariants({ variant: e, size: t, shape: r }), s),
|
|
295
|
-
...
|
|
296
|
-
children:
|
|
512
|
+
...n,
|
|
513
|
+
children: i
|
|
297
514
|
}
|
|
298
515
|
)
|
|
299
516
|
), AvatarImage = forwardRef(
|
|
300
|
-
({ src: e, alt: t, className: r, onError: s, ...
|
|
517
|
+
({ src: e, alt: t, className: r, onError: s, ...i }, n) => {
|
|
301
518
|
const [o, a] = useState(!1);
|
|
302
519
|
useEffect(() => {
|
|
303
520
|
a(!1);
|
|
@@ -311,12 +528,12 @@ const alertVariants = cva(
|
|
|
311
528
|
return o ? null : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
312
529
|
"img",
|
|
313
530
|
{
|
|
314
|
-
ref:
|
|
531
|
+
ref: n,
|
|
315
532
|
src: e,
|
|
316
533
|
alt: t,
|
|
317
534
|
className: cn(avatarImageVariants(), r),
|
|
318
535
|
onError: l,
|
|
319
|
-
...
|
|
536
|
+
...i
|
|
320
537
|
}
|
|
321
538
|
);
|
|
322
539
|
}
|
|
@@ -348,7 +565,7 @@ const alertVariants = cva(
|
|
|
348
565
|
},
|
|
349
566
|
shape: {
|
|
350
567
|
rounded: "rounded-full",
|
|
351
|
-
square: "rounded-
|
|
568
|
+
square: "rounded-xs"
|
|
352
569
|
},
|
|
353
570
|
size: {
|
|
354
571
|
sm: "text-xs px-1 py-0.25 h-3",
|
|
@@ -365,47 +582,47 @@ const alertVariants = cva(
|
|
|
365
582
|
{
|
|
366
583
|
variant: "default",
|
|
367
584
|
color: "primary",
|
|
368
|
-
className: "bg-primary-light text-primary"
|
|
585
|
+
className: "bg-primary-light/60 text-primary"
|
|
369
586
|
},
|
|
370
587
|
{
|
|
371
588
|
variant: "default",
|
|
372
589
|
color: "secondary",
|
|
373
|
-
className: "bg-secondary-light text-secondary"
|
|
590
|
+
className: "bg-secondary-light/70 text-secondary"
|
|
374
591
|
},
|
|
375
592
|
{
|
|
376
593
|
variant: "default",
|
|
377
594
|
color: "tertiary",
|
|
378
|
-
className: "bg-tertiary-light text-tertiary"
|
|
595
|
+
className: "bg-tertiary-light/50 text-tertiary"
|
|
379
596
|
},
|
|
380
597
|
{
|
|
381
598
|
variant: "default",
|
|
382
599
|
color: "ghost",
|
|
383
|
-
className: "bg-ghost
|
|
600
|
+
className: "bg-ghost/05 text-ghost"
|
|
384
601
|
},
|
|
385
602
|
{
|
|
386
603
|
variant: "default",
|
|
387
604
|
color: "neutral",
|
|
388
|
-
className: "bg-neutral text-foreground"
|
|
605
|
+
className: "bg-neutral-light text-foreground"
|
|
389
606
|
},
|
|
390
607
|
{
|
|
391
608
|
variant: "default",
|
|
392
609
|
color: "success",
|
|
393
|
-
className: "bg-success-light text-success"
|
|
610
|
+
className: "bg-success-light/40 text-success"
|
|
394
611
|
},
|
|
395
612
|
{
|
|
396
613
|
variant: "default",
|
|
397
614
|
color: "info",
|
|
398
|
-
className: "bg-info-light text-info"
|
|
615
|
+
className: "bg-info-light/50 text-info"
|
|
399
616
|
},
|
|
400
617
|
{
|
|
401
618
|
variant: "default",
|
|
402
619
|
color: "warning",
|
|
403
|
-
className: "bg-warning-light text-warning"
|
|
620
|
+
className: "bg-warning-light/50 text-warning"
|
|
404
621
|
},
|
|
405
622
|
{
|
|
406
623
|
variant: "default",
|
|
407
624
|
color: "danger",
|
|
408
|
-
className: "bg-danger-light text-danger"
|
|
625
|
+
className: "bg-danger-light/40 text-danger"
|
|
409
626
|
},
|
|
410
627
|
// Outline variant color combinations
|
|
411
628
|
{
|
|
@@ -484,13 +701,13 @@ const alertVariants = cva(
|
|
|
484
701
|
shape: t = "square",
|
|
485
702
|
color: r = "primary",
|
|
486
703
|
size: s = "md",
|
|
487
|
-
iconLeft:
|
|
488
|
-
iconRight:
|
|
704
|
+
iconLeft: i,
|
|
705
|
+
iconRight: n,
|
|
489
706
|
className: o,
|
|
490
707
|
children: a,
|
|
491
708
|
...l
|
|
492
709
|
}, c) => {
|
|
493
|
-
const d = !(a != null && a !== "") && !!(
|
|
710
|
+
const d = !(a != null && a !== "") && !!(i || n);
|
|
494
711
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
495
712
|
"span",
|
|
496
713
|
{
|
|
@@ -508,21 +725,19 @@ const alertVariants = cva(
|
|
|
508
725
|
...l,
|
|
509
726
|
children: d ? (
|
|
510
727
|
// Icon-only mode: display only the icon
|
|
511
|
-
|
|
728
|
+
i || n
|
|
512
729
|
) : (
|
|
513
730
|
// Normal mode: display icon(s) and text
|
|
514
731
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
515
|
-
|
|
732
|
+
i,
|
|
516
733
|
a,
|
|
517
|
-
|
|
734
|
+
n
|
|
518
735
|
] })
|
|
519
736
|
)
|
|
520
737
|
}
|
|
521
738
|
);
|
|
522
739
|
}
|
|
523
|
-
)
|
|
524
|
-
Badge.displayName = "Badge";
|
|
525
|
-
const SvgSpenicleSquare = (e) => /* @__PURE__ */ React.createElement("svg", { width: 32, height: 32, viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ React.createElement("title", null, "Spenicle"), /* @__PURE__ */ React.createElement("rect", { width: 32, height: 32, fill: "#e07a5f" }), /* @__PURE__ */ React.createElement("g", { transform: "translate(16, 16) scale(0.625) translate(-12, -12)" }, /* @__PURE__ */ React.createElement("path", { d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z", fill: "white" }))), SvgSpenicleRounded = (e) => /* @__PURE__ */ React.createElement("svg", { width: 32, height: 32, viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ React.createElement("title", null, "Spenicle"), /* @__PURE__ */ React.createElement("rect", { width: 32, height: 32, rx: 8, fill: "#e07a5f" }), /* @__PURE__ */ React.createElement("g", { transform: "translate(16, 16) scale(0.625) translate(-12, -12)" }, /* @__PURE__ */ React.createElement("path", { d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z", fill: "white" }))), SvgSpenicleCircle = (e) => /* @__PURE__ */ React.createElement("svg", { width: 32, height: 32, viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ React.createElement("title", null, "Spenicle"), /* @__PURE__ */ React.createElement("circle", { cx: 16, cy: 16, r: 16, fill: "#e07a5f" }), /* @__PURE__ */ React.createElement("g", { transform: "translate(16, 16) scale(0.625) translate(-12, -12)" }, /* @__PURE__ */ React.createElement("path", { d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z", fill: "white" }))), brandSizeClass = cva("", {
|
|
740
|
+
), SvgSpenicleSquare = (e) => /* @__PURE__ */ React.createElement("svg", { width: 32, height: 32, viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ React.createElement("title", null, "Spenicle"), /* @__PURE__ */ React.createElement("rect", { width: 32, height: 32, fill: "#e07a5f" }), /* @__PURE__ */ React.createElement("g", { transform: "translate(16, 16) scale(0.625) translate(-12, -12)" }, /* @__PURE__ */ React.createElement("path", { d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z", fill: "white" }))), SvgSpenicleRounded = (e) => /* @__PURE__ */ React.createElement("svg", { width: 32, height: 32, viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ React.createElement("title", null, "Spenicle"), /* @__PURE__ */ React.createElement("rect", { width: 32, height: 32, rx: 8, fill: "#e07a5f" }), /* @__PURE__ */ React.createElement("g", { transform: "translate(16, 16) scale(0.625) translate(-12, -12)" }, /* @__PURE__ */ React.createElement("path", { d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z", fill: "white" }))), SvgSpenicleCircle = (e) => /* @__PURE__ */ React.createElement("svg", { width: 32, height: 32, viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ React.createElement("title", null, "Spenicle"), /* @__PURE__ */ React.createElement("circle", { cx: 16, cy: 16, r: 16, fill: "#e07a5f" }), /* @__PURE__ */ React.createElement("g", { transform: "translate(16, 16) scale(0.625) translate(-12, -12)" }, /* @__PURE__ */ React.createElement("path", { d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z", fill: "white" }))), brandSizeClass = cva("", {
|
|
526
741
|
variants: {
|
|
527
742
|
size: {
|
|
528
743
|
xs: "h-6 w-6",
|
|
@@ -537,13 +752,13 @@ const SvgSpenicleSquare = (e) => /* @__PURE__ */ React.createElement("svg", { wi
|
|
|
537
752
|
}
|
|
538
753
|
}), BrandLogo = forwardRef(
|
|
539
754
|
({ shape: e = "square", size: t, ...r }, s) => {
|
|
540
|
-
const
|
|
755
|
+
const n = {
|
|
541
756
|
square: SvgSpenicleSquare,
|
|
542
757
|
rounded: SvgSpenicleRounded,
|
|
543
758
|
circle: SvgSpenicleCircle
|
|
544
759
|
}[e] || SvgSpenicleSquare;
|
|
545
760
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
546
|
-
|
|
761
|
+
n,
|
|
547
762
|
{
|
|
548
763
|
ref: s,
|
|
549
764
|
...r,
|
|
@@ -552,10 +767,10 @@ const SvgSpenicleSquare = (e) => /* @__PURE__ */ React.createElement("svg", { wi
|
|
|
552
767
|
);
|
|
553
768
|
}
|
|
554
769
|
), Brand = forwardRef(
|
|
555
|
-
({ name: e = "spenicle", size: t = "md", shape: r, ...s },
|
|
770
|
+
({ name: e = "spenicle", size: t = "md", shape: r, ...s }, i) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
556
771
|
"span",
|
|
557
772
|
{
|
|
558
|
-
ref:
|
|
773
|
+
ref: i,
|
|
559
774
|
className: cn("inline-flex items-center gap-2"),
|
|
560
775
|
...s,
|
|
561
776
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(BrandLogo, { shape: r, size: t, "aria-hidden": "true" })
|
|
@@ -577,7 +792,7 @@ const SvgSpenicleSquare = (e) => /* @__PURE__ */ React.createElement("svg", { wi
|
|
|
577
792
|
"secondary-outline": "border border-secondary text-secondary bg-white hover:bg-secondary hover:text-white focus-visible:ring-secondary-light focus-visible:ring-offset-white transition-all",
|
|
578
793
|
"tertiary-outline": "border border-tertiary text-tertiary bg-white hover:bg-tertiary hover:text-white focus-visible:ring-tertiary-light focus-visible:ring-offset-white transition-all",
|
|
579
794
|
"ghost-outline": "border border-ghost text-ghost bg-white hover:bg-ghost hover:text-white focus-visible:ring-ghost-light focus-visible:ring-offset-white transition-all",
|
|
580
|
-
"neutral-outline": "border border-
|
|
795
|
+
"neutral-outline": "border border-border text-foreground bg-white hover:bg-neutral hover:text-foreground focus-visible:ring-foreground-light focus-visible:ring-offset-white transition-all",
|
|
581
796
|
// Ghost variants (subtle)
|
|
582
797
|
"primary-ghost": "text-primary bg-white hover:bg-primary/20 focus-visible:ring-primary focus-visible:ring-offset-white",
|
|
583
798
|
"secondary-ghost": "text-secondary bg-white hover:bg-secondary/20 focus-visible:ring-secondary focus-visible:ring-offset-white",
|
|
@@ -616,8 +831,8 @@ const SvgSpenicleSquare = (e) => /* @__PURE__ */ React.createElement("svg", { wi
|
|
|
616
831
|
className: t,
|
|
617
832
|
variant: r = "primary",
|
|
618
833
|
size: s = "md",
|
|
619
|
-
disabled:
|
|
620
|
-
type:
|
|
834
|
+
disabled: i = !1,
|
|
835
|
+
type: n = "button",
|
|
621
836
|
children: o,
|
|
622
837
|
...a
|
|
623
838
|
}, l) {
|
|
@@ -625,11 +840,11 @@ const SvgSpenicleSquare = (e) => /* @__PURE__ */ React.createElement("svg", { wi
|
|
|
625
840
|
"button",
|
|
626
841
|
{
|
|
627
842
|
ref: l,
|
|
628
|
-
type:
|
|
843
|
+
type: n,
|
|
629
844
|
className: cn(buttonVariants({ variant: r, size: s }), t),
|
|
630
|
-
disabled:
|
|
631
|
-
"aria-disabled":
|
|
632
|
-
inert:
|
|
845
|
+
disabled: i,
|
|
846
|
+
"aria-disabled": i,
|
|
847
|
+
inert: i ? !0 : void 0,
|
|
633
848
|
...a,
|
|
634
849
|
children: o
|
|
635
850
|
}
|
|
@@ -670,7 +885,7 @@ const SvgSpenicleSquare = (e) => /* @__PURE__ */ React.createElement("svg", { wi
|
|
|
670
885
|
"secondary-outline": "border border-secondary text-secondary bg-white hover:bg-secondary hover:text-white focus-visible:ring-secondary-light focus-visible:ring-offset-white transition-all",
|
|
671
886
|
"tertiary-outline": "border border-tertiary text-tertiary bg-white hover:bg-tertiary hover:text-white focus-visible:ring-tertiary-light focus-visible:ring-offset-white transition-all",
|
|
672
887
|
"ghost-outline": "border border-ghost text-ghost bg-white hover:bg-ghost hover:text-white focus-visible:ring-ghost-light focus-visible:ring-offset-white transition-all",
|
|
673
|
-
"neutral-outline": "border border-
|
|
888
|
+
"neutral-outline": "border border-border text-foreground bg-white hover:bg-neutral hover:text-foreground focus-visible:ring-foreground-light focus-visible:ring-offset-white transition-all",
|
|
674
889
|
"primary-ghost": "text-primary bg-white hover:bg-primary/20 focus-visible:ring-primary focus-visible:ring-offset-white",
|
|
675
890
|
"secondary-ghost": "text-secondary bg-white hover:bg-secondary/20 focus-visible:ring-secondary focus-visible:ring-offset-white",
|
|
676
891
|
"tertiary-ghost": "text-tertiary bg-white hover:bg-tertiary/20 focus-visible:ring-tertiary focus-visible:ring-offset-white",
|
|
@@ -703,7 +918,7 @@ const SvgSpenicleSquare = (e) => /* @__PURE__ */ React.createElement("svg", { wi
|
|
|
703
918
|
}
|
|
704
919
|
);
|
|
705
920
|
function useFloatingPosition(e, t = "1rem") {
|
|
706
|
-
const r = useRef(null), [s,
|
|
921
|
+
const r = useRef(null), [s, i] = useState({}), [n, o] = useState("fixed bottom-4 right-4"), a = useCallback(() => {
|
|
707
922
|
const c = r.current;
|
|
708
923
|
if (!c) return;
|
|
709
924
|
const h = c.getBoundingClientRect().height > window.innerHeight;
|
|
@@ -717,7 +932,7 @@ function useFloatingPosition(e, t = "1rem") {
|
|
|
717
932
|
position: "fixed",
|
|
718
933
|
bottom: t,
|
|
719
934
|
zIndex: 50
|
|
720
|
-
}, p = `fixed bottom-4 ${e}-4`),
|
|
935
|
+
}, p = `fixed bottom-4 ${e}-4`), i(d), o(p);
|
|
721
936
|
}, [e, t]);
|
|
722
937
|
return useEffect(() => {
|
|
723
938
|
a();
|
|
@@ -732,20 +947,20 @@ function useFloatingPosition(e, t = "1rem") {
|
|
|
732
947
|
r.current = c, c && a();
|
|
733
948
|
},
|
|
734
949
|
[a]
|
|
735
|
-
), s,
|
|
950
|
+
), s, n];
|
|
736
951
|
}
|
|
737
952
|
const ButtonFloat = forwardRef(
|
|
738
953
|
function({
|
|
739
954
|
className: t,
|
|
740
955
|
variant: r = "primary",
|
|
741
956
|
size: s = "md",
|
|
742
|
-
side:
|
|
743
|
-
offset:
|
|
957
|
+
side: i = "right",
|
|
958
|
+
offset: n = "1rem",
|
|
744
959
|
...o
|
|
745
960
|
}, a) {
|
|
746
961
|
const [l, c, x] = useFloatingPosition(
|
|
747
|
-
|
|
748
|
-
|
|
962
|
+
i,
|
|
963
|
+
n
|
|
749
964
|
), [h, d] = useState(!1);
|
|
750
965
|
return useEffect(() => {
|
|
751
966
|
d(!0);
|
|
@@ -815,7 +1030,7 @@ const buttonIconVariants = cva(
|
|
|
815
1030
|
"secondary-outline": "border border-secondary text-secondary bg-white hover:bg-secondary hover:text-white focus-visible:ring-secondary-light focus-visible:ring-offset-white transition-all",
|
|
816
1031
|
"tertiary-outline": "border border-tertiary text-tertiary bg-white hover:bg-tertiary hover:text-white focus-visible:ring-tertiary-light focus-visible:ring-offset-white transition-all",
|
|
817
1032
|
"ghost-outline": "border border-ghost text-ghost bg-white hover:bg-ghost hover:text-white focus-visible:ring-ghost-light focus-visible:ring-offset-white transition-all",
|
|
818
|
-
"neutral-outline": "border border-
|
|
1033
|
+
"neutral-outline": "border border-border text-foreground bg-white hover:bg-neutral hover:text-foreground focus-visible:ring-foreground-light focus-visible:ring-offset-white transition-all",
|
|
819
1034
|
"primary-ghost": "text-primary bg-white hover:bg-primary/20 focus-visible:ring-primary focus-visible:ring-offset-white",
|
|
820
1035
|
"secondary-ghost": "text-secondary bg-white hover:bg-secondary/20 focus-visible:ring-secondary focus-visible:ring-offset-white",
|
|
821
1036
|
"tertiary-ghost": "text-tertiary bg-white hover:bg-tertiary/20 focus-visible:ring-tertiary focus-visible:ring-offset-white",
|
|
@@ -883,13 +1098,13 @@ const buttonIconVariants = cva(
|
|
|
883
1098
|
size: "md",
|
|
884
1099
|
color: "primary"
|
|
885
1100
|
}
|
|
886
|
-
}), Icon = React__default.forwardRef(function({ as: t, color: r = "primary", size: s = "md", className:
|
|
1101
|
+
}), Icon = React__default.forwardRef(function({ as: t, color: r = "primary", size: s = "md", className: i, ...n }, o) {
|
|
887
1102
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
888
1103
|
t,
|
|
889
1104
|
{
|
|
890
1105
|
ref: o,
|
|
891
|
-
className: iconVariants({ color: r, size: s, className:
|
|
892
|
-
...
|
|
1106
|
+
className: iconVariants({ color: r, size: s, className: i }),
|
|
1107
|
+
...n
|
|
893
1108
|
}
|
|
894
1109
|
);
|
|
895
1110
|
}), ButtonIcon = React__default.forwardRef(
|
|
@@ -897,8 +1112,8 @@ const buttonIconVariants = cva(
|
|
|
897
1112
|
className: t,
|
|
898
1113
|
variant: r = "primary",
|
|
899
1114
|
size: s = "md",
|
|
900
|
-
shape:
|
|
901
|
-
disabled:
|
|
1115
|
+
shape: i = "rounded",
|
|
1116
|
+
disabled: n = !1,
|
|
902
1117
|
as: o,
|
|
903
1118
|
"aria-label": a,
|
|
904
1119
|
...l
|
|
@@ -912,14 +1127,14 @@ const buttonIconVariants = cva(
|
|
|
912
1127
|
buttonIconVariants({
|
|
913
1128
|
variant: r,
|
|
914
1129
|
size: s,
|
|
915
|
-
shape:
|
|
1130
|
+
shape: i
|
|
916
1131
|
}),
|
|
917
1132
|
t
|
|
918
1133
|
),
|
|
919
|
-
disabled:
|
|
920
|
-
"aria-disabled":
|
|
1134
|
+
disabled: n,
|
|
1135
|
+
"aria-disabled": n,
|
|
921
1136
|
"aria-label": a,
|
|
922
|
-
inert:
|
|
1137
|
+
inert: n ? !0 : void 0,
|
|
923
1138
|
...l,
|
|
924
1139
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
925
1140
|
Icon,
|
|
@@ -1048,8 +1263,8 @@ const BUTTONS = [
|
|
|
1048
1263
|
onChange: t,
|
|
1049
1264
|
disabled: r,
|
|
1050
1265
|
className: s,
|
|
1051
|
-
"aria-label":
|
|
1052
|
-
},
|
|
1266
|
+
"aria-label": i
|
|
1267
|
+
}, n) => {
|
|
1053
1268
|
const { input: o, inputRef: a, handleButton: l, handleInput: c } = useCalculator({
|
|
1054
1269
|
initialValue: e,
|
|
1055
1270
|
disabled: r,
|
|
@@ -1058,9 +1273,9 @@ const BUTTONS = [
|
|
|
1058
1273
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
1059
1274
|
"div",
|
|
1060
1275
|
{
|
|
1061
|
-
ref:
|
|
1276
|
+
ref: n,
|
|
1062
1277
|
className: cn(calculatorRootVariants({ disabled: r }), s),
|
|
1063
|
-
"aria-label":
|
|
1278
|
+
"aria-label": i || "Calculator",
|
|
1064
1279
|
role: "region",
|
|
1065
1280
|
children: [
|
|
1066
1281
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -1103,128 +1318,7 @@ const BUTTONS = [
|
|
|
1103
1318
|
}
|
|
1104
1319
|
);
|
|
1105
1320
|
Calculator.displayName = "Calculator";
|
|
1106
|
-
const
|
|
1107
|
-
variants: {
|
|
1108
|
-
color: {
|
|
1109
|
-
primary: "text-primary",
|
|
1110
|
-
secondary: "text-secondary",
|
|
1111
|
-
tertiary: "text-tertiary",
|
|
1112
|
-
ghost: "text-ghost",
|
|
1113
|
-
neutral: "text-ghost",
|
|
1114
|
-
success: "text-success",
|
|
1115
|
-
info: "text-info",
|
|
1116
|
-
warning: "text-warning",
|
|
1117
|
-
danger: "text-danger",
|
|
1118
|
-
inherit: "",
|
|
1119
|
-
gray: "text-gray-500",
|
|
1120
|
-
black: "text-black",
|
|
1121
|
-
white: "text-white"
|
|
1122
|
-
},
|
|
1123
|
-
hasUnderline: {
|
|
1124
|
-
true: "underline",
|
|
1125
|
-
false: ""
|
|
1126
|
-
},
|
|
1127
|
-
isCapitalize: {
|
|
1128
|
-
true: "capitalize",
|
|
1129
|
-
false: ""
|
|
1130
|
-
},
|
|
1131
|
-
align: {
|
|
1132
|
-
left: "text-left",
|
|
1133
|
-
center: "text-center",
|
|
1134
|
-
right: "text-right",
|
|
1135
|
-
justify: "text-justify"
|
|
1136
|
-
},
|
|
1137
|
-
italic: {
|
|
1138
|
-
true: "italic",
|
|
1139
|
-
false: ""
|
|
1140
|
-
},
|
|
1141
|
-
clamp: {
|
|
1142
|
-
1: "line-clamp-1",
|
|
1143
|
-
2: "line-clamp-2",
|
|
1144
|
-
3: "line-clamp-3",
|
|
1145
|
-
4: "line-clamp-4",
|
|
1146
|
-
5: "line-clamp-5",
|
|
1147
|
-
none: ""
|
|
1148
|
-
},
|
|
1149
|
-
ellipsis: {
|
|
1150
|
-
true: "truncate",
|
|
1151
|
-
false: ""
|
|
1152
|
-
},
|
|
1153
|
-
as: {
|
|
1154
|
-
h1: "font-bold text-4xl leading-loose",
|
|
1155
|
-
h2: "font-semibold text-3xl leading-relaxed",
|
|
1156
|
-
h3: "font-medium text-2xl leading-relaxed",
|
|
1157
|
-
h4: "font-bold text-xl leading-normal",
|
|
1158
|
-
h5: "font-semibold text-lg leading-normal",
|
|
1159
|
-
h6: "font-medium text-base leading-normal",
|
|
1160
|
-
p: "font-normal text-base leading-normal",
|
|
1161
|
-
span: "font-normal text-base leading-normal",
|
|
1162
|
-
label: "font-normal text-xs leading-normal"
|
|
1163
|
-
}
|
|
1164
|
-
},
|
|
1165
|
-
defaultVariants: {
|
|
1166
|
-
color: "neutral",
|
|
1167
|
-
hasUnderline: !1,
|
|
1168
|
-
isCapitalize: !1,
|
|
1169
|
-
align: "left",
|
|
1170
|
-
italic: !1,
|
|
1171
|
-
clamp: "none",
|
|
1172
|
-
ellipsis: !1,
|
|
1173
|
-
as: "span"
|
|
1174
|
-
}
|
|
1175
|
-
}), Text = forwardRef(
|
|
1176
|
-
({
|
|
1177
|
-
as: e = "span",
|
|
1178
|
-
color: t = "ghost",
|
|
1179
|
-
hasUnderline: r = !1,
|
|
1180
|
-
isCapitalize: s = !1,
|
|
1181
|
-
align: n = "left",
|
|
1182
|
-
italic: i = !1,
|
|
1183
|
-
clamp: o = "none",
|
|
1184
|
-
ellipsis: a = !1,
|
|
1185
|
-
fontSize: l,
|
|
1186
|
-
fontWeight: c,
|
|
1187
|
-
className: x,
|
|
1188
|
-
children: h,
|
|
1189
|
-
...d
|
|
1190
|
-
}, p) => {
|
|
1191
|
-
const f = [
|
|
1192
|
-
"h1",
|
|
1193
|
-
"h2",
|
|
1194
|
-
"h3",
|
|
1195
|
-
"h4",
|
|
1196
|
-
"h5",
|
|
1197
|
-
"h6",
|
|
1198
|
-
"p",
|
|
1199
|
-
"span",
|
|
1200
|
-
"label"
|
|
1201
|
-
].includes(e) ? e : "span", v = l ? `text-${l}` : "", w = c ? `font-${c}` : "";
|
|
1202
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1203
|
-
e,
|
|
1204
|
-
{
|
|
1205
|
-
ref: p,
|
|
1206
|
-
className: cn(
|
|
1207
|
-
textVariants({
|
|
1208
|
-
color: t,
|
|
1209
|
-
hasUnderline: r,
|
|
1210
|
-
isCapitalize: s,
|
|
1211
|
-
align: n,
|
|
1212
|
-
italic: i,
|
|
1213
|
-
clamp: o,
|
|
1214
|
-
ellipsis: a,
|
|
1215
|
-
// @ts-expect-error - `as` is not a valid variant
|
|
1216
|
-
as: f
|
|
1217
|
-
}),
|
|
1218
|
-
v,
|
|
1219
|
-
w,
|
|
1220
|
-
x
|
|
1221
|
-
),
|
|
1222
|
-
...d,
|
|
1223
|
-
children: h
|
|
1224
|
-
}
|
|
1225
|
-
);
|
|
1226
|
-
}
|
|
1227
|
-
), CalendarContext = createContext(null);
|
|
1321
|
+
const CalendarContext = createContext(null);
|
|
1228
1322
|
function useCalendarContext() {
|
|
1229
1323
|
const e = useContext(CalendarContext);
|
|
1230
1324
|
if (!e)
|
|
@@ -1267,7 +1361,7 @@ const CalendarHeader = () => {
|
|
|
1267
1361
|
] })
|
|
1268
1362
|
] });
|
|
1269
1363
|
}, CalendarWeekdays = () => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-7 px-4 text-ghost-500 mb-3", children: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"].map((e) => /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { fontSize: "xs", color: "ghost", align: "center", children: e }, e)) }), CalendarDaysSingle = () => {
|
|
1270
|
-
const e = useCalendarContext(), { year: t, month: r, value: s, onChange:
|
|
1364
|
+
const e = useCalendarContext(), { year: t, month: r, value: s, onChange: i, setMonth: n, setYear: o } = e, a = (g, m) => new Date(g, m + 1, 0).getDate(), c = ((g, m) => new Date(g, m, 1).getDay())(t, r), x = a(t, r), h = r - 1 < 0 ? 11 : r - 1, d = r === 0 ? t - 1 : t, p = a(t, h), y = r === 11 ? 0 : r + 1, f = r === 11 ? t + 1 : t, v = [];
|
|
1271
1365
|
for (let g = 0; g < c; g++) {
|
|
1272
1366
|
const m = p - c + g + 1;
|
|
1273
1367
|
v.push(
|
|
@@ -1279,7 +1373,7 @@ const CalendarHeader = () => {
|
|
|
1279
1373
|
"aria-label": "Previous month day",
|
|
1280
1374
|
variant: "ghost",
|
|
1281
1375
|
onClick: () => {
|
|
1282
|
-
|
|
1376
|
+
i?.(new Date(d, h, m)), n(h), o(d);
|
|
1283
1377
|
}
|
|
1284
1378
|
},
|
|
1285
1379
|
"prev-" + g
|
|
@@ -1307,7 +1401,7 @@ const CalendarHeader = () => {
|
|
|
1307
1401
|
"aria-label": `Select ${t}-${r + 1}-${g}`,
|
|
1308
1402
|
"aria-current": m ? "date" : void 0,
|
|
1309
1403
|
onClick: () => {
|
|
1310
|
-
|
|
1404
|
+
i?.(new Date(t, r, g));
|
|
1311
1405
|
}
|
|
1312
1406
|
},
|
|
1313
1407
|
g
|
|
@@ -1325,7 +1419,7 @@ const CalendarHeader = () => {
|
|
|
1325
1419
|
"aria-label": "Next month day",
|
|
1326
1420
|
variant: "ghost",
|
|
1327
1421
|
onClick: () => {
|
|
1328
|
-
|
|
1422
|
+
i?.(new Date(f, y, g + 1)), n(y), o(f);
|
|
1329
1423
|
}
|
|
1330
1424
|
},
|
|
1331
1425
|
"next-" + g
|
|
@@ -1333,7 +1427,7 @@ const CalendarHeader = () => {
|
|
|
1333
1427
|
);
|
|
1334
1428
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-7 gap-2 px-4 pb-4", children: v });
|
|
1335
1429
|
}, CalendarDaysRange = () => {
|
|
1336
|
-
const { year: e, month: t, value: r, onChange: s, setMonth:
|
|
1430
|
+
const { year: e, month: t, value: r, onChange: s, setMonth: i, setYear: n } = useCalendarContext(), o = (u, b) => new Date(u, b + 1, 0).getDate(), l = ((u, b) => new Date(u, b, 1).getDay())(e, t), c = o(e, t), x = t - 1 < 0 ? 11 : t - 1, h = t === 0 ? e - 1 : e, d = o(e, x), p = t === 11 ? 0 : t + 1, y = t === 11 ? e + 1 : e, f = [], v = () => {
|
|
1337
1431
|
if (!Array.isArray(r)) return [null, null];
|
|
1338
1432
|
const [u, b] = r;
|
|
1339
1433
|
return !u && !b ? [null, null] : u && b ? u <= b ? [u, b] : [b, u] : [u, b];
|
|
@@ -1353,7 +1447,7 @@ const CalendarHeader = () => {
|
|
|
1353
1447
|
"aria-label": "Previous month day",
|
|
1354
1448
|
variant: "ghost",
|
|
1355
1449
|
onClick: () => {
|
|
1356
|
-
s?.([null, null]),
|
|
1450
|
+
s?.([null, null]), i(x), n(h);
|
|
1357
1451
|
}
|
|
1358
1452
|
},
|
|
1359
1453
|
"prev-" + u
|
|
@@ -1408,7 +1502,7 @@ const CalendarHeader = () => {
|
|
|
1408
1502
|
"aria-label": "Next month day",
|
|
1409
1503
|
variant: "ghost",
|
|
1410
1504
|
onClick: () => {
|
|
1411
|
-
s?.([null, null]),
|
|
1505
|
+
s?.([null, null]), i(p), n(y);
|
|
1412
1506
|
}
|
|
1413
1507
|
},
|
|
1414
1508
|
"next-" + u
|
|
@@ -1424,21 +1518,21 @@ function useCalendar({
|
|
|
1424
1518
|
type: t,
|
|
1425
1519
|
onChange: r,
|
|
1426
1520
|
initialYear: s,
|
|
1427
|
-
initialMonth:
|
|
1521
|
+
initialMonth: i
|
|
1428
1522
|
}) {
|
|
1429
|
-
const [
|
|
1523
|
+
const [n, o] = useState(i), [a, l] = useState(s), [c, x] = useState([
|
|
1430
1524
|
null,
|
|
1431
1525
|
null
|
|
1432
1526
|
]);
|
|
1433
1527
|
let h = e;
|
|
1434
1528
|
t === "range" && !e && (h = c);
|
|
1435
1529
|
const d = useCallback(() => {
|
|
1436
|
-
const f =
|
|
1530
|
+
const f = n === 0 ? 11 : n - 1, v = n === 0 ? a - 1 : a;
|
|
1437
1531
|
o(f), l(v), t === "single" && r?.(new Date(v, f, 1));
|
|
1438
|
-
}, [
|
|
1439
|
-
const f =
|
|
1532
|
+
}, [n, a, t, r]), p = useCallback(() => {
|
|
1533
|
+
const f = n === 11 ? 0 : n + 1, v = n === 11 ? a + 1 : a;
|
|
1440
1534
|
o(f), l(v), t === "single" && r?.(new Date(v, f, 1));
|
|
1441
|
-
}, [
|
|
1535
|
+
}, [n, a, t, r]), y = useCallback(
|
|
1442
1536
|
(f) => {
|
|
1443
1537
|
t === "single" ? r?.(f) : t === "range" && (x(f), r?.(f));
|
|
1444
1538
|
},
|
|
@@ -1446,7 +1540,7 @@ function useCalendar({
|
|
|
1446
1540
|
);
|
|
1447
1541
|
return {
|
|
1448
1542
|
year: a,
|
|
1449
|
-
month:
|
|
1543
|
+
month: n,
|
|
1450
1544
|
value: h,
|
|
1451
1545
|
setMonth: o,
|
|
1452
1546
|
setYear: l,
|
|
@@ -1460,14 +1554,14 @@ const CalendarRoot = ({
|
|
|
1460
1554
|
onChange: t,
|
|
1461
1555
|
className: r,
|
|
1462
1556
|
type: s = "single",
|
|
1463
|
-
...
|
|
1557
|
+
...i
|
|
1464
1558
|
}) => {
|
|
1465
|
-
const
|
|
1559
|
+
const n = /* @__PURE__ */ new Date(), o = useCalendar({
|
|
1466
1560
|
value: e,
|
|
1467
1561
|
onChange: t,
|
|
1468
1562
|
type: s,
|
|
1469
|
-
initialYear:
|
|
1470
|
-
initialMonth:
|
|
1563
|
+
initialYear: n.getFullYear(),
|
|
1564
|
+
initialMonth: n.getMonth()
|
|
1471
1565
|
});
|
|
1472
1566
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1473
1567
|
CalendarContext.Provider,
|
|
@@ -1481,7 +1575,7 @@ const CalendarRoot = ({
|
|
|
1481
1575
|
setYear: o.setYear,
|
|
1482
1576
|
onChange: o.onChange
|
|
1483
1577
|
},
|
|
1484
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: cn("select-none", r), ...
|
|
1578
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: cn("select-none", r), ...i, children: [
|
|
1485
1579
|
/* @__PURE__ */ jsxRuntimeExports.jsx(CalendarHeader, {}),
|
|
1486
1580
|
/* @__PURE__ */ jsxRuntimeExports.jsx(CalendarWeekdays, {}),
|
|
1487
1581
|
/* @__PURE__ */ jsxRuntimeExports.jsx(CalendarDays, {})
|
|
@@ -1545,12 +1639,12 @@ const CalendarRoot = ({
|
|
|
1545
1639
|
}
|
|
1546
1640
|
}
|
|
1547
1641
|
), Tile = forwardRef(
|
|
1548
|
-
({ variant: e = "white", size: t = "md", shape: r = "rounded", className: s, ...
|
|
1642
|
+
({ variant: e = "white", size: t = "md", shape: r = "rounded", className: s, ...i }, n) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1549
1643
|
"div",
|
|
1550
1644
|
{
|
|
1551
|
-
ref:
|
|
1645
|
+
ref: n,
|
|
1552
1646
|
className: cn(tileVariants({ variant: e, size: t, shape: r }), s),
|
|
1553
|
-
...
|
|
1647
|
+
...i
|
|
1554
1648
|
}
|
|
1555
1649
|
)
|
|
1556
1650
|
), Card = forwardRef(
|
|
@@ -1559,8 +1653,8 @@ const CalendarRoot = ({
|
|
|
1559
1653
|
shape: t = "rounded",
|
|
1560
1654
|
avatar: r,
|
|
1561
1655
|
title: s,
|
|
1562
|
-
subtitle:
|
|
1563
|
-
badge:
|
|
1656
|
+
subtitle: i,
|
|
1657
|
+
badge: n,
|
|
1564
1658
|
supplementaryInfo: o,
|
|
1565
1659
|
className: a,
|
|
1566
1660
|
...l
|
|
@@ -1573,26 +1667,91 @@ const CalendarRoot = ({
|
|
|
1573
1667
|
children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start gap-4", children: [
|
|
1574
1668
|
r && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-shrink-0", children: r }),
|
|
1575
1669
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "w-full", children: [
|
|
1576
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: cn("mb-4", !
|
|
1670
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: cn("mb-4", !n && !o && "mb-0"), children: [
|
|
1577
1671
|
s && /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { as: "h3", fontSize: "base", fontWeight: "semibold", children: s }),
|
|
1578
|
-
|
|
1672
|
+
i && /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { as: "p", fontSize: "xs", color: "gray", children: i })
|
|
1579
1673
|
] }),
|
|
1580
|
-
(
|
|
1581
|
-
|
|
1674
|
+
(n || o) && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex justify-between items-center", children: [
|
|
1675
|
+
n,
|
|
1582
1676
|
o && o
|
|
1583
1677
|
] })
|
|
1584
1678
|
] })
|
|
1585
1679
|
] })
|
|
1586
1680
|
}
|
|
1587
1681
|
)
|
|
1682
|
+
), filterChipVariants = cva(
|
|
1683
|
+
"inline-flex items-center gap-1.5 rounded-full font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none select-none cursor-pointer text-sm leading-none",
|
|
1684
|
+
{
|
|
1685
|
+
variants: {
|
|
1686
|
+
variant: {
|
|
1687
|
+
// Core variants using Versaur color system
|
|
1688
|
+
primary: "bg-primary-light text-primary hover:bg-primary-soft focus-visible:ring-primary-light focus-visible:ring-offset-white",
|
|
1689
|
+
secondary: "bg-secondary-light text-secondary hover:bg-secondary-soft focus-visible:ring-secondary-light focus-visible:ring-offset-white",
|
|
1690
|
+
tertiary: "bg-tertiary-light text-tertiary hover:bg-tertiary-soft focus-visible:ring-tertiary-light focus-visible:ring-offset-white",
|
|
1691
|
+
ghost: "bg-white text-foreground hover:bg-ghost-soft focus-visible:ring-ghost-light focus-visible:ring-offset-white",
|
|
1692
|
+
neutral: "bg-neutral text-foreground hover:bg-neutral/80 focus-visible:ring-foreground-light focus-visible:ring-offset-white",
|
|
1693
|
+
// Outline variants
|
|
1694
|
+
"primary-outline": "border border-primary text-primary bg-white hover:bg-primary-soft focus-visible:ring-primary-light focus-visible:ring-offset-white",
|
|
1695
|
+
"secondary-outline": "border border-secondary text-secondary bg-white hover:bg-secondary-soft focus-visible:ring-secondary-light focus-visible:ring-offset-white",
|
|
1696
|
+
"tertiary-outline": "border border-tertiary text-tertiary bg-white hover:bg-tertiary-soft focus-visible:ring-tertiary-light focus-visible:ring-offset-white",
|
|
1697
|
+
"ghost-outline": "border border-ghost text-ghost bg-white hover:bg-ghost-soft focus-visible:ring-ghost-light focus-visible:ring-offset-white",
|
|
1698
|
+
"neutral-outline": "border border-border text-foreground bg-white hover:bg-neutral focus-visible:ring-foreground-light focus-visible:ring-offset-white",
|
|
1699
|
+
// Semantic variants
|
|
1700
|
+
success: "bg-success text-white hover:bg-success/90 focus-visible:ring-success-light focus-visible:ring-offset-white",
|
|
1701
|
+
"success-outline": "border border-success text-success bg-white hover:bg-success-soft focus-visible:ring-success-light focus-visible:ring-offset-white",
|
|
1702
|
+
info: "bg-info text-white hover:bg-info/90 focus-visible:ring-info-light focus-visible:ring-offset-white",
|
|
1703
|
+
"info-outline": "border border-info text-info bg-white hover:bg-info-soft focus-visible:ring-info-light focus-visible:ring-offset-white",
|
|
1704
|
+
warning: "bg-warning text-white hover:bg-warning/90 focus-visible:ring-warning-light focus-visible:ring-offset-white",
|
|
1705
|
+
"warning-outline": "border border-warning text-warning bg-white hover:bg-warning-soft focus-visible:ring-warning-light focus-visible:ring-offset-white",
|
|
1706
|
+
danger: "bg-danger text-white hover:bg-danger/90 focus-visible:ring-danger-light focus-visible:ring-offset-white",
|
|
1707
|
+
"danger-outline": "border border-danger text-danger bg-white hover:bg-danger-soft focus-visible:ring-danger-light focus-visible:ring-offset-white"
|
|
1708
|
+
},
|
|
1709
|
+
size: {
|
|
1710
|
+
sm: "h-7 px-3 text-xs",
|
|
1711
|
+
md: "h-8 px-4 text-sm",
|
|
1712
|
+
lg: "h-9 px-5 text-sm"
|
|
1713
|
+
}
|
|
1714
|
+
},
|
|
1715
|
+
defaultVariants: {
|
|
1716
|
+
variant: "neutral-outline",
|
|
1717
|
+
size: "md"
|
|
1718
|
+
}
|
|
1719
|
+
}
|
|
1720
|
+
), FilterChip = React__default.forwardRef(
|
|
1721
|
+
function e({
|
|
1722
|
+
className: t,
|
|
1723
|
+
variant: r = "neutral-outline",
|
|
1724
|
+
size: s = "md",
|
|
1725
|
+
disabled: i = !1,
|
|
1726
|
+
children: n,
|
|
1727
|
+
...o
|
|
1728
|
+
}, a) {
|
|
1729
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
1730
|
+
"button",
|
|
1731
|
+
{
|
|
1732
|
+
ref: a,
|
|
1733
|
+
type: "button",
|
|
1734
|
+
className: cn(filterChipVariants({ variant: r, size: s }), t),
|
|
1735
|
+
disabled: i,
|
|
1736
|
+
"aria-disabled": i,
|
|
1737
|
+
"aria-label": `${n}, removable`,
|
|
1738
|
+
inert: i ? !0 : void 0,
|
|
1739
|
+
...o,
|
|
1740
|
+
children: [
|
|
1741
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-shrink-0", children: n }),
|
|
1742
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { as: XIcon, color: "inherit", size: s === "lg" ? "md" : "sm" })
|
|
1743
|
+
]
|
|
1744
|
+
}
|
|
1745
|
+
);
|
|
1746
|
+
}
|
|
1588
1747
|
), noResultsVariants = cva(
|
|
1589
1748
|
"flex flex-col items-center justify-center text-center border border-border rounded-lg bg-background",
|
|
1590
1749
|
{
|
|
1591
1750
|
variants: {
|
|
1592
1751
|
spacing: {
|
|
1593
|
-
sm: "py-8",
|
|
1594
|
-
md: "py-12",
|
|
1595
|
-
lg: "py-16"
|
|
1752
|
+
sm: "py-8 px-4",
|
|
1753
|
+
md: "py-12 px-6",
|
|
1754
|
+
lg: "py-16 px-8"
|
|
1596
1755
|
},
|
|
1597
1756
|
hasGrayBackground: {
|
|
1598
1757
|
true: "bg-neutral-soft",
|
|
@@ -1606,27 +1765,23 @@ const CalendarRoot = ({
|
|
|
1606
1765
|
}
|
|
1607
1766
|
), noResultsHeaderVariants = cva(
|
|
1608
1767
|
"flex flex-row items-center gap-3 mb-2"
|
|
1609
|
-
), noResultsTitleVariants = cva(
|
|
1610
|
-
"text-lg font-semibold text-foreground"
|
|
1611
|
-
), noResultsSubtitleVariants = cva(
|
|
1612
|
-
"text-foreground-light mb-6 max-w-md"
|
|
1613
1768
|
), NoResults = React__default.forwardRef(
|
|
1614
|
-
function e({ icon: t, title: r, subtitle: s, action:
|
|
1769
|
+
function e({ icon: t, title: r, subtitle: s, action: i, className: n, hasGrayBackground: o, ...a }, l) {
|
|
1615
1770
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
1616
1771
|
"section",
|
|
1617
1772
|
{
|
|
1618
1773
|
ref: l,
|
|
1619
|
-
className: cn(noResultsVariants({ hasGrayBackground: o }),
|
|
1774
|
+
className: cn(noResultsVariants({ hasGrayBackground: o }), n),
|
|
1620
1775
|
role: "status",
|
|
1621
1776
|
"aria-label": "No results found",
|
|
1622
1777
|
...a,
|
|
1623
1778
|
children: [
|
|
1624
1779
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("header", { className: noResultsHeaderVariants(), children: [
|
|
1625
1780
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { as: t, size: "lg", color: "ghost", "aria-hidden": "true" }),
|
|
1626
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Text, { as: "h2",
|
|
1781
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Text, { as: "h2", fontSize: "lg", children: r })
|
|
1627
1782
|
] }),
|
|
1628
|
-
s && /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { as: "p", className:
|
|
1629
|
-
|
|
1783
|
+
s && /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { as: "p", align: "center", color: "gray", className: "mb-4", children: s }),
|
|
1784
|
+
i && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { role: "group", "aria-label": "Available actions", children: i })
|
|
1630
1785
|
]
|
|
1631
1786
|
}
|
|
1632
1787
|
);
|
|
@@ -1702,7 +1857,7 @@ const getTableColumnClass = (e) => {
|
|
|
1702
1857
|
}
|
|
1703
1858
|
}, TableHeader = forwardRef(
|
|
1704
1859
|
({ children: e, className: t, ...r }, s) => {
|
|
1705
|
-
const { columns:
|
|
1860
|
+
const { columns: i } = useTableContext();
|
|
1706
1861
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1707
1862
|
"div",
|
|
1708
1863
|
{
|
|
@@ -1714,7 +1869,7 @@ const getTableColumnClass = (e) => {
|
|
|
1714
1869
|
"div",
|
|
1715
1870
|
{
|
|
1716
1871
|
role: "row",
|
|
1717
|
-
className: cn("grid gap-4", getTableColumnClass(
|
|
1872
|
+
className: cn("grid gap-4", getTableColumnClass(i)),
|
|
1718
1873
|
children: e
|
|
1719
1874
|
}
|
|
1720
1875
|
)
|
|
@@ -1725,7 +1880,7 @@ const getTableColumnClass = (e) => {
|
|
|
1725
1880
|
({ children: e, className: t, ...r }, s) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { role: "rowgroup", ref: s, className: cn(t), ...r, children: e })
|
|
1726
1881
|
), TableFooter = forwardRef(
|
|
1727
1882
|
({ children: e, className: t, ...r }, s) => {
|
|
1728
|
-
const { columns:
|
|
1883
|
+
const { columns: i } = useTableContext();
|
|
1729
1884
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1730
1885
|
"div",
|
|
1731
1886
|
{
|
|
@@ -1737,7 +1892,7 @@ const getTableColumnClass = (e) => {
|
|
|
1737
1892
|
"div",
|
|
1738
1893
|
{
|
|
1739
1894
|
role: "row",
|
|
1740
|
-
className: cn("grid gap-4", getTableColumnClass(
|
|
1895
|
+
className: cn("grid gap-4", getTableColumnClass(i)),
|
|
1741
1896
|
children: e
|
|
1742
1897
|
}
|
|
1743
1898
|
)
|
|
@@ -1746,14 +1901,14 @@ const getTableColumnClass = (e) => {
|
|
|
1746
1901
|
}
|
|
1747
1902
|
), TableRow = forwardRef(
|
|
1748
1903
|
({ children: e, className: t, ...r }, s) => {
|
|
1749
|
-
const { columns:
|
|
1904
|
+
const { columns: i } = useTableContext();
|
|
1750
1905
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1751
1906
|
"div",
|
|
1752
1907
|
{
|
|
1753
1908
|
role: "row",
|
|
1754
1909
|
className: cn(
|
|
1755
1910
|
"grid gap-4",
|
|
1756
|
-
getTableColumnClass(
|
|
1911
|
+
getTableColumnClass(i),
|
|
1757
1912
|
"border-b border-border last:border-0",
|
|
1758
1913
|
t
|
|
1759
1914
|
),
|
|
@@ -1764,7 +1919,7 @@ const getTableColumnClass = (e) => {
|
|
|
1764
1919
|
);
|
|
1765
1920
|
}
|
|
1766
1921
|
), TableColumn = forwardRef(
|
|
1767
|
-
({ as: e = "td", span: t, align: r = "left", children: s, className:
|
|
1922
|
+
({ as: e = "td", span: t, align: r = "left", children: s, className: i, ...n }, o) => {
|
|
1768
1923
|
const a = e === "th" ? "columnheader" : "cell";
|
|
1769
1924
|
let l = "text-left";
|
|
1770
1925
|
return r === "center" ? l = "text-center" : r === "right" && (l = "text-right"), /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -1778,9 +1933,9 @@ const getTableColumnClass = (e) => {
|
|
|
1778
1933
|
getRowSpanClass(t),
|
|
1779
1934
|
l,
|
|
1780
1935
|
"truncate overflow-hidden whitespace-nowrap",
|
|
1781
|
-
|
|
1936
|
+
i
|
|
1782
1937
|
),
|
|
1783
|
-
...
|
|
1938
|
+
...n,
|
|
1784
1939
|
children: s
|
|
1785
1940
|
}
|
|
1786
1941
|
);
|
|
@@ -1812,10 +1967,10 @@ const getTableColumnClass = (e) => {
|
|
|
1812
1967
|
}
|
|
1813
1968
|
)
|
|
1814
1969
|
), TableRoot = forwardRef(
|
|
1815
|
-
({ children: e, className: t, columns: r = 12, ...s },
|
|
1970
|
+
({ children: e, className: t, columns: r = 12, ...s }, i) => /* @__PURE__ */ jsxRuntimeExports.jsx(TableProvider, { value: { columns: r }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1816
1971
|
"div",
|
|
1817
1972
|
{
|
|
1818
|
-
ref:
|
|
1973
|
+
ref: i,
|
|
1819
1974
|
role: "table",
|
|
1820
1975
|
className: cn(
|
|
1821
1976
|
// Versaur design system: border, background, shadow, rounded, spacing
|
|
@@ -1867,19 +2022,19 @@ function getColSpan(e = 4) {
|
|
|
1867
2022
|
return "col-span-4";
|
|
1868
2023
|
}
|
|
1869
2024
|
}
|
|
1870
|
-
const DescriptionListItem = forwardRef(function e({ children: t, className: r, span: s = 4, ...
|
|
2025
|
+
const DescriptionListItem = forwardRef(function e({ children: t, className: r, span: s = 4, ...i }, n) {
|
|
1871
2026
|
const o = getColSpan(s);
|
|
1872
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref:
|
|
2027
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: n, className: cn(o, r), ...i, children: t });
|
|
1873
2028
|
}), DescriptionListTerm = forwardRef(function e({ children: t, ...r }, s) {
|
|
1874
2029
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("dt", { ref: s, ...r, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { as: "span", fontSize: "sm", fontWeight: "medium", color: "gray", children: t }) });
|
|
1875
|
-
}), DescriptionListDetails = forwardRef(function e({ children: t, color: r = "black", ...s },
|
|
1876
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("dd", { ref:
|
|
2030
|
+
}), DescriptionListDetails = forwardRef(function e({ children: t, color: r = "black", ...s }, i) {
|
|
2031
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("dd", { ref: i, ...s, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { as: "span", fontSize: "base", fontWeight: "medium", color: r, children: t }) });
|
|
1877
2032
|
}), DescriptionListRoot = forwardRef(
|
|
1878
|
-
function e({ children: t, className: r, ...s },
|
|
2033
|
+
function e({ children: t, className: r, ...s }, i) {
|
|
1879
2034
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1880
2035
|
"dl",
|
|
1881
2036
|
{
|
|
1882
|
-
ref:
|
|
2037
|
+
ref: i,
|
|
1883
2038
|
className: cn("grid grid-cols-12 gap-y-4", r),
|
|
1884
2039
|
...s,
|
|
1885
2040
|
children: t
|
|
@@ -1892,20 +2047,20 @@ const DescriptionListItem = forwardRef(function e({ children: t, className: r, s
|
|
|
1892
2047
|
Details: DescriptionListDetails
|
|
1893
2048
|
});
|
|
1894
2049
|
function useImage({ src: e }) {
|
|
1895
|
-
const [t, r] = useState(!1), [s,
|
|
2050
|
+
const [t, r] = useState(!1), [s, i] = useState(!1), n = useRef(!1), o = () => {
|
|
1896
2051
|
r(!0);
|
|
1897
2052
|
}, a = () => {
|
|
1898
|
-
|
|
2053
|
+
i(!0);
|
|
1899
2054
|
};
|
|
1900
2055
|
return useEffect(() => {
|
|
1901
2056
|
if (!e) return;
|
|
1902
2057
|
const l = new Image();
|
|
1903
2058
|
return l.src = e, l.onload = () => {
|
|
1904
|
-
|
|
2059
|
+
n.current || r(!0);
|
|
1905
2060
|
}, l.onerror = () => {
|
|
1906
|
-
|
|
2061
|
+
n.current || i(!0);
|
|
1907
2062
|
}, () => {
|
|
1908
|
-
|
|
2063
|
+
n.current = !0;
|
|
1909
2064
|
};
|
|
1910
2065
|
}, [e]), {
|
|
1911
2066
|
loaded: t,
|
|
@@ -1972,13 +2127,13 @@ function BaseImageSkeleton({
|
|
|
1972
2127
|
shape: t,
|
|
1973
2128
|
size: r,
|
|
1974
2129
|
height: s,
|
|
1975
|
-
width:
|
|
2130
|
+
width: i
|
|
1976
2131
|
}) {
|
|
1977
2132
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1978
2133
|
Skeleton,
|
|
1979
2134
|
{
|
|
1980
2135
|
className: cn(imageAtomVariants({ shape: t, size: r }), e),
|
|
1981
|
-
style: { height: s, width:
|
|
2136
|
+
style: { height: s, width: i }
|
|
1982
2137
|
}
|
|
1983
2138
|
);
|
|
1984
2139
|
}
|
|
@@ -1987,15 +2142,15 @@ function BaseImageFallback({
|
|
|
1987
2142
|
width: t,
|
|
1988
2143
|
height: r,
|
|
1989
2144
|
className: s,
|
|
1990
|
-
style:
|
|
1991
|
-
shape:
|
|
2145
|
+
style: i,
|
|
2146
|
+
shape: n,
|
|
1992
2147
|
size: o
|
|
1993
2148
|
}) {
|
|
1994
2149
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
1995
2150
|
"div",
|
|
1996
2151
|
{
|
|
1997
|
-
className: imageAtomVariants({ shape:
|
|
1998
|
-
style: { width: t, height: r, ...
|
|
2152
|
+
className: imageAtomVariants({ shape: n, size: o, className: s }),
|
|
2153
|
+
style: { width: t, height: r, ...i },
|
|
1999
2154
|
"aria-label": e,
|
|
2000
2155
|
role: "img",
|
|
2001
2156
|
children: [
|
|
@@ -2018,8 +2173,8 @@ const BaseImage = forwardRef(
|
|
|
2018
2173
|
alt: t,
|
|
2019
2174
|
onLoad: r,
|
|
2020
2175
|
onError: s,
|
|
2021
|
-
width:
|
|
2022
|
-
height:
|
|
2176
|
+
width: i,
|
|
2177
|
+
height: n,
|
|
2023
2178
|
loading: o = "lazy",
|
|
2024
2179
|
position: a = "cover",
|
|
2025
2180
|
size: l = "auto",
|
|
@@ -2029,7 +2184,7 @@ const BaseImage = forwardRef(
|
|
|
2029
2184
|
}, d) => {
|
|
2030
2185
|
const { loaded: p, errored: y, handleLoad: f, handleError: v } = useImage({
|
|
2031
2186
|
src: e
|
|
2032
|
-
}), w = typeof
|
|
2187
|
+
}), w = typeof i == "number" ? i : Number(i), g = typeof n == "number" ? n : Number(n);
|
|
2033
2188
|
return !p && !y ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
2034
2189
|
BaseImageSkeleton,
|
|
2035
2190
|
{
|
|
@@ -2078,21 +2233,24 @@ export {
|
|
|
2078
2233
|
Badge as B,
|
|
2079
2234
|
Calculator as C,
|
|
2080
2235
|
DescriptionList as D,
|
|
2236
|
+
FilterChip as F,
|
|
2081
2237
|
Icon as I,
|
|
2082
2238
|
NoResults as N,
|
|
2083
2239
|
Table as T,
|
|
2084
2240
|
Anchor as a,
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2241
|
+
Attribute as b,
|
|
2242
|
+
AttributeList as c,
|
|
2243
|
+
Avatar as d,
|
|
2244
|
+
Brand as e,
|
|
2245
|
+
Button as f,
|
|
2246
|
+
ButtonFloat as g,
|
|
2247
|
+
ButtonIcon as h,
|
|
2248
|
+
Calendar as i,
|
|
2249
|
+
Card as j,
|
|
2250
|
+
Text as k,
|
|
2251
|
+
Tile as l,
|
|
2252
|
+
ImageCircle as m,
|
|
2253
|
+
ImageSquare as n,
|
|
2254
|
+
ImageRectangle as o,
|
|
2255
|
+
BaseImage as p
|
|
2098
2256
|
};
|