@cronocode/react-box 3.1.6 → 3.1.8

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/core.mjs CHANGED
@@ -1,38 +1,38 @@
1
- import we, { useContext as xe, useState as de, useLayoutEffect as ae, useMemo as le, useEffect as ge, useRef as Fe } from "react";
2
- import { jsx as z } from "react/jsx-runtime";
1
+ import we, { useContext as xe, useState as de, useLayoutEffect as U, useMemo as le, useEffect as ge, useRef as Ne } from "react";
2
+ import { jsx as S } from "react/jsx-runtime";
3
3
  import T from "./components/baseSvg.mjs";
4
- import Ne from "./box.mjs";
4
+ import Fe from "./box.mjs";
5
5
  function fe(...e) {
6
- return e.reduce((r, l) => l ? typeof l == "string" ? (r.push(l), r) : Array.isArray(l) ? (r.push(...fe(...l)), r) : (Object.entries(l).forEach(([a, o]) => {
7
- o && r.push(a);
6
+ return e.reduce((r, a) => a ? typeof a == "string" ? (r.push(a), r) : Array.isArray(a) ? (r.push(...fe(...a)), r) : (Object.entries(a).forEach(([l, t]) => {
7
+ t && r.push(l);
8
8
  }), r) : r, []);
9
9
  }
10
10
  const Y = 4;
11
- var t;
11
+ var o;
12
12
  ((e) => {
13
13
  ((r) => {
14
- function l(o, n) {
15
- return `${o}${n.replace("/", "-")}`;
14
+ function a(t, n) {
15
+ return `${t}${n.replace("/", "-")}`;
16
16
  }
17
- r.fraction = l;
18
- function a(o) {
19
- return [`${o} path`, `${o} circle`, `${o} rect`, `${o} line`];
17
+ r.fraction = a;
18
+ function l(t) {
19
+ return [`${t} path`, `${t} circle`, `${t} rect`, `${t} line`];
20
20
  }
21
- r.svg = a;
21
+ r.svg = l;
22
22
  })(e.ClassName || (e.ClassName = {})), ((r) => {
23
- function l(x, C, R = Y) {
24
- return `${x / R}rem`;
23
+ function a(x, C, k = Y) {
24
+ return `${x / k}rem`;
25
25
  }
26
- r.rem = l;
27
- function a(x) {
26
+ r.rem = a;
27
+ function l(x) {
28
28
  return `${x}px`;
29
29
  }
30
- r.px = a;
31
- function o(x) {
32
- const [C, R] = x.split("/");
33
- return `${+C / +R * 100}%`;
30
+ r.px = l;
31
+ function t(x) {
32
+ const [C, k] = x.split("/");
33
+ return `${+C / +k * 100}%`;
34
34
  }
35
- r.fraction = o;
35
+ r.fraction = t;
36
36
  function n(x, C) {
37
37
  switch (C) {
38
38
  case "fit":
@@ -44,18 +44,18 @@ var t;
44
44
  }
45
45
  }
46
46
  r.widthHeight = n;
47
- function s(x) {
48
- return (C, R) => `var(--${x}${R});`;
49
- }
50
- r.variables = s;
51
47
  function u(x) {
52
- return (C, R) => `var(--${x}${R});`;
48
+ return (C, k) => `var(--${x}${k});`;
49
+ }
50
+ r.variables = u;
51
+ function c(x) {
52
+ return (C, k) => `var(--${x}${k});`;
53
53
  }
54
- r.svgVariables = u;
55
- function i(x, C) {
54
+ r.svgVariables = c;
55
+ function s(x, C) {
56
56
  return `repeat(${C},minmax(0,1fr))`;
57
57
  }
58
- r.gridColumns = i;
58
+ r.gridColumns = s;
59
59
  function m(x, C) {
60
60
  return C === "full-row" ? "1/-1" : `span ${C}/span ${C}`;
61
61
  }
@@ -68,13 +68,13 @@ var t;
68
68
  return `${C}deg`;
69
69
  }
70
70
  r.rotate = y;
71
- function k(x, C) {
71
+ function z(x, C) {
72
72
  return C === "xAxis" ? "-1 1" : "1 -1";
73
73
  }
74
- r.flip = k;
74
+ r.flip = z;
75
75
  })(e.Value || (e.Value = {}));
76
- })(t || (t = {}));
77
- var X;
76
+ })(o || (o = {}));
77
+ var Z;
78
78
  ((e) => {
79
79
  e.colors = {
80
80
  currentColor: "currentColor",
@@ -397,35 +397,35 @@ var X;
397
397
  "-9/12",
398
398
  "-10/12",
399
399
  "-11/12"
400
- ];
401
- const l = { ...{
400
+ ], e.percentString = "";
401
+ const a = { ...{
402
402
  inherit: "inherit",
403
403
  none: "none"
404
- }, ...e.colors, ...e.bgImages, ...e.shadows }, a = {}, o = {};
404
+ }, ...e.colors, ...e.bgImages, ...e.shadows }, l = {}, t = {};
405
405
  let n = {};
406
- function s(y) {
407
- return y in a || (y in n ? (o[y] = n[y], a[y] = n[y]) : y in l ? (o[y] = l[y], a[y] = l[y]) : (o[y] = y, a[y] = y)), `var(--${y})`;
406
+ function u(y) {
407
+ return y in l || (y in n ? (t[y] = n[y], l[y] = n[y]) : y in a ? (t[y] = a[y], l[y] = a[y]) : (t[y] = y, l[y] = y)), `var(--${y})`;
408
408
  }
409
- e.getVariableValue = s;
410
- function u() {
411
- return Object.entries(a).map(([y, k]) => `--${y}: ${k};`).join("");
409
+ e.getVariableValue = u;
410
+ function c() {
411
+ return Object.entries(l).map(([y, z]) => `--${y}: ${z};`).join("");
412
412
  }
413
- e.generateVariables = u;
414
- function i() {
415
- const y = { ...o };
416
- return Object.keys(o).forEach((k) => delete o[k]), y;
413
+ e.generateVariables = c;
414
+ function s() {
415
+ const y = { ...t };
416
+ return Object.keys(t).forEach((z) => delete t[z]), y;
417
417
  }
418
- e.getPendingVariables = i;
418
+ e.getPendingVariables = s;
419
419
  function m() {
420
- return Object.keys(o).length > 0;
420
+ return Object.keys(t).length > 0;
421
421
  }
422
422
  e.hasPendingVariables = m;
423
423
  function f(y) {
424
424
  n = y;
425
425
  }
426
426
  e.setUserVariables = f;
427
- })(X || (X = {}));
428
- const d = X, L = {
427
+ })(Z || (Z = {}));
428
+ const i = Z, L = {
429
429
  /** The appearance CSS property is used to display UI elements with platform-specific styling, based on the operating system's theme. */
430
430
  appearance: [
431
431
  {
@@ -437,7 +437,7 @@ const d = X, L = {
437
437
  {
438
438
  values: 0,
439
439
  styleName: "border-width",
440
- valueFormat: t.Value.px
440
+ valueFormat: o.Value.px
441
441
  }
442
442
  ],
443
443
  /** The border-width shorthand CSS property sets the width of an element's left and right border. */
@@ -445,7 +445,7 @@ const d = X, L = {
445
445
  {
446
446
  values: 0,
447
447
  styleName: "border-inline-width",
448
- valueFormat: t.Value.px
448
+ valueFormat: o.Value.px
449
449
  }
450
450
  ],
451
451
  /** The border-width shorthand CSS property sets the width of an element's top and bottom border. */
@@ -453,7 +453,7 @@ const d = X, L = {
453
453
  {
454
454
  values: 0,
455
455
  styleName: "border-block-width",
456
- valueFormat: t.Value.px
456
+ valueFormat: o.Value.px
457
457
  }
458
458
  ],
459
459
  /** The border-top-width CSS property sets the width of the top border of an element. */
@@ -461,7 +461,7 @@ const d = X, L = {
461
461
  {
462
462
  values: 0,
463
463
  styleName: "border-top-width",
464
- valueFormat: t.Value.px
464
+ valueFormat: o.Value.px
465
465
  }
466
466
  ],
467
467
  /** The border-right-width CSS property sets the width of the right border of an element. */
@@ -469,7 +469,7 @@ const d = X, L = {
469
469
  {
470
470
  values: 0,
471
471
  styleName: "border-right-width",
472
- valueFormat: t.Value.px
472
+ valueFormat: o.Value.px
473
473
  }
474
474
  ],
475
475
  /** The border-bottom-width CSS property sets the width of the bottom border of an element. */
@@ -477,7 +477,7 @@ const d = X, L = {
477
477
  {
478
478
  values: 0,
479
479
  styleName: "border-bottom-width",
480
- valueFormat: t.Value.px
480
+ valueFormat: o.Value.px
481
481
  }
482
482
  ],
483
483
  /** The border-left-width CSS property sets the width of the left border of an element. */
@@ -485,7 +485,7 @@ const d = X, L = {
485
485
  {
486
486
  values: 0,
487
487
  styleName: "border-left-width",
488
- valueFormat: t.Value.px
488
+ valueFormat: o.Value.px
489
489
  }
490
490
  ],
491
491
  /** The border-style shorthand CSS property sets the line style for all four sides of an element's border. */
@@ -500,7 +500,7 @@ const d = X, L = {
500
500
  {
501
501
  styleName: "border-radius",
502
502
  values: 0,
503
- valueFormat: t.Value.rem
503
+ valueFormat: o.Value.rem
504
504
  }
505
505
  ],
506
506
  /** The border-top-radius CSS property rounds the top corners of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner. */
@@ -508,7 +508,7 @@ const d = X, L = {
508
508
  {
509
509
  values: 0,
510
510
  styleName: ["border-top-left-radius", "border-top-right-radius"],
511
- valueFormat: t.Value.rem
511
+ valueFormat: o.Value.rem
512
512
  }
513
513
  ],
514
514
  /** The border-right-radius CSS property rounds the right corners of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner. */
@@ -516,7 +516,7 @@ const d = X, L = {
516
516
  {
517
517
  values: 0,
518
518
  styleName: ["border-top-right-radius", "border-bottom-right-radius"],
519
- valueFormat: t.Value.rem
519
+ valueFormat: o.Value.rem
520
520
  }
521
521
  ],
522
522
  /** The border-bottom-radius CSS property rounds the bottom corners of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner. */
@@ -524,7 +524,7 @@ const d = X, L = {
524
524
  {
525
525
  values: 0,
526
526
  styleName: ["border-bottom-left-radius", "border-bottom-right-radius"],
527
- valueFormat: t.Value.rem
527
+ valueFormat: o.Value.rem
528
528
  }
529
529
  ],
530
530
  /** The border-left-radius CSS property rounds the left corners of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner. */
@@ -532,7 +532,7 @@ const d = X, L = {
532
532
  {
533
533
  values: 0,
534
534
  styleName: ["border-top-left-radius", "border-bottom-left-radius"],
535
- valueFormat: t.Value.rem
535
+ valueFormat: o.Value.rem
536
536
  }
537
537
  ],
538
538
  /** The border-top-left-radius CSS property rounds the top-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner. */
@@ -540,7 +540,7 @@ const d = X, L = {
540
540
  {
541
541
  values: 0,
542
542
  styleName: "border-top-left-radius",
543
- valueFormat: t.Value.rem
543
+ valueFormat: o.Value.rem
544
544
  }
545
545
  ],
546
546
  /** The border-top-right-radius CSS property rounds the top-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner. */
@@ -548,7 +548,7 @@ const d = X, L = {
548
548
  {
549
549
  values: 0,
550
550
  styleName: "border-top-right-radius",
551
- valueFormat: t.Value.rem
551
+ valueFormat: o.Value.rem
552
552
  }
553
553
  ],
554
554
  /** The border-bottom-right-radius CSS property rounds the bottom-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner. */
@@ -556,7 +556,7 @@ const d = X, L = {
556
556
  {
557
557
  values: 0,
558
558
  styleName: "border-bottom-right-radius",
559
- valueFormat: t.Value.rem
559
+ valueFormat: o.Value.rem
560
560
  }
561
561
  ],
562
562
  /** The border-bottom-left-radius CSS property rounds the bottom-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner. */
@@ -564,7 +564,7 @@ const d = X, L = {
564
564
  {
565
565
  values: 0,
566
566
  styleName: "border-bottom-left-radius",
567
- valueFormat: t.Value.rem
567
+ valueFormat: o.Value.rem
568
568
  }
569
569
  ],
570
570
  /** The position CSS property sets how an element is positioned in a document. The top, right, bottom, and left properties determine the final location of positioned elements. */
@@ -577,67 +577,82 @@ const d = X, L = {
577
577
  top: [
578
578
  {
579
579
  values: 0,
580
- valueFormat: t.Value.rem
580
+ valueFormat: o.Value.rem
581
581
  },
582
582
  {
583
- values: d.percentages,
584
- valueFormat: t.Value.fraction
583
+ values: i.percentages,
584
+ valueFormat: o.Value.fraction
585
585
  },
586
586
  {
587
- values: d.negativePercentages,
588
- valueFormat: t.Value.fraction
587
+ values: i.negativePercentages,
588
+ valueFormat: o.Value.fraction
589
+ },
590
+ {
591
+ values: i.percentString
589
592
  }
590
593
  ],
591
594
  /** The right CSS property participates in specifying the horizontal position of a positioned element. This inset property has no effect on non-positioned elements. */
592
595
  right: [
593
596
  {
594
597
  values: 0,
595
- valueFormat: t.Value.rem
598
+ valueFormat: o.Value.rem
599
+ },
600
+ {
601
+ values: i.percentages,
602
+ valueFormat: o.Value.fraction
596
603
  },
597
604
  {
598
- values: d.percentages,
599
- valueFormat: t.Value.fraction
605
+ values: i.negativePercentages,
606
+ valueFormat: o.Value.fraction
600
607
  },
601
608
  {
602
- values: d.negativePercentages,
603
- valueFormat: t.Value.fraction
609
+ values: i.percentString
604
610
  }
605
611
  ],
606
612
  /** The bottom CSS property participates in setting the vertical position of a positioned element. This inset property has no effect on non-positioned elements. */
607
613
  bottom: [
608
614
  {
609
615
  values: 0,
610
- valueFormat: t.Value.rem
616
+ valueFormat: o.Value.rem
617
+ },
618
+ {
619
+ values: i.percentages,
620
+ valueFormat: o.Value.fraction
611
621
  },
612
622
  {
613
- values: d.percentages,
614
- valueFormat: t.Value.fraction
623
+ values: i.negativePercentages,
624
+ valueFormat: o.Value.fraction
615
625
  },
616
626
  {
617
- values: d.negativePercentages,
618
- valueFormat: t.Value.fraction
627
+ values: i.percentString
619
628
  }
620
629
  ],
621
630
  /** The left CSS property participates in specifying the horizontal position of a positioned element. This inset property has no effect on non-positioned elements. */
622
631
  left: [
623
632
  {
624
633
  values: 0,
625
- valueFormat: t.Value.rem
634
+ valueFormat: o.Value.rem
626
635
  },
627
636
  {
628
- values: d.percentages,
629
- valueFormat: t.Value.fraction
637
+ values: i.percentages,
638
+ valueFormat: o.Value.fraction
630
639
  },
631
640
  {
632
- values: d.negativePercentages,
633
- valueFormat: t.Value.fraction
641
+ values: i.negativePercentages,
642
+ valueFormat: o.Value.fraction
643
+ },
644
+ {
645
+ values: i.percentString
634
646
  }
635
647
  ],
636
648
  /** The inset CSS property is a shorthand that corresponds to the top, right, bottom, and/or left properties. It has the same multi-value syntax of the margin shorthand. */
637
649
  inset: [
638
650
  {
639
651
  values: 0,
640
- valueFormat: t.Value.rem
652
+ valueFormat: o.Value.rem
653
+ },
654
+ {
655
+ values: i.percentString
641
656
  }
642
657
  ],
643
658
  /** The `box-sizing` CSS property sets how the total width and height of an element is calculated. */
@@ -816,7 +831,7 @@ const d = X, L = {
816
831
  {
817
832
  styleName: "font-size",
818
833
  values: 0,
819
- valueFormat: (e) => t.Value.rem(e, void 0, 16)
834
+ valueFormat: (e) => o.Value.rem(e, void 0, 16)
820
835
  },
821
836
  {
822
837
  styleName: "font-size",
@@ -841,7 +856,10 @@ const d = X, L = {
841
856
  gap: [
842
857
  {
843
858
  values: 0,
844
- valueFormat: t.Value.rem
859
+ valueFormat: o.Value.rem
860
+ },
861
+ {
862
+ values: i.percentString
845
863
  }
846
864
  ],
847
865
  /** The row-gap CSS property sets the size of the gap (gutter) between an element's rows. */
@@ -849,7 +867,11 @@ const d = X, L = {
849
867
  {
850
868
  styleName: "row-gap",
851
869
  values: 0,
852
- valueFormat: t.Value.rem
870
+ valueFormat: o.Value.rem
871
+ },
872
+ {
873
+ styleName: "row-gap",
874
+ values: i.percentString
853
875
  }
854
876
  ],
855
877
  /** The column-gap CSS property sets the size of the gap (gutter) between an element's columns. */
@@ -857,7 +879,11 @@ const d = X, L = {
857
879
  {
858
880
  styleName: "column-gap",
859
881
  values: 0,
860
- valueFormat: t.Value.rem
882
+ valueFormat: o.Value.rem
883
+ },
884
+ {
885
+ styleName: "column-gap",
886
+ values: i.percentString
861
887
  }
862
888
  ],
863
889
  /** The order CSS property sets the order to lay out an item in a flex or grid container. Items in a container are sorted by ascending order value and then by their source code order. Items not given an explicit order value are assigned the default value of 0. */
@@ -869,7 +895,7 @@ const d = X, L = {
869
895
  ],
870
896
  /** The height CSS property specifies the height of an element. By default, the property defines the height of the content area. If box-sizing is set to border-box, however, it instead determines the height of the border area. */
871
897
  height: [
872
- { values: 0, valueFormat: t.Value.rem },
898
+ { values: 0, valueFormat: o.Value.rem },
873
899
  {
874
900
  values: ["fit"],
875
901
  valueFormat: () => "100%"
@@ -879,16 +905,19 @@ const d = X, L = {
879
905
  valueFormat: () => "100vh"
880
906
  },
881
907
  {
882
- values: d.percentages,
883
- valueFormat: t.Value.fraction
908
+ values: i.percentages,
909
+ valueFormat: o.Value.fraction
884
910
  },
885
911
  {
886
912
  values: ["auto", "fit-content", "max-content", "min-content"]
913
+ },
914
+ {
915
+ values: i.percentString
887
916
  }
888
917
  ],
889
918
  /** The min-height CSS property sets the minimum height of an element. It prevents the used value of the height property from becoming smaller than the value specified for min-height. */
890
919
  minHeight: [
891
- { styleName: "min-height", values: 0, valueFormat: t.Value.rem },
920
+ { styleName: "min-height", values: 0, valueFormat: o.Value.rem },
892
921
  {
893
922
  styleName: "min-height",
894
923
  values: ["fit"],
@@ -901,17 +930,21 @@ const d = X, L = {
901
930
  },
902
931
  {
903
932
  styleName: "min-height",
904
- values: d.percentages,
905
- valueFormat: t.Value.fraction
933
+ values: i.percentages,
934
+ valueFormat: o.Value.fraction
906
935
  },
907
936
  {
908
937
  styleName: "min-height",
909
938
  values: ["auto", "fit-content", "max-content", "min-content"]
939
+ },
940
+ {
941
+ styleName: "min-height",
942
+ values: i.percentString
910
943
  }
911
944
  ],
912
945
  /** The max-height CSS property sets the maximum height of an element. It prevents the used value of the height property from becoming larger than the value specified for max-height. */
913
946
  maxHeight: [
914
- { styleName: "max-height", values: 0, valueFormat: t.Value.rem },
947
+ { styleName: "max-height", values: 0, valueFormat: o.Value.rem },
915
948
  {
916
949
  styleName: "max-height",
917
950
  values: ["fit"],
@@ -924,17 +957,21 @@ const d = X, L = {
924
957
  },
925
958
  {
926
959
  styleName: "max-height",
927
- values: d.percentages,
928
- valueFormat: t.Value.fraction
960
+ values: i.percentages,
961
+ valueFormat: o.Value.fraction
929
962
  },
930
963
  {
931
964
  styleName: "max-height",
932
965
  values: ["auto", "fit-content", "max-content", "min-content"]
966
+ },
967
+ {
968
+ styleName: "max-height",
969
+ values: i.percentString
933
970
  }
934
971
  ],
935
972
  /** The width CSS property sets an element's width. By default, it sets the width of the content area, but if box-sizing is set to border-box, it sets the width of the border area. */
936
973
  width: [
937
- { values: 0, valueFormat: t.Value.rem },
974
+ { values: 0, valueFormat: o.Value.rem },
938
975
  {
939
976
  values: ["fit"],
940
977
  valueFormat: () => "100%"
@@ -944,16 +981,19 @@ const d = X, L = {
944
981
  valueFormat: () => "100vw"
945
982
  },
946
983
  {
947
- values: d.percentages,
948
- valueFormat: t.Value.fraction
984
+ values: i.percentages,
985
+ valueFormat: o.Value.fraction
949
986
  },
950
987
  {
951
988
  values: ["auto", "fit-content", "max-content", "min-content"]
989
+ },
990
+ {
991
+ values: i.percentString
952
992
  }
953
993
  ],
954
994
  /** The min-width CSS property sets the minimum width of an element. It prevents the used value of the width property from becoming smaller than the value specified for min-width. */
955
995
  minWidth: [
956
- { styleName: "min-width", values: 0, valueFormat: t.Value.rem },
996
+ { styleName: "min-width", values: 0, valueFormat: o.Value.rem },
957
997
  {
958
998
  styleName: "min-width",
959
999
  values: ["fit"],
@@ -966,17 +1006,21 @@ const d = X, L = {
966
1006
  },
967
1007
  {
968
1008
  styleName: "min-width",
969
- values: d.percentages,
970
- valueFormat: t.Value.fraction
1009
+ values: i.percentages,
1010
+ valueFormat: o.Value.fraction
971
1011
  },
972
1012
  {
973
1013
  styleName: "min-width",
974
1014
  values: ["auto", "fit-content", "max-content", "min-content"]
1015
+ },
1016
+ {
1017
+ styleName: "min-width",
1018
+ values: i.percentString
975
1019
  }
976
1020
  ],
977
1021
  /** The max-width CSS property sets the maximum width of an element. It prevents the used value of the width property from becoming larger than the value specified by max-width. */
978
1022
  maxWidth: [
979
- { styleName: "max-width", values: 0, valueFormat: t.Value.rem },
1023
+ { styleName: "max-width", values: 0, valueFormat: o.Value.rem },
980
1024
  {
981
1025
  styleName: "max-width",
982
1026
  values: ["fit"],
@@ -989,12 +1033,16 @@ const d = X, L = {
989
1033
  },
990
1034
  {
991
1035
  styleName: "max-width",
992
- values: d.percentages,
993
- valueFormat: t.Value.fraction
1036
+ values: i.percentages,
1037
+ valueFormat: o.Value.fraction
994
1038
  },
995
1039
  {
996
1040
  styleName: "max-width",
997
1041
  values: ["auto", "fit-content", "max-content", "min-content"]
1042
+ },
1043
+ {
1044
+ styleName: "max-width",
1045
+ values: i.percentString
998
1046
  }
999
1047
  ],
1000
1048
  /** The letter-spacing CSS property sets the horizontal spacing behavior between text characters. This value is added to the natural spacing between characters while rendering the text. Positive values of letter-spacing causes characters to spread farther apart, while negative values of letter-spacing bring characters closer together. */
@@ -1002,7 +1050,7 @@ const d = X, L = {
1002
1050
  {
1003
1051
  styleName: "letter-spacing",
1004
1052
  values: 0,
1005
- valueFormat: t.Value.px
1053
+ valueFormat: o.Value.px
1006
1054
  }
1007
1055
  ],
1008
1056
  /** The line-height CSS property sets the height of a line box in horizontal writing modes. In vertical writing modes, it sets the width of a line box. It's commonly used to set the distance between lines of text. On block-level elements in horizontal writing modes, it specifies the preferred height of line boxes within the element, and on non-replaced inline elements, it specifies the height that is used to calculate line box height. */
@@ -1010,7 +1058,7 @@ const d = X, L = {
1010
1058
  {
1011
1059
  styleName: "line-height",
1012
1060
  values: 0,
1013
- valueFormat: t.Value.px
1061
+ valueFormat: o.Value.px
1014
1062
  },
1015
1063
  {
1016
1064
  styleName: "line-height",
@@ -1030,15 +1078,20 @@ const d = X, L = {
1030
1078
  {
1031
1079
  values: 0,
1032
1080
  styleName: "margin",
1033
- valueFormat: t.Value.rem
1081
+ valueFormat: o.Value.rem
1034
1082
  },
1035
1083
  {
1036
1084
  values: ["auto"],
1037
1085
  styleName: "margin"
1038
1086
  },
1039
1087
  {
1040
- values: d.percentages,
1041
- valueFormat: t.Value.fraction
1088
+ styleName: "margin",
1089
+ values: i.percentages,
1090
+ valueFormat: o.Value.fraction
1091
+ },
1092
+ {
1093
+ values: i.percentString,
1094
+ styleName: "margin"
1042
1095
  }
1043
1096
  ],
1044
1097
  /** The margin-inline CSS shorthand property is a shorthand property that defines both the logical inline start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation. */
@@ -1046,15 +1099,20 @@ const d = X, L = {
1046
1099
  {
1047
1100
  values: 0,
1048
1101
  styleName: "margin-inline",
1049
- valueFormat: t.Value.rem
1102
+ valueFormat: o.Value.rem
1050
1103
  },
1051
1104
  {
1052
1105
  values: ["auto"],
1053
1106
  styleName: "margin-inline"
1054
1107
  },
1055
1108
  {
1056
- values: d.percentages,
1057
- valueFormat: t.Value.fraction
1109
+ styleName: "margin-inline",
1110
+ values: i.percentages,
1111
+ valueFormat: o.Value.fraction
1112
+ },
1113
+ {
1114
+ values: i.percentString,
1115
+ styleName: "margin-inline"
1058
1116
  }
1059
1117
  ],
1060
1118
  /** The margin-block CSS shorthand property defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation. */
@@ -1062,15 +1120,20 @@ const d = X, L = {
1062
1120
  {
1063
1121
  values: 0,
1064
1122
  styleName: "margin-block",
1065
- valueFormat: t.Value.rem
1123
+ valueFormat: o.Value.rem
1066
1124
  },
1067
1125
  {
1068
1126
  values: ["auto"],
1069
1127
  styleName: "margin-block"
1070
1128
  },
1071
1129
  {
1072
- values: d.percentages,
1073
- valueFormat: t.Value.fraction
1130
+ styleName: "margin-block",
1131
+ values: i.percentages,
1132
+ valueFormat: o.Value.fraction
1133
+ },
1134
+ {
1135
+ values: i.percentString,
1136
+ styleName: "margin-block"
1074
1137
  }
1075
1138
  ],
1076
1139
  /** The margin-top CSS property sets the margin area on the top of an element. A positive value places it farther from its neighbors, while a negative value places it closer. */
@@ -1078,15 +1141,20 @@ const d = X, L = {
1078
1141
  {
1079
1142
  values: 0,
1080
1143
  styleName: "margin-top",
1081
- valueFormat: t.Value.rem
1144
+ valueFormat: o.Value.rem
1082
1145
  },
1083
1146
  {
1084
1147
  values: ["auto"],
1085
1148
  styleName: "margin-top"
1086
1149
  },
1087
1150
  {
1088
- values: d.percentages,
1089
- valueFormat: t.Value.fraction
1151
+ values: i.percentages,
1152
+ valueFormat: o.Value.fraction,
1153
+ styleName: "margin-top"
1154
+ },
1155
+ {
1156
+ values: i.percentString,
1157
+ styleName: "margin-top"
1090
1158
  }
1091
1159
  ],
1092
1160
  /** The margin-right CSS property sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer. */
@@ -1094,15 +1162,20 @@ const d = X, L = {
1094
1162
  {
1095
1163
  values: 0,
1096
1164
  styleName: "margin-right",
1097
- valueFormat: t.Value.rem
1165
+ valueFormat: o.Value.rem
1098
1166
  },
1099
1167
  {
1100
1168
  values: ["auto"],
1101
1169
  styleName: "margin-right"
1102
1170
  },
1103
1171
  {
1104
- values: d.percentages,
1105
- valueFormat: t.Value.fraction
1172
+ values: i.percentages,
1173
+ valueFormat: o.Value.fraction,
1174
+ styleName: "margin-right"
1175
+ },
1176
+ {
1177
+ values: i.percentString,
1178
+ styleName: "margin-right"
1106
1179
  }
1107
1180
  ],
1108
1181
  /** The margin-bottom CSS property sets the margin area on the bottom of an element. A positive value places it farther from its neighbors, while a negative value places it closer. */
@@ -1110,15 +1183,20 @@ const d = X, L = {
1110
1183
  {
1111
1184
  values: 0,
1112
1185
  styleName: "margin-bottom",
1113
- valueFormat: t.Value.rem
1186
+ valueFormat: o.Value.rem
1114
1187
  },
1115
1188
  {
1116
1189
  values: ["auto"],
1117
1190
  styleName: "margin-bottom"
1118
1191
  },
1119
1192
  {
1120
- values: d.percentages,
1121
- valueFormat: t.Value.fraction
1193
+ values: i.percentages,
1194
+ valueFormat: o.Value.fraction,
1195
+ styleName: "margin-bottom"
1196
+ },
1197
+ {
1198
+ values: i.percentString,
1199
+ styleName: "margin-bottom"
1122
1200
  }
1123
1201
  ],
1124
1202
  /** The margin-left CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer. */
@@ -1126,15 +1204,20 @@ const d = X, L = {
1126
1204
  {
1127
1205
  values: 0,
1128
1206
  styleName: "margin-left",
1129
- valueFormat: t.Value.rem
1207
+ valueFormat: o.Value.rem
1130
1208
  },
1131
1209
  {
1132
1210
  values: ["auto"],
1133
1211
  styleName: "margin-left"
1134
1212
  },
1135
1213
  {
1136
- values: d.percentages,
1137
- valueFormat: t.Value.fraction
1214
+ values: i.percentages,
1215
+ valueFormat: o.Value.fraction,
1216
+ styleName: "margin-left"
1217
+ },
1218
+ {
1219
+ values: i.percentString,
1220
+ styleName: "margin-left"
1138
1221
  }
1139
1222
  ],
1140
1223
  /** The padding CSS shorthand property sets the padding area on all four sides of an element at once. */
@@ -1142,11 +1225,16 @@ const d = X, L = {
1142
1225
  {
1143
1226
  values: 0,
1144
1227
  styleName: "padding",
1145
- valueFormat: t.Value.rem
1228
+ valueFormat: o.Value.rem
1146
1229
  },
1147
1230
  {
1148
- values: d.percentages,
1149
- valueFormat: t.Value.fraction
1231
+ values: i.percentages,
1232
+ valueFormat: o.Value.fraction,
1233
+ styleName: "padding"
1234
+ },
1235
+ {
1236
+ values: i.percentString,
1237
+ styleName: "padding"
1150
1238
  }
1151
1239
  ],
1152
1240
  /** The padding-inline CSS shorthand property defines the logical inline start and end padding of an element, which maps to physical padding properties depending on the element's writing mode, directionality, and text orientation. */
@@ -1154,11 +1242,16 @@ const d = X, L = {
1154
1242
  {
1155
1243
  values: 0,
1156
1244
  styleName: "padding-inline",
1157
- valueFormat: t.Value.rem
1245
+ valueFormat: o.Value.rem
1246
+ },
1247
+ {
1248
+ values: i.percentages,
1249
+ valueFormat: o.Value.fraction,
1250
+ styleName: "padding-inline"
1158
1251
  },
1159
1252
  {
1160
- values: d.percentages,
1161
- valueFormat: t.Value.fraction
1253
+ values: i.percentString,
1254
+ styleName: "padding-inline"
1162
1255
  }
1163
1256
  ],
1164
1257
  /** The padding-block CSS shorthand property defines the logical block start and end padding of an element, which maps to physical padding properties depending on the element's writing mode, directionality, and text orientation. */
@@ -1166,11 +1259,16 @@ const d = X, L = {
1166
1259
  {
1167
1260
  values: 0,
1168
1261
  styleName: "padding-block",
1169
- valueFormat: t.Value.rem
1262
+ valueFormat: o.Value.rem
1170
1263
  },
1171
1264
  {
1172
- values: d.percentages,
1173
- valueFormat: t.Value.fraction
1265
+ values: i.percentages,
1266
+ valueFormat: o.Value.fraction,
1267
+ styleName: "padding-block"
1268
+ },
1269
+ {
1270
+ values: i.percentString,
1271
+ styleName: "padding-block"
1174
1272
  }
1175
1273
  ],
1176
1274
  /** The padding-top CSS property sets the height of the padding area on the top of an element. */
@@ -1178,11 +1276,16 @@ const d = X, L = {
1178
1276
  {
1179
1277
  values: 0,
1180
1278
  styleName: "padding-top",
1181
- valueFormat: t.Value.rem
1279
+ valueFormat: o.Value.rem
1280
+ },
1281
+ {
1282
+ values: i.percentages,
1283
+ valueFormat: o.Value.fraction,
1284
+ styleName: "padding-top"
1182
1285
  },
1183
1286
  {
1184
- values: d.percentages,
1185
- valueFormat: t.Value.fraction
1287
+ values: i.percentString,
1288
+ styleName: "padding-top"
1186
1289
  }
1187
1290
  ],
1188
1291
  /** The padding-right CSS property sets the width of the padding area on the right of an element. */
@@ -1190,11 +1293,16 @@ const d = X, L = {
1190
1293
  {
1191
1294
  values: 0,
1192
1295
  styleName: "padding-right",
1193
- valueFormat: t.Value.rem
1296
+ valueFormat: o.Value.rem
1194
1297
  },
1195
1298
  {
1196
- values: d.percentages,
1197
- valueFormat: t.Value.fraction
1299
+ values: i.percentages,
1300
+ valueFormat: o.Value.fraction,
1301
+ styleName: "padding-right"
1302
+ },
1303
+ {
1304
+ values: i.percentString,
1305
+ styleName: "padding-right"
1198
1306
  }
1199
1307
  ],
1200
1308
  /** The padding-bottom CSS property sets the height of the padding area on the bottom of an element. */
@@ -1202,11 +1310,16 @@ const d = X, L = {
1202
1310
  {
1203
1311
  values: 0,
1204
1312
  styleName: "padding-bottom",
1205
- valueFormat: t.Value.rem
1313
+ valueFormat: o.Value.rem
1314
+ },
1315
+ {
1316
+ values: i.percentages,
1317
+ valueFormat: o.Value.fraction,
1318
+ styleName: "padding-bottom"
1206
1319
  },
1207
1320
  {
1208
- values: d.percentages,
1209
- valueFormat: t.Value.fraction
1321
+ values: i.percentString,
1322
+ styleName: "padding-bottom"
1210
1323
  }
1211
1324
  ],
1212
1325
  /** The padding-left CSS property sets the width of the padding area to the left of an element. */
@@ -1214,11 +1327,16 @@ const d = X, L = {
1214
1327
  {
1215
1328
  values: 0,
1216
1329
  styleName: "padding-left",
1217
- valueFormat: t.Value.rem
1330
+ valueFormat: o.Value.rem
1331
+ },
1332
+ {
1333
+ values: i.percentages,
1334
+ valueFormat: o.Value.fraction,
1335
+ styleName: "padding-left"
1218
1336
  },
1219
1337
  {
1220
- values: d.percentages,
1221
- valueFormat: t.Value.fraction
1338
+ values: i.percentString,
1339
+ styleName: "padding-left"
1222
1340
  }
1223
1341
  ],
1224
1342
  /** The object-fit CSS property sets how the content of a replaced element, such as an <img> or <video>, should be resized to fit its container. */
@@ -1239,7 +1357,7 @@ const d = X, L = {
1239
1357
  {
1240
1358
  styleName: "outline-width",
1241
1359
  values: 0,
1242
- valueFormat: t.Value.px
1360
+ valueFormat: o.Value.px
1243
1361
  }
1244
1362
  ],
1245
1363
  /** The outline-style CSS property sets the style of an element's outline. An outline is a line that is drawn around an element, outside the border. */
@@ -1254,7 +1372,7 @@ const d = X, L = {
1254
1372
  {
1255
1373
  styleName: "outline-offset",
1256
1374
  values: 0,
1257
- valueFormat: t.Value.px
1375
+ valueFormat: o.Value.px
1258
1376
  }
1259
1377
  ],
1260
1378
  /** The overflow CSS shorthand property sets the desired behavior when content does not fit in the element's padding box (overflows) in the horizontal and/or vertical direction. */
@@ -1470,14 +1588,14 @@ const d = X, L = {
1470
1588
  /** The color CSS property sets the foreground color value of an element's text and text decorations, and sets the currentcolor value. */
1471
1589
  color: [
1472
1590
  {
1473
- values: d.colorValues,
1591
+ values: i.colorValues,
1474
1592
  valueFormat: (e, r) => r(e)
1475
1593
  }
1476
1594
  ],
1477
1595
  /** The background-color CSS property sets the background color of an element. */
1478
1596
  bgColor: [
1479
1597
  {
1480
- values: d.colorValues,
1598
+ values: i.colorValues,
1481
1599
  valueFormat: (e, r) => r(e),
1482
1600
  styleName: "background-color"
1483
1601
  }
@@ -1485,7 +1603,7 @@ const d = X, L = {
1485
1603
  /** The border-color shorthand CSS property sets the color of an element's border. */
1486
1604
  borderColor: [
1487
1605
  {
1488
- values: d.colorValues,
1606
+ values: i.colorValues,
1489
1607
  valueFormat: (e, r) => r(e),
1490
1608
  styleName: "border-color"
1491
1609
  }
@@ -1493,7 +1611,7 @@ const d = X, L = {
1493
1611
  /** The outline-color CSS property sets the color of an element's outline. */
1494
1612
  outlineColor: [
1495
1613
  {
1496
- values: d.colorValues,
1614
+ values: i.colorValues,
1497
1615
  valueFormat: (e, r) => r(e),
1498
1616
  styleName: "outline-color"
1499
1617
  }
@@ -1501,21 +1619,21 @@ const d = X, L = {
1501
1619
  /** The fill CSS property defines how SVG text content and the interior canvas of SVG shapes are filled or painted. If present, it overrides the element's fill attribute. */
1502
1620
  fill: [
1503
1621
  {
1504
- values: d.colorValues,
1622
+ values: i.colorValues,
1505
1623
  valueFormat: (e, r) => r(e)
1506
1624
  }
1507
1625
  ],
1508
1626
  /** The stroke CSS property defines the color or SVG paint server used to draw an element's stroke. */
1509
1627
  stroke: [
1510
1628
  {
1511
- values: d.colorValues,
1629
+ values: i.colorValues,
1512
1630
  valueFormat: (e, r) => r(e)
1513
1631
  }
1514
1632
  ],
1515
1633
  /** The background-image CSS property sets one or more background images on an element. */
1516
1634
  bgImage: [
1517
1635
  {
1518
- values: d.bgImageValues,
1636
+ values: i.bgImageValues,
1519
1637
  valueFormat: (e, r) => r(e),
1520
1638
  styleName: "background-image"
1521
1639
  }
@@ -1523,7 +1641,7 @@ const d = X, L = {
1523
1641
  /** The box-shadow CSS property adds shadow effects around an element's frame */
1524
1642
  shadow: [
1525
1643
  {
1526
- values: d.shadowValues,
1644
+ values: i.shadowValues,
1527
1645
  valueFormat: (e, r) => r(e),
1528
1646
  styleName: "box-shadow"
1529
1647
  }
@@ -1536,13 +1654,18 @@ const d = X, L = {
1536
1654
  styleName: "transform"
1537
1655
  },
1538
1656
  {
1539
- values: d.percentages,
1540
- valueFormat: (e) => `translateX(${t.Value.fraction(e)})`,
1657
+ values: i.percentages,
1658
+ valueFormat: (e) => `translateX(${o.Value.fraction(e)})`,
1541
1659
  styleName: "transform"
1542
1660
  },
1543
1661
  {
1544
- values: d.negativePercentages,
1545
- valueFormat: (e) => `translateX(${t.Value.fraction(e)})`,
1662
+ values: i.negativePercentages,
1663
+ valueFormat: (e) => `translateX(${o.Value.fraction(e)})`,
1664
+ styleName: "transform"
1665
+ },
1666
+ {
1667
+ values: i.percentString,
1668
+ valueFormat: (e) => `translateX(${e})`,
1546
1669
  styleName: "transform"
1547
1670
  }
1548
1671
  ],
@@ -1554,13 +1677,18 @@ const d = X, L = {
1554
1677
  styleName: "transform"
1555
1678
  },
1556
1679
  {
1557
- values: d.percentages,
1558
- valueFormat: (e) => `translateY(${t.Value.fraction(e)})`,
1680
+ values: i.percentages,
1681
+ valueFormat: (e) => `translateY(${o.Value.fraction(e)})`,
1559
1682
  styleName: "transform"
1560
1683
  },
1561
1684
  {
1562
- values: d.negativePercentages,
1563
- valueFormat: (e) => `translateY(${t.Value.fraction(e)})`,
1685
+ values: i.negativePercentages,
1686
+ valueFormat: (e) => `translateY(${o.Value.fraction(e)})`,
1687
+ styleName: "transform"
1688
+ },
1689
+ {
1690
+ values: i.percentString,
1691
+ valueFormat: (e) => `translateY(${e})`,
1564
1692
  styleName: "transform"
1565
1693
  }
1566
1694
  ],
@@ -1592,7 +1720,7 @@ const d = X, L = {
1592
1720
  hasDisabled: ":has([disabled])",
1593
1721
  before: "::before",
1594
1722
  after: "::after"
1595
- }, U = {
1723
+ }, W = {
1596
1724
  indeterminate: ":indeterminate",
1597
1725
  checked: ":checked",
1598
1726
  required: ":required",
@@ -1600,14 +1728,14 @@ const d = X, L = {
1600
1728
  selected: '[aria-selected="true"]'
1601
1729
  }, Ve = {
1602
1730
  theme: ""
1603
- }, W = { ...me, ...U, ...Ve }, ye = Object.entries(W).reduce(
1604
- (e, [r], l) => (e[r] = Math.pow(2, l), e),
1731
+ }, K = { ...me, ...W, ...Ve }, ye = Object.entries(K).reduce(
1732
+ (e, [r], a) => (e[r] = Math.pow(2, a), e),
1605
1733
  {}
1606
- ), q = Object.entries(W).reduce(
1734
+ ), X = Object.entries(K).reduce(
1607
1735
  (e, [r]) => {
1608
- const l = ye[r];
1609
- return Object.entries(e).forEach(([a, o]) => {
1610
- e[+a + l] = [...o, r];
1736
+ const a = ye[r];
1737
+ return Object.entries(e).forEach(([l, t]) => {
1738
+ e[+l + a] = [...t, r];
1611
1739
  }), e;
1612
1740
  },
1613
1741
  { 0: [] }
@@ -1631,34 +1759,34 @@ const d = X, L = {
1631
1759
  /** Styles applied for 2x extra-large screens and larger. >= 1536 */
1632
1760
  xxl: 1536
1633
1761
  };
1634
- var Z;
1762
+ var Q;
1635
1763
  ((e) => {
1636
- function r(n, s, u) {
1637
- const i = { ...n }, m = i.props || {};
1638
- return s.forEach((f) => {
1639
- f in i && (m[f] = i[f], delete i[f]);
1640
- }), u && Object.entries(u).forEach(([f, y]) => {
1764
+ function r(n, u, c) {
1765
+ const s = { ...n }, m = s.props || {};
1766
+ return u.forEach((f) => {
1767
+ f in s && (m[f] = s[f], delete s[f]);
1768
+ }), c && Object.entries(c).forEach(([f, y]) => {
1641
1769
  m[f] = y;
1642
- }), i.props = m, i;
1770
+ }), s.props = m, s;
1643
1771
  }
1644
1772
  e.buildProps = r;
1645
- function l(n) {
1773
+ function a(n) {
1646
1774
  return !!n && typeof n == "object";
1647
1775
  }
1648
- e.isObject = l;
1649
- function a(...n) {
1650
- return n.reduce((s, u) => (Object.keys(u ?? {}).forEach((i) => {
1651
- const m = s[i], f = u[i];
1652
- l(f) && "clean" in f && f.clean ? s[i] = f : i in U && typeof f == "boolean" || (i in U && Array.isArray(f) ? s[i] = a(m, f[1] ?? {}) : Array.isArray(m) && Array.isArray(f) ? s[i] = m.concat(...f) : l(m) && l(f) ? s[i] = a(m, f) : s[i] = f);
1653
- }), s), {});
1776
+ e.isObject = a;
1777
+ function l(...n) {
1778
+ return n.reduce((u, c) => (Object.keys(c ?? {}).forEach((s) => {
1779
+ const m = u[s], f = c[s];
1780
+ a(f) && "clean" in f && f.clean ? u[s] = f : s in W && typeof f == "boolean" || (s in W && Array.isArray(f) ? u[s] = l(m, f[1] ?? {}) : Array.isArray(m) && Array.isArray(f) ? u[s] = m.concat(...f) : a(m) && a(f) ? u[s] = l(m, f) : u[s] = f);
1781
+ }), u), {});
1654
1782
  }
1655
- e.mergeDeep = a;
1656
- function o(n, s) {
1657
- return n in s;
1783
+ e.mergeDeep = l;
1784
+ function t(n, u) {
1785
+ return n in u;
1658
1786
  }
1659
- e.isKeyOf = o;
1660
- })(Z || (Z = {}));
1661
- const S = Z, se = {
1787
+ e.isKeyOf = t;
1788
+ })(Q || (Q = {}));
1789
+ const R = Q, se = {
1662
1790
  h1: {
1663
1791
  styles: { fontSize: 14 * 2.5 }
1664
1792
  },
@@ -2055,7 +2183,7 @@ const S = Z, se = {
2055
2183
  borderRadius: 2,
2056
2184
  userSelect: "none",
2057
2185
  lineHeight: 20,
2058
- minWidth: 40,
2186
+ width: "fit-content",
2059
2187
  transition: "none",
2060
2188
  hover: {
2061
2189
  borderColor: "gray-400"
@@ -2096,7 +2224,8 @@ const S = Z, se = {
2096
2224
  compact: {
2097
2225
  px: 2,
2098
2226
  py: 1,
2099
- fontSize: 13
2227
+ fontSize: 13,
2228
+ height: 7.5
2100
2229
  }
2101
2230
  },
2102
2231
  children: {
@@ -2126,6 +2255,7 @@ const S = Z, se = {
2126
2255
  },
2127
2256
  item: {
2128
2257
  styles: {
2258
+ textWrap: "nowrap",
2129
2259
  display: "flex",
2130
2260
  width: "fit",
2131
2261
  p: 3,
@@ -2334,173 +2464,20 @@ const S = Z, se = {
2334
2464
  children: {
2335
2465
  stats: {
2336
2466
  styles: {
2337
- fontSize: 13,
2338
- color: "gray-500",
2339
- textWrap: "nowrap",
2467
+ fontSize: 11,
2468
+ fontWeight: 500,
2469
+ px: 2,
2470
+ py: 1,
2471
+ borderRadius: 1,
2472
+ bgColor: "violet-100",
2473
+ color: "violet-700",
2340
2474
  theme: {
2341
2475
  dark: {
2342
- color: "gray-400"
2343
- }
2344
- }
2345
- }
2346
- },
2347
- inputWrapper: {
2348
- styles: {
2349
- display: "flex",
2350
- position: "relative"
2351
- },
2352
- children: {
2353
- icon: {
2354
- styles: {
2355
- display: "flex",
2356
- position: "absolute",
2357
- left: 2,
2358
- top: "1/2",
2359
- translateY: "-1/2",
2360
- pointerEvents: "none",
2361
- color: "gray-500",
2362
- theme: {
2363
- dark: {
2364
- color: "gray-400"
2365
- }
2366
- }
2476
+ bgColor: "violet-900",
2477
+ color: "violet-300"
2367
2478
  }
2368
2479
  },
2369
- input: {
2370
- styles: {
2371
- display: "inline-block",
2372
- b: 1,
2373
- borderColor: "gray-300",
2374
- bgColor: "white",
2375
- color: "gray-900",
2376
- borderRadius: 2,
2377
- py: 2,
2378
- fontSize: 13,
2379
- focus: {
2380
- outline: 2,
2381
- outlineOffset: 0,
2382
- borderColor: "violet-500",
2383
- outlineColor: "violet-100"
2384
- },
2385
- theme: {
2386
- dark: {
2387
- bgColor: "gray-800",
2388
- borderColor: "gray-700",
2389
- color: "gray-100",
2390
- focus: {
2391
- borderColor: "violet-500",
2392
- outlineColor: "violet-950"
2393
- }
2394
- }
2395
- }
2396
- }
2397
- },
2398
- clear: {
2399
- styles: {
2400
- display: "flex",
2401
- position: "absolute",
2402
- right: 2,
2403
- top: "1/2",
2404
- translateY: "-1/2",
2405
- cursor: "pointer",
2406
- fontSize: 13,
2407
- color: "gray-500",
2408
- hover: {
2409
- color: "gray-700"
2410
- },
2411
- theme: {
2412
- dark: {
2413
- color: "gray-400",
2414
- hover: {
2415
- color: "gray-200"
2416
- }
2417
- }
2418
- }
2419
- }
2420
- }
2421
- }
2422
- }
2423
- }
2424
- },
2425
- contextMenu: {
2426
- clean: !0,
2427
- styles: {
2428
- cursor: "pointer",
2429
- p: 2,
2430
- borderRadius: 2,
2431
- color: "gray-700",
2432
- hover: {
2433
- bgColor: "gray-100"
2434
- },
2435
- theme: {
2436
- dark: {
2437
- color: "gray-300",
2438
- hover: {
2439
- bgColor: "gray-800"
2440
- }
2441
- }
2442
- }
2443
- },
2444
- children: {
2445
- tooltip: {
2446
- styles: {
2447
- bgColor: "white",
2448
- color: "gray-900",
2449
- width: 56,
2450
- b: 1,
2451
- borderColor: "gray-300",
2452
- borderRadius: 3,
2453
- display: "flex",
2454
- d: "column",
2455
- mt: 2,
2456
- py: 2,
2457
- translateX: -1,
2458
- shadow: "large",
2459
- overflow: "auto",
2460
- maxHeight: 100,
2461
- theme: {
2462
- dark: {
2463
- bgColor: "gray-800",
2464
- borderColor: "gray-700",
2465
- color: "gray-100"
2466
- }
2467
- }
2468
- },
2469
- children: {
2470
- item: {
2471
- clean: !0,
2472
- styles: {
2473
- display: "flex",
2474
- gap: 2,
2475
- p: 3,
2476
- cursor: "pointer",
2477
- color: "gray-900",
2478
- hover: {
2479
- bgColor: "violet-50"
2480
- },
2481
- theme: {
2482
- dark: {
2483
- color: "gray-100",
2484
- hover: {
2485
- bgColor: "gray-700"
2486
- }
2487
- }
2488
- }
2489
- },
2490
- children: {
2491
- icon: {
2492
- styles: {
2493
- width: 4,
2494
- color: "violet-950",
2495
- theme: {
2496
- dark: {
2497
- color: "violet-300"
2498
- }
2499
- }
2500
- }
2501
- }
2502
- }
2503
- }
2480
+ textWrap: "nowrap"
2504
2481
  }
2505
2482
  }
2506
2483
  }
@@ -2645,9 +2622,6 @@ const S = Z, se = {
2645
2622
  }
2646
2623
  }
2647
2624
  },
2648
- variants: {
2649
- isResizeMode: { userSelect: "none" }
2650
- },
2651
2625
  children: {
2652
2626
  cell: {
2653
2627
  styles: {
@@ -2713,7 +2687,10 @@ const S = Z, se = {
2713
2687
  },
2714
2688
  isRowSelected: {},
2715
2689
  isRowSelection: {},
2716
- isRowNumber: { jc: "center" }
2690
+ isRowNumber: { jc: "center" },
2691
+ isFirstLeaf: {},
2692
+ isLastLeaf: {},
2693
+ isEmptyCell: {}
2717
2694
  },
2718
2695
  children: {
2719
2696
  contextMenu: {
@@ -2880,7 +2857,10 @@ const S = Z, se = {
2880
2857
  isLastRightPinned: {},
2881
2858
  isRowNumber: { jc: "right" },
2882
2859
  isRowSelection: {},
2883
- isRowSelected: {}
2860
+ isRowSelected: {},
2861
+ isFirstLeaf: {},
2862
+ isLastLeaf: {},
2863
+ isEmptyCell: {}
2884
2864
  }
2885
2865
  }
2886
2866
  }
@@ -2911,41 +2891,49 @@ const S = Z, se = {
2911
2891
  };
2912
2892
  var J;
2913
2893
  ((e) => {
2914
- function r(a, o, n) {
2915
- return d.setUserVariables(a), Object.entries(o).forEach(([s, u]) => {
2916
- L[s] = u;
2917
- }), Object.entries(n).forEach(([s, u]) => {
2918
- const i = L[s];
2919
- L[s] = i ? [...u, ...i] : u;
2920
- }), { extendedProps: o, extendedPropTypes: n };
2894
+ function r(l, t, n) {
2895
+ return i.setUserVariables(l), Object.entries(t).forEach(([u, c]) => {
2896
+ L[u] = c;
2897
+ }), Object.entries(n).forEach(([u, c]) => {
2898
+ const s = L[u];
2899
+ L[u] = s ? [...c, ...s] : c;
2900
+ }), { extendedProps: t, extendedPropTypes: n };
2921
2901
  }
2922
2902
  e.extend = r, e.componentsStyles = se;
2923
- function l(a) {
2924
- return e.componentsStyles = S.mergeDeep(se, a), a;
2903
+ function a(l) {
2904
+ return e.componentsStyles = R.mergeDeep(se, l), l;
2925
2905
  }
2926
- e.components = l;
2906
+ e.components = a;
2927
2907
  })(J || (J = {}));
2928
- const $e = J, Q = we.createContext({ theme: "", setTheme: () => {
2908
+ const $e = J, ee = we.createContext({ theme: "", setTheme: () => {
2929
2909
  } });
2930
- function ee(e) {
2931
- const { children: r, theme: l, use: a = "local" } = e, [o, n] = de(l);
2932
- return ae(() => {
2933
- if (a === "local") return;
2934
- const s = document.documentElement;
2935
- return s.classList.add(o), () => {
2936
- s.classList.remove(o);
2910
+ function re(e) {
2911
+ const { children: r, theme: a, use: l = "local" } = e, [t, n] = de(a ?? "light");
2912
+ return U(() => {
2913
+ if (a !== void 0) return;
2914
+ const u = window.matchMedia("(prefers-color-scheme: dark)");
2915
+ n(u.matches ? "dark" : "light");
2916
+ const c = (s) => {
2917
+ n(s.matches ? "dark" : "light");
2918
+ };
2919
+ return u.addEventListener("change", c), () => u.removeEventListener("change", c);
2920
+ }, [a]), U(() => {
2921
+ if (l === "local") return;
2922
+ const u = document.documentElement;
2923
+ return u.classList.add(t), () => {
2924
+ u.classList.remove(t);
2937
2925
  };
2938
- }, [o, a]), a === "local" ? /* @__PURE__ */ z(Q.Provider, { value: { theme: o, setTheme: n }, children: /* @__PURE__ */ z(Ne, { className: o, children: r }) }) : /* @__PURE__ */ z(Q.Provider, { value: { theme: o, setTheme: n }, children: r });
2926
+ }, [t, l]), l === "local" ? /* @__PURE__ */ S(ee.Provider, { value: { theme: t, setTheme: n }, children: /* @__PURE__ */ S(Fe, { className: t, children: r }) }) : /* @__PURE__ */ S(ee.Provider, { value: { theme: t, setTheme: n }, children: r });
2939
2927
  }
2940
2928
  ((e) => {
2941
2929
  function r() {
2942
- const { theme: l, setTheme: a } = xe(Q);
2943
- return [l, a];
2930
+ const { theme: a, setTheme: l } = xe(ee);
2931
+ return [a, l];
2944
2932
  }
2945
2933
  e.useTheme = r;
2946
- })(ee || (ee = {}));
2947
- const ze = ee;
2948
- class ke {
2934
+ })(re || (re = {}));
2935
+ const Se = re;
2936
+ class ze {
2949
2937
  constructor() {
2950
2938
  this._index = 0, this._cache = {};
2951
2939
  }
@@ -2953,89 +2941,89 @@ class ke {
2953
2941
  return this._cache[r] || (this._cache[r] = this.getByIndex(this._index++)), this._cache[r];
2954
2942
  }
2955
2943
  getByIndex(r) {
2956
- const { first: l, next: a } = Re, o = r - l.length;
2957
- if (o < 0)
2958
- return l[r];
2959
- const n = Math.floor(o / a.length), s = o - n * a.length;
2960
- return this.getByIndex(n) + a[s];
2944
+ const { first: a, next: l } = ke, t = r - a.length;
2945
+ if (t < 0)
2946
+ return a[r];
2947
+ const n = Math.floor(t / l.length), u = t - n * l.length;
2948
+ return this.getByIndex(n) + l[u];
2961
2949
  }
2962
2950
  }
2963
- const Re = {
2951
+ const ke = {
2964
2952
  first: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
2965
2953
  next: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
2966
2954
  };
2967
- function Se(e) {
2968
- const { clean: r, component: l, variant: a } = e;
2955
+ function Re(e) {
2956
+ const { clean: r, component: a, variant: l } = e;
2969
2957
  return le(() => {
2970
2958
  if (r) return;
2971
- const o = l?.split(".");
2972
- if (!o) return;
2973
- const n = o.reduce((i, m, f) => f === 0 ? $e.componentsStyles[m] : i?.children?.[m], void 0);
2959
+ const t = a?.split(".");
2960
+ if (!t) return;
2961
+ const n = t.reduce((s, m, f) => f === 0 ? $e.componentsStyles[m] : s?.children?.[m], void 0);
2974
2962
  if (!n) return;
2975
- if (!a) return n.styles;
2976
- const s = fe(a);
2977
- if (s.length === 0) return n.styles;
2978
- const u = S.mergeDeep(...s.map((i) => n.variants?.[i]));
2979
- return n.styles ? S.mergeDeep(n.styles, u) : u;
2980
- }, [r, l, a]);
2963
+ if (!l) return n.styles;
2964
+ const u = fe(l);
2965
+ if (u.length === 0) return n.styles;
2966
+ const c = R.mergeDeep(...u.map((s) => n.variants?.[s]));
2967
+ return n.styles ? R.mergeDeep(n.styles, c) : c;
2968
+ }, [r, a, l]);
2981
2969
  }
2982
- const Ae = new ke(), Oe = typeof window < "u" && typeof window.document < "u", H = typeof process == "object" && process.env?.NODE_ENV === "test", je = Oe && !H ? ae : ge, be = "_b", E = "_s";
2970
+ const Ae = new ze(), Oe = typeof window < "u" && typeof window.document < "u", H = typeof process == "object" && process.env?.NODE_ENV === "test", Ee = Oe && !H ? U : ge, be = "_b", I = "_s";
2983
2971
  function He(e, r) {
2984
- const l = Se(e), a = le(() => l ? S.mergeDeep(l, e) : e, [e, l]), o = [r ? E : be];
2985
- return B.addClassNames(a, o, []), je(() => {
2972
+ const a = Re(e), l = le(() => a ? R.mergeDeep(a, e) : e, [e, a]), t = [r ? I : be];
2973
+ return B.addClassNames(l, t, []), Ee(() => {
2986
2974
  B.flush();
2987
- }, [a]), o;
2975
+ }, [l]), t;
2988
2976
  }
2989
2977
  var B;
2990
2978
  ((e) => {
2991
- let r = !0, l = !1;
2992
- const a = /* @__PURE__ */ new Set(), o = [], n = [];
2993
- let s = 0;
2994
- const u = Object.keys(L).reduce((b, h, w) => (b[h] = w, b), {});
2995
- let i = {};
2979
+ let r = !0, a = !1;
2980
+ const l = /* @__PURE__ */ new Set(), t = [], n = [];
2981
+ let u = 0;
2982
+ const c = Object.keys(L).reduce((b, h, w) => (b[h] = w, b), {});
2983
+ let s = {};
2996
2984
  function m(b, h, w, p, g) {
2997
- Object.entries(b).forEach(([v, c]) => {
2998
- if (S.isKeyOf(v, L))
2999
- x(v, c, h, w, p, g);
3000
- else if (S.isKeyOf(v, me))
3001
- m(c, h, [...w, v], p, g);
3002
- else if (S.isKeyOf(v, U)) {
3003
- if (Array.isArray(c)) {
3004
- const [F, N] = c;
3005
- m(N, h, [...w, v], p, g);
2985
+ Object.entries(b).forEach(([v, d]) => {
2986
+ if (R.isKeyOf(v, L))
2987
+ x(v, d, h, w, p, g);
2988
+ else if (R.isKeyOf(v, me))
2989
+ m(d, h, [...w, v], p, g);
2990
+ else if (R.isKeyOf(v, W)) {
2991
+ if (Array.isArray(d)) {
2992
+ const [N, F] = d;
2993
+ m(F, h, [...w, v], p, g);
3006
2994
  }
3007
- S.isObject(c) && m(c, h, [...w, v], p, g);
3008
- } else S.isKeyOf(v, D) ? m(c, h, w, v, g) : S.isKeyOf(v, P) ? Object.entries(c).forEach(([F, N]) => {
3009
- m(N, h, [...w, P[v]], p, F);
3010
- }) : S.isKeyOf(v, ie) && Object.entries(c).forEach(([F, N]) => {
2995
+ R.isObject(d) && m(d, h, [...w, v], p, g);
2996
+ } else R.isKeyOf(v, D) ? m(d, h, w, v, g) : R.isKeyOf(v, P) ? Object.entries(d).forEach(([N, F]) => {
2997
+ m(F, h, [...w, P[v]], p, N);
2998
+ }) : R.isKeyOf(v, ie) && Object.entries(d).forEach(([N, F]) => {
3011
2999
  const $ = [...w, ie[v]];
3012
- Object.entries(N).forEach(([V, O]) => {
3013
- S.isKeyOf(V, P) ? Object.entries(O).forEach(([M, j]) => {
3000
+ Object.entries(F).forEach(([V, O]) => {
3001
+ R.isKeyOf(V, P) ? Object.entries(O).forEach(([M, E]) => {
3014
3002
  m(
3015
- j,
3003
+ E,
3016
3004
  h,
3017
3005
  [...$, P[V]],
3018
3006
  p,
3019
3007
  // Use | as separator to distinguish theme from group name
3020
- `${F}|${M}`
3008
+ `${N}|${M}`
3021
3009
  );
3022
- }) : m({ [V]: O }, h, $, p, F);
3010
+ }) : m({ [V]: O }, h, $, p, N);
3023
3011
  });
3024
3012
  });
3025
3013
  });
3026
3014
  }
3027
3015
  e.addClassNames = m;
3028
3016
  function f() {
3029
- const b = d.hasPendingVariables();
3017
+ const b = i.hasPendingVariables();
3030
3018
  if (!r && !b) return;
3031
3019
  console.debug("\x1B[36m%s\x1B[0m", "[react-box]: flush");
3032
- const h = K(), w = h.sheet;
3033
- if (l) {
3034
- if (d.hasPendingVariables()) {
3035
- const p = d.getPendingVariables(), g = `:root{${Object.entries(p).map(([v, c]) => `--${v}: ${c};`).join("")}}`;
3020
+ const h = q(), w = h.sheet;
3021
+ if (a) {
3022
+ if (i.hasPendingVariables()) {
3023
+ const p = i.getPendingVariables(), g = `:root{${Object.entries(p).map(([v, d]) => `--${v}: ${d};`).join("")}}`;
3036
3024
  if (w && !H)
3037
3025
  try {
3038
- w.insertRule(g, 0), s++;
3026
+ w.insertRule(g, 0), u++;
3039
3027
  } catch {
3040
3028
  }
3041
3029
  else
@@ -3044,7 +3032,7 @@ var B;
3044
3032
  }
3045
3033
  } else {
3046
3034
  const p = [
3047
- `:root{${d.generateVariables()}}`,
3035
+ `:root{${i.generateVariables()}}`,
3048
3036
  ":root{--borderColor: black;--outlineColor: black;--lineHeight: 1.2;--fontSize: 14px;--transitionTime: 0.25s;--svgTransitionTime: 0.3s;}",
3049
3037
  "#crono-box {position: absolute;top: 0;left: 0;height: 0;z-index:99999;}",
3050
3038
  "html{font-size: 16px;font-family: Arial, sans-serif;}",
@@ -3054,47 +3042,47 @@ var B;
3054
3042
  'input[type="number"]{-moz-appearance: textfield;}',
3055
3043
  'input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance: none;margin: 0;}',
3056
3044
  `.${be}{display: block;border: 0 solid var(--borderColor);outline: 0px solid var(--outlineColor);margin: 0;padding: 0;background-color: initial;transition: all var(--transitionTime);box-sizing: border-box;font-family: inherit;font-size: inherit;}`,
3057
- `.${E}{display: block;border: 0 solid var(--borderColor);outline: 0px solid var(--outlineColor);margin: 0;padding: 0;transition: all var(--svgTransitionTime);}`,
3058
- `.${E} path,.${E} circle,.${E} rect,.${E} line {transition: all var(--svgTransitionTime);}`
3045
+ `.${I}{display: block;border: 0 solid var(--borderColor);outline: 0px solid var(--outlineColor);margin: 0;padding: 0;transition: all var(--svgTransitionTime);}`,
3046
+ `.${I} path,.${I} circle,.${I} rect,.${I} line {transition: all var(--svgTransitionTime);}`
3059
3047
  ];
3060
3048
  if (w && !H)
3061
3049
  for (const g of p)
3062
3050
  try {
3063
- w.insertRule(g, s), s++;
3051
+ w.insertRule(g, u), u++;
3064
3052
  } catch {
3065
3053
  }
3066
3054
  else
3067
3055
  h.textContent = p.join(`
3068
3056
  `);
3069
- l = !0;
3070
- }
3071
- if (o.length > 0) {
3072
- if (o.sort((p, g) => p[1] - g[1] || p[0] - g[0]), w && !H)
3073
- for (const [p, g, v] of o) {
3074
- const c = g * 1e5 + p;
3075
- let F = n.length;
3076
- for (let N = 0; N < n.length; N++)
3077
- if (c < n[N]) {
3078
- F = N;
3057
+ a = !0;
3058
+ }
3059
+ if (t.length > 0) {
3060
+ if (t.sort((p, g) => p[1] - g[1] || p[0] - g[0]), w && !H)
3061
+ for (const [p, g, v] of t) {
3062
+ const d = g * 1e5 + p;
3063
+ let N = n.length;
3064
+ for (let F = 0; F < n.length; F++)
3065
+ if (d < n[F]) {
3066
+ N = F;
3079
3067
  break;
3080
3068
  }
3081
3069
  try {
3082
- w.insertRule(v, s + F), n.splice(F, 0, c);
3070
+ w.insertRule(v, u + N), n.splice(N, 0, d);
3083
3071
  } catch {
3084
- w.insertRule(v, w.cssRules.length), n.push(c);
3072
+ w.insertRule(v, w.cssRules.length), n.push(d);
3085
3073
  }
3086
3074
  }
3087
3075
  else
3088
- h.textContent += o.map((p) => p[2]).join("");
3089
- o.length = 0;
3076
+ h.textContent += t.map((p) => p[2]).join("");
3077
+ t.length = 0;
3090
3078
  }
3091
3079
  r = !1;
3092
3080
  }
3093
3081
  e.flush = f;
3094
3082
  function y(b, h, w, p, g) {
3095
- const c = L[b].find((V) => Array.isArray(V.values) ? V.values.includes(h) : typeof h == typeof V.values);
3096
- if (!c) return null;
3097
- const F = u[b] ?? 0, N = D[p] ?? 0, $ = C(
3083
+ const d = L[b].find((V) => Array.isArray(V.values) ? V.values.includes(h) : typeof h == typeof V.values);
3084
+ if (!d) return null;
3085
+ const N = c[b] ?? 0, F = D[p] ?? 0, $ = C(
3098
3086
  b,
3099
3087
  h,
3100
3088
  w,
@@ -3102,41 +3090,41 @@ var B;
3102
3090
  g
3103
3091
  );
3104
3092
  if (g) {
3105
- const V = q[w], O = V.includes("theme"), j = (O ? V.filter((I) => I !== "theme") : V).map((I) => W[I]).join(""), G = g.includes("|");
3093
+ const V = X[w], O = V.includes("theme"), E = (O ? V.filter((j) => j !== "theme") : V).map((j) => K[j]).join(""), G = g.includes("|");
3106
3094
  let A;
3107
3095
  if (G) {
3108
- const [I, Ce] = g.split("|");
3109
- A = `.${I} .${Ce}${j} .${$}`;
3110
- } else O ? A = `.${g} .${$}${j}` : A = `.${g}${j} .${$}`;
3111
- const he = c.selector?.(A, "") ?? A, ve = Array.isArray(c.styleName) ? c.styleName : [c.styleName ?? b], pe = c.valueFormat?.(h, d.getVariableValue) ?? h, ne = `${he}{${ve.map((I) => `${I}:${pe}`).join(";")}}`;
3112
- return p !== "normal" ? { rule: `@media(min-width: ${D[p]}px){${ne}}`, sortIndex: F, breakpointOrder: N } : { rule: ne, sortIndex: F, breakpointOrder: N };
3096
+ const [j, Ce] = g.split("|");
3097
+ A = `.${j} .${Ce}${E} .${$}`;
3098
+ } else O ? A = `.${g} .${$}${E}` : A = `.${g}${E} .${$}`;
3099
+ const he = d.selector?.(A, "") ?? A, ve = Array.isArray(d.styleName) ? d.styleName : [d.styleName ?? b], pe = d.valueFormat?.(h, i.getVariableValue) ?? h, ne = `${he}{${ve.map((j) => `${j}:${pe}`).join(";")}}`;
3100
+ return p !== "normal" ? { rule: `@media(min-width: ${D[p]}px){${ne}}`, sortIndex: N, breakpointOrder: F } : { rule: ne, sortIndex: N, breakpointOrder: F };
3113
3101
  } else {
3114
- const V = q[w].map((A) => W[A]).join(""), O = c.selector?.(`.${$}`, V) ?? `.${$}${V}`, M = Array.isArray(c.styleName) ? c.styleName : [c.styleName ?? b], j = c.valueFormat?.(h, d.getVariableValue) ?? h, G = `${O}{${M.map((A) => `${A}:${j}`).join(";")}}`;
3115
- return p !== "normal" ? { rule: `@media(min-width: ${D[p]}px){${G}}`, sortIndex: F, breakpointOrder: N } : { rule: G, sortIndex: F, breakpointOrder: N };
3102
+ const V = X[w].map((A) => K[A]).join(""), O = d.selector?.(`.${$}`, V) ?? `.${$}${V}`, M = Array.isArray(d.styleName) ? d.styleName : [d.styleName ?? b], E = d.valueFormat?.(h, i.getVariableValue) ?? h, G = `${O}{${M.map((A) => `${A}:${E}`).join(";")}}`;
3103
+ return p !== "normal" ? { rule: `@media(min-width: ${D[p]}px){${G}}`, sortIndex: N, breakpointOrder: F } : { rule: G, sortIndex: N, breakpointOrder: F };
3116
3104
  }
3117
3105
  }
3118
- function k() {
3119
- i = {}, a.clear(), o.length = 0, n.length = 0, s = 0, l = !1;
3106
+ function z() {
3107
+ s = {}, l.clear(), t.length = 0, n.length = 0, u = 0, a = !1;
3120
3108
  }
3121
- e.clear = k;
3109
+ e.clear = z;
3122
3110
  function x(b, h, w, p, g = "normal", v) {
3123
3111
  if (h == null) return;
3124
- const c = p.reduce(($, V) => $ + ye[V], 0), F = C(b, h, c, g, v), N = `${g}-${c}-${b}-${h}-${v ?? ""}`;
3125
- if (!a.has(N)) {
3126
- a.add(N);
3127
- const $ = y(b, h, c, g, v);
3128
- $ && (o.push([$.sortIndex, $.breakpointOrder, $.rule]), r = !0), i[g] ? i[g][c] ? i[g][c][b] || (i[g][c][b] = /* @__PURE__ */ new Set()) : i[g][c] = { [b]: /* @__PURE__ */ new Set() } : i[g] = { [c]: { [b]: /* @__PURE__ */ new Set() } }, v ? (i[g][c].__parents ? i[g][c].__parents[v] ? i[g][c].__parents[v][b] || (i[g][c].__parents[v][b] = /* @__PURE__ */ new Set()) : i[g][c].__parents[v] = { [b]: /* @__PURE__ */ new Set() } : i[g][c].__parents = { [v]: { [b]: /* @__PURE__ */ new Set() } }, i[g][c].__parents[v][b].add(h)) : i[g][c][b].add(h);
3112
+ const d = p.reduce(($, V) => $ + ye[V], 0), N = C(b, h, d, g, v), F = `${g}-${d}-${b}-${h}-${v ?? ""}`;
3113
+ if (!l.has(F)) {
3114
+ l.add(F);
3115
+ const $ = y(b, h, d, g, v);
3116
+ $ && (t.push([$.sortIndex, $.breakpointOrder, $.rule]), r = !0), s[g] ? s[g][d] ? s[g][d][b] || (s[g][d][b] = /* @__PURE__ */ new Set()) : s[g][d] = { [b]: /* @__PURE__ */ new Set() } : s[g] = { [d]: { [b]: /* @__PURE__ */ new Set() } }, v ? (s[g][d].__parents ? s[g][d].__parents[v] ? s[g][d].__parents[v][b] || (s[g][d].__parents[v][b] = /* @__PURE__ */ new Set()) : s[g][d].__parents[v] = { [b]: /* @__PURE__ */ new Set() } : s[g][d].__parents = { [v]: { [b]: /* @__PURE__ */ new Set() } }, s[g][d].__parents[v][b].add(h)) : s[g][d][b].add(h);
3129
3117
  }
3130
- w.push(F);
3118
+ w.push(N);
3131
3119
  }
3132
3120
  function C(b, h, w, p, g) {
3133
- const v = q[w], c = `${p === "normal" ? "" : `${p}-`}${v.map((F) => `${F}-`).join("")}${g ? `${g}-` : ""}${b}-${h}`;
3134
- return H ? c : Ae.getIdentity(c);
3121
+ const v = X[w], d = `${p === "normal" ? "" : `${p}-`}${v.map((N) => `${N}-`).join("")}${g ? `${g}-` : ""}${b}-${h}`;
3122
+ return H ? d : Ae.getIdentity(d);
3135
3123
  }
3136
- const R = "crono-styles";
3137
- function K() {
3138
- let b = document.getElementById(R);
3139
- return b || (b = document.createElement("style"), b.setAttribute("id", R), b.setAttribute("type", "text/css"), document.head.insertBefore(b, document.head.firstChild)), b;
3124
+ const k = "crono-styles";
3125
+ function q() {
3126
+ let b = document.getElementById(k);
3127
+ return b || (b = document.createElement("style"), b.setAttribute("id", k), b.setAttribute("type", "text/css"), document.head.insertBefore(b, document.head.firstChild)), b;
3140
3128
  }
3141
3129
  })(B || (B = {}));
3142
3130
  var ue;
@@ -3154,12 +3142,12 @@ Array.prototype.add || (Array.prototype.add = function(...e) {
3154
3142
  return r.push(...e), r;
3155
3143
  });
3156
3144
  Array.prototype.sumBy || (Array.prototype.sumBy = function(e, r = 0) {
3157
- return this.reduce((l, a, o) => l + e(a, o), r);
3145
+ return this.reduce((a, l, t) => a + e(l, t), r);
3158
3146
  });
3159
3147
  Array.prototype.sortBy || (Array.prototype.sortBy = function(e, r) {
3160
- return [...this].sort((a, o) => {
3161
- const n = e(a), s = e(o);
3162
- return n < s ? r === "DESC" ? 1 : -1 : n > s ? r === "DESC" ? -1 : 1 : 0;
3148
+ return [...this].sort((l, t) => {
3149
+ const n = e(l), u = e(t);
3150
+ return n < u ? r === "DESC" ? 1 : -1 : n > u ? r === "DESC" ? -1 : 1 : 0;
3163
3151
  });
3164
3152
  });
3165
3153
  Array.prototype.maxBy || (Array.prototype.maxBy = function(e) {
@@ -3172,50 +3160,50 @@ Array.prototype.findOrThrow || (Array.prototype.findOrThrow = function(e) {
3172
3160
  });
3173
3161
  Array.prototype.toRecord || (Array.prototype.toRecord = function(e) {
3174
3162
  return this.reduce(
3175
- (r, l) => {
3176
- const a = e(l);
3177
- if (!a) return r;
3178
- const [o, n] = a;
3179
- return r[o] = n, r;
3163
+ (r, a) => {
3164
+ const l = e(a);
3165
+ if (!l) return r;
3166
+ const [t, n] = l;
3167
+ return r[t] = n, r;
3180
3168
  },
3181
3169
  {}
3182
3170
  );
3183
3171
  });
3184
3172
  Array.prototype.groupBy || (Array.prototype.groupBy = function(e, r = !1) {
3185
- const l = this.reduce((a, o, n) => {
3186
- const s = e(o, n);
3187
- return r && typeof s != "number" && !s || (a.has(s) === !1 && a.set(s, []), a.get(s)?.push(o)), a;
3173
+ const a = this.reduce((l, t, n) => {
3174
+ const u = e(t, n);
3175
+ return r && typeof u != "number" && !u || (l.has(u) === !1 && l.set(u, []), l.get(u)?.push(t)), l;
3188
3176
  }, /* @__PURE__ */ new Map());
3189
- return Array.from(l, ([a, o]) => ({ key: a, values: o }));
3177
+ return Array.from(a, ([l, t]) => ({ key: l, values: t }));
3190
3178
  });
3191
3179
  function Me(e) {
3192
- const { node: r = null, event: l = "click", hideOnScroll: a = !1, hideOnResize: o = !1, hideOnEscape: n = !0 } = e ?? {}, [s, u] = de(!1), i = Fe(null);
3180
+ const { node: r = null, event: a = "click", hideOnScroll: l = !1, hideOnResize: t = !1, hideOnEscape: n = !0 } = e ?? {}, [u, c] = de(!1), s = Ne(null);
3193
3181
  return ge(() => {
3194
3182
  function m(C) {
3195
- (r ?? i.current)?.contains(C.target) === !1 && u(!1);
3183
+ (r ?? s.current)?.contains(C.target) === !1 && c(!1);
3196
3184
  }
3197
3185
  function f() {
3198
- u(!1);
3186
+ c(!1);
3199
3187
  }
3200
3188
  function y(C) {
3201
- (r ?? i.current)?.contains(C.target) === !1 && u(!1);
3189
+ (r ?? s.current)?.contains(C.target) === !1 && c(!1);
3202
3190
  }
3203
- function k(C) {
3204
- C.key === "Escape" && u(!1);
3191
+ function z(C) {
3192
+ C.key === "Escape" && c(!1);
3205
3193
  }
3206
3194
  const x = new AbortController();
3207
- return s && (window.addEventListener(l, m, x), n && window.addEventListener("keydown", k, x), o && window.addEventListener("resize", f, x), a && window.addEventListener("scroll", y, { signal: x.signal, capture: !0 })), () => {
3195
+ return u && (window.addEventListener(a, m, x), n && window.addEventListener("keydown", z, x), t && window.addEventListener("resize", f, x), l && window.addEventListener("scroll", y, { signal: x.signal, capture: !0 })), () => {
3208
3196
  x.abort();
3209
3197
  };
3210
- }, [r, s]), [s, u, i];
3198
+ }, [r, u]), [u, c, s];
3211
3199
  }
3212
- const Ie = {
3200
+ const je = {
3213
3201
  selected: "aria-selected"
3214
3202
  };
3215
3203
  var ce;
3216
3204
  ((e) => {
3217
- function r(l, a, o) {
3218
- l !== void 0 && l != null && (o[Ie[a] ?? a] = Array.isArray(l) ? l[0] : l);
3205
+ function r(a, l, t) {
3206
+ a !== void 0 && a != null && (t[je[l] ?? l] = Array.isArray(a) ? a[0] : a);
3219
3207
  }
3220
3208
  e.assignBooleanProp = r;
3221
3209
  })(ce || (ce = {}));
@@ -3229,39 +3217,39 @@ function Ge(e) {
3229
3217
  get: () => (r === void 0 && (r = e()), r)
3230
3218
  });
3231
3219
  }
3232
- function Ee(e, r) {
3220
+ function Ie(e, r) {
3233
3221
  if (!e) return { score: 1, matches: [] };
3234
3222
  if (!r) return null;
3235
- const l = e.toLowerCase(), a = r.toLowerCase();
3236
- let o = 0, n = 0;
3237
- const s = [];
3238
- let u = -1, i = 0, m = 0;
3239
- for (; o < l.length && n < a.length; )
3240
- l[o] === a[n] ? (u === -1 && (u = n), o++, m++, i += m, (n === 0 || /\s|_|-/.test(r[n - 1])) && (i += 5), e[o - 1] === r[n] && (i += 1)) : (u !== -1 && (s.push([u, n]), u = -1), m = 0), n++;
3241
- return u !== -1 && s.push([u, n]), o < l.length ? null : (i = i / r.length, { score: i, matches: s });
3223
+ const a = e.toLowerCase(), l = r.toLowerCase();
3224
+ let t = 0, n = 0;
3225
+ const u = [];
3226
+ let c = -1, s = 0, m = 0;
3227
+ for (; t < a.length && n < l.length; )
3228
+ a[t] === l[n] ? (c === -1 && (c = n), t++, m++, s += m, (n === 0 || /\s|_|-/.test(r[n - 1])) && (s += 5), e[t - 1] === r[n] && (s += 1)) : (c !== -1 && (u.push([c, n]), c = -1), m = 0), n++;
3229
+ return c !== -1 && u.push([c, n]), t < a.length ? null : (s = s / r.length, { score: s, matches: u });
3242
3230
  }
3243
3231
  function Pe(e, r) {
3244
- return Ee(e, r) !== null;
3232
+ return Ie(e, r) !== null;
3245
3233
  }
3246
- var re;
3234
+ var te;
3247
3235
  ((e) => {
3248
- function r(l, a = 300) {
3249
- let o = !1, n;
3250
- return (...s) => {
3251
- if (o) {
3252
- n = s;
3236
+ function r(a, l = 300) {
3237
+ let t = !1, n;
3238
+ return (...u) => {
3239
+ if (t) {
3240
+ n = u;
3253
3241
  return;
3254
3242
  }
3255
- l(...s), o = !0, setTimeout(() => {
3256
- o = !1, n && l(...n);
3257
- }, a);
3243
+ a(...u), t = !0, setTimeout(() => {
3244
+ t = !1, n && a(...n);
3245
+ }, l);
3258
3246
  };
3259
3247
  }
3260
3248
  e.throttle = r;
3261
- })(re || (re = {}));
3262
- const De = re;
3249
+ })(te || (te = {}));
3250
+ const De = te;
3263
3251
  function Ue(e) {
3264
- return /* @__PURE__ */ z(T, { viewBox: "4 2 16 18", width: "1rem", fill: "currentColor", ...e, children: /* @__PURE__ */ z(
3252
+ return /* @__PURE__ */ S(T, { viewBox: "4 2 16 18", width: "1rem", fill: "currentColor", ...e, children: /* @__PURE__ */ S(
3265
3253
  "path",
3266
3254
  {
3267
3255
  fillRule: "evenodd",
@@ -3272,25 +3260,25 @@ function Ue(e) {
3272
3260
  }
3273
3261
  const _ = /* @__PURE__ */ new Map();
3274
3262
  function We() {
3275
- const [e] = ze.useTheme(), r = le(() => {
3276
- const l = "crono-box";
3277
- let a = document.getElementById(l);
3278
- return a || (a = document.createElement("div"), a.id = l, document.body.appendChild(a)), a;
3263
+ const [e] = Se.useTheme(), r = le(() => {
3264
+ const a = "crono-box";
3265
+ let l = document.getElementById(a);
3266
+ return l || (l = document.createElement("div"), l.id = a, document.body.appendChild(l)), l;
3279
3267
  }, []);
3280
- return ae(() => {
3268
+ return U(() => {
3281
3269
  if (!e) return;
3282
- const l = _.get(e) ?? 0;
3283
- return _.set(e, l + 1), l === 0 && r.classList.add(e), () => {
3284
- const o = (_.get(e) ?? 1) - 1;
3285
- o <= 0 ? (_.delete(e), r.classList.remove(e)) : _.set(e, o);
3270
+ const a = _.get(e) ?? 0;
3271
+ return _.set(e, a + 1), a === 0 && r.classList.add(e), () => {
3272
+ const t = (_.get(e) ?? 1) - 1;
3273
+ t <= 0 ? (_.delete(e), r.classList.remove(e)) : _.set(e, t);
3286
3274
  };
3287
3275
  }, [r, e]), r;
3288
3276
  }
3289
3277
  function Ke(e) {
3290
- return /* @__PURE__ */ z(T, { ...e, children: /* @__PURE__ */ z("path", { d: "M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z" }) });
3278
+ return /* @__PURE__ */ S(T, { ...e, children: /* @__PURE__ */ S("path", { d: "M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z" }) });
3291
3279
  }
3292
3280
  function qe(e) {
3293
- return /* @__PURE__ */ z(T, { viewBox: "0 0 16 16", width: "18", ...e, children: /* @__PURE__ */ z(
3281
+ return /* @__PURE__ */ S(T, { viewBox: "0 0 16 16", width: "18", ...e, children: /* @__PURE__ */ S(
3294
3282
  "path",
3295
3283
  {
3296
3284
  strokeWidth: 4,
@@ -3298,81 +3286,81 @@ function qe(e) {
3298
3286
  }
3299
3287
  ) });
3300
3288
  }
3301
- function Ye(e) {
3302
- return /* @__PURE__ */ z(T, { viewBox: "0 0 24 24", ...e, children: /* @__PURE__ */ z("path", { d: "M3 5h8v2H3V5zm0 6h8v2H3v-2zm0 6h8v2H3v-2zm12-12h6v6h-6V5zm1 1v4h4V6h-4zm-1 7h6v6h-6v-6zm1 1v4h4v-4h-4z" }) });
3303
- }
3304
3289
  function Xe(e) {
3305
- return /* @__PURE__ */ z(T, { viewBox: "0 0 1024 1024", ...e, children: /* @__PURE__ */ z("path", { d: "M31.997 1023.957a31.699 31.699 0 0 1-22.611-9.386C3.328 1008.556 0 1000.493 0 991.96s3.328-16.596 9.386-22.611L328.25 650.484l-152.52-152.52a95.907 95.907 0 0 1-25.087-92.152 95.31 95.31 0 0 1 44.327-58.62l.896-.512a353.464 353.464 0 0 1 176.156-47.398c20.137 0 40.36 1.749 60.283 5.205L597.71 44.54A95.224 95.224 0 0 1 678.685.085c25.64 0 49.745 9.983 67.877 28.073l249.195 249.195a95.224 95.224 0 0 1 25.897 88.74 95.139 95.139 0 0 1-42.152 60.154L719.513 591.695a352.227 352.227 0 0 1-42.663 237.292A95.395 95.395 0 0 1 594 876.514a95.523 95.523 0 0 1-67.963-28.2L373.43 695.706 54.61 1014.614a31.912 31.912 0 0 1-22.612 9.343zm340.025-660.68c-50.64 0-100.685 13.566-144.798 39.207a31.57 31.57 0 0 0-14.676 19.497 31.699 31.699 0 0 0 8.362 30.675L571.344 803.09c6.059 6.059 14.122 9.386 22.697 9.386a31.699 31.699 0 0 0 27.56-15.785 287.421 287.421 0 0 0 31.06-212.676 31.997 31.997 0 0 1 13.907-34.471l278.59-177.266a31.57 31.57 0 0 0 14.037-20.051 31.699 31.699 0 0 0-8.618-29.566l-249.28-249.28a31.912 31.912 0 0 0-49.618 5.418l-177.308 278.59a31.827 31.827 0 0 1-34.472 13.908 293.778 293.778 0 0 0-67.877-8.02z" }) });
3290
+ return /* @__PURE__ */ S(T, { viewBox: "0 0 24 24", ...e, children: /* @__PURE__ */ S("path", { d: "M3 5h8v2H3V5zm0 6h8v2H3v-2zm0 6h8v2H3v-2zm12-12h6v6h-6V5zm1 1v4h4V6h-4zm-1 7h6v6h-6v-6zm1 1v4h4v-4h-4z" }) });
3291
+ }
3292
+ function Ye(e) {
3293
+ return /* @__PURE__ */ S(T, { viewBox: "0 0 1024 1024", ...e, children: /* @__PURE__ */ S("path", { d: "M31.997 1023.957a31.699 31.699 0 0 1-22.611-9.386C3.328 1008.556 0 1000.493 0 991.96s3.328-16.596 9.386-22.611L328.25 650.484l-152.52-152.52a95.907 95.907 0 0 1-25.087-92.152 95.31 95.31 0 0 1 44.327-58.62l.896-.512a353.464 353.464 0 0 1 176.156-47.398c20.137 0 40.36 1.749 60.283 5.205L597.71 44.54A95.224 95.224 0 0 1 678.685.085c25.64 0 49.745 9.983 67.877 28.073l249.195 249.195a95.224 95.224 0 0 1 25.897 88.74 95.139 95.139 0 0 1-42.152 60.154L719.513 591.695a352.227 352.227 0 0 1-42.663 237.292A95.395 95.395 0 0 1 594 876.514a95.523 95.523 0 0 1-67.963-28.2L373.43 695.706 54.61 1014.614a31.912 31.912 0 0 1-22.612 9.343zm340.025-660.68c-50.64 0-100.685 13.566-144.798 39.207a31.57 31.57 0 0 0-14.676 19.497 31.699 31.699 0 0 0 8.362 30.675L571.344 803.09c6.059 6.059 14.122 9.386 22.697 9.386a31.699 31.699 0 0 0 27.56-15.785 287.421 287.421 0 0 0 31.06-212.676 31.997 31.997 0 0 1 13.907-34.471l278.59-177.266a31.57 31.57 0 0 0 14.037-20.051 31.699 31.699 0 0 0-8.618-29.566l-249.28-249.28a31.912 31.912 0 0 0-49.618 5.418l-177.308 278.59a31.827 31.827 0 0 1-34.472 13.908 293.778 293.778 0 0 0-67.877-8.02z" }) });
3306
3294
  }
3307
3295
  var oe;
3308
3296
  ((e) => {
3309
- function r(l) {
3310
- return l.charAt(0).toUpperCase() + l.slice(1);
3297
+ function r(a) {
3298
+ return a.charAt(0).toUpperCase() + a.slice(1);
3311
3299
  }
3312
3300
  e.capitalize = r;
3313
3301
  })(oe || (oe = {}));
3314
3302
  const Ze = oe;
3315
- function Je(e) {
3316
- return /* @__PURE__ */ z(T, { viewBox: "0 0 488.4 488.4", ...e, children: /* @__PURE__ */ z("path", { d: "M0 203.25c0 112.1 91.2 203.2 203.2 203.2 51.6 0 98.8-19.4 134.7-51.2l129.5 129.5c2.4 2.4 5.5 3.6 8.7 3.6s6.3-1.2 8.7-3.6c4.8-4.8 4.8-12.5 0-17.3l-129.6-129.5c31.8-35.9 51.2-83 51.2-134.7C406.4 91.15 315.2.05 203.2.05S0 91.15 0 203.25zm381.9 0c0 98.5-80.2 178.7-178.7 178.7s-178.7-80.2-178.7-178.7 80.2-178.7 178.7-178.7 178.7 80.1 178.7 178.7z" }) });
3303
+ function Qe(e) {
3304
+ return /* @__PURE__ */ S(T, { viewBox: "0 0 488.4 488.4", ...e, children: /* @__PURE__ */ S("path", { d: "M0 203.25c0 112.1 91.2 203.2 203.2 203.2 51.6 0 98.8-19.4 134.7-51.2l129.5 129.5c2.4 2.4 5.5 3.6 8.7 3.6s6.3-1.2 8.7-3.6c4.8-4.8 4.8-12.5 0-17.3l-129.6-129.5c31.8-35.9 51.2-83 51.2-134.7C406.4 91.15 315.2.05 203.2.05S0 91.15 0 203.25zm381.9 0c0 98.5-80.2 178.7-178.7 178.7s-178.7-80.2-178.7-178.7 80.2-178.7 178.7-178.7 178.7 80.1 178.7 178.7z" }) });
3317
3305
  }
3318
- var te;
3306
+ var ae;
3319
3307
  ((e) => {
3320
- function r(a) {
3321
- const o = Array.from(a.elements).reduce(
3322
- (n, s) => {
3323
- const u = s.name;
3324
- return u && (n[u] || (n[u] = []), n[u].push(s)), n;
3308
+ function r(l) {
3309
+ const t = Array.from(l.elements).reduce(
3310
+ (n, u) => {
3311
+ const c = u.name;
3312
+ return c && (n[c] || (n[c] = []), n[c].push(u)), n;
3325
3313
  },
3326
3314
  {}
3327
3315
  );
3328
- return Object.entries(o).reduce((n, [s, u]) => {
3329
- if (u.length === 1) {
3330
- const i = u[0];
3331
- l(n, s, i.type === "checkbox" || i.type === "radio" ? i.checked : i.value);
3316
+ return Object.entries(t).reduce((n, [u, c]) => {
3317
+ if (c.length === 1) {
3318
+ const s = c[0];
3319
+ a(n, u, s.type === "checkbox" || s.type === "radio" ? s.checked : s.value);
3332
3320
  } else {
3333
- const i = u.reduce((m, f) => (f.type === "checkbox" || f.type === "radio" ? f.checked && m.push(f.value) : m.push(f.value), m), []);
3334
- l(n, s, i);
3321
+ const s = c.reduce((m, f) => (f.type === "checkbox" || f.type === "radio" ? f.checked && m.push(f.value) : m.push(f.value), m), []);
3322
+ a(n, u, s);
3335
3323
  }
3336
3324
  return n;
3337
3325
  }, {});
3338
3326
  }
3339
3327
  e.getFormEntries = r;
3340
- function l(a, o, n) {
3341
- if (o.includes(".")) {
3342
- const s = o.split(".");
3343
- let u = a;
3344
- s.forEach((i, m) => {
3345
- if (s.length > m + 1) {
3346
- const f = i.match(/^(.+)\[(\d)\]$/);
3328
+ function a(l, t, n) {
3329
+ if (t.includes(".")) {
3330
+ const u = t.split(".");
3331
+ let c = l;
3332
+ u.forEach((s, m) => {
3333
+ if (u.length > m + 1) {
3334
+ const f = s.match(/^(.+)\[(\d)\]$/);
3347
3335
  if (f) {
3348
- const [, y, k] = f;
3349
- u[y] = u[y] || [], u[y][k] = u[y][k] || {}, u = u[y][k];
3336
+ const [, y, z] = f;
3337
+ c[y] = c[y] || [], c[y][z] = c[y][z] || {}, c = c[y][z];
3350
3338
  } else
3351
- u[i] = u[i] || {}, u = u[i];
3339
+ c[s] = c[s] || {}, c = c[s];
3352
3340
  } else
3353
- u[i] = n;
3341
+ c[s] = n;
3354
3342
  });
3355
3343
  } else
3356
- a[o] = n;
3344
+ l[t] = n;
3357
3345
  }
3358
- })(te || (te = {}));
3359
- const Qe = te;
3346
+ })(ae || (ae = {}));
3347
+ const Je = ae;
3360
3348
  export {
3361
3349
  ce as B,
3362
3350
  qe as D,
3363
3351
  Ue as E,
3364
3352
  De as F,
3365
- Ye as G,
3366
- S as O,
3367
- Xe as P,
3353
+ Xe as G,
3354
+ R as O,
3355
+ Ye as P,
3368
3356
  Ke as S,
3369
- ze as T,
3370
- d as V,
3357
+ Se as T,
3358
+ i as V,
3371
3359
  $e as a,
3372
3360
  Me as b,
3373
3361
  fe as c,
3374
- Je as d,
3375
- Qe as e,
3362
+ Qe as d,
3363
+ Je as e,
3376
3364
  Pe as f,
3377
3365
  Ze as g,
3378
3366
  We as h,