@dimasbaguspm/versaur 0.0.44 → 0.0.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,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, { createContext, useContext, forwardRef, useState, useEffect, useCallback, useRef, useId, cloneElement } from "react";
4
- import { ChevronDown, CheckIcon, EllipsisVerticalIcon, X, XIcon, ImageOff } from "lucide-react";
4
+ import { ChevronDown, ChevronRight, CheckIcon, EllipsisVerticalIcon, X, XIcon, ImageOff } from "lucide-react";
5
5
  import ReactDOM from "react-dom";
6
6
  import { S as Skeleton } from "./skeleton-BNZyaRjo.js";
7
7
  const AccordionContext = createContext(
@@ -146,12 +146,12 @@ const AccordionContext = createContext(
146
146
  isCapitalize: i = !1,
147
147
  hasMargin: s = !1,
148
148
  align: n = "left",
149
- italic: a = !1,
149
+ italic: o = !1,
150
150
  clamp: l = "none",
151
151
  ellipsis: u = !1,
152
152
  className: c,
153
153
  children: f,
154
- ...o
154
+ ...a
155
155
  }, d) => {
156
156
  const h = `h${e}`;
157
157
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -165,14 +165,14 @@ const AccordionContext = createContext(
165
165
  isCapitalize: i,
166
166
  hasMargin: s,
167
167
  align: n,
168
- italic: a,
168
+ italic: o,
169
169
  clamp: l,
170
170
  ellipsis: u,
171
171
  level: e
172
172
  }),
173
173
  c
174
174
  ),
175
- ...o,
175
+ ...a,
176
176
  children: f
177
177
  }
178
178
  );
@@ -209,11 +209,11 @@ const iconVariants = cva("inline-flex items-center justify-center", {
209
209
  size: "md",
210
210
  color: "primary"
211
211
  }
212
- }), Icon = React__default.forwardRef(function({ as: t, color: r = "primary", size: i = "md", className: s, ...n }, a) {
212
+ }), Icon = React__default.forwardRef(function({ as: t, color: r = "primary", size: i = "md", className: s, ...n }, o) {
213
213
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
214
214
  t,
215
215
  {
216
- ref: a,
216
+ ref: o,
217
217
  className: iconVariants({ color: r, size: i, className: s }),
218
218
  ...n
219
219
  }
@@ -261,12 +261,12 @@ const iconVariants = cva("inline-flex items-center justify-center", {
261
261
  isDefaultOpen: i = !1,
262
262
  disabled: s = !1,
263
263
  hasMargin: n,
264
- className: a,
264
+ className: o,
265
265
  children: l,
266
266
  ...u
267
267
  }, c) {
268
- const [f, o] = useState(i), d = () => {
269
- s || o((m) => !m);
268
+ const [f, a] = useState(i), d = () => {
269
+ s || a((x) => !x);
270
270
  }, h = {
271
271
  isOpen: f,
272
272
  toggle: d,
@@ -278,7 +278,7 @@ const iconVariants = cva("inline-flex items-center justify-center", {
278
278
  ref: c,
279
279
  className: cn(
280
280
  accordionVariants({ disabled: s }),
281
- a,
281
+ o,
282
282
  n && "mb-4"
283
283
  ),
284
284
  ...u,
@@ -318,6 +318,256 @@ const iconVariants = cva("inline-flex items-center justify-center", {
318
318
  Title: AccordionTitle,
319
319
  Content: AccordionContent,
320
320
  Icon: AccordionIcon
321
+ }), actionCardVariants = cva(
322
+ "group flex items-center justify-between transition-all duration-200 w-full",
323
+ {
324
+ variants: {
325
+ size: {
326
+ sm: "p-3",
327
+ md: "p-4",
328
+ lg: "p-5"
329
+ },
330
+ as: {
331
+ button: "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-light hover:bg-gray-50 cursor-pointer",
332
+ div: ""
333
+ }
334
+ },
335
+ defaultVariants: {
336
+ size: "md",
337
+ as: "button"
338
+ }
339
+ }
340
+ ), iconContainerVariants = cva(
341
+ "bg-gradient-to-br from-gray-100 to-gray-200 rounded-xl flex items-center justify-center group-hover:from-primary-soft group-hover:to-primary-light duration-200",
342
+ {
343
+ variants: {
344
+ size: {
345
+ sm: "w-8 h-8",
346
+ md: "w-10 h-10",
347
+ lg: "w-12 h-12"
348
+ }
349
+ },
350
+ defaultVariants: {
351
+ size: "md"
352
+ }
353
+ }
354
+ ), arrowVariants = cva(
355
+ "inline-flex items-center justify-center text-ghost-bold transition-colors duration-200",
356
+ {
357
+ variants: {
358
+ size: {
359
+ sm: "w-3 h-3",
360
+ md: "w-4 h-4",
361
+ lg: "w-5 h-5"
362
+ }
363
+ },
364
+ defaultVariants: {
365
+ size: "md"
366
+ }
367
+ }
368
+ ), textVariants = cva("", {
369
+ variants: {
370
+ color: {
371
+ primary: "text-primary",
372
+ secondary: "text-secondary",
373
+ tertiary: "text-tertiary",
374
+ ghost: "text-ghost",
375
+ neutral: "text-ghost",
376
+ success: "text-success",
377
+ info: "text-info",
378
+ warning: "text-warning",
379
+ danger: "text-danger",
380
+ inherit: "",
381
+ gray: "text-gray-500",
382
+ black: "text-black",
383
+ white: "text-white"
384
+ },
385
+ hasUnderline: {
386
+ true: "underline",
387
+ false: ""
388
+ },
389
+ isCapitalize: {
390
+ true: "capitalize",
391
+ false: ""
392
+ },
393
+ align: {
394
+ left: "text-left",
395
+ center: "text-center",
396
+ right: "text-right",
397
+ justify: "text-justify"
398
+ },
399
+ italic: {
400
+ true: "italic",
401
+ false: ""
402
+ },
403
+ clamp: {
404
+ 1: "line-clamp-1",
405
+ 2: "line-clamp-2",
406
+ 3: "line-clamp-3",
407
+ 4: "line-clamp-4",
408
+ 5: "line-clamp-5",
409
+ none: ""
410
+ },
411
+ ellipsis: {
412
+ true: "truncate",
413
+ false: ""
414
+ },
415
+ as: {
416
+ h1: "font-bold text-4xl leading-loose",
417
+ h2: "font-semibold text-3xl leading-relaxed",
418
+ h3: "font-medium text-2xl leading-relaxed",
419
+ h4: "font-bold text-xl leading-normal",
420
+ h5: "font-semibold text-lg leading-normal",
421
+ h6: "font-medium text-base leading-normal",
422
+ p: "font-normal text-base leading-normal",
423
+ span: "font-normal text-base leading-normal",
424
+ label: "font-normal text-xs leading-normal"
425
+ }
426
+ },
427
+ defaultVariants: {
428
+ color: "neutral",
429
+ hasUnderline: !1,
430
+ isCapitalize: !1,
431
+ align: "left",
432
+ italic: !1,
433
+ clamp: "none",
434
+ ellipsis: !1,
435
+ as: "span"
436
+ }
437
+ }), Text = forwardRef(
438
+ ({
439
+ as: e = "span",
440
+ color: t = "ghost",
441
+ hasUnderline: r = !1,
442
+ isCapitalize: i = !1,
443
+ align: s = "left",
444
+ italic: n = !1,
445
+ clamp: o = "none",
446
+ ellipsis: l = !1,
447
+ fontSize: u,
448
+ fontWeight: c,
449
+ className: f,
450
+ children: a,
451
+ ...d
452
+ }, h) => {
453
+ const y = [
454
+ "h1",
455
+ "h2",
456
+ "h3",
457
+ "h4",
458
+ "h5",
459
+ "h6",
460
+ "p",
461
+ "span",
462
+ "label"
463
+ ].includes(e) ? e : "span", w = u ? `text-${u}` : "", j = c ? `font-${c}` : "";
464
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
465
+ e,
466
+ {
467
+ ref: h,
468
+ className: cn(
469
+ textVariants({
470
+ color: t,
471
+ hasUnderline: r,
472
+ isCapitalize: i,
473
+ align: s,
474
+ italic: n,
475
+ clamp: o,
476
+ ellipsis: l,
477
+ // @ts-expect-error - `as` is not a valid variant
478
+ as: y
479
+ }),
480
+ w,
481
+ j,
482
+ f
483
+ ),
484
+ ...d,
485
+ children: a
486
+ }
487
+ );
488
+ }
489
+ ), ActionCardGroup = forwardRef(
490
+ ({ children: e, className: t }, r) => /* @__PURE__ */ jsxRuntimeExports.jsx(
491
+ "div",
492
+ {
493
+ ref: r,
494
+ className: cn(
495
+ "bg-background border border-border rounded-lg overflow-hidden",
496
+ "divide-y divide-border",
497
+ t
498
+ ),
499
+ role: "group",
500
+ children: e
501
+ }
502
+ )
503
+ ), ActionCardRoot = forwardRef(
504
+ ({
505
+ size: e = "md",
506
+ icon: t,
507
+ title: r,
508
+ subtitle: i,
509
+ badge: s,
510
+ showArrow: n = !0,
511
+ as: o = "button",
512
+ className: l,
513
+ ...u
514
+ }, c) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
515
+ o,
516
+ {
517
+ ref: c,
518
+ className: cn(actionCardVariants({ size: e, as: o }), l),
519
+ ...u,
520
+ children: [
521
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-4 flex-1", children: [
522
+ t && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn(iconContainerVariants({ size: e })), children: t }),
523
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1", children: [
524
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3 mb-1", children: [
525
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
526
+ Text,
527
+ {
528
+ as: "span",
529
+ fontSize: e === "sm" ? "sm" : "base",
530
+ fontWeight: "semibold",
531
+ color: "ghost",
532
+ className: "text-left leading-normal",
533
+ children: r
534
+ }
535
+ ),
536
+ s && /* @__PURE__ */ jsxRuntimeExports.jsx(
537
+ "div",
538
+ {
539
+ className: "flex flex-wrap items-center flex-row justify-start gap-3",
540
+ role: "group",
541
+ children: s
542
+ }
543
+ )
544
+ ] }),
545
+ i && /* @__PURE__ */ jsxRuntimeExports.jsx(
546
+ Text,
547
+ {
548
+ as: "p",
549
+ fontSize: "sm",
550
+ color: "gray",
551
+ className: "text-left leading-normal",
552
+ children: i
553
+ }
554
+ )
555
+ ] })
556
+ ] }),
557
+ n && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center gap-3", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
558
+ Icon,
559
+ {
560
+ as: ChevronRight,
561
+ className: cn(arrowVariants({ size: e })),
562
+ color: "ghost",
563
+ "aria-hidden": "true"
564
+ }
565
+ ) })
566
+ ]
567
+ }
568
+ )
569
+ ), ActionCard = Object.assign(ActionCardRoot, {
570
+ Group: ActionCardGroup
321
571
  }), alertVariants = cva(
322
572
  "relative flex items-center gap-2 rounded-md p-2 text-sm transition-all duration-200",
323
573
  {
@@ -463,10 +713,10 @@ const iconVariants = cva("inline-flex items-center justify-center", {
463
713
  className: i,
464
714
  children: s,
465
715
  ...n
466
- }, a) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
716
+ }, o) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
467
717
  "div",
