@datatechsolutions/ui 3.4.0 → 3.5.1

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.
Files changed (105) hide show
  1. package/dist/astrlabe/index.js +107 -107
  2. package/dist/astrlabe/index.mjs +3 -3
  3. package/dist/astrlabe/workflow-canvas.js +3 -3
  4. package/dist/astrlabe/workflow-canvas.mjs +2 -2
  5. package/dist/{chunk-IDEM3DYF.mjs → chunk-2TBNOQ7M.mjs} +3 -3
  6. package/dist/{chunk-IDEM3DYF.mjs.map → chunk-2TBNOQ7M.mjs.map} +1 -1
  7. package/dist/{chunk-45QAUEYT.js → chunk-2UMDWOUY.js} +4 -4
  8. package/dist/{chunk-45QAUEYT.js.map → chunk-2UMDWOUY.js.map} +1 -1
  9. package/dist/{chunk-NAFWHJCM.mjs → chunk-37ZLBCJF.mjs} +6 -6
  10. package/dist/{chunk-NAFWHJCM.mjs.map → chunk-37ZLBCJF.mjs.map} +1 -1
  11. package/dist/{chunk-MO5FBVV3.js → chunk-5AVO5DJO.js} +62 -62
  12. package/dist/{chunk-MO5FBVV3.js.map → chunk-5AVO5DJO.js.map} +1 -1
  13. package/dist/{chunk-X3GW7UPN.mjs → chunk-7OZ4MVEF.mjs} +4 -4
  14. package/dist/{chunk-X3GW7UPN.mjs.map → chunk-7OZ4MVEF.mjs.map} +1 -1
  15. package/dist/{chunk-SQ4KGLBZ.mjs → chunk-CDYNTHUE.mjs} +41 -7
  16. package/dist/chunk-CDYNTHUE.mjs.map +1 -0
  17. package/dist/{chunk-ZKSDDFHG.mjs → chunk-CJGNEALB.mjs} +4 -4
  18. package/dist/{chunk-ZKSDDFHG.mjs.map → chunk-CJGNEALB.mjs.map} +1 -1
  19. package/dist/{chunk-4GDWGWHY.mjs → chunk-CP5QXRXA.mjs} +4 -4
  20. package/dist/{chunk-4GDWGWHY.mjs.map → chunk-CP5QXRXA.mjs.map} +1 -1
  21. package/dist/{chunk-SEYUYGER.mjs → chunk-EGXB3WXT.mjs} +12 -11
  22. package/dist/chunk-EGXB3WXT.mjs.map +1 -0
  23. package/dist/{chunk-UJVDI66K.js → chunk-EI6FIA45.js} +16 -16
  24. package/dist/{chunk-UJVDI66K.js.map → chunk-EI6FIA45.js.map} +1 -1
  25. package/dist/{chunk-AGGOHPMZ.mjs → chunk-EUXHJMGC.mjs} +138 -108
  26. package/dist/chunk-EUXHJMGC.mjs.map +1 -0
  27. package/dist/{chunk-M7KSEUZR.js → chunk-F5UDX6JA.js} +74 -74
  28. package/dist/{chunk-M7KSEUZR.js.map → chunk-F5UDX6JA.js.map} +1 -1
  29. package/dist/{chunk-6MBWKOPF.js → chunk-HVDDCBQ2.js} +33 -33
  30. package/dist/{chunk-6MBWKOPF.js.map → chunk-HVDDCBQ2.js.map} +1 -1
  31. package/dist/{chunk-FSBR4RCK.js → chunk-K4M4B6ME.js} +138 -108
  32. package/dist/chunk-K4M4B6ME.js.map +1 -0
  33. package/dist/{chunk-4ICEQJH4.js → chunk-KIBOX3UQ.js} +53 -53
  34. package/dist/{chunk-4ICEQJH4.js.map → chunk-KIBOX3UQ.js.map} +1 -1
  35. package/dist/{chunk-NCLZKVJK.js → chunk-KRPSTXN5.js} +9 -9
  36. package/dist/{chunk-NCLZKVJK.js.map → chunk-KRPSTXN5.js.map} +1 -1
  37. package/dist/{chunk-NVQWHJQH.mjs → chunk-L5O4NWQO.mjs} +3 -3
  38. package/dist/{chunk-NVQWHJQH.mjs.map → chunk-L5O4NWQO.mjs.map} +1 -1
  39. package/dist/{chunk-Y2AYFG4E.js → chunk-MT4FJRMD.js} +4 -4
  40. package/dist/{chunk-Y2AYFG4E.js.map → chunk-MT4FJRMD.js.map} +1 -1
  41. package/dist/{chunk-CF7GOUBQ.js → chunk-OWJIKCR2.js} +13 -13
  42. package/dist/{chunk-CF7GOUBQ.js.map → chunk-OWJIKCR2.js.map} +1 -1
  43. package/dist/{chunk-RFRXS4PC.mjs → chunk-PFHXKWFT.mjs} +3 -3
  44. package/dist/{chunk-RFRXS4PC.mjs.map → chunk-PFHXKWFT.mjs.map} +1 -1
  45. package/dist/{chunk-BW67WFHT.mjs → chunk-PI2C3S6A.mjs} +3 -3
  46. package/dist/{chunk-BW67WFHT.mjs.map → chunk-PI2C3S6A.mjs.map} +1 -1
  47. package/dist/{chunk-ERCDMBRT.js → chunk-PYQLY2RH.js} +168 -167
  48. package/dist/chunk-PYQLY2RH.js.map +1 -0
  49. package/dist/{chunk-UE2RDQIK.js → chunk-QIUVK4BI.js} +77 -77
  50. package/dist/{chunk-UE2RDQIK.js.map → chunk-QIUVK4BI.js.map} +1 -1
  51. package/dist/{chunk-RLVOG5OQ.mjs → chunk-R3Q5RXXO.mjs} +3 -3
  52. package/dist/{chunk-RLVOG5OQ.mjs.map → chunk-R3Q5RXXO.mjs.map} +1 -1
  53. package/dist/{chunk-QBFE7ABE.mjs → chunk-R6O57NTJ.mjs} +6 -6
  54. package/dist/{chunk-QBFE7ABE.mjs.map → chunk-R6O57NTJ.mjs.map} +1 -1
  55. package/dist/{chunk-TUQLZ4QD.js → chunk-RQBTLFYH.js} +5 -5
  56. package/dist/{chunk-TUQLZ4QD.js.map → chunk-RQBTLFYH.js.map} +1 -1
  57. package/dist/{chunk-YV7F7IXG.js → chunk-SFFSXC5E.js} +36 -36
  58. package/dist/{chunk-YV7F7IXG.js.map → chunk-SFFSXC5E.js.map} +1 -1
  59. package/dist/{chunk-RLLP7VQJ.js → chunk-U6XA2OYE.js} +63 -29
  60. package/dist/chunk-U6XA2OYE.js.map +1 -0
  61. package/dist/{chunk-CUWPLPVY.mjs → chunk-ULEPJXTN.mjs} +3 -3
  62. package/dist/{chunk-CUWPLPVY.mjs.map → chunk-ULEPJXTN.mjs.map} +1 -1
  63. package/dist/{chunk-PGVZKMOA.js → chunk-VMIAMBCP.js} +39 -39
  64. package/dist/{chunk-PGVZKMOA.js.map → chunk-VMIAMBCP.js.map} +1 -1
  65. package/dist/{chunk-VV6SYMPM.mjs → chunk-WKCR4KVQ.mjs} +3 -3
  66. package/dist/{chunk-VV6SYMPM.mjs.map → chunk-WKCR4KVQ.mjs.map} +1 -1
  67. package/dist/{chunk-AL73YAV4.mjs → chunk-YV2SE5LS.mjs} +3 -3
  68. package/dist/{chunk-AL73YAV4.mjs.map → chunk-YV2SE5LS.mjs.map} +1 -1
  69. package/dist/index.d.mts +63 -16
  70. package/dist/index.d.ts +63 -16
  71. package/dist/index.js +704 -704
  72. package/dist/index.mjs +1 -1
  73. package/dist/platform/admin/index.js +10 -10
  74. package/dist/platform/admin/index.mjs +4 -4
  75. package/dist/platform/agents-workspace.js +6 -6
  76. package/dist/platform/agents-workspace.mjs +5 -5
  77. package/dist/platform/app-shell.js +3 -3
  78. package/dist/platform/app-shell.mjs +2 -2
  79. package/dist/platform/auth/index.js +27 -27
  80. package/dist/platform/auth/index.mjs +4 -4
  81. package/dist/platform/billing/index.js +3 -3
  82. package/dist/platform/billing/index.mjs +2 -2
  83. package/dist/platform/impersonation/index.js +3 -3
  84. package/dist/platform/impersonation/index.mjs +2 -2
  85. package/dist/platform/index.d.mts +1 -1
  86. package/dist/platform/index.d.ts +1 -1
  87. package/dist/platform/index.js +82 -82
  88. package/dist/platform/index.mjs +18 -18
  89. package/dist/platform/pages/index.d.mts +8 -0
  90. package/dist/platform/pages/index.d.ts +8 -0
  91. package/dist/platform/pages/index.js +317 -201
  92. package/dist/platform/pages/index.js.map +1 -1
  93. package/dist/platform/pages/index.mjs +143 -27
  94. package/dist/platform/pages/index.mjs.map +1 -1
  95. package/dist/platform/settings/index.js +7 -7
  96. package/dist/platform/settings/index.mjs +6 -6
  97. package/dist/platform/workflow-canvas-shell.js +4 -4
  98. package/dist/platform/workflow-canvas-shell.mjs +3 -3
  99. package/package.json +1 -1
  100. package/dist/chunk-AGGOHPMZ.mjs.map +0 -1
  101. package/dist/chunk-ERCDMBRT.js.map +0 -1
  102. package/dist/chunk-FSBR4RCK.js.map +0 -1
  103. package/dist/chunk-RLLP7VQJ.js.map +0 -1
  104. package/dist/chunk-SEYUYGER.mjs.map +0 -1
  105. package/dist/chunk-SQ4KGLBZ.mjs.map +0 -1
@@ -852,7 +852,6 @@ function HeroBlock({
852
852
  titlePlaceholder,
853
853
  subtitle,
854
854
  icon,
855
- iconShape = "square",
856
855
  iconBackground = "glass",
857
856
  gradient,
858
857
  iconSize = "md",
@@ -870,13 +869,13 @@ function HeroBlock({
870
869
  const subtitleClass = KIND_SUBTITLE_CLASSES[kind];
871
870
  const eyebrowClass = KIND_EYEBROW_CLASSES[kind];
872
871
  const iconGapClass = KIND_ICON_GAP[kind];
873
- const radiusClass = iconShape === "round" ? "rounded-full" : iconSize === "sm" ? "rounded-xl" : "rounded-2xl";
872
+ const radiusClass = iconSize === "sm" ? "rounded-xl" : "rounded-2xl";
874
873
  const titleToneClass = tone === "dark" ? "text-white" : "text-slate-950 dark:text-white";
875
874
  const subtitleToneClass = tone === "dark" ? "text-white/75" : "text-slate-600 dark:text-slate-300";
876
875
  const eyebrowToneClass = tone === "dark" ? "text-white/75" : "text-slate-600 dark:text-slate-300";
877
876
  const wrapIcon = (node) => {
878
877
  if (iconBackground === "none") {
879
- return /* @__PURE__ */ jsx("span", { className: `inline-flex shrink-0 items-center justify-center ${sizeClass} ${radiusClass}`, children: node });
878
+ return /* @__PURE__ */ jsx("span", { className: `inline-flex shrink-0 items-center justify-center ${sizeClass}`, children: node });
880
879
  }
881
880
  if (iconBackground === "gradient" && gradient) {
882
881
  return /* @__PURE__ */ jsx("span", { className: `inline-flex shrink-0 items-center justify-center ${sizeClass} ${radiusClass} bg-gradient-to-br ${gradient} shadow-lg`, children: node });
@@ -984,9 +983,16 @@ function SectionCard({
984
983
  collapsible = false,
985
984
  defaultOpen = true,
986
985
  open: controlledOpen,
987
- onOpenChange
986
+ onOpenChange,
987
+ accentGradient,
988
+ actions,
989
+ toolbar,
990
+ badges,
991
+ kind = "section",
992
+ headingLevel = "h3",
993
+ eyebrowExtra
988
994
  }) {
989
- const { icon, title, subtitle, gradient = "from-indigo-500 to-purple-600", rightContent } = header;
995
+ const { icon, eyebrow, title, subtitle, gradient = "from-indigo-500 to-purple-600", rightContent } = header;
990
996
  const [internalOpen, setInternalOpen] = useState(defaultOpen);
991
997
  const isOpen = controlledOpen ?? internalOpen;
992
998
  const setOpen = (next) => {
@@ -1003,18 +1009,30 @@ function SectionCard({
1003
1009
  "aria-hidden": "true"
1004
1010
  }
1005
1011
  ) : null;
1006
- const headerRight = collapsible ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
1012
+ const hasRightSlot = rightContent || actions || chevron;
1013
+ const headerRight = hasRightSlot ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
1007
1014
  rightContent,
1015
+ actions && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2", children: actions }),
1008
1016
  chevron
1009
- ] }) : rightContent;
1017
+ ] }) : void 0;
1018
+ const iconSize = kind === "section" ? "sm" : "md";
1019
+ const sectionPad = "px-4 sm:px-6 py-4";
1020
+ const surfacePad = "px-5 sm:px-8 py-5";
1021
+ const bannerPad = "px-5 sm:px-8 py-6 sm:py-8";
1022
+ const displayPad = "px-6 sm:px-10 py-8 sm:py-12";
1023
+ const headerPadCls = kind === "display" ? displayPad : kind === "banner" ? bannerPad : kind === "surface" ? surfacePad : sectionPad;
1024
+ const bodyPadCls = kind === "display" ? "p-6 sm:p-10" : kind === "banner" ? "p-5 sm:p-8" : kind === "surface" ? "p-5 sm:p-8" : "p-4 sm:p-6";
1025
+ const slotXCls = kind === "display" ? "px-6 sm:px-10" : kind === "banner" ? "px-5 sm:px-8" : kind === "surface" ? "px-5 sm:px-8" : "px-4 sm:px-6";
1026
+ const renderedEyebrow = eyebrow && eyebrowExtra ? `${eyebrow}` : eyebrow;
1010
1027
  const headerContent = /* @__PURE__ */ jsx(
1011
1028
  HeroBlock,
1012
1029
  {
1013
- headingLevel: "h3",
1014
- kind: "section",
1015
- iconSize: "sm",
1030
+ headingLevel,
1031
+ kind,
1032
+ iconSize,
1016
1033
  iconBackground: "glass",
1017
1034
  icon,
1035
+ eyebrow: renderedEyebrow,
1018
1036
  title,
1019
1037
  subtitle,
1020
1038
  rightContent: headerRight,
@@ -1022,6 +1040,13 @@ function SectionCard({
1022
1040
  }
1023
1041
  );
1024
1042
  return /* @__PURE__ */ jsxs(Card, { variant, className, children: [
1043
+ accentGradient && /* @__PURE__ */ jsx(
1044
+ "div",
1045
+ {
1046
+ "aria-hidden": "true",
1047
+ className: `h-1.5 w-full bg-gradient-to-r ${accentGradient}`
1048
+ }
1049
+ ),
1025
1050
  collapsible ? /* @__PURE__ */ jsx(
1026
1051
  "button",
1027
1052
  {
@@ -1029,10 +1054,12 @@ function SectionCard({
1029
1054
  onClick: () => setOpen(!isOpen),
1030
1055
  "aria-expanded": isOpen,
1031
1056
  "aria-controls": bodyId,
1032
- className: `block w-full cursor-pointer px-4 sm:px-6 py-4 text-left transition-colors hover:bg-white/30 dark:hover:bg-white/[0.04] focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-inset ${isOpen ? "border-b liquid-divider" : ""}`,
1057
+ className: `block w-full cursor-pointer text-left transition-colors hover:bg-white/30 dark:hover:bg-white/[0.04] focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-inset ${headerPadCls} ${isOpen ? "border-b liquid-divider" : ""}`,
1033
1058
  children: headerContent
1034
1059
  }
1035
- ) : /* @__PURE__ */ jsx("div", { className: "px-4 sm:px-6 py-4 border-b liquid-divider", children: headerContent }),
1060
+ ) : /* @__PURE__ */ jsx("div", { className: `${headerPadCls} border-b liquid-divider`, children: headerContent }),
1061
+ toolbar && (!collapsible || isOpen) && /* @__PURE__ */ jsx("div", { className: `${slotXCls} pt-5`, children: toolbar }),
1062
+ badges && (!collapsible || isOpen) && /* @__PURE__ */ jsx("div", { className: `${slotXCls} pt-4 flex flex-wrap items-center gap-2`, children: badges }),
1036
1063
  /* @__PURE__ */ jsx(
1037
1064
  "div",
1038
1065
  {
@@ -1040,7 +1067,7 @@ function SectionCard({
1040
1067
  role: collapsible ? "region" : void 0,
1041
1068
  "aria-labelledby": collapsible ? headingId : void 0,
1042
1069
  hidden: collapsible && !isOpen,
1043
- className: padded ? "p-4 sm:p-6" : "",
1070
+ className: padded ? bodyPadCls : "",
1044
1071
  children
1045
1072
  }
1046
1073
  )
@@ -1575,7 +1602,7 @@ function WheelPicker({
1575
1602
  /* @__PURE__ */ jsx(
1576
1603
  "div",
1577
1604
  {
1578
- className: "absolute inset-x-4 z-0 rounded-lg bg-gray-100 dark:bg-gray-800",
1605
+ className: "absolute inset-x-4 z-0 rounded-lg bg-white/55 dark:bg-white/[0.08] border border-white/40 dark:border-white/10 backdrop-blur-md shadow-[inset_0_1px_1.5px_rgba(255,255,255,0.45)]",
1579
1606
  style: {
1580
1607
  top: (containerHeight - itemHeight) / 2,
1581
1608
  height: itemHeight
@@ -3638,48 +3665,35 @@ function HeroSection({
3638
3665
  labelExtra,
3639
3666
  children
3640
3667
  }) {
3668
+ const subtitleIsString = typeof subtitle === "string";
3641
3669
  return /* @__PURE__ */ jsxs(
3642
- "div",
3670
+ SectionCard,
3643
3671
  {
3644
- role: "banner",
3645
- "data-testid": "hero-section",
3646
- className: "liquid-surface overflow-hidden rounded-2xl",
3672
+ kind: "banner",
3673
+ headingLevel: "h1",
3674
+ variant: "default",
3675
+ padded: true,
3676
+ accentGradient: gradient,
3677
+ actions,
3678
+ toolbar,
3679
+ badges,
3680
+ eyebrowExtra: labelExtra,
3681
+ header: {
3682
+ icon,
3683
+ eyebrow: label,
3684
+ title,
3685
+ subtitle: subtitleIsString ? subtitle : void 0
3686
+ },
3647
3687
  children: [
3648
- gradient && /* @__PURE__ */ jsx(
3649
- "div",
3688
+ !subtitleIsString && subtitle && /* @__PURE__ */ jsx(
3689
+ "p",
3650
3690
  {
3651
- "aria-hidden": "true",
3652
- className: `h-1.5 w-full bg-gradient-to-r ${gradient}`
3691
+ "data-testid": "hero-subtitle",
3692
+ className: "max-w-xl text-sm text-slate-600 dark:text-white/75 sm:text-lg",
3693
+ children: subtitle
3653
3694
  }
3654
3695
  ),
3655
- /* @__PURE__ */ jsxs("div", { className: "p-5 sm:p-8", children: [
3656
- /* @__PURE__ */ jsx(
3657
- HeroBlock,
3658
- {
3659
- headingLevel: "h1",
3660
- kind: "banner",
3661
- eyebrow: label,
3662
- title,
3663
- subtitle: typeof subtitle === "string" ? subtitle : void 0,
3664
- icon,
3665
- iconBackground: "glass",
3666
- iconSize: "md",
3667
- rightContent: actions ? /* @__PURE__ */ jsx("div", { className: "flex items-center gap-3", children: actions }) : void 0
3668
- }
3669
- ),
3670
- typeof subtitle !== "string" && /* @__PURE__ */ jsx(
3671
- "p",
3672
- {
3673
- "data-testid": "hero-subtitle",
3674
- className: "mt-2 max-w-xl text-sm text-slate-600 dark:text-white/75 sm:mt-3 sm:text-lg",
3675
- children: subtitle
3676
- }
3677
- ),
3678
- labelExtra && /* @__PURE__ */ jsx("div", { className: "mt-1 text-xs text-slate-500", children: labelExtra }),
3679
- toolbar && /* @__PURE__ */ jsx("div", { "data-testid": "hero-toolbar", className: "mt-4", children: toolbar }),
3680
- badges && /* @__PURE__ */ jsx("div", { className: "mt-6 flex flex-wrap items-center gap-4", children: badges }),
3681
- children
3682
- ] })
3696
+ children && /* @__PURE__ */ jsx("div", { className: !subtitleIsString && subtitle ? "mt-5" : "", children })
3683
3697
  ]
3684
3698
  }
3685
3699
  );
@@ -3687,9 +3701,14 @@ function HeroSection({
3687
3701
  var DEFAULT_STYLE_CONFIG = {
3688
3702
  default: {
3689
3703
  icon: MapIcon,
3690
- className: "bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"
3704
+ className: "bg-slate-500/15 text-slate-700 dark:text-slate-200"
3691
3705
  }
3692
3706
  };
3707
+ var CRYSTAL_STYLE = {
3708
+ backdropFilter: "blur(12px) saturate(1.5)",
3709
+ WebkitBackdropFilter: "blur(12px) saturate(1.5)",
3710
+ boxShadow: "inset 0 1px 1.5px rgba(255,255,255,0.45), 0 1px 3px -1px rgba(15,23,42,0.12)"
3711
+ };
3693
3712
  function ActiveFilterChips({
3694
3713
  filters,
3695
3714
  onRemoveFilter,
@@ -3706,19 +3725,23 @@ function ActiveFilterChips({
3706
3725
  animate: { opacity: 1, scale: 1 },
3707
3726
  exit: { opacity: 0, scale: 0.8 },
3708
3727
  layout: true,
3709
- className: `inline-flex items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium ${colorClass}`,
3728
+ style: CRYSTAL_STYLE,
3729
+ className: `inline-flex items-center gap-1.5 rounded-full border border-current/20 px-3 py-1 text-xs font-semibold ${colorClass}`,
3710
3730
  children: [
3711
- /* @__PURE__ */ jsx(IconComponent, { className: "h-4 w-4" }),
3731
+ /* @__PURE__ */ jsx(IconComponent, { className: "h-3.5 w-3.5", "aria-hidden": true }),
3712
3732
  filter.label,
3713
3733
  onRemoveFilter ? /* @__PURE__ */ jsx(
3714
3734
  "button",
3715
3735
  {
3716
- onClick: () => {
3736
+ type: "button",
3737
+ "aria-label": `remover ${filter.label}`,
3738
+ onClick: (event) => {
3739
+ event.stopPropagation();
3717
3740
  triggerHaptic("light");
3718
3741
  onRemoveFilter(filter);
3719
3742
  },
3720
- className: "ml-1 rounded-full p-0.5 transition-colors hover:bg-black/10 dark:hover:bg-white/10",
3721
- children: /* @__PURE__ */ jsx(XMarkIcon$1, { className: "h-3.5 w-3.5" })
3743
+ className: "ml-0.5 inline-flex h-4 w-4 shrink-0 cursor-pointer items-center justify-center rounded-full opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70",
3744
+ children: /* @__PURE__ */ jsx(XMarkIcon$1, { className: "h-3 w-3" })
3722
3745
  }
3723
3746
  ) : null
3724
3747
  ]
@@ -4548,8 +4571,8 @@ function SegmentedControl({
4548
4571
  "data-testid": "segmented-control",
4549
4572
  onKeyDown: handleKeyDown,
4550
4573
  className: `
4551
- relative inline-flex items-center rounded-xl
4552
- bg-white/40 dark:bg-white/[0.08]
4574
+ liquid-surface relative inline-flex items-center rounded-xl
4575
+ focus-within:ring-2 focus-within:ring-indigo-500/70 focus-within:ring-offset-1
4553
4576
  ${styles2.container}
4554
4577
  ${fullWidth ? "w-full" : ""}
4555
4578
  ${disabled ? "opacity-50 pointer-events-none" : ""}
@@ -4558,7 +4581,13 @@ function SegmentedControl({
4558
4581
  /* @__PURE__ */ jsx(
4559
4582
  motion.div,
4560
4583
  {
4561
- className: "absolute top-1 bottom-1 rounded-lg bg-white/75 dark:bg-white/[0.12] shadow-sm backdrop-blur-sm",
4584
+ "aria-hidden": true,
4585
+ className: "absolute top-1 bottom-1 rounded-lg bg-white/75 dark:bg-white/[0.14] border border-white/60 dark:border-white/15",
4586
+ style: {
4587
+ backdropFilter: "blur(12px) saturate(1.5)",
4588
+ WebkitBackdropFilter: "blur(12px) saturate(1.5)",
4589
+ boxShadow: "inset 0 1px 1.5px rgba(255,255,255,0.55), 0 1px 3px -1px rgba(15,23,42,0.12)"
4590
+ },
4562
4591
  initial: false,
4563
4592
  animate: {
4564
4593
  left: indicatorStyle.left,
@@ -4581,10 +4610,11 @@ function SegmentedControl({
4581
4610
  onClick: () => handleSelect(segment.value),
4582
4611
  className: `
4583
4612
  relative z-10 flex items-center justify-center gap-1.5
4584
- font-medium rounded-lg transition-colors duration-150
4613
+ font-semibold rounded-lg transition-colors duration-150
4614
+ focus:outline-none
4585
4615
  ${styles2.segment}
4586
4616
  ${fullWidth ? "flex-1" : ""}
4587
- ${isSelected ? "text-slate-900 dark:text-white" : "text-slate-500 dark:text-slate-400 hover:text-slate-700 dark:hover:text-slate-300"}
4617
+ ${isSelected ? "text-slate-950 dark:text-white" : "text-slate-700 dark:text-slate-300 hover:text-slate-900 dark:hover:text-white"}
4588
4618
  `,
4589
4619
  children: [
4590
4620
  segment.icon && /* @__PURE__ */ jsx("span", { className: "shrink-0", children: segment.icon }),
@@ -7369,12 +7399,12 @@ function ContextMenu({
7369
7399
  "div",
7370
7400
  {
7371
7401
  ref: menuRef,
7372
- className: `fixed z-[9999] ${minWidthClass} rounded-xl border border-gray-200 bg-white/90 py-1 shadow-lg backdrop-blur-xl dark:border-gray-700 dark:bg-gray-800/90`,
7402
+ className: `liquid-surface-strong fixed z-[9999] ${minWidthClass} rounded-xl py-1 shadow-lg`,
7373
7403
  style: { left: position.x, top: position.y },
7374
7404
  "data-testid": testId,
7375
7405
  children: entries.map((entry) => {
7376
7406
  if (entry.type === "divider") {
7377
- return /* @__PURE__ */ jsx("div", { className: "my-1 border-t border-gray-200 dark:border-gray-700" }, entry.key);
7407
+ return /* @__PURE__ */ jsx("div", { className: "my-1 border-t liquid-divider" }, entry.key);
7378
7408
  }
7379
7409
  const IconComponent = entry.icon;
7380
7410
  return /* @__PURE__ */ jsxs(
@@ -7383,7 +7413,7 @@ function ContextMenu({
7383
7413
  type: "button",
7384
7414
  onClick: entry.onClick,
7385
7415
  disabled: entry.disabled,
7386
- className: `flex w-full items-center gap-2.5 px-3 py-2 text-left text-sm transition-colors duration-150 ${entry.disabled ? "cursor-not-allowed text-gray-400 dark:text-gray-600" : entry.danger ? "text-red-600 hover:bg-red-50 dark:text-red-400 dark:hover:bg-red-500/10" : "text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-700/50"}`,
7416
+ className: `flex w-full items-center gap-2.5 px-3 py-2 text-left text-sm transition-colors duration-150 focus:outline-none focus-visible:bg-indigo-500/10 focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-indigo-500/40 ${entry.disabled ? "cursor-not-allowed text-slate-400 dark:text-slate-600" : entry.danger ? "text-red-600 hover:bg-red-500/10 dark:text-red-400 dark:hover:bg-red-500/15" : "text-slate-700 hover:bg-white/45 dark:text-slate-200 dark:hover:bg-white/[0.07]"}`,
7387
7417
  "data-testid": entry.testId,
7388
7418
  children: [
7389
7419
  IconComponent ? /* @__PURE__ */ jsx(IconComponent, { className: "h-4 w-4" }) : null,
@@ -7759,7 +7789,7 @@ function TimePicker({
7759
7789
  "button",
7760
7790
  {
7761
7791
  type: "button",
7762
- className: `flex items-center gap-2 text-sm border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 rounded-xl px-4 h-[44px] text-gray-900 dark:text-white hover:bg-gray-50 dark:hover:bg-gray-700/60 focus:outline-hidden focus:ring-2 focus:ring-indigo-500 transition-colors duration-200 shadow-sm ${className}`,
7792
+ className: `liquid-surface flex items-center gap-2 text-sm rounded-xl px-4 h-[44px] text-slate-900 dark:text-white hover:bg-white/30 dark:hover:bg-white/[0.06] focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 transition-colors duration-200 ${className}`,
7763
7793
  children: [
7764
7794
  /* @__PURE__ */ jsx(ClockIcon, { className: "h-4 w-4 text-indigo-500" }),
7765
7795
  /* @__PURE__ */ jsx("span", { className: "whitespace-nowrap font-mono", children: displayText })
@@ -7769,18 +7799,18 @@ function TimePicker({
7769
7799
  /* @__PURE__ */ jsx(Popover.Portal, { children: /* @__PURE__ */ jsxs(
7770
7800
  Popover.Content,
7771
7801
  {
7772
- className: "z-50 w-[220px] rounded-2xl bg-white/70 dark:bg-gray-800/70 backdrop-blur-xl border border-white/20 dark:border-gray-700/50 p-5 shadow-xl animate-in fade-in-0 zoom-in-95",
7802
+ className: "liquid-surface-strong z-50 w-[220px] rounded-2xl p-5 shadow-xl animate-in fade-in-0 zoom-in-95",
7773
7803
  sideOffset: 8,
7774
7804
  align: "start",
7775
7805
  children: [
7776
- /* @__PURE__ */ jsx("p", { className: "text-xs font-medium text-gray-500 dark:text-gray-400 mb-3 text-center uppercase tracking-wide", children: t("setTime") }),
7806
+ /* @__PURE__ */ jsx("p", { className: "text-xs font-medium text-slate-600 dark:text-slate-300 mb-3 text-center uppercase tracking-wide", children: t("setTime") }),
7777
7807
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center gap-2", children: [
7778
7808
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center", children: [
7779
7809
  /* @__PURE__ */ jsx(
7780
7810
  "label",
7781
7811
  {
7782
7812
  htmlFor: "time-picker-hours",
7783
- className: "text-[10px] font-medium text-gray-400 dark:text-gray-500 mb-1 uppercase",
7813
+ className: "text-[10px] font-medium text-slate-500 dark:text-slate-400 mb-1 uppercase",
7784
7814
  children: t("hours")
7785
7815
  }
7786
7816
  ),
@@ -7796,17 +7826,17 @@ function TimePicker({
7796
7826
  onChange: handleHoursChange,
7797
7827
  onKeyDown: handleKeyDown,
7798
7828
  "aria-label": t("hours"),
7799
- className: "w-14 h-14 text-center text-2xl font-semibold rounded-xl bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-white border border-gray-200 dark:border-gray-600 focus:outline-hidden focus:ring-2 focus:ring-indigo-500 transition-colors duration-200"
7829
+ className: "w-14 h-14 text-center text-2xl font-semibold rounded-xl bg-white/60 dark:bg-white/[0.08] text-slate-900 dark:text-white border border-white/40 dark:border-white/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 transition-colors duration-200 backdrop-blur-md"
7800
7830
  }
7801
7831
  )
7802
7832
  ] }),
7803
- /* @__PURE__ */ jsx("span", { className: "text-2xl font-bold text-gray-400 dark:text-gray-500 mt-4", children: ":" }),
7833
+ /* @__PURE__ */ jsx("span", { className: "text-2xl font-bold text-slate-400 dark:text-slate-500 mt-4", children: ":" }),
7804
7834
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center", children: [
7805
7835
  /* @__PURE__ */ jsx(
7806
7836
  "label",
7807
7837
  {
7808
7838
  htmlFor: "time-picker-minutes",
7809
- className: "text-[10px] font-medium text-gray-400 dark:text-gray-500 mb-1 uppercase",
7839
+ className: "text-[10px] font-medium text-slate-500 dark:text-slate-400 mb-1 uppercase",
7810
7840
  children: t("minutes")
7811
7841
  }
7812
7842
  ),
@@ -7821,7 +7851,7 @@ function TimePicker({
7821
7851
  onChange: handleMinutesChange,
7822
7852
  onKeyDown: handleKeyDown,
7823
7853
  "aria-label": t("minutes"),
7824
- className: "w-14 h-14 text-center text-2xl font-semibold rounded-xl bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-white border border-gray-200 dark:border-gray-600 focus:outline-hidden focus:ring-2 focus:ring-indigo-500 transition-colors duration-200"
7854
+ className: "w-14 h-14 text-center text-2xl font-semibold rounded-xl bg-white/60 dark:bg-white/[0.08] text-slate-900 dark:text-white border border-white/40 dark:border-white/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 transition-colors duration-200 backdrop-blur-md"
7825
7855
  }
7826
7856
  )
7827
7857
  ] })
@@ -7834,8 +7864,8 @@ function TimePicker({
7834
7864
  disabled: isFuture,
7835
7865
  onClick: handleConfirm,
7836
7866
  className: `
7837
- mt-4 w-full flex items-center justify-center gap-2 h-10 rounded-xl text-sm font-medium transition-colors duration-200
7838
- ${isFuture ? "bg-gray-200 dark:bg-gray-700 text-gray-400 dark:text-gray-500 cursor-not-allowed" : "bg-indigo-500 text-white hover:bg-indigo-600 active:bg-indigo-700"}
7867
+ mt-4 w-full flex items-center justify-center gap-2 h-10 rounded-xl text-sm font-medium transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1
7868
+ ${isFuture ? "bg-white/40 dark:bg-white/[0.06] text-slate-400 dark:text-slate-500 cursor-not-allowed border border-white/30 dark:border-white/10" : "bg-indigo-500 text-white hover:bg-indigo-600 active:bg-indigo-700 shadow-[inset_0_1px_1.5px_rgba(255,255,255,0.4)]"}
7839
7869
  `,
7840
7870
  children: [
7841
7871
  /* @__PURE__ */ jsx(CheckIcon$2, { className: "h-4 w-4" }),
@@ -7843,7 +7873,7 @@ function TimePicker({
7843
7873
  ]
7844
7874
  }
7845
7875
  ),
7846
- /* @__PURE__ */ jsx(Popover.Arrow, { className: "fill-white/70 dark:fill-gray-800/70" })
7876
+ /* @__PURE__ */ jsx(Popover.Arrow, { className: "fill-white/85 dark:fill-slate-900/85" })
7847
7877
  ]
7848
7878
  }
7849
7879
  ) })
@@ -8398,11 +8428,11 @@ function DetailsPopover({
8398
8428
  /* @__PURE__ */ jsx(Popover.Portal, { children: /* @__PURE__ */ jsxs(
8399
8429
  Popover.Content,
8400
8430
  {
8401
- className: "z-50 w-80 overflow-hidden rounded-xl border border-gray-200 bg-white shadow-xl animate-in fade-in-0 zoom-in-95 dark:border-gray-700 dark:bg-gray-800",
8431
+ className: "liquid-surface-strong z-50 w-80 overflow-hidden rounded-xl shadow-xl animate-in fade-in-0 zoom-in-95",
8402
8432
  sideOffset: 5,
8403
8433
  align: "center",
8404
8434
  children: [
8405
- /* @__PURE__ */ jsx("div", { className: `border-b border-gray-100 bg-gradient-to-r px-4 py-3 dark:border-gray-700 ${headerClassName}`, children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
8435
+ /* @__PURE__ */ jsx("div", { className: `border-b liquid-divider bg-gradient-to-r px-4 py-3 ${headerClassName}`, children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
8406
8436
  headerIcon,
8407
8437
  /* @__PURE__ */ jsx("span", { className: "font-semibold", children: headerTitle })
8408
8438
  ] }) }),
@@ -8410,40 +8440,40 @@ function DetailsPopover({
8410
8440
  actor ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
8411
8441
  /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-full bg-gradient-to-br from-indigo-500 to-purple-600 text-sm font-bold text-white shadow-xs", children: actor.avatarText }),
8412
8442
  /* @__PURE__ */ jsxs("div", { children: [
8413
- /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-gray-900 dark:text-white", children: actor.primaryText }),
8414
- actor.secondaryText ? /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: actor.secondaryText }) : null
8443
+ /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-slate-900 dark:text-white", children: actor.primaryText }),
8444
+ actor.secondaryText ? /* @__PURE__ */ jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: actor.secondaryText }) : null
8415
8445
  ] })
8416
8446
  ] }) : null,
8417
8447
  timestamp ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
8418
8448
  timestampIcon,
8419
- /* @__PURE__ */ jsx("span", { className: "text-gray-600 dark:text-gray-300", children: timestamp })
8449
+ /* @__PURE__ */ jsx("span", { className: "text-slate-600 dark:text-slate-300", children: timestamp })
8420
8450
  ] }) : null,
8421
- comparison ? /* @__PURE__ */ jsxs("div", { className: "border-t border-gray-100 pt-2 dark:border-gray-700", children: [
8451
+ comparison ? /* @__PURE__ */ jsxs("div", { className: "border-t liquid-divider pt-2", children: [
8422
8452
  /* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center gap-2", children: [
8423
8453
  comparison.icon,
8424
8454
  /* @__PURE__ */ jsx("span", { className: "text-xs font-medium uppercase tracking-wider text-amber-600 dark:text-amber-400", children: comparison.label })
8425
8455
  ] }),
8426
8456
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between text-sm", children: [
8427
8457
  /* @__PURE__ */ jsxs("div", { children: [
8428
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: comparison.fromLabel }),
8429
- /* @__PURE__ */ jsx("p", { className: "font-medium text-gray-400 line-through", children: comparison.fromValue })
8458
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: comparison.fromLabel }),
8459
+ /* @__PURE__ */ jsx("p", { className: "font-medium text-slate-400 line-through", children: comparison.fromValue })
8430
8460
  ] }),
8431
- /* @__PURE__ */ jsx("div", { className: "text-2xl text-gray-300 dark:text-gray-600", children: "\u2192" }),
8461
+ /* @__PURE__ */ jsx("div", { className: "text-2xl text-slate-300 dark:text-slate-600", children: "\u2192" }),
8432
8462
  /* @__PURE__ */ jsxs("div", { children: [
8433
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: comparison.toLabel }),
8463
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: comparison.toLabel }),
8434
8464
  /* @__PURE__ */ jsx("p", { className: "font-bold text-emerald-600 dark:text-emerald-400", children: comparison.toValue })
8435
8465
  ] })
8436
8466
  ] })
8437
8467
  ] }) : null,
8438
- note ? /* @__PURE__ */ jsx("div", { className: "border-t border-gray-100 pt-2 dark:border-gray-700", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2", children: [
8468
+ note ? /* @__PURE__ */ jsx("div", { className: "border-t liquid-divider pt-2", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2", children: [
8439
8469
  note.icon,
8440
8470
  /* @__PURE__ */ jsxs("div", { children: [
8441
- /* @__PURE__ */ jsx("p", { className: "mb-1 text-xs font-medium text-gray-500 dark:text-gray-400", children: note.label }),
8442
- /* @__PURE__ */ jsx("p", { className: "text-sm text-gray-700 dark:text-gray-300", children: note.value })
8471
+ /* @__PURE__ */ jsx("p", { className: "mb-1 text-xs font-medium text-slate-500 dark:text-slate-400", children: note.label }),
8472
+ /* @__PURE__ */ jsx("p", { className: "text-sm text-slate-700 dark:text-slate-300", children: note.value })
8443
8473
  ] })
8444
8474
  ] }) }) : null
8445
8475
  ] }),
8446
- /* @__PURE__ */ jsx(Popover.Arrow, { className: "fill-white dark:fill-gray-800" })
8476
+ /* @__PURE__ */ jsx(Popover.Arrow, { className: "fill-white/85 dark:fill-slate-900/85" })
8447
8477
  ]
8448
8478
  }
8449
8479
  ) })
@@ -10025,7 +10055,7 @@ var sizes3 = {
10025
10055
  md: { container: "px-3 py-1 text-sm gap-1.5", icon: "h-4 w-4", remove: "h-4 w-4 -mr-1" },
10026
10056
  lg: { container: "px-3.5 py-1.5 text-sm gap-2", icon: "h-4 w-4", remove: "h-4 w-4 -mr-1" }
10027
10057
  };
10028
- var CRYSTAL_STYLE = {
10058
+ var CRYSTAL_STYLE2 = {
10029
10059
  backdropFilter: "blur(12px) saturate(1.5)",
10030
10060
  WebkitBackdropFilter: "blur(12px) saturate(1.5)",
10031
10061
  boxShadow: "inset 0 1px 1.5px rgba(255,255,255,0.45), 0 1px 3px -1px rgba(15,23,42,0.12)"
@@ -10060,7 +10090,7 @@ function Badge({
10060
10090
  type: "button",
10061
10091
  "data-testid": "badge",
10062
10092
  onClick,
10063
- style: CRYSTAL_STYLE,
10093
+ style: CRYSTAL_STYLE2,
10064
10094
  ...liveProps,
10065
10095
  className: clsx(
10066
10096
  base,
@@ -10081,7 +10111,7 @@ function Badge({
10081
10111
  "data-testid": "badge",
10082
10112
  ...props,
10083
10113
  ...liveProps,
10084
- style: CRYSTAL_STYLE,
10114
+ style: CRYSTAL_STYLE2,
10085
10115
  className: clsx(base, "pr-1"),
10086
10116
  children: [
10087
10117
  icon && /* @__PURE__ */ jsx("span", { className: clsx("shrink-0", sz.icon), "aria-hidden": true, children: icon }),
@@ -10107,7 +10137,7 @@ function Badge({
10107
10137
  }
10108
10138
  );
10109
10139
  }
10110
- return /* @__PURE__ */ jsxs("span", { "data-testid": "badge", ...props, ...liveProps, style: CRYSTAL_STYLE, className: base, children: [
10140
+ return /* @__PURE__ */ jsxs("span", { "data-testid": "badge", ...props, ...liveProps, style: CRYSTAL_STYLE2, className: base, children: [
10111
10141
  icon && /* @__PURE__ */ jsx("span", { className: clsx("shrink-0", sz.icon), "aria-hidden": true, children: icon }),
10112
10142
  children
10113
10143
  ] });
@@ -10710,7 +10740,7 @@ function MonthPicker({
10710
10740
  "button",
10711
10741
  {
10712
10742
  type: "button",
10713
- className: `${noBorder ? "flex items-center justify-center gap-2 text-sm bg-transparent px-4 h-full min-h-[52px] text-gray-900 dark:text-white hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-hidden transition-all duration-200 active:scale-[0.985]" : "flex items-center justify-center gap-2 text-sm border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 rounded-xl px-4 h-[52px] text-gray-900 dark:text-white hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-hidden focus:ring-2 focus:ring-indigo-500 transition-all duration-200 active:scale-[0.985] shadow-xs"} ${triggerClassName}`.trim(),
10743
+ className: `${noBorder ? "flex items-center justify-center gap-2 text-sm bg-transparent px-4 h-full min-h-[52px] text-slate-900 dark:text-white hover:bg-white/30 dark:hover:bg-white/[0.06] focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 transition-all duration-200 active:scale-[0.985]" : "liquid-surface flex items-center justify-center gap-2 text-sm rounded-xl px-4 h-[52px] text-slate-900 dark:text-white hover:bg-white/30 dark:hover:bg-white/[0.06] focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 transition-all duration-200 active:scale-[0.985]"} ${triggerClassName}`.trim(),
10714
10744
  children: triggerContent ?? /* @__PURE__ */ jsxs(Fragment, { children: [
10715
10745
  /* @__PURE__ */ jsx(CalendarIcon, { className: "h-4 w-4 text-indigo-500" }),
10716
10746
  /* @__PURE__ */ jsx("span", { className: "capitalize whitespace-nowrap", children: displayValue })
@@ -10720,7 +10750,7 @@ function MonthPicker({
10720
10750
  /* @__PURE__ */ jsx(Popover.Portal, { children: /* @__PURE__ */ jsxs(
10721
10751
  Popover.Content,
10722
10752
  {
10723
- className: `z-50 w-64 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 p-4 shadow-xl animate-in fade-in-0 zoom-in-95 ${contentClassName}`.trim(),
10753
+ className: `liquid-surface-strong z-50 w-64 rounded-xl p-4 shadow-xl animate-in fade-in-0 zoom-in-95 ${contentClassName}`.trim(),
10724
10754
  sideOffset: 5,
10725
10755
  side,
10726
10756
  avoidCollisions,
@@ -10733,19 +10763,19 @@ function MonthPicker({
10733
10763
  type: "button",
10734
10764
  onClick: () => setViewYear((y) => y - 1),
10735
10765
  disabled: !canGoPrev,
10736
- className: "p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-30 disabled:cursor-not-allowed transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-indigo-500",
10737
- children: /* @__PURE__ */ jsx(ChevronLeftIcon$2, { className: "h-5 w-5 text-gray-500 dark:text-gray-400" })
10766
+ className: "p-1.5 rounded-lg hover:bg-white/40 dark:hover:bg-white/[0.08] disabled:opacity-30 disabled:cursor-not-allowed transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1",
10767
+ children: /* @__PURE__ */ jsx(ChevronLeftIcon$2, { className: "h-5 w-5 text-slate-500 dark:text-slate-400" })
10738
10768
  }
10739
10769
  ),
10740
- /* @__PURE__ */ jsx("span", { className: "font-semibold text-gray-900 dark:text-white text-lg", children: viewYear }),
10770
+ /* @__PURE__ */ jsx("span", { className: "font-semibold text-slate-900 dark:text-white text-lg", children: viewYear }),
10741
10771
  /* @__PURE__ */ jsx(
10742
10772
  "button",
10743
10773
  {
10744
10774
  type: "button",
10745
10775
  onClick: () => setViewYear((y) => y + 1),
10746
10776
  disabled: !canGoNext,
10747
- className: "p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-30 disabled:cursor-not-allowed transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-indigo-500",
10748
- children: /* @__PURE__ */ jsx(ChevronRightIcon$2, { className: "h-5 w-5 text-gray-500 dark:text-gray-400" })
10777
+ className: "p-1.5 rounded-lg hover:bg-white/40 dark:hover:bg-white/[0.08] disabled:opacity-30 disabled:cursor-not-allowed transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1",
10778
+ children: /* @__PURE__ */ jsx(ChevronRightIcon$2, { className: "h-5 w-5 text-slate-500 dark:text-slate-400" })
10749
10779
  }
10750
10780
  )
10751
10781
  ] }),
@@ -10760,28 +10790,28 @@ function MonthPicker({
10760
10790
  onClick: () => isAvailable && handleSelectMonth(index),
10761
10791
  disabled: !isAvailable,
10762
10792
  className: `
10763
- px-2 py-2.5 text-sm rounded-lg transition-all duration-200 capitalize font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-indigo-500 active:scale-[0.98]
10764
- ${isSelected ? "bg-indigo-500 text-white" : isAvailable ? "text-gray-700 dark:text-gray-200 hover:bg-indigo-500/10 hover:text-indigo-600 dark:hover:text-indigo-400" : "text-gray-300 dark:text-gray-600 cursor-not-allowed"}
10793
+ px-2 py-2.5 text-sm rounded-lg transition-all duration-200 capitalize font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-indigo-500/70 active:scale-[0.98]
10794
+ ${isSelected ? "bg-indigo-500 text-white shadow-[inset_0_1px_1.5px_rgba(255,255,255,0.45)]" : isAvailable ? "text-slate-700 dark:text-slate-200 hover:bg-indigo-500/10 hover:text-indigo-600 dark:hover:text-indigo-400" : "text-slate-300 dark:text-slate-600 cursor-not-allowed"}
10765
10795
  `,
10766
10796
  children: month
10767
10797
  },
10768
10798
  month
10769
10799
  );
10770
10800
  }) }),
10771
- availableYears.length > 1 && /* @__PURE__ */ jsx("div", { className: "mt-4 pt-3 border-t border-gray-200 dark:border-gray-700", children: /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1 justify-center", children: availableYears.map((year) => /* @__PURE__ */ jsx(
10801
+ availableYears.length > 1 && /* @__PURE__ */ jsx("div", { className: "mt-4 pt-3 liquid-divider", children: /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1 justify-center", children: availableYears.map((year) => /* @__PURE__ */ jsx(
10772
10802
  "button",
10773
10803
  {
10774
10804
  type: "button",
10775
10805
  onClick: () => setViewYear(year),
10776
10806
  className: `
10777
- px-2 py-1 text-xs rounded-lg transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-indigo-500
10778
- ${viewYear === year ? "bg-indigo-100 dark:bg-indigo-900/50 text-indigo-700 dark:text-indigo-300 font-medium" : "text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700"}
10807
+ px-2 py-1 text-xs rounded-lg transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-indigo-500/70
10808
+ ${viewYear === year ? "bg-indigo-500/15 dark:bg-indigo-400/20 text-indigo-700 dark:text-indigo-300 font-medium" : "text-slate-500 dark:text-slate-400 hover:bg-white/40 dark:hover:bg-white/[0.08]"}
10779
10809
  `,
10780
10810
  children: year
10781
10811
  },
10782
10812
  year
10783
10813
  )) }) }),
10784
- /* @__PURE__ */ jsx(Popover.Arrow, { className: "fill-white dark:fill-gray-800" })
10814
+ /* @__PURE__ */ jsx(Popover.Arrow, { className: "fill-white/85 dark:fill-slate-900/85" })
10785
10815
  ]
10786
10816
  }
10787
10817
  ) })
@@ -20877,5 +20907,5 @@ function useSocialProviders() {
20877
20907
  }
20878
20908
 
20879
20909
  export { ARGENTINA_ACCENT_MAP, ARGENTINA_MACRO_REGIONS, ARGENTINA_MAP_CENTER, ARGENTINA_PROVINCE_COORDINATES, ARGENTINA_PROVINCE_PALETTES, AR_THEME_CONFIG, AUSTRALIA_ACCENT_MAP, AUSTRALIA_MACRO_REGIONS, AUSTRALIA_MAP_CENTER, AUSTRALIA_STATE_COORDINATES, AUSTRALIA_STATE_PALETTES, AU_THEME_CONFIG, ActiveFilterChips, AgentAnalysisCard, AnalysisSkeleton, AnimatedNumber, AnimatedTableRow, AppLogo, AppNavigation, AppShell, ArchiveSwipeAction, AuthLayout, Avatar, AvatarButton, BRAZIL_ACCENT_MAP, BRAZIL_MACRO_REGIONS, BRAZIL_MAP_CENTER, BRAZIL_STATE_COORDINATES, BRAZIL_STATE_PALETTES, BR_THEME_CONFIG, BackupCodeGrid, BadRequestPage, Badge, BaseForm, BentoCard, BooleanFlagsPicker, BottomSafeArea, BrandFilterSkeleton, BrandedLoader, Breadcrumb, Button, CANADA_ACCENT_MAP, CANADA_MACRO_REGIONS, CANADA_MAP_CENTER, CANADA_PROVINCE_COORDINATES, CANADA_PROVINCE_PALETTES, CA_THEME_CONFIG, CHILE_ACCENT_MAP, CHILE_MACRO_REGIONS, CHILE_MAP_CENTER, CHILE_REGION_COORDINATES, CHILE_REGION_PALETTES, CL_THEME_CONFIG, COLOMBIA_ACCENT_MAP, COLOMBIA_DEPARTMENT_COORDINATES, COLOMBIA_DEPARTMENT_PALETTES, COLOMBIA_MACRO_REGIONS, COLOMBIA_MAP_CENTER, CO_THEME_CONFIG, Card, CardContent, CardDescription, CardDivider, CardFooter, CardGridSkeleton, CardHeader, CardSectionHeader, CardTitle, CategoryBadge, CategoryTab, CategoryTabs, ChartRenderer, ChipPicker, CircularRefreshIndicator, Code, CollapsibleGroupedList, CompactSegmentedControl, ContactCard, ContactSection, Container, ContextMenu, CookieConsent, CopyableId, CreateActionButton, DE_THEME_CONFIG, DashboardView, DataPagination, DatePicker, DeleteSwipeAction, Description3 as Description, DetailsPopover, DevModeBanner, Dialog4 as Dialog, DialogActions, DialogBody, DialogDescription, DialogTitle3 as DialogTitle, Divider, Dock, DockContainer, DockSkeleton, DotRefreshIndicator, DropdownSelect, DynamicIsland, DynamicIslandConfirm, DynamicIslandNotification, EGYPT_ACCENT_MAP, EGYPT_GOVERNORATE_COORDINATES, EGYPT_GOVERNORATE_PALETTES, EGYPT_MACRO_REGIONS, EGYPT_MAP_CENTER, EG_THEME_CONFIG, ES_THEME_CONFIG, EdgeSwipeIndicator, EdgeSwipeProvider, EditSwipeAction, EmptyState, EntityCard, ErrorMessage, ErrorState, ExpandableHistoryList, ExpandingPageIndicator, FRANCE_ACCENT_MAP, FRANCE_MACRO_REGIONS, FRANCE_MAP_CENTER, FRANCE_REGION_COORDINATES, FRANCE_REGION_PALETTES, FR_THEME_CONFIG, FavoriteSwipeAction, FeatureCard, FeedItemCard, Field2 as Field, FieldGroup, Fieldset2 as Fieldset, FilterSectionHeader, FilterTileButton, FloatingActionButton, FlyoutMenu, FlyoutNavGrid, FlyoutQuickActions, ForceTouchMenu, Form, FormActions, FormActionsRow, FormCheckbox, FormField, FormGrid, FormInput, FormPriceInput, FormSection, FormSelect, FormTextarea, FormToggle, GB_THEME_CONFIG, GERMANY_ACCENT_MAP, GERMANY_MACRO_REGIONS, GERMANY_MAP_CENTER, GERMANY_STATE_COORDINATES, GERMANY_STATE_PALETTES, GeoMapCanvas, GeoMapLegend, GlassModal, Gradient, GradientBackground, GrowthIndicator, Heading, HeroBlock, HeroPanel, HeroSection, ID_THEME_CONFIG, INDIA_ACCENT_MAP, INDIA_MACRO_REGIONS, INDIA_MAP_CENTER, INDIA_STATE_COORDINATES, INDIA_STATE_PALETTES, INDONESIA_ACCENT_MAP, INDONESIA_MACRO_REGIONS, INDONESIA_MAP_CENTER, INDONESIA_PROVINCE_COORDINATES, INDONESIA_PROVINCE_PALETTES, IN_THEME_CONFIG, ITALY_ACCENT_MAP, ITALY_MACRO_REGIONS, ITALY_MAP_CENTER, ITALY_REGION_COORDINATES, ITALY_REGION_PALETTES, IT_THEME_CONFIG, IconButton, ImageUpload, InfoPopover, InlineForm, InlineSpinner, Input, InputRequestForm, InteractiveGeoMap, ItemSummary, JAPAN_ACCENT_MAP, JAPAN_MACRO_REGIONS, JAPAN_MAP_CENTER, JAPAN_PREFECTURE_COORDINATES, JAPAN_PREFECTURE_PALETTES, JP_THEME_CONFIG, KORI_ERP_LOADER, KR_THEME_CONFIG, LOCALE_FLAGS, Label2 as Label, LabeledToggle, LanguageSwitcher, LaunchpadGrid, Lead, Legend2 as Legend, LiquidFilterInput, ListCard, ListCardItem, ListItem, LoadingOverlay, MEXICO_ACCENT_MAP, MEXICO_MACRO_REGIONS, MEXICO_MAP_CENTER, MEXICO_STATE_COORDINATES, MEXICO_STATE_PALETTES, MX_THEME_CONFIG, ManagementPageLayout, ManagementSurface, MapZoomControls, MarketPricesCard, MetricCard, MonthPicker, MultiColumnPicker, NETHERLANDS_ACCENT_MAP, NETHERLANDS_MACRO_REGIONS, NETHERLANDS_MAP_CENTER, NETHERLANDS_PROVINCE_COORDINATES, NETHERLANDS_PROVINCE_PALETTES, NEW_ZEALAND_ACCENT_MAP, NEW_ZEALAND_MACRO_REGIONS, NEW_ZEALAND_MAP_CENTER, NEW_ZEALAND_REGION_COORDINATES, NEW_ZEALAND_REGION_PALETTES, NG_THEME_CONFIG, NIGERIA_ACCENT_MAP, NIGERIA_MACRO_REGIONS, NIGERIA_MAP_CENTER, NIGERIA_STATE_COORDINATES, NIGERIA_STATE_PALETTES, NL_THEME_CONFIG, NORWAY_ACCENT_MAP, NORWAY_COUNTY_COORDINATES, NORWAY_COUNTY_PALETTES, NORWAY_MACRO_REGIONS, NORWAY_MAP_CENTER, NO_THEME_CONFIG, NZ_THEME_CONFIG, NavigationProgress, NoDataState, NoResultsState, NotFoundPage, NotificationBadge, NotificationBellButton, NotificationProvider, OfficeCard, OfflineState, OptionGrid, OtpInput, PERU_ACCENT_MAP, PERU_DEPARTMENT_COORDINATES, PERU_DEPARTMENT_PALETTES, PERU_MACRO_REGIONS, PERU_MAP_CENTER, PE_THEME_CONFIG, PHILIPPINES_ACCENT_MAP, PHILIPPINES_MACRO_REGIONS, PHILIPPINES_MAP_CENTER, PHILIPPINES_PROVINCE_COORDINATES, PHILIPPINES_PROVINCE_PALETTES, PH_THEME_CONFIG, PL_THEME_CONFIG, POLAND_ACCENT_MAP, POLAND_MACRO_REGIONS, POLAND_MAP_CENTER, POLAND_VOIVODESHIP_COORDINATES, POLAND_VOIVODESHIP_PALETTES, PORTUGAL_ACCENT_MAP, PORTUGAL_DISTRICT_COORDINATES, PORTUGAL_DISTRICT_PALETTES, PORTUGAL_MACRO_REGIONS, PORTUGAL_MAP_CENTER, PT_THEME_CONFIG, PageEmptyState, PageErrorState, PageHeader, PageHeading, PageIndicator, PageLoadingState, PageSectionHeader, Pagination, PasswordInput, PasswordStrengthMeter, PlatformShell, PlusGrid, PlusGridItem, PlusGridRow, PreferenceSection, PriceChangeBadge, ProfileIdentityCard, Progress, ProgressIndicator, PullToRefreshContainer, PullToRefreshIndicator, RadiantHeading, RadiantStatCard, RadiantSubheading, RecommendationCard, RegionFilterSkeleton, SE_THEME_CONFIG, SOUTH_AFRICA_ACCENT_MAP, SOUTH_AFRICA_MACRO_REGIONS, SOUTH_AFRICA_MAP_CENTER, SOUTH_AFRICA_PROVINCE_COORDINATES, SOUTH_AFRICA_PROVINCE_PALETTES, SOUTH_KOREA_ACCENT_MAP, SOUTH_KOREA_MACRO_REGIONS, SOUTH_KOREA_MAP_CENTER, SOUTH_KOREA_PROVINCE_COORDINATES, SOUTH_KOREA_PROVINCE_PALETTES, SPAIN_ACCENT_MAP, SPAIN_MACRO_REGIONS, SPAIN_MAP_CENTER, SPAIN_PROVINCE_COORDINATES, SPAIN_PROVINCE_PALETTES, SWEDEN_ACCENT_MAP, SWEDEN_COUNTY_COORDINATES, SWEDEN_COUNTY_PALETTES, SWEDEN_MACRO_REGIONS, SWEDEN_MAP_CENTER, SafeArea, SafeAreaSpacer, SafeAreaView, SearchBar, SearchFilterToolbar, SearchInput, SectionCard, SectionHeader, SectionHeaderSkeleton, SegmentedControl, Select, SelectableTableRow, SelectionCard, ServerErrorPage, SettingsModal, Sheet, SkipToContent, SocialLoginButtons, SortableTableHeader, Spinner, StatCard, StatCardSkeleton, StatusBadge, StatusToggle, StepFormPage, StepNavigationButtons, StepTimeline, StreamingDashboard, Strong, Subheading, SwipeableRow, Switch2 as Switch, THAILAND_ACCENT_MAP, THAILAND_MACRO_REGIONS, THAILAND_MAP_CENTER, THAILAND_PROVINCE_COORDINATES, THAILAND_PROVINCE_PALETTES, TH_THEME_CONFIG, TR_THEME_CONFIG, TURKEY_ACCENT_MAP, TURKEY_MACRO_REGIONS, TURKEY_MAP_CENTER, TURKEY_PROVINCE_COORDINATES, TURKEY_PROVINCE_PALETTES, Table, TableBody, TableCell, TableEmptyState, TableHead, TableHeader, TableRow, TableSkeleton, TableSkeletonRow, Tabs, TabsContent, TabsList, TabsTrigger, Text, TextLink, Textarea, ThemeSwitch, ThemeToggle, ThemeToggleCompact, TimePicker, ToggleSwitch, TouchTarget, UK_ACCENT_MAP, UK_MACRO_REGIONS, UK_MAP_CENTER, UK_NATION_COORDINATES, UK_NATION_PALETTES, US_ACCENT_MAP, US_MACRO_REGIONS, US_MAP_CENTER, US_STATE_COORDINATES, US_STATE_PALETTES, US_THEME_CONFIG, UiAuthProvider, UiPrefsProvider, WINDSOCK_LOADER, WIRE_LOADER, WheelPicker, WindsockIcon, ZA_THEME_CONFIG, buildDockActions, buildFlyoutNavItems, buildLaunchpadItems, buttonPress, buttonPressReduced, buttonTap, cardHover, cardHoverReduced, cardPress, computeDomain, computeSeries, createMotionProps, duration, durationSeconds, durations, durationsReduced, ease, easeCss, easings, fadeOnly, fadeScale, filterByPermission, formatAddress, formatCurrency, formatCurrency2, formatDate, formatPercentage, getAllCountries, getArgentinaAccent, getArgentinaColors, getArgentinaFlagUrl, getArgentinaGradient, getArgentinaHexColor, getArgentinaPalette, getAustraliaAccent, getAustraliaColors, getAustraliaFlagUrl, getAustraliaGradient, getAustraliaHexColor, getAustraliaPalette, getBrazilAccent, getBrazilColors, getBrazilFlagUrl, getBrazilGradient, getBrazilHexColor, getBrazilPalette, getCanadaAccent, getCanadaColors, getCanadaFlagUrl, getCanadaGradient, getCanadaHexColor, getCanadaPalette, getChileAccent, getChileColors, getChileFlagUrl, getChileGradient, getChileHexColor, getChilePalette, getColombiaAccent, getColombiaColors, getColombiaFlagUrl, getColombiaGradient, getColombiaHexColor, getColombiaPalette, getCountryConfig, getEgyptAccent, getEgyptColors, getEgyptFlagUrl, getEgyptGradient, getEgyptHexColor, getEgyptPalette, getFranceAccent, getFranceColors, getFranceFlagUrl, getFranceGradient, getFranceHexColor, getFrancePalette, getGermanyAccent, getGermanyColors, getGermanyFlagUrl, getGermanyGradient, getGermanyHexColor, getGermanyPalette, getIndiaAccent, getIndiaColors, getIndiaFlagUrl, getIndiaGradient, getIndiaHexColor, getIndiaPalette, getIndonesiaAccent, getIndonesiaColors, getIndonesiaFlagUrl, getIndonesiaGradient, getIndonesiaHexColor, getIndonesiaPalette, getItalyAccent, getItalyColors, getItalyFlagUrl, getItalyGradient, getItalyHexColor, getItalyPalette, getJapanAccent, getJapanColors, getJapanFlagUrl, getJapanGradient, getJapanHexColor, getJapanPalette, getMexicoAccent, getMexicoColors, getMexicoFlagUrl, getMexicoGradient, getMexicoHexColor, getMexicoPalette, getNetherlandsAccent, getNetherlandsColors, getNetherlandsFlagUrl, getNetherlandsGradient, getNetherlandsHexColor, getNetherlandsPalette, getNewZealandAccent, getNewZealandColors, getNewZealandFlagUrl, getNewZealandGradient, getNewZealandHexColor, getNewZealandPalette, getNigeriaAccent, getNigeriaColors, getNigeriaFlagUrl, getNigeriaGradient, getNigeriaHexColor, getNigeriaPalette, getNorwayAccent, getNorwayColors, getNorwayFlagUrl, getNorwayGradient, getNorwayHexColor, getNorwayPalette, getPeruAccent, getPeruColors, getPeruFlagUrl, getPeruGradient, getPeruHexColor, getPeruPalette, getPhilippinesAccent, getPhilippinesColors, getPhilippinesFlagUrl, getPhilippinesGradient, getPhilippinesHexColor, getPhilippinesPalette, getPolandAccent, getPolandColors, getPolandFlagUrl, getPolandGradient, getPolandHexColor, getPolandPalette, getPortugalAccent, getPortugalColors, getPortugalFlagUrl, getPortugalGradient, getPortugalHexColor, getPortugalPalette, getSouthAfricaAccent, getSouthAfricaColors, getSouthAfricaFlagUrl, getSouthAfricaGradient, getSouthAfricaHexColor, getSouthAfricaPalette, getSouthKoreaAccent, getSouthKoreaColors, getSouthKoreaFlagUrl, getSouthKoreaGradient, getSouthKoreaHexColor, getSouthKoreaPalette, getSpainAccent, getSpainColors, getSpainFlagUrl, getSpainGradient, getSpainHexColor, getSpainPalette, getStatusColor, getSubdivisionAccent, getSubdivisionColors, getSubdivisionFlagUrl, getSubdivisionGradient, getSubdivisionHexColor, getSubdivisionPalette, getSwedenAccent, getSwedenColors, getSwedenFlagUrl, getSwedenGradient, getSwedenHexColor, getSwedenPalette, getThailandAccent, getThailandColors, getThailandFlagUrl, getThailandGradient, getThailandHexColor, getThailandPalette, getTransition, getTurkeyAccent, getTurkeyColors, getTurkeyFlagUrl, getTurkeyGradient, getTurkeyHexColor, getTurkeyPalette, getUKAccent, getUKColors, getUKFlagUrl, getUKGradient, getUKHexColor, getUKPalette, getUsAccent, getUsColors, getUsFlagUrl, getUsGradient, getUsHexColor, getUsPalette, getVariants, iosColors, isValidArgentinaProvince, isValidAustraliaState, isValidBrazilState, isValidCanadaProvince, isValidChileRegion, isValidColombiaDepartment, isValidEgyptGovernorate, isValidFranceRegion, isValidGermanyState, isValidIndiaState, isValidIndonesiaProvince, isValidItalyRegion, isValidJapanPrefecture, isValidMexicoState, isValidNetherlandsProvince, isValidNewZealandRegion, isValidNigeriaState, isValidNorwayCounty, isValidPeruDepartment, isValidPhilippinesProvince, isValidPolandVoivodeship, isValidPortugalDistrict, isValidSouthAfricaProvince, isValidSouthKoreaProvince, isValidSpainProvince, isValidSubdivision, isValidSwedenCounty, isValidThailandProvince, isValidTurkeyProvince, isValidUKNation, isValidUsState, listItem, listItemReduced, motionTokens, notificationBanner, notificationBannerReduced, pageControlDot, prefersReducedMotion, registerCountry, registerSubdivisionTheme, resolveGlassAccentRgb, selectIsAuthenticated, selectShowShellChrome, selectUserInitial, selectUserName, shimmerClass, shimmerWhiteClass, slideDown, slideRight, slideUp, spring, springPresets, springPresetsReduced, staggerContainer, swipeActionThreshold, swipeConstraints, useAuth, useGeoMapState, useImpersonation, useNotifications, usePlatformPreferences, usePlatformShellStore, usePullToRefresh, useSocialProviders, validateDashboardSpec, xScale, yScale };
20880
- //# sourceMappingURL=chunk-AGGOHPMZ.mjs.map
20881
- //# sourceMappingURL=chunk-AGGOHPMZ.mjs.map
20910
+ //# sourceMappingURL=chunk-EUXHJMGC.mjs.map
20911
+ //# sourceMappingURL=chunk-EUXHJMGC.mjs.map