468
718
  {
469
- ref: a,
719
+ ref: o,
470
720
  role: "alert",
471
721
  className: cn(alertVariants({ variant: e, color: t }), i),
472
722
  ...n,
@@ -543,7 +793,7 @@ const iconVariants = cva("inline-flex items-center justify-center", {
543
793
  fontSize: i = "base",
544
794
  fontWeight: s = "medium",
545
795
  quiet: n = !1,
546
- ...a
796
+ ...o
547
797
  }, l) => /* @__PURE__ */ jsxRuntimeExports.jsx(
548
798
  "a",
549
799
  {
@@ -552,137 +802,16 @@ const iconVariants = cva("inline-flex items-center justify-center", {
552
802
  anchorVariants({ color: r, fontSize: i, fontWeight: s, quiet: n }),
553
803
  t
554
804
  ),
555
- ...a,
805
+ ...o,
556
806
  children: e
557
807
  }
558
808
  )
559
- ), textVariants = cva("", {
560
- variants: {
561
- color: {
562
- primary: "text-primary",
563
- secondary: "text-secondary",
564
- tertiary: "text-tertiary",
565
- ghost: "text-ghost",
566
- neutral: "text-ghost",
567
- success: "text-success",
568
- info: "text-info",
569
- warning: "text-warning",
570
- danger: "text-danger",
571
- inherit: "",
572
- gray: "text-gray-500",
573
- black: "text-black",
574
- white: "text-white"
575
- },
576
- hasUnderline: {
577
- true: "underline",
578
- false: ""
579
- },
580
- isCapitalize: {
581
- true: "capitalize",
582
- false: ""
583
- },
584
- align: {
585
- left: "text-left",
586
- center: "text-center",
587
- right: "text-right",
588
- justify: "text-justify"
589
- },
590
- italic: {
591
- true: "italic",
592
- false: ""
593
- },
594
- clamp: {
595
- 1: "line-clamp-1",
596
- 2: "line-clamp-2",
597
- 3: "line-clamp-3",
598
- 4: "line-clamp-4",
599
- 5: "line-clamp-5",
600
- none: ""
601
- },
602
- ellipsis: {
603
- true: "truncate",
604
- false: ""
605
- },
606
- as: {
607
- h1: "font-bold text-4xl leading-loose",
608
- h2: "font-semibold text-3xl leading-relaxed",
609
- h3: "font-medium text-2xl leading-relaxed",
610
- h4: "font-bold text-xl leading-normal",
611
- h5: "font-semibold text-lg leading-normal",
612
- h6: "font-medium text-base leading-normal",
613
- p: "font-normal text-base leading-normal",
614
- span: "font-normal text-base leading-normal",
615
- label: "font-normal text-xs leading-normal"
616
- }
617
- },
618
- defaultVariants: {
619
- color: "neutral",
620
- hasUnderline: !1,
621
- isCapitalize: !1,
622
- align: "left",
623
- italic: !1,
624
- clamp: "none",
625
- ellipsis: !1,
626
- as: "span"
627
- }
628
- }), Text = forwardRef(
629
- ({
630
- as: e = "span",
631
- color: t = "ghost",
632
- hasUnderline: r = !1,
633
- isCapitalize: i = !1,
634
- align: s = "left",
635
- italic: n = !1,
636
- clamp: a = "none",
637
- ellipsis: l = !1,
638
- fontSize: u,
639
- fontWeight: c,
640
- className: f,
641
- children: o,
642
- ...d
643
- }, h) => {
644
- const y = [
645
- "h1",
646
- "h2",
647
- "h3",
648
- "h4",
649
- "h5",
650
- "h6",
651
- "p",
652
- "span",
653
- "label"
654
- ].includes(e) ? e : "span", w = u ? `text-${u}` : "", j = c ? `font-${c}` : "";
655
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
656
- e,
657
- {
658
- ref: h,
659
- className: cn(
660
- textVariants({
661
- color: t,
662
- hasUnderline: r,
663
- isCapitalize: i,
664
- align: s,
665
- italic: n,
666
- clamp: a,
667
- ellipsis: l,
668
- // @ts-expect-error - `as` is not a valid variant
669
- as: y
670
- }),
671
- w,
672
- j,
673
- f
674
- ),
675
- ...d,
676
- children: o
677
- }
678
- );
679
- }
680
809
  ), Attribute = forwardRef(
681
- function({ title: t, children: r, className: i, hasMargin: s, ...n }, a) {
810
+ function({ title: t, children: r, className: i, hasMargin: s, ...n }, o) {
682
811
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
683
812
  "div",
684
813
  {
685
- ref: a,
814
+ ref: o,
686
815
  className: cn("space-y-1", i, s && "mb-4"),
687
816
  ...n,
688
817
  children: [
@@ -763,17 +892,17 @@ function getGridCols(e = 4) {
763
892
  return "grid-cols-4";
764
893
  }
765
894
  }
766
- const AttributeListItem = forwardRef(function({ children: t, className: r, span: i = 1, title: s, ...n }, a) {
895
+ const AttributeListItem = forwardRef(function({ children: t, className: r, span: i = 1, title: s, ...n }, o) {
767
896
  const l = getColSpan(i);
768
- return /* @__PURE__ */ jsxRuntimeExports.jsx("li", { ref: a, className: cn(l, r), ...n, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Attribute, { title: s, children: t }) });
897
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("li", { ref: o, className: cn(l, r), ...n, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Attribute, { title: s, children: t }) });
769
898
  }), AttributeListRoot = forwardRef(
770
899
  function({ children: t, className: r, columns: i = 4, ...s }, n) {
771
- const a = getGridCols(i);
900
+ const o = getGridCols(i);
772
901
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
773
902
  "ul",
774
903
  {
775
904
  ref: n,
776
- className: cn("grid gap-4", a, r),
905
+ className: cn("grid gap-4", o, r),
777
906
  ...s,
778
907
  children: t
779
908
  }
@@ -831,10 +960,10 @@ const AttributeListItem = forwardRef(function({ children: t, className: r, span:
831
960
  className: i,
832
961
  children: s,
833
962
  ...n
834
- }, a) => /* @__PURE__ */ jsxRuntimeExports.jsx(
963
+ }, o) => /* @__PURE__ */ jsxRuntimeExports.jsx(
835
964
  "div",
836
965
  {
837
- ref: a,
966
+ ref: o,
838
967
  className: cn(avatarVariants({ variant: e, size: t, shape: r }), i),
839
968
  ...n,
840
969
  children: s
@@ -842,7 +971,7 @@ const AttributeListItem = forwardRef(function({ children: t, className: r, span:
842
971
  )
843
972
  ), AvatarImage = forwardRef(
844
973
  ({ src: e, alt: t, className: r, onError: i, ...s }, n) => {
845
- const [a, l] = useState(!1);
974
+ const [o, l] = useState(!1);
846
975
  useEffect(() => {
847
976
  l(!1);
848
977
  }, [e]);
@@ -852,7 +981,7 @@ const AttributeListItem = forwardRef(function({ children: t, className: r, span:
852
981
  },
853
982
  [i]
854
983
  );
855
- return a ? null : /* @__PURE__ */ jsxRuntimeExports.jsx(
984
+ return o ? null : /* @__PURE__ */ jsxRuntimeExports.jsx(
856
985
  "img",
857
986
  {
858
987
  ref: n,
@@ -1064,7 +1193,7 @@ const AttributeListItem = forwardRef(function({ children: t, className: r, span:
1064
1193
  size: i = "md",
1065
1194
  iconLeft: s,
1066
1195
  iconRight: n,
1067
- className: a,
1196
+ className: o,
1068
1197
  children: l,
1069
1198
  ...u
1070
1199
  }, c) => {
@@ -1081,7 +1210,7 @@ const AttributeListItem = forwardRef(function({ children: t, className: r, span:
1081
1210
  size: i,
1082
1211
  iconOnly: d
1083
1212
  }),
1084
- a
1213
+ o
1085
1214
  ),
1086
1215
  ...u,
1087
1216
  children: d ? (
@@ -1098,7 +1227,7 @@ const AttributeListItem = forwardRef(function({ children: t, className: r, span:
1098
1227
  }
1099
1228
  );
1100
1229
  }
1101
- ), 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" }))), SvgHubSquare = (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, "Hub (Square)"), /* @__PURE__ */ React.createElement("rect", { x: 0, y: 0, width: 32, height: 32, rx: 0, fill: "#e07a5f" }), /* @__PURE__ */ React.createElement("g", { transform: "translate(16, 16) scale(0.625) translate(-12, -12)" }, /* @__PURE__ */ React.createElement("path", { d: "M20.341 6.484A10 10 0 0 1 10.266 21.85", stroke: "white", strokeWidth: 2, fill: "none" }), /* @__PURE__ */ React.createElement("path", { d: "M3.659 17.516A10 10 0 0 1 13.74 2.152", stroke: "white", strokeWidth: 2, fill: "none" }), /* @__PURE__ */ React.createElement("circle", { cx: 12, cy: 12, r: 3, fill: "white" }), /* @__PURE__ */ React.createElement("circle", { cx: 19, cy: 5, r: 2, fill: "white" }), /* @__PURE__ */ React.createElement("circle", { cx: 5, cy: 19, r: 2, fill: "white" }))), SvgHubRounded = (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, "Hub (Rounded)"), /* @__PURE__ */ React.createElement("rect", { x: 2, y: 2, width: 28, height: 28, rx: 8, fill: "#e07a5f" }), /* @__PURE__ */ React.createElement("g", { transform: "translate(16, 16) scale(0.625) translate(-12, -12)" }, /* @__PURE__ */ React.createElement("path", { d: "M20.341 6.484A10 10 0 0 1 10.266 21.85", stroke: "white", strokeWidth: 2, fill: "none" }), /* @__PURE__ */ React.createElement("path", { d: "M3.659 17.516A10 10 0 0 1 13.74 2.152", stroke: "white", strokeWidth: 2, fill: "none" }), /* @__PURE__ */ React.createElement("circle", { cx: 12, cy: 12, r: 3, fill: "white" }), /* @__PURE__ */ React.createElement("circle", { cx: 19, cy: 5, r: 2, fill: "white" }), /* @__PURE__ */ React.createElement("circle", { cx: 5, cy: 19, r: 2, fill: "white" }))), SvgHubCircle = (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, "Hub (Circle)"), /* @__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: "M20.341 6.484A10 10 0 0 1 10.266 21.85", stroke: "white", strokeWidth: 2, fill: "none" }), /* @__PURE__ */ React.createElement("path", { d: "M3.659 17.516A10 10 0 0 1 13.74 2.152", stroke: "white", strokeWidth: 2, fill: "none" }), /* @__PURE__ */ React.createElement("circle", { cx: 12, cy: 12, r: 3, fill: "white" }), /* @__PURE__ */ React.createElement("circle", { cx: 19, cy: 5, r: 2, fill: "white" }), /* @__PURE__ */ React.createElement("circle", { cx: 5, cy: 19, r: 2, fill: "white" }))), brandSizeClass = cva("", {
1230
+ ), 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" }))), SvgHubSquare = (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, "Hub (Square)"), /* @__PURE__ */ React.createElement("rect", { x: 0, y: 0, width: 32, height: 32, rx: 0, fill: "#e07a5f" }), /* @__PURE__ */ React.createElement("g", { transform: "translate(16, 16) scale(0.625) translate(-12, -12)" }, /* @__PURE__ */ React.createElement("path", { d: "M20.341 6.484A10 10 0 0 1 10.266 21.85", stroke: "white", strokeWidth: 2, fill: "none" }), /* @__PURE__ */ React.createElement("path", { d: "M3.659 17.516A10 10 0 0 1 13.74 2.152", stroke: "white", strokeWidth: 2, fill: "none" }), /* @__PURE__ */ React.createElement("circle", { cx: 12, cy: 12, r: 3, fill: "white" }), /* @__PURE__ */ React.createElement("circle", { cx: 19, cy: 5, r: 2, fill: "white" }), /* @__PURE__ */ React.createElement("circle", { cx: 5, cy: 19, r: 2, fill: "white" }))), SvgHubRounded = (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, "Hub (Rounded)"), /* @__PURE__ */ React.createElement("rect", { x: 0, y: 0, 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: "M20.341 6.484A10 10 0 0 1 10.266 21.85", stroke: "white", strokeWidth: 2, fill: "none" }), /* @__PURE__ */ React.createElement("path", { d: "M3.659 17.516A10 10 0 0 1 13.74 2.152", stroke: "white", strokeWidth: 2, fill: "none" }), /* @__PURE__ */ React.createElement("circle", { cx: 12, cy: 12, r: 3, fill: "white" }), /* @__PURE__ */ React.createElement("circle", { cx: 19, cy: 5, r: 2, fill: "white" }), /* @__PURE__ */ React.createElement("circle", { cx: 5, cy: 19, r: 2, fill: "white" }))), SvgHubCircle = (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, "Hub (Circle)"), /* @__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: "M20.341 6.484A10 10 0 0 1 10.266 21.85", stroke: "white", strokeWidth: 2, fill: "none" }), /* @__PURE__ */ React.createElement("path", { d: "M3.659 17.516A10 10 0 0 1 13.74 2.152", stroke: "white", strokeWidth: 2, fill: "none" }), /* @__PURE__ */ React.createElement("circle", { cx: 12, cy: 12, r: 3, fill: "white" }), /* @__PURE__ */ React.createElement("circle", { cx: 19, cy: 5, r: 2, fill: "white" }), /* @__PURE__ */ React.createElement("circle", { cx: 5, cy: 19, r: 2, fill: "white" }))), SvgNotunicSquare = (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, "Notunic"), /* @__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: "M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M2 6h4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M2 10h4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M2 14h4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M2 18h4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z", fill: "white" }))), SvgNotunicRounded = (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, "Notunic"), /* @__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: "M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M2 6h4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M2 10h4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M2 14h4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M2 18h4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z", fill: "white" }))), SvgNotunicCircle = (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, "Notunic"), /* @__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: "M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M2 6h4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M2 10h4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M2 14h4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M2 18h4", fill: "none", stroke: "white", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }), /* @__PURE__ */ React.createElement("path", { d: "M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z", fill: "white" }))), brandSizeClass = cva("", {
1102
1231
  variants: {
1103
1232
  size: {
1104
1233
  xs: "h-6 w-6",
@@ -1123,6 +1252,11 @@ const AttributeListItem = forwardRef(function({ children: t, className: r, span:
1123
1252
  square: SvgHubSquare,
1124
1253
  rounded: SvgHubRounded,
1125
1254
  circle: SvgHubCircle
1255
+ },
1256
+ notunic: {
1257
+ square: SvgNotunicSquare,
1258
+ rounded: SvgNotunicRounded,
1259
+ circle: SvgNotunicCircle
1126
1260
  }
1127
1261
  }, l = (n[r] || n.spenicle)[e || "square"] || SvgSpenicleSquare;
1128
1262
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -1210,7 +1344,7 @@ const AttributeListItem = forwardRef(function({ children: t, className: r, span:
1210
1344
  size: i = "md",
1211
1345
  disabled: s = !1,
1212
1346
  type: n = "button",
1213
- children: a,
1347
+ children: o,
1214
1348
  ...l
1215
1349
  }, u) {
1216
1350
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -1223,7 +1357,7 @@ const AttributeListItem = forwardRef(function({ children: t, className: r, span:
1223
1357
  "aria-disabled": s,
1224
1358
  inert: s ? !0 : void 0,
1225
1359
  ...l,
1226
- children: a
1360
+ children: o
1227
1361
  }
1228
1362
  );
1229
1363
  }
@@ -1285,100 +1419,100 @@ function isTriggerVisible(e, t) {
1285
1419
  return !0;
1286
1420
  }
1287
1421
  function useMenuPosition(e, t, r, i = "bottom-start", s) {
1288
- const [n, a] = useState({ isReady: !1 }), l = useCallback(() => {
1422
+ const [n, o] = useState({ isReady: !1 }), l = useCallback(() => {
1289
1423
  if (!e || !t.current) {
1290
- a({ isReady: !1 });
1424
+ o({ isReady: !1 });
1291
1425
  return;
1292
1426
  }
1293
1427
  if (!r.current) {
1294
1428
  const v = setTimeout(() => {
1295
- a({ isReady: !1 });
1429
+ o({ isReady: !1 });
1296
1430
  }, 0);
1297
1431
  return () => clearTimeout(v);
1298
1432
  }
1299
1433
  const u = t.current, c = r.current, f = getScrollableAncestors(u);
1300
1434
  if (!isTriggerVisible(u, f)) {
1301
- a({ isReady: !1 });
1435
+ o({ isReady: !1 });
1302
1436
  return;
1303
1437
  }
1304
- const o = u.getBoundingClientRect(), d = window.innerWidth, h = window.innerHeight;
1305
- let m = null;
1306
- s && ("getBoundingClientRect" in s ? m = s : "current" in s && (m = s.current));
1307
- const y = m || document.documentElement, w = y === document.documentElement ? { top: 0, bottom: h, left: 0, right: d } : y.getBoundingClientRect(), j = c.style.visibility, E = c.style.position, C = c.style.opacity;
1438
+ const a = u.getBoundingClientRect(), d = window.innerWidth, h = window.innerHeight;
1439
+ let x = null;
1440
+ s && ("getBoundingClientRect" in s ? x = s : "current" in s && (x = s.current));
1441
+ const y = x || document.documentElement, w = y === document.documentElement ? { top: 0, bottom: h, left: 0, right: d } : y.getBoundingClientRect(), j = c.style.visibility, E = c.style.position, C = c.style.opacity;
1308
1442
  c.style.visibility = "hidden", c.style.position = "absolute", c.style.opacity = "0";
1309
- const x = c.getBoundingClientRect();
1443
+ const m = c.getBoundingClientRect();
1310
1444
  c.style.visibility = j, c.style.position = E, c.style.opacity = C;
1311
- const N = w.bottom - o.bottom - 8, I = o.top - w.top - 8, V = w.right - o.left - 8, k = o.right - w.left - 8;
1445
+ const k = w.bottom - a.bottom - 8, N = a.top - w.top - 8, I = w.right - a.left - 8, V = a.right - w.left - 8;
1312
1446
  let p = i;
1313
1447
  if (i === "auto") {
1314
1448
  const b = [
1315
1449
  {
1316
1450
  name: "bottom-start",
1317
- fits: N >= x.height && V >= x.width,
1318
- spaceUsed: N,
1451
+ fits: k >= m.height && I >= m.width,
1452
+ spaceUsed: k,
1319
1453
  priority: 1
1320
1454
  // Prefer bottom-start as default
1321
1455
  },
1322
1456
  {
1323
1457
  name: "bottom-end",
1324
- fits: N >= x.height && k >= x.width,
1325
- spaceUsed: N,
1458
+ fits: k >= m.height && V >= m.width,
1459
+ spaceUsed: k,
1326
1460
  priority: 2
1327
1461
  },
1328
1462
  {
1329
1463
  name: "top-start",
1330
- fits: I >= x.height && V >= x.width,
1331
- spaceUsed: I,
1464
+ fits: N >= m.height && I >= m.width,
1465
+ spaceUsed: N,
1332
1466
  priority: 3
1333
1467
  },
1334
1468
  {
1335
1469
  name: "top-end",
1336
- fits: I >= x.height && k >= x.width,
1337
- spaceUsed: I,
1470
+ fits: N >= m.height && V >= m.width,
1471
+ spaceUsed: N,
1338
1472
  priority: 4
1339
1473
  }
1340
1474
  ].filter((R) => R.fits);
1341
1475
  b.length > 0 ? p = b.sort(
1342
1476
  (R, S) => R.priority - S.priority
1343
- )[0].name : N >= I ? p = V >= k ? "bottom-start" : "bottom-end" : p = V >= k ? "top-start" : "top-end";
1477
+ )[0].name : k >= N ? p = I >= V ? "bottom-start" : "bottom-end" : p = I >= V ? "top-start" : "top-end";
1344
1478
  }
1345
1479
  const g = {};
1346
1480
  if (s)
1347
1481
  switch (g.position = "fixed", p) {
1348
1482
  case "bottom-start":
1349
- g.top = o.bottom + 4, g.left = o.left;
1483
+ g.top = a.bottom + 4, g.left = a.left;
1350
1484
  break;
1351
1485
  case "bottom-end":
1352
- g.top = o.bottom + 4, g.right = window.innerWidth - o.right;
1486
+ g.top = a.bottom + 4, g.right = window.innerWidth - a.right;
1353
1487
  break;
1354
1488
  case "top-start":
1355
- g.bottom = window.innerHeight - o.top + 4, g.left = o.left;
1489
+ g.bottom = window.innerHeight - a.top + 4, g.left = a.left;
1356
1490
  break;
1357
1491
  case "top-end":
1358
- g.bottom = window.innerHeight - o.top + 4, g.right = window.innerWidth - o.right;
1492
+ g.bottom = window.innerHeight - a.top + 4, g.right = window.innerWidth - a.right;
1359
1493
  break;
1360
1494
  }
1361
1495
  else
1362
1496
  switch (g.position = "absolute", p) {
1363
1497
  case "bottom-start":
1364
- g.top = o.height + 4, g.left = 0;
1498
+ g.top = a.height + 4, g.left = 0;
1365
1499
  break;
1366
1500
  case "bottom-end":
1367
- g.top = o.height + 4, g.right = 0;
1501
+ g.top = a.height + 4, g.right = 0;
1368
1502
  break;
1369
1503
  case "top-start":
1370
- g.bottom = o.height + 4, g.left = 0;
1504
+ g.bottom = a.height + 4, g.left = 0;
1371
1505
  break;
1372
1506
  case "top-end":
1373
- g.bottom = o.height + 4, g.right = 0;
1507
+ g.bottom = a.height + 4, g.right = 0;
1374
1508
  break;
1375
1509
  }
1376
1510
  if (s) {
1377
1511
  const v = {
1378
- top: p.startsWith("bottom") ? o.bottom + 4 : o.top - x.height - 4,
1379
- left: p.endsWith("start") ? o.left : o.right - x.width,
1380
- width: x.width,
1381
- height: x.height
1512
+ top: p.startsWith("bottom") ? a.bottom + 4 : a.top - m.height - 4,
1513
+ left: p.endsWith("start") ? a.left : a.right - m.width,
1514
+ width: m.width,
1515
+ height: m.height
1382
1516
  };
1383
1517
  if (v.left < w.left + 8) {
1384
1518
  const b = w.left + 8 - v.left;
@@ -1390,27 +1524,27 @@ function useMenuPosition(e, t, r, i = "bottom-start", s) {
1390
1524
  if (p.startsWith("bottom")) {
1391
1525
  const b = Math.max(
1392
1526
  50,
1393
- w.bottom - o.bottom - 16
1527
+ w.bottom - a.bottom - 16
1394
1528
  );
1395
- x.height > b && (g.maxHeight = b);
1529
+ m.height > b && (g.maxHeight = b);
1396
1530
  } else {
1397
1531
  const b = Math.max(
1398
1532
  50,
1399
- o.top - w.top - 16
1533
+ a.top - w.top - 16
1400
1534
  );
1401
- x.height > b && (g.maxHeight = b);
1535
+ m.height > b && (g.maxHeight = b);
1402
1536
  }
1403
1537
  } else {
1404
1538
  const v = {
1405
- top: p.startsWith("bottom") ? o.height + 4 : -x.height - 4,
1406
- left: p.endsWith("start") ? 0 : -x.width,
1407
- width: x.width,
1408
- height: x.height
1539
+ top: p.startsWith("bottom") ? a.height + 4 : -m.height - 4,
1540
+ left: p.endsWith("start") ? 0 : -m.width,
1541
+ width: m.width,
1542
+ height: m.height
1409
1543
  }, b = {
1410
- left: o.left,
1411
- right: o.right,
1412
- top: o.top,
1413
- bottom: o.bottom
1544
+ left: a.left,
1545
+ right: a.right,
1546
+ top: a.top,
1547
+ bottom: a.bottom
1414
1548
  };
1415
1549
  if (b.left + v.left < 8) {
1416
1550
  const R = 8 - (b.left + v.left);
@@ -1420,7 +1554,7 @@ function useMenuPosition(e, t, r, i = "bottom-start", s) {
1420
1554
  p.endsWith("start") ? g.left = (g.left || 0) - R : g.right = (g.right || 0) + R;
1421
1555
  }
1422
1556
  }
1423
- g.isReady = !0, a(g);
1557
+ g.isReady = !0, o(g);
1424
1558
  }, [e, i, t, r, s]);
1425
1559
  return useEffect(() => {
1426
1560
  l();
@@ -1428,16 +1562,16 @@ function useMenuPosition(e, t, r, i = "bottom-start", s) {
1428
1562
  if (!e || !t.current) return;
1429
1563
  const u = t.current, c = getScrollableAncestors(u);
1430
1564
  let f = !1;
1431
- const o = () => {
1565
+ const a = () => {
1432
1566
  f || (requestAnimationFrame(() => {
1433
1567
  l(), f = !1;
1434
1568
  }), f = !0);
1435
1569
  };
1436
1570
  return c.forEach((d) => {
1437
- d === document.documentElement ? (window.addEventListener("scroll", o, { passive: !0 }), window.addEventListener("resize", o, { passive: !0 })) : d.addEventListener("scroll", o, { passive: !0 });
1571
+ d === document.documentElement ? (window.addEventListener("scroll", a, { passive: !0 }), window.addEventListener("resize", a, { passive: !0 })) : d.addEventListener("scroll", a, { passive: !0 });
1438
1572
  }), () => {
1439
1573
  c.forEach((d) => {
1440
- d === document.documentElement ? (window.removeEventListener("scroll", o), window.removeEventListener("resize", o)) : d.removeEventListener("scroll", o);
1574
+ d === document.documentElement ? (window.removeEventListener("scroll", a), window.removeEventListener("resize", a)) : d.removeEventListener("scroll", a);
1441
1575
  });
1442
1576
  };
1443
1577
  }, [e, l, t]), n;
@@ -1451,8 +1585,8 @@ const MenuContext = createContext(void 0), MenuProvider = MenuContext.Provider,
1451
1585
  ({ children: e }, t) => /* @__PURE__ */ jsxRuntimeExports.jsx("ul", { ref: t, className: "flex flex-col gap-1", children: e })
1452
1586
  ), MenuItem = forwardRef(
1453
1587
  ({ children: e, disabled: t, onClick: r, active: i, ...s }, n) => {
1454
- const { preserve: a, onClose: l } = useMenuProvider(), u = (c) => {
1455
- r?.(c), a || l();
1588
+ const { preserve: o, onClose: l } = useMenuProvider(), u = (c) => {
1589
+ r?.(c), o || l();
1456
1590
  };
1457
1591
  return /* @__PURE__ */ jsxRuntimeExports.jsx("li", { ref: n, ...s, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1458
1592
  Button,
@@ -1483,23 +1617,23 @@ const MenuContext = createContext(void 0), MenuProvider = MenuContext.Provider,
1483
1617
  content: i,
1484
1618
  children: s,
1485
1619
  placement: n = "auto",
1486
- container: a,
1620
+ container: o,
1487
1621
  preserve: l
1488
1622
  }) => {
1489
1623
  const u = useRef(null), c = useRef(null), f = useId();
1490
1624
  useMenuOutsideClick(e, c, u, t);
1491
- const o = useMenuPosition(
1625
+ const a = useMenuPosition(
1492
1626
  e,
1493
1627
  u,
1494
1628
  c,
1495
1629
  n,
1496
- a || null
1630
+ o || null
1497
1631
  ), d = {
1498
- ...o,
1499
- position: o.position || "absolute",
1500
- overflowY: o.maxHeight ? "auto" : void 0,
1501
- overflowX: o.maxWidth ? "auto" : void 0
1502
- }, h = e && o.isReady, m = /* @__PURE__ */ jsxRuntimeExports.jsx(
1632
+ ...a,
1633
+ position: a.position || "absolute",
1634
+ overflowY: a.maxHeight ? "auto" : void 0,
1635
+ overflowX: a.maxWidth ? "auto" : void 0
1636
+ }, h = e && a.isReady, x = /* @__PURE__ */ jsxRuntimeExports.jsx(
1503
1637
  "div",
1504
1638
  {
1505
1639
  id: f,
@@ -1524,7 +1658,7 @@ const MenuContext = createContext(void 0), MenuProvider = MenuContext.Provider,
1524
1658
  "aria-controls": f
1525
1659
  }),
1526
1660
  e && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
1527
- !o.isReady && /* @__PURE__ */ jsxRuntimeExports.jsx(
1661
+ !a.isReady && /* @__PURE__ */ jsxRuntimeExports.jsx(
1528
1662
  "div",
1529
1663
  {
1530
1664
  ref: c,
@@ -1540,7 +1674,7 @@ const MenuContext = createContext(void 0), MenuProvider = MenuContext.Provider,
1540
1674
  children: i
1541
1675
  }
1542
1676
  ),
1543
- o.isReady && /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: o.position === "fixed" ? /* @__PURE__ */ jsxRuntimeExports.jsx(OverlayPortal, { children: m }) : m })
1677
+ a.isReady && /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: a.position === "fixed" ? /* @__PURE__ */ jsxRuntimeExports.jsx(OverlayPortal, { children: x }) : x })
1544
1678
  ] })
1545
1679
  ] })
1546
1680
  }
@@ -1555,18 +1689,18 @@ const MenuContext = createContext(void 0), MenuProvider = MenuContext.Provider,
1555
1689
  onOpenChange: i,
1556
1690
  onClick: s,
1557
1691
  placement: n,
1558
- container: a,
1692
+ container: o,
1559
1693
  preserve: l,
1560
1694
  label: u,
1561
1695
  ...c
1562
- } = e ?? {}, [f, o] = useState(!1);
1696
+ } = e ?? {}, [f, a] = useState(!1);
1563
1697
  useEffect(() => {
1564
1698
  i?.(f);
1565
1699
  }, [f, i]);
1566
1700
  const d = () => {
1567
- o(!1);
1568
- }, h = (m) => {
1569
- o((y) => !y), s?.(m);
1701
+ a(!1);
1702
+ }, h = (x) => {
1703
+ a((y) => !y), s?.(x);
1570
1704
  };
1571
1705
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
1572
1706
  Menu,
@@ -1574,7 +1708,7 @@ const MenuContext = createContext(void 0), MenuProvider = MenuContext.Provider,
1574
1708
  isOpen: f,
1575
1709
  onOutsideClick: d,
1576
1710
  placement: n,
1577
- container: a,
1711
+ container: o,
1578
1712
  preserve: l,
1579
1713
  content: /* @__PURE__ */ jsxRuntimeExports.jsx(Menu.Content, { children: r }),
1580
1714
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { ref: t, onClick: h, ...c, children: u })
@@ -1679,7 +1813,7 @@ const buttonIconVariants = cva(
1679
1813
  size: i = "md",
1680
1814
  shape: s = "rounded",
1681
1815
  disabled: n = !1,
1682
- as: a,
1816
+ as: o,
1683
1817
  "aria-label": l,
1684
1818
  ...u
1685
1819
  }, c) {
@@ -1704,7 +1838,7 @@ const buttonIconVariants = cva(
1704
1838
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1705
1839
  Icon,
1706
1840
  {
1707
- as: a,
1841
+ as: o,
1708
1842
  size: "sm",
1709
1843
  color: getIconColorFromVariant(r)
1710
1844
  }
@@ -1719,25 +1853,25 @@ const buttonIconVariants = cva(
1719
1853
  children: i,
1720
1854
  onOpenChange: s,
1721
1855
  onClick: n,
1722
- placement: a,
1856
+ placement: o,
1723
1857
  container: l,
1724
1858
  preserve: u,
1725
1859
  ...c
1726
- } = e ?? {}, [f, o] = useState(!1);
1860
+ } = e ?? {}, [f, a] = useState(!1);
1727
1861
  useEffect(() => {
1728
1862
  s?.(f);
1729
1863
  }, [f, s]);
1730
1864
  const d = () => {
1731
- o(!1);
1732
- }, h = (m) => {
1733
- o((y) => !y), n?.(m);
1865
+ a(!1);
1866
+ }, h = (x) => {
1867
+ a((y) => !y), n?.(x);
1734
1868
  };
1735
1869
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
1736
1870
  Menu,
1737
1871
  {
1738
1872
  isOpen: f,
1739
1873
  onOutsideClick: d,
1740
- placement: a,
1874
+ placement: o,
1741
1875
  container: l,
1742
1876
  preserve: u,
1743
1877
  content: /* @__PURE__ */ jsxRuntimeExports.jsx(Menu.Content, { children: i }),
@@ -1815,12 +1949,12 @@ const buttonIconVariants = cva(
1815
1949
  }
1816
1950
  );
1817
1951
  function useFloatingPosition(e, t = "1rem") {
1818
- const r = useRef(null), [i, s] = useState({}), [n, a] = useState("fixed bottom-4 right-4"), l = useCallback(() => {
1952
+ const r = useRef(null), [i, s] = useState({}), [n, o] = useState("fixed bottom-4 right-4"), l = useCallback(() => {
1819
1953
  const c = r.current;
1820
1954
  if (!c) return;
1821
- const o = c.getBoundingClientRect().height > window.innerHeight;
1955
+ const a = c.getBoundingClientRect().height > window.innerHeight;
1822
1956
  let d = {}, h = "";
1823
- o ? (d = {
1957
+ a ? (d = {
1824
1958
  position: "fixed",
1825
1959
  bottom: t,
1826
1960
  zIndex: 50,
@@ -1829,7 +1963,7 @@ function useFloatingPosition(e, t = "1rem") {
1829
1963
  position: "fixed",
1830
1964
  bottom: t,
1831
1965
  zIndex: 50
1832
- }, h = `fixed bottom-4 ${e}-4`), s(d), a(h);
1966
+ }, h = `fixed bottom-4 ${e}-4`), s(d), o(h);
1833
1967
  }, [e, t]);
1834
1968
  return useEffect(() => {
1835
1969
  l();
@@ -1853,27 +1987,27 @@ const ButtonFloat = forwardRef(
1853
1987
  size: i = "md",
1854
1988
  side: s = "right",
1855
1989
  offset: n = "1rem",
1856
- ...a
1990
+ ...o
1857
1991
  }, l) {
1858
1992
  const [u, c, f] = useFloatingPosition(
1859
1993
  s,
1860
1994
  n
1861
- ), [o, d] = useState(!1);
1995
+ ), [a, d] = useState(!1);
1862
1996
  return useEffect(() => {
1863
1997
  d(!0);
1864
1998
  }, []), /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: u, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1865
1999
  "button",
1866
2000
  {
1867
2001
  ref: l,
1868
- type: a.type || "button",
2002
+ type: o.type || "button",
1869
2003
  className: cn(
1870
2004
  buttonFloatVariants({ variant: r, size: i }),
1871
2005
  f,
1872
- o && "animate-fab-in",
2006
+ a && "animate-fab-in",
1873
2007
  t
1874
2008
  ),
1875
2009
  style: c,
1876
- ...a
2010
+ ...o
1877
2011
  }
1878
2012
  ) });
1879
2013
  }
@@ -1995,7 +2129,7 @@ const BUTTONS = [
1995
2129
  className: i,
1996
2130
  "aria-label": s
1997
2131
  }, n) => {
1998
- const { input: a, inputRef: l, handleButton: u, handleInput: c } = useCalculator({
2132
+ const { input: o, inputRef: l, handleButton: u, handleInput: c } = useCalculator({
1999
2133
  initialValue: e,
2000
2134
  disabled: r,
2001
2135
  onChange: t
@@ -2013,14 +2147,14 @@ const BUTTONS = [
2013
2147
  {
2014
2148
  ref: l,
2015
2149
  className: "w-full mb-3 px-3 py-2 rounded border border-[var(--color-neutral)] bg-[var(--color-neutral-soft)] text-right text-xl font-mono focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)]",
2016
- value: a,
2150
+ value: o,
2017
2151
  onChange: c,
2018
2152
  disabled: r,
2019
2153
  inputMode: "decimal",
2020
2154
  "aria-label": "Calculator input"
2021
2155
  }
2022
2156
  ),
2023
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-col gap-1 mb-3", children: BUTTONS.map((f, o) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex w-full", children: f.map((d) => d === "⌫" ? /* @__PURE__ */ jsxRuntimeExports.jsx(
2157
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-col gap-1 mb-3", children: BUTTONS.map((f, a) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex w-full", children: f.map((d) => d === "⌫" ? /* @__PURE__ */ jsxRuntimeExports.jsx(
2024
2158
  ButtonIcon,
2025
2159
  {
2026
2160
  as: X,
@@ -2041,7 +2175,7 @@ const BUTTONS = [
2041
2175
  children: d
2042
2176
  },
2043
2177
  d
2044
- )) }, o)) })
2178
+ )) }, a)) })
2045
2179
  ]
2046
2180
  }
2047
2181
  );
@@ -2106,15 +2240,15 @@ const cardVariants = cva(
2106
2240
  title: i,
2107
2241
  subtitle: s,
2108
2242
  badge: n,
2109
- supplementaryInfo: a,
2243
+ supplementaryInfo: o,
2110
2244
  bordered: l = !1,
2111
2245
  as: u = "button",
2112
2246
  className: c,
2113
2247
  ...f
2114
- }, o) => /* @__PURE__ */ jsxRuntimeExports.jsx(
2248
+ }, a) => /* @__PURE__ */ jsxRuntimeExports.jsx(
2115
2249
  u,
2116
2250
  {
2117
- ref: o,
2251
+ ref: a,
2118
2252
  className: cn(
2119
2253
  cardVariants({ size: e, shape: t, bordered: l, as: u }),
2120
2254
  c,
@@ -2139,7 +2273,7 @@ const cardVariants = cva(
2139
2273
  ] }) }) }),
2140
2274
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-2 @sm/card:flex-row @sm/card:justify-between @sm/card:items-center", children: [
2141
2275
  n && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "order-1 @sm/card:order-none overflow-hidden", children: n }),
2142
- a && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-shrink-0 order-2 @sm/card:order-none @sm/card:ml-auto", children: typeof a == "string" ? /* @__PURE__ */ jsxRuntimeExports.jsx(
2276
+ o && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-shrink-0 order-2 @sm/card:order-none @sm/card:ml-auto", children: typeof o == "string" ? /* @__PURE__ */ jsxRuntimeExports.jsx(
2143
2277
  Text,
2144
2278
  {
2145
2279
  as: "p",
@@ -2147,9 +2281,9 @@ const cardVariants = cva(
2147
2281
  color: "gray",
2148
2282
  className: "truncate",
2149
2283
  align: "right",
2150
- children: a
2284
+ children: o
2151
2285
  }
2152
- ) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "overflow-hidden", children: a }) })
2286
+ ) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "overflow-hidden", children: o }) })
2153
2287
  ] })
2154
2288
  ] })
2155
2289
  ] })
@@ -2203,7 +2337,7 @@ const cardVariants = cva(
2203
2337
  size: i = "md",
2204
2338
  disabled: s = !1,
2205
2339
  children: n,
2206
- ...a
2340
+ ...o
2207
2341
  }, l) {
2208
2342
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
2209
2343
  "button",
@@ -2215,7 +2349,7 @@ const cardVariants = cva(
2215
2349
  "aria-disabled": s,
2216
2350
  "aria-label": `${n}, removable`,
2217
2351
  inert: s ? !0 : void 0,
2218
- ...a,
2352
+ ...o,
2219
2353
  children: [
2220
2354
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-shrink-0", children: n }),
2221
2355
  /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { as: XIcon, color: "inherit", size: i === "lg" ? "md" : "sm" })
@@ -2264,12 +2398,12 @@ const cardVariants = cva(
2264
2398
  ), noResultsHeaderVariants = cva(
2265
2399
  "flex flex-row items-center gap-3 mb-2"
2266
2400
  ), NoResults = React__default.forwardRef(
2267
- function e({ icon: t, title: r, subtitle: i, action: s, className: n, hasGrayBackground: a, ...l }, u) {
2401
+ function e({ icon: t, title: r, subtitle: i, action: s, className: n, hasGrayBackground: o, ...l }, u) {
2268
2402
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
2269
2403
  "section",
2270
2404
  {
2271
2405
  ref: u,
2272
- className: cn(noResultsVariants({ hasGrayBackground: a }), n),
2406
+ className: cn(noResultsVariants({ hasGrayBackground: o }), n),
2273
2407
  role: "status",
2274
2408
  "aria-label": "No results found",
2275
2409
  ...l,
@@ -2417,13 +2551,13 @@ const getTableColumnClass = (e) => {
2417
2551
  );
2418
2552
  }
2419
2553
  ), TableColumn = forwardRef(
2420
- ({ as: e = "td", span: t, align: r = "left", children: i, className: s, ...n }, a) => {
2554
+ ({ as: e = "td", span: t, align: r = "left", children: i, className: s, ...n }, o) => {
2421
2555
  const l = e === "th" ? "columnheader" : "cell";
2422
2556
  let u = "text-left";
2423
2557
  return r === "center" ? u = "text-center" : r === "right" && (u = "text-right"), /* @__PURE__ */ jsxRuntimeExports.jsx(
2424
2558
  "div",
2425
2559
  {
2426
- ref: a,
2560
+ ref: o,
2427
2561
  role: l,
2428
2562
  className: cn(
2429
2563
  "px-4 py-2",
@@ -2535,7 +2669,7 @@ const getTableColumnClass = (e) => {
2535
2669
  )
2536
2670
  );
2537
2671
  function useImage({ src: e }) {
2538
- const [t, r] = useState(!1), [i, s] = useState(!1), n = useRef(!1), a = () => {
2672
+ const [t, r] = useState(!1), [i, s] = useState(!1), n = useRef(!1), o = () => {
2539
2673
  r(!0);
2540
2674
  }, l = () => {
2541
2675
  s(!0);
@@ -2553,7 +2687,7 @@ function useImage({ src: e }) {
2553
2687
  }, [e]), {
2554
2688
  loaded: t,
2555
2689
  errored: i,
2556
- handleLoad: a,
2690
+ handleLoad: o,
2557
2691
  handleError: l
2558
2692
  };
2559
2693
  }
@@ -2632,12 +2766,12 @@ function BaseImageFallback({
2632
2766
  className: i,
2633
2767
  style: s,
2634
2768
  shape: n,
2635
- size: a
2769
+ size: o
2636
2770
  }) {
2637
2771
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
2638
2772
  "div",
2639
2773
  {
2640
- className: imageAtomVariants({ shape: n, size: a, className: i }),
2774
+ className: imageAtomVariants({ shape: n, size: o, className: i }),
2641
2775
  style: { width: t, height: r, ...s },
2642
2776
  "aria-label": e,
2643
2777
  role: "img",
@@ -2663,24 +2797,24 @@ const BaseImage = forwardRef(
2663
2797
  onError: i,
2664
2798
  width: s,
2665
2799
  height: n,
2666
- loading: a = "lazy",
2800
+ loading: o = "lazy",
2667
2801
  position: l = "cover",
2668
2802
  size: u = "auto",
2669
2803
  shape: c,
2670
2804
  className: f,
2671
- ...o
2805
+ ...a
2672
2806
  }, d) => {
2673
- const { loaded: h, errored: m, handleLoad: y, handleError: w } = useImage({
2807
+ const { loaded: h, errored: x, handleLoad: y, handleError: w } = useImage({
2674
2808
  src: e
2675
2809
  }), j = typeof s == "number" ? s : Number(s), E = typeof n == "number" ? n : Number(n);
2676
- return !h && !m ? /* @__PURE__ */ jsxRuntimeExports.jsx(
2810
+ return !h && !x ? /* @__PURE__ */ jsxRuntimeExports.jsx(
2677
2811
  BaseImageSkeleton,
2678
2812
  {
2679
2813
  shape: c,
2680
2814
  width: j,
2681
2815
  height: E
2682
2816
  }
2683
- ) : m ? /* @__PURE__ */ jsxRuntimeExports.jsx(
2817
+ ) : x ? /* @__PURE__ */ jsxRuntimeExports.jsx(
2684
2818
  BaseImageFallback,
2685
2819
  {
2686
2820
  shape: c,
@@ -2696,7 +2830,7 @@ const BaseImage = forwardRef(
2696
2830
  alt: t,
2697
2831
  width: j,
2698
2832
  height: E,
2699
- loading: a,
2833
+ loading: o,
2700
2834
  className: cn(
2701
2835
  imageVariants({
2702
2836
  position: l,
@@ -2711,7 +2845,7 @@ const BaseImage = forwardRef(
2711
2845
  onError: (C) => {
2712
2846
  w(), i?.(C);
2713
2847
  },
2714
- ...o
2848
+ ...a
2715
2849
  }
2716
2850
  );
2717
2851
  }
@@ -2727,23 +2861,24 @@ export {
2727
2861
  NoResults as N,
2728
2862
  OverlayPortal as O,
2729
2863
  Table as T,
2730
- Alert as a,
2731
- Anchor as b,
2732
- Attribute as c,
2733
- AttributeList as d,
2734
- Avatar as e,
2735
- Brand as f,
2736
- Button as g,
2737
- ButtonMenu as h,
2738
- ButtonMenuIcon as i,
2739
- ButtonFloat as j,
2740
- ButtonIcon as k,
2741
- Card as l,
2742
- Hr as m,
2743
- Text as n,
2744
- Tile as o,
2745
- ImageCircle as p,
2746
- ImageSquare as q,
2747
- ImageRectangle as r,
2748
- BaseImage as s
2864
+ ActionCard as a,
2865
+ Alert as b,
2866
+ Anchor as c,
2867
+ Attribute as d,
2868
+ AttributeList as e,
2869
+ Avatar as f,
2870
+ Brand as g,
2871
+ Button as h,
2872
+ ButtonMenu as i,
2873
+ ButtonMenuIcon as j,
2874
+ ButtonFloat as k,
2875
+ ButtonIcon as l,
2876
+ Card as m,
2877
+ Hr as n,
2878
+ Text as o,
2879
+ Tile as p,
2880
+ ImageCircle as q,
2881
+ ImageSquare as r,
2882
+ ImageRectangle as s,
2883
+ BaseImage as t
2749
2884
  };