@datatechsolutions/ui 3.13.1 → 3.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/astrlabe/graph-node.js +6 -6
  2. package/dist/astrlabe/graph-node.mjs +2 -2
  3. package/dist/astrlabe/index.js +114 -114
  4. package/dist/astrlabe/index.mjs +6 -6
  5. package/dist/astrlabe/workflow-canvas.js +6 -6
  6. package/dist/astrlabe/workflow-canvas.mjs +5 -5
  7. package/dist/{chunk-VCL5LDS5.js → chunk-2II2NLAZ.js} +38 -38
  8. package/dist/{chunk-VCL5LDS5.js.map → chunk-2II2NLAZ.js.map} +1 -1
  9. package/dist/{chunk-O4RZCDP2.mjs → chunk-2SBVFLPZ.mjs} +19 -2
  10. package/dist/chunk-2SBVFLPZ.mjs.map +1 -0
  11. package/dist/{chunk-TRNDFSM6.mjs → chunk-33ZWFDVG.mjs} +14 -14
  12. package/dist/chunk-33ZWFDVG.mjs.map +1 -0
  13. package/dist/{chunk-VWZ53TE2.js → chunk-4HZ55YKZ.js} +9 -9
  14. package/dist/{chunk-VWZ53TE2.js.map → chunk-4HZ55YKZ.js.map} +1 -1
  15. package/dist/{chunk-ULSG4JLR.js → chunk-4P72IJOM.js} +6 -6
  16. package/dist/{chunk-ULSG4JLR.js.map → chunk-4P72IJOM.js.map} +1 -1
  17. package/dist/{chunk-4Z5NZINA.js → chunk-5SCZB5UI.js} +122 -122
  18. package/dist/chunk-5SCZB5UI.js.map +1 -0
  19. package/dist/{chunk-Y65X2NHF.mjs → chunk-5YCH7FHT.mjs} +3 -3
  20. package/dist/{chunk-Y65X2NHF.mjs.map → chunk-5YCH7FHT.mjs.map} +1 -1
  21. package/dist/{chunk-DTFU3ZTD.js → chunk-6NBQTIXX.js} +9 -9
  22. package/dist/{chunk-DTFU3ZTD.js.map → chunk-6NBQTIXX.js.map} +1 -1
  23. package/dist/{chunk-CVEI4RQP.js → chunk-6NEESZVO.js} +4 -4
  24. package/dist/{chunk-CVEI4RQP.js.map → chunk-6NEESZVO.js.map} +1 -1
  25. package/dist/{chunk-AC54BNSK.js → chunk-72XZ7DSF.js} +13 -13
  26. package/dist/{chunk-AC54BNSK.js.map → chunk-72XZ7DSF.js.map} +1 -1
  27. package/dist/{chunk-ZPV7X4ZE.mjs → chunk-7NHJSD4A.mjs} +6 -6
  28. package/dist/{chunk-ZPV7X4ZE.mjs.map → chunk-7NHJSD4A.mjs.map} +1 -1
  29. package/dist/{chunk-CKY2QIRR.js → chunk-7SDB2VC2.js} +4 -4
  30. package/dist/{chunk-CKY2QIRR.js.map → chunk-7SDB2VC2.js.map} +1 -1
  31. package/dist/{chunk-FV42SSLP.js → chunk-A5OMGPMR.js} +4 -4
  32. package/dist/{chunk-FV42SSLP.js.map → chunk-A5OMGPMR.js.map} +1 -1
  33. package/dist/{chunk-54T5F65C.js → chunk-AUCS2KF4.js} +17 -17
  34. package/dist/{chunk-54T5F65C.js.map → chunk-AUCS2KF4.js.map} +1 -1
  35. package/dist/{chunk-QEACOJXX.mjs → chunk-F4KHAKTP.mjs} +102 -46
  36. package/dist/chunk-F4KHAKTP.mjs.map +1 -0
  37. package/dist/{chunk-Q7QPHZOV.js → chunk-FHGWXWVZ.js} +67 -67
  38. package/dist/{chunk-Q7QPHZOV.js.map → chunk-FHGWXWVZ.js.map} +1 -1
  39. package/dist/{chunk-RWZ2PLMQ.js → chunk-FZUV7GNB.js} +175 -118
  40. package/dist/chunk-FZUV7GNB.js.map +1 -0
  41. package/dist/{chunk-RMPXGEFL.mjs → chunk-HQNIETHV.mjs} +8 -8
  42. package/dist/{chunk-RMPXGEFL.mjs.map → chunk-HQNIETHV.mjs.map} +1 -1
  43. package/dist/{chunk-VPRAESA7.mjs → chunk-KDDXDQR2.mjs} +3 -3
  44. package/dist/{chunk-VPRAESA7.mjs.map → chunk-KDDXDQR2.mjs.map} +1 -1
  45. package/dist/{chunk-PM7A5I3X.js → chunk-LJGPMMKB.js} +113 -113
  46. package/dist/{chunk-PM7A5I3X.js.map → chunk-LJGPMMKB.js.map} +1 -1
  47. package/dist/{chunk-EBARYRSA.js → chunk-MXQ2EYG2.js} +19 -2
  48. package/dist/chunk-MXQ2EYG2.js.map +1 -0
  49. package/dist/{chunk-SCGICCQM.mjs → chunk-N6SGVUTR.mjs} +7 -10
  50. package/dist/chunk-N6SGVUTR.mjs.map +1 -0
  51. package/dist/{chunk-7IAWXG43.js → chunk-NIZSQJRW.js} +33 -33
  52. package/dist/{chunk-7IAWXG43.js.map → chunk-NIZSQJRW.js.map} +1 -1
  53. package/dist/{chunk-UUTTS3VV.mjs → chunk-NXWIT4YQ.mjs} +8 -11
  54. package/dist/chunk-NXWIT4YQ.mjs.map +1 -0
  55. package/dist/{chunk-DJHNSBIR.mjs → chunk-OTQXU4WG.mjs} +26 -26
  56. package/dist/{chunk-DJHNSBIR.mjs.map → chunk-OTQXU4WG.mjs.map} +1 -1
  57. package/dist/{chunk-3VCSMSJB.mjs → chunk-PO66V2PN.mjs} +9 -9
  58. package/dist/{chunk-3VCSMSJB.mjs.map → chunk-PO66V2PN.mjs.map} +1 -1
  59. package/dist/{chunk-B3TA74C4.js → chunk-PXGESUKI.js} +57 -60
  60. package/dist/chunk-PXGESUKI.js.map +1 -0
  61. package/dist/{chunk-YHD6SJIN.mjs → chunk-Q2FUNDCP.mjs} +4 -4
  62. package/dist/{chunk-YHD6SJIN.mjs.map → chunk-Q2FUNDCP.mjs.map} +1 -1
  63. package/dist/{chunk-4MNKVDTJ.mjs → chunk-Q5TZTA6H.mjs} +4 -4
  64. package/dist/{chunk-4MNKVDTJ.mjs.map → chunk-Q5TZTA6H.mjs.map} +1 -1
  65. package/dist/{chunk-4QCO4CBC.mjs → chunk-T7DROKWJ.mjs} +4 -4
  66. package/dist/{chunk-4QCO4CBC.mjs.map → chunk-T7DROKWJ.mjs.map} +1 -1
  67. package/dist/{chunk-WX44DAQD.mjs → chunk-TQADF23S.mjs} +3 -3
  68. package/dist/{chunk-WX44DAQD.mjs.map → chunk-TQADF23S.mjs.map} +1 -1
  69. package/dist/{chunk-4VEQJAXJ.mjs → chunk-U7VMFQFN.mjs} +5 -5
  70. package/dist/{chunk-4VEQJAXJ.mjs.map → chunk-U7VMFQFN.mjs.map} +1 -1
  71. package/dist/{chunk-M4KRQXOT.mjs → chunk-WE35EV7J.mjs} +3 -3
  72. package/dist/{chunk-M4KRQXOT.mjs.map → chunk-WE35EV7J.mjs.map} +1 -1
  73. package/dist/{chunk-RSCRIDMW.mjs → chunk-WTSMTLSP.mjs} +39 -45
  74. package/dist/chunk-WTSMTLSP.mjs.map +1 -0
  75. package/dist/{chunk-RPNMDGRA.js → chunk-YFMMZHL5.js} +37 -40
  76. package/dist/chunk-YFMMZHL5.js.map +1 -0
  77. package/dist/{chunk-XYMHIZ3K.mjs → chunk-ZBX7UCAP.mjs} +7 -7
  78. package/dist/{chunk-XYMHIZ3K.mjs.map → chunk-ZBX7UCAP.mjs.map} +1 -1
  79. package/dist/{chunk-RUZPOHJW.js → chunk-ZE6U4N4Q.js} +42 -42
  80. package/dist/{chunk-RUZPOHJW.js.map → chunk-ZE6U4N4Q.js.map} +1 -1
  81. package/dist/{chunk-UPWJRCAD.js → chunk-ZIRD3X6G.js} +220 -226
  82. package/dist/chunk-ZIRD3X6G.js.map +1 -0
  83. package/dist/index.d.mts +77 -7
  84. package/dist/index.d.ts +77 -7
  85. package/dist/index.js +708 -704
  86. package/dist/index.mjs +3 -3
  87. package/dist/platform/admin/index.js +12 -12
  88. package/dist/platform/admin/index.mjs +6 -6
  89. package/dist/platform/agents-workspace.js +9 -9
  90. package/dist/platform/agents-workspace.mjs +8 -8
  91. package/dist/platform/app-shell.js +5 -5
  92. package/dist/platform/app-shell.mjs +4 -4
  93. package/dist/platform/auth/index.js +29 -29
  94. package/dist/platform/auth/index.mjs +6 -6
  95. package/dist/platform/billing/index.js +7 -7
  96. package/dist/platform/billing/index.mjs +5 -5
  97. package/dist/platform/impersonation/index.js +5 -5
  98. package/dist/platform/impersonation/index.mjs +4 -4
  99. package/dist/platform/index.js +97 -97
  100. package/dist/platform/index.mjs +22 -22
  101. package/dist/platform/pages/index.d.mts +103 -1
  102. package/dist/platform/pages/index.d.ts +103 -1
  103. package/dist/platform/pages/index.js +934 -488
  104. package/dist/platform/pages/index.js.map +1 -1
  105. package/dist/platform/pages/index.mjs +530 -90
  106. package/dist/platform/pages/index.mjs.map +1 -1
  107. package/dist/platform/settings/index.js +9 -9
  108. package/dist/platform/settings/index.mjs +8 -8
  109. package/dist/platform/workflow-canvas-shell.js +7 -7
  110. package/dist/platform/workflow-canvas-shell.mjs +6 -6
  111. package/package.json +1 -1
  112. package/dist/chunk-4Z5NZINA.js.map +0 -1
  113. package/dist/chunk-B3TA74C4.js.map +0 -1
  114. package/dist/chunk-EBARYRSA.js.map +0 -1
  115. package/dist/chunk-O4RZCDP2.mjs.map +0 -1
  116. package/dist/chunk-QEACOJXX.mjs.map +0 -1
  117. package/dist/chunk-RPNMDGRA.js.map +0 -1
  118. package/dist/chunk-RSCRIDMW.mjs.map +0 -1
  119. package/dist/chunk-RWZ2PLMQ.js.map +0 -1
  120. package/dist/chunk-SCGICCQM.mjs.map +0 -1
  121. package/dist/chunk-TRNDFSM6.mjs.map +0 -1
  122. package/dist/chunk-UPWJRCAD.js.map +0 -1
  123. package/dist/chunk-UUTTS3VV.mjs.map +0 -1
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkY5VN4SPH_js = require('./chunk-Y5VN4SPH.js');
5
4
  var chunk22XPYFHJ_js = require('./chunk-22XPYFHJ.js');
6
- var chunkEBARYRSA_js = require('./chunk-EBARYRSA.js');
5
+ var chunkY5VN4SPH_js = require('./chunk-Y5VN4SPH.js');
6
+ var chunkMXQ2EYG2_js = require('./chunk-MXQ2EYG2.js');
7
7
  var chunkUZ3CMNUJ_js = require('./chunk-UZ3CMNUJ.js');
8
8
  var chunkS7KHTUHA_js = require('./chunk-S7KHTUHA.js');
9
9
  var React9 = require('react');
@@ -435,7 +435,7 @@ var Input = React9.forwardRef(
435
435
  initial: { opacity: 0, scale: 0.8 },
436
436
  animate: { opacity: 1, scale: 1 },
437
437
  exit: { opacity: 0, scale: 0.8 },
438
- transition: chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.bouncy),
438
+ transition: chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.bouncy),
439
439
  children: /* @__PURE__ */ jsxRuntime.jsx(solid.CheckCircleIcon, { className: "h-5 w-5 text-ios-green dark:text-ios-green-dark" })
440
440
  }
441
441
  ) }),
@@ -1217,7 +1217,7 @@ function ToggleSwitch({
1217
1217
  children: /* @__PURE__ */ jsxRuntime.jsx(
1218
1218
  framerMotion.motion.span,
1219
1219
  {
1220
- transition: chunkEBARYRSA_js.springPresets.bouncy,
1220
+ transition: chunkMXQ2EYG2_js.springPresets.bouncy,
1221
1221
  className: `
1222
1222
  pointer-events-none inline-block rounded-full
1223
1223
  bg-white shadow-lg shadow-black/10
@@ -3117,7 +3117,7 @@ function SearchBar({
3117
3117
  }
3118
3118
  ),
3119
3119
  filtersModal && /* @__PURE__ */ jsxRuntime.jsxs(
3120
- chunkEBARYRSA_js.Button,
3120
+ chunkMXQ2EYG2_js.Button,
3121
3121
  {
3122
3122
  type: "button",
3123
3123
  onClick: filtersModal.onOpen,
@@ -3183,7 +3183,7 @@ function SearchBar({
3183
3183
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-[72vh] overflow-y-auto p-4 sm:p-5", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-6", children: filtersModal.children }) }),
3184
3184
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-end gap-2 border-t liquid-divider p-4", children: [
3185
3185
  filtersModal.onClear && filtersModalCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(
3186
- chunkEBARYRSA_js.Button,
3186
+ chunkMXQ2EYG2_js.Button,
3187
3187
  {
3188
3188
  type: "button",
3189
3189
  onClick: filtersModal.onClear,
@@ -3193,7 +3193,7 @@ function SearchBar({
3193
3193
  }
3194
3194
  ),
3195
3195
  /* @__PURE__ */ jsxRuntime.jsx(
3196
- chunkEBARYRSA_js.Button,
3196
+ chunkMXQ2EYG2_js.Button,
3197
3197
  {
3198
3198
  type: "button",
3199
3199
  onClick: filtersModal.onClose,
@@ -3960,7 +3960,7 @@ function SegmentedControl({
3960
3960
  left: indicatorStyle.left,
3961
3961
  width: indicatorStyle.width
3962
3962
  },
3963
- transition: chunkEBARYRSA_js.springPresets.default
3963
+ transition: chunkMXQ2EYG2_js.springPresets.default
3964
3964
  }
3965
3965
  ),
3966
3966
  normalizedSegments.map((segment) => {
@@ -4018,15 +4018,15 @@ var sizeConfig2 = {
4018
4018
  var variantConfig = {
4019
4019
  default: {
4020
4020
  active: "bg-[#007AFF]",
4021
- inactive: "bg-gray-300 dark:bg-gray-600"
4021
+ inactive: "bg-slate-300 dark:bg-slate-600"
4022
4022
  },
4023
4023
  light: {
4024
4024
  active: "bg-white",
4025
4025
  inactive: "bg-white/40"
4026
4026
  },
4027
4027
  dark: {
4028
- active: "bg-gray-900",
4029
- inactive: "bg-gray-900/30"
4028
+ active: "bg-slate-900",
4029
+ inactive: "bg-slate-900/30"
4030
4030
  }
4031
4031
  };
4032
4032
  function PageIndicator({
@@ -4159,7 +4159,7 @@ function ProgressIndicator({
4159
4159
  ${showNumbers ? "w-8 h-8 text-sm font-medium" : "w-3 h-3"}
4160
4160
  ${isCompleted ? "bg-[#34C759] text-white" : ""}
4161
4161
  ${isCurrent ? "bg-[#007AFF] text-white ring-4 ring-indigo-500/70/20" : ""}
4162
- ${isPending ? "bg-gray-200 dark:bg-gray-700 text-gray-500" : ""}
4162
+ ${isPending ? "bg-slate-200 dark:bg-slate-700 text-slate-500" : ""}
4163
4163
  `,
4164
4164
  animate: {
4165
4165
  scale: isCurrent ? 1.1 : 1
@@ -4177,7 +4177,7 @@ function ProgressIndicator({
4177
4177
  {
4178
4178
  className: `
4179
4179
  w-8 h-0.5 mx-1
4180
- ${isCompleted ? "bg-[#34C759]" : "bg-gray-200 dark:bg-gray-700"}
4180
+ ${isCompleted ? "bg-[#34C759]" : "bg-slate-200 dark:bg-slate-700"}
4181
4181
  `
4182
4182
  }
4183
4183
  )
@@ -4559,15 +4559,15 @@ function PullToRefreshIndicator({
4559
4559
  "div",
4560
4560
  {
4561
4561
  className: `
4562
- h-8 w-8 rounded-full bg-white dark:bg-gray-800
4563
- shadow-lg border border-gray-200 dark:border-gray-700
4562
+ h-8 w-8 rounded-full bg-white dark:bg-slate-800
4563
+ shadow-lg border border-slate-200 dark:border-slate-700
4564
4564
  flex items-center justify-center
4565
4565
  transition-transform duration-200
4566
4566
  `,
4567
- children: isRefreshing ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-5 w-5 animate-spin motion-reduce:animate-none rounded-full border-2 border-gray-300 border-t-blue-500" }) : /* @__PURE__ */ jsxRuntime.jsx(
4567
+ children: isRefreshing ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-5 w-5 animate-spin motion-reduce:animate-none rounded-full border-2 border-slate-300 border-t-blue-500" }) : /* @__PURE__ */ jsxRuntime.jsx(
4568
4568
  "svg",
4569
4569
  {
4570
- className: "h-5 w-5 text-gray-600 dark:text-gray-400",
4570
+ className: "h-5 w-5 text-slate-600 dark:text-slate-400",
4571
4571
  style: { transform: `rotate(${rotation}deg)` },
4572
4572
  fill: "none",
4573
4573
  viewBox: "0 0 24 24",
@@ -4982,7 +4982,7 @@ function TableCell({ className, children, ...props }) {
4982
4982
  ),
4983
4983
  children: [
4984
4984
  href && /* @__PURE__ */ jsxRuntime.jsx(
4985
- chunkEBARYRSA_js.Link,
4985
+ chunkMXQ2EYG2_js.Link,
4986
4986
  {
4987
4987
  "data-row-link": true,
4988
4988
  href,
@@ -5039,7 +5039,7 @@ function SortableTableHeader({
5039
5039
  {
5040
5040
  initial: false,
5041
5041
  animate: { opacity: 1 },
5042
- transition: chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.stiff),
5042
+ transition: chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.stiff),
5043
5043
  className: "flex-shrink-0",
5044
5044
  children: direction === "asc" ? /* @__PURE__ */ jsxRuntime.jsx(HeroIcons.ChevronUpIcon, { className: "h-4 w-4" }) : direction === "desc" ? /* @__PURE__ */ jsxRuntime.jsx(HeroIcons.ChevronDownIcon, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntime.jsx(HeroIcons.ChevronUpDownIcon, { className: "h-4 w-4 opacity-40" })
5045
5045
  }
@@ -5092,7 +5092,7 @@ function TableEmptyState({
5092
5092
  {
5093
5093
  initial: { opacity: 0, y: 10 },
5094
5094
  animate: { opacity: 1, y: 0 },
5095
- transition: chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.gentle),
5095
+ transition: chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.gentle),
5096
5096
  className: "flex flex-col items-center gap-3",
5097
5097
  children: [
5098
5098
  icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-12 w-12 rounded-full bg-white/40 dark:bg-white/[0.04] flex items-center justify-center text-slate-400 dark:text-slate-500", children: icon }),
@@ -5122,7 +5122,7 @@ function AnimatedTableRow({
5122
5122
  animate: { opacity: 1, y: 0 },
5123
5123
  exit: { opacity: 0, x: -20 },
5124
5124
  transition: {
5125
- ...chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.gentle),
5125
+ ...chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.gentle),
5126
5126
  delay: index * 0.03
5127
5127
  },
5128
5128
  ...restProps,
@@ -5181,7 +5181,7 @@ function SelectableTableRow({
5181
5181
  "aria-label": "Select row",
5182
5182
  onClick: handleSelect,
5183
5183
  whileTap: { scale: 0.9 },
5184
- transition: chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.stiff),
5184
+ transition: chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.stiff),
5185
5185
  className: clsx4__default.default(
5186
5186
  "h-5 w-5 rounded-full border-2 flex items-center justify-center transition-colors",
5187
5187
  selected ? "bg-[#007AFF] dark:bg-[#0A84FF] border-[#007AFF] dark:border-[#0A84FF]" : "border-slate-300 dark:border-slate-600"
@@ -5192,7 +5192,7 @@ function SelectableTableRow({
5192
5192
  initial: { scale: 0 },
5193
5193
  animate: { scale: 1 },
5194
5194
  exit: { scale: 0 },
5195
- transition: chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.bouncy),
5195
+ transition: chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.bouncy),
5196
5196
  className: "h-3 w-3 text-white",
5197
5197
  fill: "none",
5198
5198
  viewBox: "0 0 24 24",
@@ -5236,7 +5236,7 @@ function EmptyState({
5236
5236
  {
5237
5237
  initial: { scale: 0.8, opacity: 0 },
5238
5238
  animate: { scale: 1, opacity: 1 },
5239
- transition: chunkEBARYRSA_js.springPresets.bouncy,
5239
+ transition: chunkMXQ2EYG2_js.springPresets.bouncy,
5240
5240
  className: "mx-auto mb-4",
5241
5241
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex h-16 w-16 items-center justify-center rounded-full border border-white/60 bg-white/75 shadow-sm backdrop-blur-xl dark:border-white/12 dark:bg-white/8", children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-8 w-8 text-slate-600 dark:text-slate-300" }) })
5242
5242
  }
@@ -5246,7 +5246,7 @@ function EmptyState({
5246
5246
  {
5247
5247
  initial: { y: 10, opacity: 0 },
5248
5248
  animate: { y: 0, opacity: 1 },
5249
- transition: { ...chunkEBARYRSA_js.springPresets.default, delay: 0.1 },
5249
+ transition: { ...chunkMXQ2EYG2_js.springPresets.default, delay: 0.1 },
5250
5250
  children: [
5251
5251
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base font-semibold text-slate-900 dark:text-white", children: message }),
5252
5252
  description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-slate-500 dark:text-slate-400 max-w-sm mx-auto", children: description })
@@ -5258,9 +5258,9 @@ function EmptyState({
5258
5258
  {
5259
5259
  initial: { y: 10, opacity: 0 },
5260
5260
  animate: { y: 0, opacity: 1 },
5261
- transition: { ...chunkEBARYRSA_js.springPresets.default, delay: 0.2 },
5261
+ transition: { ...chunkMXQ2EYG2_js.springPresets.default, delay: 0.2 },
5262
5262
  className: "mt-6",
5263
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { color: "ios-glass-blue", onClick: handleActionClick, children: action.label })
5263
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { color: "ios-glass-blue", onClick: handleActionClick, children: action.label })
5264
5264
  }
5265
5265
  )
5266
5266
  ]
@@ -5348,7 +5348,7 @@ function ErrorState({
5348
5348
  {
5349
5349
  initial: { scale: 0.8, opacity: 0 },
5350
5350
  animate: { scale: 1, opacity: 1 },
5351
- transition: chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.bouncy),
5351
+ transition: chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.bouncy),
5352
5352
  className: "mx-auto mb-4",
5353
5353
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `inline-flex h-16 w-16 items-center justify-center rounded-full ${config.iconBg}`, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: `h-8 w-8 ${config.iconColor}` }) })
5354
5354
  }
@@ -5358,7 +5358,7 @@ function ErrorState({
5358
5358
  {
5359
5359
  initial: { y: 10, opacity: 0 },
5360
5360
  animate: { y: 0, opacity: 1 },
5361
- transition: { ...chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.default), delay: 0.1 },
5361
+ transition: { ...chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.default), delay: 0.1 },
5362
5362
  children: [
5363
5363
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-semibold text-slate-900 dark:text-white", children: title || t(config.titleKey) }),
5364
5364
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-slate-500 dark:text-slate-400 max-w-sm mx-auto", children: message || t(config.messageKey) }),
@@ -5371,11 +5371,11 @@ function ErrorState({
5371
5371
  {
5372
5372
  initial: { y: 10, opacity: 0 },
5373
5373
  animate: { y: 0, opacity: 1 },
5374
- transition: { ...chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.default), delay: 0.2 },
5374
+ transition: { ...chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.default), delay: 0.2 },
5375
5375
  className: "mt-6 flex flex-col sm:flex-row items-center justify-center gap-3",
5376
5376
  children: [
5377
5377
  onRetry && /* @__PURE__ */ jsxRuntime.jsxs(
5378
- chunkEBARYRSA_js.Button,
5378
+ chunkMXQ2EYG2_js.Button,
5379
5379
  {
5380
5380
  color: "ios-glass-blue",
5381
5381
  onClick: handleRetry,
@@ -5389,7 +5389,7 @@ function ErrorState({
5389
5389
  }
5390
5390
  ),
5391
5391
  secondaryAction && /* @__PURE__ */ jsxRuntime.jsx(
5392
- chunkEBARYRSA_js.Button,
5392
+ chunkMXQ2EYG2_js.Button,
5393
5393
  {
5394
5394
  plain: true,
5395
5395
  onClick: () => {
@@ -5407,11 +5407,11 @@ function ErrorState({
5407
5407
  {
5408
5408
  initial: { y: 10, opacity: 0 },
5409
5409
  animate: { y: 0, opacity: 1 },
5410
- transition: { ...chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.default), delay: 0.3 },
5410
+ transition: { ...chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.default), delay: 0.3 },
5411
5411
  className: "mt-6",
5412
5412
  children: [
5413
5413
  /* @__PURE__ */ jsxRuntime.jsx(
5414
- chunkEBARYRSA_js.Button,
5414
+ chunkMXQ2EYG2_js.Button,
5415
5415
  {
5416
5416
  type: "button",
5417
5417
  plain: true,
@@ -5426,7 +5426,7 @@ function ErrorState({
5426
5426
  initial: { height: 0, opacity: 0 },
5427
5427
  animate: { height: "auto", opacity: 1 },
5428
5428
  exit: { height: 0, opacity: 0 },
5429
- transition: chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.gentle),
5429
+ transition: chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.gentle),
5430
5430
  className: "overflow-hidden",
5431
5431
  children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "mt-3 p-3 bg-white/40 dark:bg-white/[0.04] rounded-lg text-xs text-left text-slate-600 dark:text-slate-400 font-mono overflow-x-auto max-h-32", children: details })
5432
5432
  }
@@ -5478,7 +5478,7 @@ function NoResultsState({
5478
5478
  {
5479
5479
  initial: { scale: 0.8, opacity: 0 },
5480
5480
  animate: { scale: 1, opacity: 1 },
5481
- transition: chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.bouncy),
5481
+ transition: chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.bouncy),
5482
5482
  className: "mx-auto mb-4",
5483
5483
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex h-16 w-16 items-center justify-center rounded-full border border-white/60 bg-white/75 shadow-sm backdrop-blur-xl dark:border-white/12 dark:bg-white/8", children: /* @__PURE__ */ jsxRuntime.jsx(HeroIcons.DocumentMagnifyingGlassIcon, { className: "h-8 w-8 text-slate-600 dark:text-slate-300" }) })
5484
5484
  }
@@ -5488,7 +5488,7 @@ function NoResultsState({
5488
5488
  {
5489
5489
  initial: { y: 10, opacity: 0 },
5490
5490
  animate: { y: 0, opacity: 1 },
5491
- transition: { ...chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.default), delay: 0.1 },
5491
+ transition: { ...chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.default), delay: 0.1 },
5492
5492
  children: [
5493
5493
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-semibold text-slate-900 dark:text-white", children: t("noResultsFound") }),
5494
5494
  searchTerm && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-slate-500 dark:text-slate-400", children: t("noResultsFor", { searchTerm }) }),
@@ -5508,10 +5508,10 @@ function NoResultsState({
5508
5508
  {
5509
5509
  initial: { y: 10, opacity: 0 },
5510
5510
  animate: { y: 0, opacity: 1 },
5511
- transition: { ...chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.default), delay: 0.2 },
5511
+ transition: { ...chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.default), delay: 0.2 },
5512
5512
  className: "mt-6",
5513
5513
  children: /* @__PURE__ */ jsxRuntime.jsx(
5514
- chunkEBARYRSA_js.Button,
5514
+ chunkMXQ2EYG2_js.Button,
5515
5515
  {
5516
5516
  color: "ios-glass-blue",
5517
5517
  onClick: () => {
@@ -5546,7 +5546,7 @@ function NoDataState({
5546
5546
  {
5547
5547
  initial: { scale: 0.8, opacity: 0 },
5548
5548
  animate: { scale: 1, opacity: 1 },
5549
- transition: chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.bouncy),
5549
+ transition: chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.bouncy),
5550
5550
  className: "mx-auto mb-4",
5551
5551
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex h-16 w-16 items-center justify-center rounded-full border border-white/60 bg-white/75 shadow-sm backdrop-blur-xl dark:border-white/12 dark:bg-white/8", children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "h-8 w-8 text-slate-600 dark:text-slate-300" }) })
5552
5552
  }
@@ -5556,7 +5556,7 @@ function NoDataState({
5556
5556
  {
5557
5557
  initial: { y: 10, opacity: 0 },
5558
5558
  animate: { y: 0, opacity: 1 },
5559
- transition: { ...chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.default), delay: 0.1 },
5559
+ transition: { ...chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.default), delay: 0.1 },
5560
5560
  children: [
5561
5561
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base font-semibold text-slate-900 dark:text-white", children: resolvedTitle }),
5562
5562
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-slate-500 dark:text-slate-400 max-w-sm mx-auto", children: resolvedMessage })
@@ -5568,10 +5568,10 @@ function NoDataState({
5568
5568
  {
5569
5569
  initial: { y: 10, opacity: 0 },
5570
5570
  animate: { y: 0, opacity: 1 },
5571
- transition: { ...chunkEBARYRSA_js.getTransition(chunkEBARYRSA_js.springPresets.default), delay: 0.2 },
5571
+ transition: { ...chunkMXQ2EYG2_js.getTransition(chunkMXQ2EYG2_js.springPresets.default), delay: 0.2 },
5572
5572
  className: "mt-6",
5573
5573
  children: /* @__PURE__ */ jsxRuntime.jsx(
5574
- chunkEBARYRSA_js.Button,
5574
+ chunkMXQ2EYG2_js.Button,
5575
5575
  {
5576
5576
  color: "ios-glass-blue",
5577
5577
  onClick: () => {
@@ -5644,7 +5644,7 @@ function DynamicIsland({
5644
5644
  layout: true,
5645
5645
  initial: false,
5646
5646
  animate: sizeVariants[internalState],
5647
- transition: chunkEBARYRSA_js.springPresets.bouncy,
5647
+ transition: chunkMXQ2EYG2_js.springPresets.bouncy,
5648
5648
  onClick: handleTap,
5649
5649
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full w-full overflow-hidden bg-black rounded-[inherit]", children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
5650
5650
  framerMotion.motion.div,
@@ -6174,7 +6174,7 @@ function AccentBar({ gradient, className }) {
6174
6174
  }
6175
6175
  function CloseBtn({ onClick, label }) {
6176
6176
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-4 top-4 z-10", "data-testid": "modal-close", children: /* @__PURE__ */ jsxRuntime.jsx(
6177
- chunkEBARYRSA_js.IconButton,
6177
+ chunkMXQ2EYG2_js.IconButton,
6178
6178
  {
6179
6179
  label,
6180
6180
  variant: "ghost",
@@ -6393,30 +6393,33 @@ function GlassModal({
6393
6393
  panelClassName,
6394
6394
  contentClassName,
6395
6395
  overlayTestId,
6396
- panelTestId
6396
+ panelTestId,
6397
+ closeOnBackdrop = true
6397
6398
  }) {
6398
6399
  const hasTitle = !!title;
6400
+ const dialogOnClose = closeOnBackdrop ? onClose : () => {
6401
+ };
6399
6402
  const sidebarElement = React9.Children.toArray(children).find(
6400
6403
  (c) => React9.isValidElement(c) && isSlotType(c, SIDEBAR_TYPE)
6401
6404
  );
6402
6405
  const footerElement = findSlot(children, FOOTER_TYPE);
6403
6406
  const nonSlotChildren = filterNonSlots(children);
6404
6407
  const resolvedFooter = footer ?? (footerElement ? footerElement.props.children : void 0) ?? (showFormFooter ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col sm:flex-row justify-end gap-2 sm:gap-3", children: [
6405
- /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", onClick: onClose, disabled: isLoading, outline: true, className: "w-full sm:w-auto", "data-testid": "form-modal-cancel", children: cancelLabel ?? "Cancel" }),
6406
- /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "submit", disabled: submitDisabled, loading: isLoading, loadingText: submitLabel, color: "ios-glass-blue", className: "w-full sm:w-auto", "data-testid": "form-modal-submit", children: submitLabel ?? "Save" })
6408
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", onClick: onClose, disabled: isLoading, outline: true, className: "w-full sm:w-auto", "data-testid": "form-modal-cancel", children: cancelLabel ?? "Cancel" }),
6409
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "submit", disabled: submitDisabled, loading: isLoading, loadingText: submitLabel, color: "ios-glass-blue", className: "w-full sm:w-auto", "data-testid": "form-modal-submit", children: submitLabel ?? "Save" })
6407
6410
  ] }) : void 0);
6408
6411
  const handleSubmit = React9.useCallback((event) => {
6409
6412
  event.preventDefault();
6410
6413
  onSubmit?.(event);
6411
6414
  }, [onSubmit]);
6412
6415
  if (!hasTitle) {
6413
- return /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { open, onClose, className: `relative ${zIndex}`, children: [
6416
+ return /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { open, onClose: dialogOnClose, className: `relative ${zIndex}`, children: [
6414
6417
  /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/40 backdrop-blur-md dark:bg-black/50", "data-testid": overlayTestId }),
6415
6418
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: contentClassName ?? "fixed inset-0 flex items-center justify-center overflow-y-auto p-3 sm:p-5 lg:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogPanel, { className: panelClassName ?? "rounded-2xl", "data-testid": panelTestId, children }) })
6416
6419
  ] });
6417
6420
  }
6418
6421
  if (sidebar && !sidebarElement) {
6419
- return /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { open, onClose, className: `relative ${zIndex}`, "aria-labelledby": "modal-title", children: [
6422
+ return /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { open, onClose: dialogOnClose, className: `relative ${zIndex}`, "aria-labelledby": "modal-title", children: [
6420
6423
  /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/40 backdrop-blur-md dark:bg-black/50", "data-testid": overlayTestId }),
6421
6424
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 flex items-center justify-center overflow-y-auto p-2 sm:p-4 lg:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogPanel, { className: `w-full max-w-[90vw] xl:max-w-[1400px] overflow-hidden rounded-2xl liquid-surface-strong shadow-[0_40px_100px_-30px_rgba(0,0,0,0.55)] ${className}`, "data-testid": panelTestId, children: /* @__PURE__ */ jsxRuntime.jsx(
6422
6425
  PropBasedSidebarLayout,
@@ -6436,7 +6439,7 @@ function GlassModal({
6436
6439
  ] });
6437
6440
  }
6438
6441
  if (sidebarElement) {
6439
- return /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { open, onClose, className: `relative ${zIndex}`, "aria-labelledby": "modal-title", children: [
6442
+ return /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { open, onClose: dialogOnClose, className: `relative ${zIndex}`, "aria-labelledby": "modal-title", children: [
6440
6443
  /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/40 backdrop-blur-md dark:bg-black/50", "data-testid": overlayTestId }),
6441
6444
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 flex items-center justify-center overflow-y-auto p-2 sm:p-4 lg:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogPanel, { className: `w-full max-w-[90vw] xl:max-w-[1400px] overflow-hidden rounded-2xl liquid-surface-strong shadow-[0_40px_100px_-30px_rgba(0,0,0,0.55)] ${className}`, "data-testid": panelTestId, children: /* @__PURE__ */ jsxRuntime.jsx(
6442
6445
  SidebarLayout,
@@ -6474,7 +6477,7 @@ function GlassModal({
6474
6477
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-[72vh] overflow-y-auto px-5 pb-5 sm:px-8 sm:pb-8", children: nonSlotChildren }),
6475
6478
  resolvedFooter && /* @__PURE__ */ jsxRuntime.jsx("div", { "data-testid": "modal-footer", className: "border-t border-white/20 px-5 py-4 dark:border-white/10 sm:px-8", children: resolvedFooter })
6476
6479
  ] });
6477
- return /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { open, onClose, className: `relative ${zIndex}`, "aria-labelledby": "modal-title", children: [
6480
+ return /* @__PURE__ */ jsxRuntime.jsxs(Headless3.Dialog, { open, onClose: dialogOnClose, className: `relative ${zIndex}`, "aria-labelledby": "modal-title", children: [
6478
6481
  /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogBackdrop, { className: "fixed inset-0 bg-slate-900/40 backdrop-blur-md dark:bg-black/50", "data-testid": overlayTestId }),
6479
6482
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed inset-0 overflow-y-auto p-3 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(Headless3.DialogPanel, { className: `liquid-surface-strong w-full overflow-hidden rounded-2xl mx-auto mt-[4vh] sm:mt-[8vh] ${SIZE_CLASSES[maxWidth]} ${className}`, "data-testid": panelTestId, children: onSubmit ? /* @__PURE__ */ jsxRuntime.jsx("form", { onSubmit: handleSubmit, children: inner }) : inner }) })
6480
6483
  ] });
@@ -6497,7 +6500,7 @@ function Text({ className, ...props }) {
6497
6500
  }
6498
6501
  function TextLink({ className, ...props }) {
6499
6502
  return /* @__PURE__ */ jsxRuntime.jsx(
6500
- chunkEBARYRSA_js.Link,
6503
+ chunkMXQ2EYG2_js.Link,
6501
6504
  {
6502
6505
  ...props,
6503
6506
  className: clsx4__default.default(
@@ -7420,7 +7423,7 @@ function PageHeading({
7420
7423
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
7421
7424
  breadcrumbs?.length ? /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": t("breadcrumb"), className: "mb-2", children: /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400", children: breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-center gap-2", children: [
7422
7425
  index > 0 ? /* @__PURE__ */ jsxRuntime.jsx(solid.ChevronRightIcon, { className: "h-4 w-4", "aria-hidden": "true" }) : null,
7423
- /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Link, { href: crumb.href, className: "hover:text-gray-800 dark:hover:text-white", children: crumb.name })
7426
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Link, { href: crumb.href, className: "hover:text-gray-800 dark:hover:text-white", children: crumb.name })
7424
7427
  ] }, `${crumb.href}-${crumb.name}`)) }) }) : null,
7425
7428
  /* @__PURE__ */ jsxRuntime.jsx(
7426
7429
  HeroBlock,
@@ -7685,8 +7688,8 @@ function FormActions({
7685
7688
  className
7686
7689
  }) {
7687
7690
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx4__default.default("flex justify-end gap-2 border-t border-gray-200 pt-4 dark:border-gray-700", className), children: [
7688
- /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", outline: true, onClick: onCancel, children: cancelLabel }),
7689
- /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { type: "button", onClick: onSave, disabled: saveDisabled, children: saveLabel })
7691
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", outline: true, onClick: onCancel, children: cancelLabel }),
7692
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", onClick: onSave, disabled: saveDisabled, children: saveLabel })
7690
7693
  ] });
7691
7694
  }
7692
7695
  function FormToggle({
@@ -7828,7 +7831,7 @@ function BaseForm({
7828
7831
  children,
7829
7832
  showFooter && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2 pt-4", children: [
7830
7833
  /* @__PURE__ */ jsxRuntime.jsxs(
7831
- chunkEBARYRSA_js.Button,
7834
+ chunkMXQ2EYG2_js.Button,
7832
7835
  {
7833
7836
  type: "submit",
7834
7837
  color: "ios-glass-blue",
@@ -7840,7 +7843,7 @@ function BaseForm({
7840
7843
  }
7841
7844
  ),
7842
7845
  onCancel && /* @__PURE__ */ jsxRuntime.jsx(
7843
- chunkEBARYRSA_js.Button,
7846
+ chunkMXQ2EYG2_js.Button,
7844
7847
  {
7845
7848
  type: "button",
7846
7849
  outline: true,
@@ -8088,7 +8091,7 @@ function StepFormPage({
8088
8091
  ) }),
8089
8092
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-6 flex items-center justify-between border-t border-white/30 pt-5 dark:border-white/10", children: [
8090
8093
  /* @__PURE__ */ jsxRuntime.jsx(
8091
- chunkEBARYRSA_js.Button,
8094
+ chunkMXQ2EYG2_js.Button,
8092
8095
  {
8093
8096
  type: "button",
8094
8097
  onClick: handleBack,
@@ -8097,7 +8100,7 @@ function StepFormPage({
8097
8100
  }
8098
8101
  ),
8099
8102
  /* @__PURE__ */ jsxRuntime.jsx(
8100
- chunkEBARYRSA_js.Button,
8103
+ chunkMXQ2EYG2_js.Button,
8101
8104
  {
8102
8105
  type: "button",
8103
8106
  onClick: handleNext,
@@ -8529,8 +8532,8 @@ function LaunchpadGrid({
8529
8532
  item.badge != null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -top-1.5 left-1/2 translate-x-8 lg:translate-x-10 z-10 inline-flex h-5 min-w-5 items-center justify-center rounded-full bg-white/95 px-1.5 text-[10px] font-bold text-blue-700 shadow-sm ring-1 ring-blue-200 dark:bg-slate-900/95 dark:text-blue-300 dark:ring-blue-400/40", children: item.badge > 99 ? "99+" : item.badge }),
8530
8533
  item.notification != null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -top-2 right-1/2 translate-x-9 lg:translate-x-11 z-10 flex h-8 min-w-8 items-center justify-center rounded-full bg-red-500 px-2 text-sm font-extrabold text-white shadow-lg ring-2 ring-white/70 dark:ring-slate-900/70", children: item.notification > 99 ? "99+" : item.notification }),
8531
8534
  /* @__PURE__ */ jsxRuntime.jsx(LaunchpadIcon, { item, userProfile, isHydrated }),
8532
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mt-3 text-sm font-medium text-gray-700 dark:text-gray-300 group-hover:text-gray-900 dark:group-hover:text-white transition-colors", children: item.name }),
8533
- item.subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-0.5 text-xs text-gray-500 dark:text-gray-400", children: item.subtitle })
8535
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mt-3 text-sm font-medium text-slate-700 dark:text-slate-300 group-hover:text-slate-900 dark:group-hover:text-white transition-colors", children: item.name }),
8536
+ item.subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-0.5 text-xs text-slate-500 dark:text-slate-400", children: item.subtitle })
8534
8537
  ] })
8535
8538
  }
8536
8539
  ) : /* @__PURE__ */ jsxRuntime.jsxs(
@@ -8544,7 +8547,7 @@ function LaunchpadGrid({
8544
8547
  item.notification != null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -top-2 right-1/2 translate-x-9 lg:translate-x-11 z-10 flex h-8 min-w-8 items-center justify-center rounded-full bg-red-500 px-2 text-sm font-extrabold text-white shadow-lg ring-2 ring-white/70 dark:ring-slate-900/70", children: item.notification > 9 ? "9+" : item.notification }),
8545
8548
  /* @__PURE__ */ jsxRuntime.jsx(LaunchpadIcon, { item, userProfile, isHydrated }),
8546
8549
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mt-3 text-sm font-medium text-gray-700 dark:text-gray-300 group-hover:text-gray-900 dark:group-hover:text-white transition-colors", children: item.name }),
8547
- item.subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-0.5 text-xs text-gray-500 dark:text-gray-400", children: item.subtitle })
8550
+ item.subtitle && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-0.5 text-xs text-slate-500 dark:text-slate-400", children: item.subtitle })
8548
8551
  ]
8549
8552
  }
8550
8553
  ) }, `launchpad-${item.id}`), [actionItemIds, getForceTouchItems, tileClass, onItemClick, userProfile, isHydrated]);
@@ -8559,7 +8562,7 @@ function LaunchpadGrid({
8559
8562
  groupedActionItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8560
8563
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "my-6", children: [
8561
8564
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-px w-full bg-slate-300/75 dark:bg-white/20" }),
8562
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-center text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400", children: actionsLabel })
8565
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-center text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: actionsLabel })
8563
8566
  ] }),
8564
8567
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap justify-center gap-7 lg:gap-8", children: groupedActionItems.map(renderTile) })
8565
8568
  ] })
@@ -8755,8 +8758,8 @@ function CookieConsent({
8755
8758
  children: t("learnMore")
8756
8759
  }
8757
8760
  ),
8758
- /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { onClick: handleReject, outline: true, children: t("reject") }),
8759
- /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { onClick: handleAccept, color: "ios-glass-blue", children: t("accept") })
8761
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { onClick: handleReject, outline: true, children: t("reject") }),
8762
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { onClick: handleAccept, color: "ios-glass-blue", children: t("accept") })
8760
8763
  ] })
8761
8764
  ] }) })
8762
8765
  }
@@ -9287,9 +9290,9 @@ var AvatarButton = React9.forwardRef(function AvatarButton2({
9287
9290
  "focus:not-data-focus:outline-hidden data-focus:outline-2 data-focus:outline-offset-2 data-focus:outline-indigo-500/70"
9288
9291
  );
9289
9292
  if (typeof props.href === "string") {
9290
- return /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Link, { ...props, className: classes, ref, children: /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.TouchTarget, { children: /* @__PURE__ */ jsxRuntime.jsx(Avatar, { src, square, initials, alt, tone }) }) });
9293
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Link, { ...props, className: classes, ref, children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.TouchTarget, { children: /* @__PURE__ */ jsxRuntime.jsx(Avatar, { src, square, initials, alt, tone }) }) });
9291
9294
  }
9292
- return /* @__PURE__ */ jsxRuntime.jsx(Headless3__namespace.Button, { ...props, className: classes, ref, children: /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.TouchTarget, { children: /* @__PURE__ */ jsxRuntime.jsx(Avatar, { src, square, initials, alt, tone }) }) });
9295
+ return /* @__PURE__ */ jsxRuntime.jsx(Headless3__namespace.Button, { ...props, className: classes, ref, children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.TouchTarget, { children: /* @__PURE__ */ jsxRuntime.jsx(Avatar, { src, square, initials, alt, tone }) }) });
9293
9296
  });
9294
9297
  function ImageUpload({
9295
9298
  src,
@@ -9394,7 +9397,7 @@ function Breadcrumb({ pages, actions, centerContent, dashboardPath = "/dashboard
9394
9397
  className: "liquid-surface-strong sticky top-2 z-30 mx-4 rounded-2xl sm:mx-6 lg:mx-8",
9395
9398
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid w-full grid-cols-[1fr_auto_1fr] items-center gap-3 px-4 py-2.5 sm:px-6 lg:px-8", children: [
9396
9399
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children: parentPage ? /* @__PURE__ */ jsxRuntime.jsxs(
9397
- chunkEBARYRSA_js.Link,
9400
+ chunkMXQ2EYG2_js.Link,
9398
9401
  {
9399
9402
  href: parentPage.href,
9400
9403
  className: "inline-flex max-w-full items-center gap-1 rounded-full px-2 py-1 text-sm font-medium text-slate-600 hover:bg-white/60 dark:text-slate-300 dark:hover:bg-white/10",
@@ -9404,7 +9407,7 @@ function Breadcrumb({ pages, actions, centerContent, dashboardPath = "/dashboard
9404
9407
  ]
9405
9408
  }
9406
9409
  ) : /* @__PURE__ */ jsxRuntime.jsxs(
9407
- chunkEBARYRSA_js.Link,
9410
+ chunkMXQ2EYG2_js.Link,
9408
9411
  {
9409
9412
  href: dashboardPath,
9410
9413
  className: "inline-flex items-center gap-1 rounded-full px-2 py-1 text-sm font-medium text-slate-600 hover:bg-white/60 dark:text-slate-300 dark:hover:bg-white/10",
@@ -9427,7 +9430,7 @@ function CreateActionButton({
9427
9430
  mode = "responsive"
9428
9431
  }) {
9429
9432
  const buttonContent = /* @__PURE__ */ jsxRuntime.jsxs(
9430
- chunkEBARYRSA_js.Button,
9433
+ chunkMXQ2EYG2_js.Button,
9431
9434
  {
9432
9435
  type: "button",
9433
9436
  onClick,
@@ -10166,7 +10169,7 @@ function PageEmptyState({ title, message, iconName, customIcon }) {
10166
10169
  {
10167
10170
  initial: prefersReducedMotion2 ? false : { opacity: 0, scale: 0.95 },
10168
10171
  animate: prefersReducedMotion2 ? noMotion : { opacity: 1, scale: 1 },
10169
- transition: prefersReducedMotion2 ? noTransition : chunkEBARYRSA_js.springPresets.gentle,
10172
+ transition: prefersReducedMotion2 ? noTransition : chunkMXQ2EYG2_js.springPresets.gentle,
10170
10173
  className: "liquid-surface w-full max-w-lg rounded-2xl px-8 py-14 text-center",
10171
10174
  children: [
10172
10175
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -10174,7 +10177,7 @@ function PageEmptyState({ title, message, iconName, customIcon }) {
10174
10177
  {
10175
10178
  initial: prefersReducedMotion2 ? false : { scale: 0.6, opacity: 0 },
10176
10179
  animate: prefersReducedMotion2 ? noMotion : { scale: 1, opacity: 1 },
10177
- transition: prefersReducedMotion2 ? noTransition : chunkEBARYRSA_js.springPresets.bouncy,
10180
+ transition: prefersReducedMotion2 ? noTransition : chunkMXQ2EYG2_js.springPresets.bouncy,
10178
10181
  className: "mx-auto mb-6",
10179
10182
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `inline-flex h-20 w-20 items-center justify-center rounded-full backdrop-blur-md border ${accent.container}`, children: customIcon ?? /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: `h-10 w-10 ${accent.icon}` }) })
10180
10183
  }
@@ -10185,7 +10188,7 @@ function PageEmptyState({ title, message, iconName, customIcon }) {
10185
10188
  "data-testid": "empty-state-title",
10186
10189
  initial: prefersReducedMotion2 ? false : { y: 12, opacity: 0 },
10187
10190
  animate: prefersReducedMotion2 ? noMotion : { y: 0, opacity: 1 },
10188
- transition: prefersReducedMotion2 ? noTransition : { ...chunkEBARYRSA_js.springPresets.default, delay: 0.1 },
10191
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkMXQ2EYG2_js.springPresets.default, delay: 0.1 },
10189
10192
  className: "text-xl font-semibold text-gray-900 dark:text-white",
10190
10193
  children: title
10191
10194
  }
@@ -10196,7 +10199,7 @@ function PageEmptyState({ title, message, iconName, customIcon }) {
10196
10199
  "data-testid": "empty-state-message",
10197
10200
  initial: prefersReducedMotion2 ? false : { y: 12, opacity: 0 },
10198
10201
  animate: prefersReducedMotion2 ? noMotion : { y: 0, opacity: 1 },
10199
- transition: prefersReducedMotion2 ? noTransition : { ...chunkEBARYRSA_js.springPresets.default, delay: 0.15 },
10202
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkMXQ2EYG2_js.springPresets.default, delay: 0.15 },
10200
10203
  className: "mt-3 text-sm text-gray-500 dark:text-gray-400 max-w-sm mx-auto leading-relaxed",
10201
10204
  children: message
10202
10205
  }
@@ -10213,7 +10216,7 @@ function PageEmptyState({ title, message, iconName, customIcon }) {
10213
10216
  {
10214
10217
  initial: prefersReducedMotion2 ? false : { scale: 0 },
10215
10218
  animate: prefersReducedMotion2 ? noMotion : { scale: 1 },
10216
- transition: prefersReducedMotion2 ? noTransition : { ...chunkEBARYRSA_js.springPresets.bouncy, delay: 0.35 + i * 0.08 },
10219
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkMXQ2EYG2_js.springPresets.bouncy, delay: 0.35 + i * 0.08 },
10217
10220
  className: "h-1.5 w-1.5 rounded-full bg-gray-300 dark:bg-gray-600"
10218
10221
  },
10219
10222
  i
@@ -10249,7 +10252,7 @@ function PageErrorState({
10249
10252
  {
10250
10253
  initial: prefersReducedMotion2 ? false : { opacity: 0, scale: 0.95 },
10251
10254
  animate: prefersReducedMotion2 ? noMotion : { opacity: 1, scale: 1 },
10252
- transition: prefersReducedMotion2 ? noTransition : chunkEBARYRSA_js.springPresets.gentle,
10255
+ transition: prefersReducedMotion2 ? noTransition : chunkMXQ2EYG2_js.springPresets.gentle,
10253
10256
  className: "liquid-surface w-full max-w-2xl rounded-2xl px-12 py-14 text-center",
10254
10257
  children: [
10255
10258
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -10257,7 +10260,7 @@ function PageErrorState({
10257
10260
  {
10258
10261
  initial: prefersReducedMotion2 ? false : { scale: 0.6, opacity: 0 },
10259
10262
  animate: prefersReducedMotion2 ? noMotion : { scale: 1, opacity: 1 },
10260
- transition: prefersReducedMotion2 ? noTransition : chunkEBARYRSA_js.springPresets.bouncy,
10263
+ transition: prefersReducedMotion2 ? noTransition : chunkMXQ2EYG2_js.springPresets.bouncy,
10261
10264
  className: "mx-auto mb-6",
10262
10265
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex h-20 w-20 items-center justify-center rounded-full backdrop-blur-md border bg-red-50/80 dark:bg-red-900/30 border-red-100/50 dark:border-red-800/30", children: customIcon ?? /* @__PURE__ */ jsxRuntime.jsx(HeroIcons.ExclamationTriangleIcon, { className: "h-10 w-10 text-red-500 dark:text-red-400" }) })
10263
10266
  }
@@ -10267,7 +10270,7 @@ function PageErrorState({
10267
10270
  {
10268
10271
  initial: prefersReducedMotion2 ? false : { y: 12, opacity: 0 },
10269
10272
  animate: prefersReducedMotion2 ? noMotion : { y: 0, opacity: 1 },
10270
- transition: prefersReducedMotion2 ? noTransition : { ...chunkEBARYRSA_js.springPresets.default, delay: 0.05 },
10273
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkMXQ2EYG2_js.springPresets.default, delay: 0.05 },
10271
10274
  className: "mb-1 text-sm font-semibold tracking-widest text-red-500 dark:text-red-400",
10272
10275
  children: statusCode
10273
10276
  }
@@ -10278,7 +10281,7 @@ function PageErrorState({
10278
10281
  "data-testid": "error-state-title",
10279
10282
  initial: prefersReducedMotion2 ? false : { y: 12, opacity: 0 },
10280
10283
  animate: prefersReducedMotion2 ? noMotion : { y: 0, opacity: 1 },
10281
- transition: prefersReducedMotion2 ? noTransition : { ...chunkEBARYRSA_js.springPresets.default, delay: 0.1 },
10284
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkMXQ2EYG2_js.springPresets.default, delay: 0.1 },
10282
10285
  className: "text-xl font-semibold text-gray-900 dark:text-white",
10283
10286
  children: title
10284
10287
  }
@@ -10289,7 +10292,7 @@ function PageErrorState({
10289
10292
  "data-testid": "error-state-message",
10290
10293
  initial: prefersReducedMotion2 ? false : { y: 12, opacity: 0 },
10291
10294
  animate: prefersReducedMotion2 ? noMotion : { y: 0, opacity: 1 },
10292
- transition: prefersReducedMotion2 ? noTransition : { ...chunkEBARYRSA_js.springPresets.default, delay: 0.15 },
10295
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkMXQ2EYG2_js.springPresets.default, delay: 0.15 },
10293
10296
  className: "mt-3 text-sm text-gray-500 dark:text-gray-400 max-w-sm mx-auto leading-relaxed",
10294
10297
  children: message
10295
10298
  }
@@ -10299,10 +10302,10 @@ function PageErrorState({
10299
10302
  {
10300
10303
  initial: prefersReducedMotion2 ? false : { y: 12, opacity: 0 },
10301
10304
  animate: prefersReducedMotion2 ? noMotion : { y: 0, opacity: 1 },
10302
- transition: prefersReducedMotion2 ? noTransition : { ...chunkEBARYRSA_js.springPresets.default, delay: 0.25 },
10305
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkMXQ2EYG2_js.springPresets.default, delay: 0.25 },
10303
10306
  className: "mt-8",
10304
10307
  children: /* @__PURE__ */ jsxRuntime.jsx(
10305
- chunkEBARYRSA_js.Button,
10308
+ chunkMXQ2EYG2_js.Button,
10306
10309
  {
10307
10310
  type: "button",
10308
10311
  destructive: true,
@@ -10325,7 +10328,7 @@ function PageErrorState({
10325
10328
  {
10326
10329
  initial: prefersReducedMotion2 ? false : { scale: 0 },
10327
10330
  animate: prefersReducedMotion2 ? noMotion : { scale: 1 },
10328
- transition: prefersReducedMotion2 ? noTransition : { ...chunkEBARYRSA_js.springPresets.bouncy, delay: 0.35 + i * 0.08 },
10331
+ transition: prefersReducedMotion2 ? noTransition : { ...chunkMXQ2EYG2_js.springPresets.bouncy, delay: 0.35 + i * 0.08 },
10329
10332
  className: "h-1.5 w-1.5 rounded-full bg-red-300 dark:bg-red-700"
10330
10333
  },
10331
10334
  i
@@ -10528,8 +10531,8 @@ function NotFoundPage({ title = "Page not found", message = "The page you're loo
10528
10531
  return /* @__PURE__ */ jsxRuntime.jsxs(ErrorContainer, { className, children: [
10529
10532
  /* @__PURE__ */ jsxRuntime.jsx(NotFoundSvg, {}),
10530
10533
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: `mb-2 text-sm font-semibold tracking-widest ${accentColorClasses[accentColor]}`, children: "404" }),
10531
- /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "mb-3 text-3xl font-bold text-gray-900 dark:text-white", children: title }),
10532
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-8 max-w-md text-gray-500 dark:text-gray-400", children: message }),
10534
+ /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "mb-3 text-3xl font-bold text-slate-900 dark:text-white", children: title }),
10535
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-8 max-w-md text-slate-500 dark:text-slate-400", children: message }),
10533
10536
  action
10534
10537
  ] });
10535
10538
  }
@@ -10553,8 +10556,8 @@ function BadRequestPage({ title = "Bad request", message = "The request could no
10553
10556
  return /* @__PURE__ */ jsxRuntime.jsxs(ErrorContainer, { className, children: [
10554
10557
  /* @__PURE__ */ jsxRuntime.jsx(BadRequestSvg, {}),
10555
10558
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: `mb-2 text-sm font-semibold tracking-widest ${accentColorClasses[accentColor]}`, children: "400" }),
10556
- /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "mb-3 text-3xl font-bold text-gray-900 dark:text-white", children: title }),
10557
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-8 max-w-md text-gray-500 dark:text-gray-400", children: message }),
10559
+ /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "mb-3 text-3xl font-bold text-slate-900 dark:text-white", children: title }),
10560
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-8 max-w-md text-slate-500 dark:text-slate-400", children: message }),
10558
10561
  action
10559
10562
  ] });
10560
10563
  }
@@ -10589,8 +10592,8 @@ function ServerErrorPage({ title = "Something went wrong", message = "An unexpec
10589
10592
  return /* @__PURE__ */ jsxRuntime.jsxs(ErrorContainer, { className, children: [
10590
10593
  /* @__PURE__ */ jsxRuntime.jsx(ServerErrorSvg, {}),
10591
10594
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: `mb-2 text-sm font-semibold tracking-widest ${accentColorClasses[accentColor]}`, children: "500" }),
10592
- /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "mb-3 text-3xl font-bold text-gray-900 dark:text-white", children: title }),
10593
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-8 max-w-md text-gray-500 dark:text-gray-400", children: message }),
10595
+ /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "mb-3 text-3xl font-bold text-slate-900 dark:text-white", children: title }),
10596
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-8 max-w-md text-slate-500 dark:text-slate-400", children: message }),
10594
10597
  action
10595
10598
  ] });
10596
10599
  }
@@ -10743,19 +10746,28 @@ function SelectionCard({
10743
10746
  onClick,
10744
10747
  icon,
10745
10748
  label,
10749
+ description,
10750
+ layout = "tile",
10751
+ gradient,
10752
+ compatibility = "compatible",
10753
+ badge,
10746
10754
  className = ""
10747
10755
  }) {
10756
+ const isIncompatible = compatibility === "incompatible";
10757
+ const isCard = layout === "card";
10748
10758
  return /* @__PURE__ */ jsxRuntime.jsxs(
10749
10759
  "button",
10750
10760
  {
10751
10761
  type: "button",
10752
- onClick,
10762
+ onClick: isIncompatible ? void 0 : onClick,
10763
+ disabled: isIncompatible,
10753
10764
  "aria-pressed": selected,
10754
10765
  className: [
10755
- "liquid-surface group relative flex flex-col items-center gap-2.5 rounded-2xl p-4",
10756
- "transition-all duration-200",
10766
+ "liquid-surface group relative rounded-2xl transition-all duration-200",
10757
10767
  "focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1",
10768
+ isCard ? "flex items-center gap-3 px-3 py-2.5 text-left" : "flex flex-col items-center gap-2.5 p-4",
10758
10769
  selected ? "bg-indigo-500/15 ring-1 ring-inset ring-indigo-500/30 dark:bg-indigo-500/20" : "hover:bg-white/30 dark:hover:bg-white/[0.05]",
10770
+ isIncompatible && "cursor-not-allowed opacity-50",
10759
10771
  className
10760
10772
  ].join(" "),
10761
10773
  children: [
@@ -10763,10 +10775,11 @@ function SelectionCard({
10763
10775
  "span",
10764
10776
  {
10765
10777
  className: [
10766
- "inline-flex items-center justify-center rounded-xl p-2 transition-colors",
10778
+ "inline-flex shrink-0 items-center justify-center rounded-xl transition-colors",
10779
+ isCard ? "h-9 w-9" : "p-2",
10767
10780
  selected ? (
10768
- // Selected icon bubble — solid indigo with inner highlight
10769
- "bg-indigo-500/85 text-white shadow-[inset_0_1px_1px_rgba(255,255,255,0.4)]"
10781
+ // Selected icon bubble — solid indigo (or caller-provided gradient) with inner highlight
10782
+ gradient ? `bg-gradient-to-br ${gradient} text-white shadow-[inset_0_1px_1px_rgba(255,255,255,0.4)]` : "bg-indigo-500/85 text-white shadow-[inset_0_1px_1px_rgba(255,255,255,0.4)]"
10770
10783
  ) : (
10771
10784
  // Rest icon bubble — glass (same chrome as HeroBlock)
10772
10785
  "border border-white/60 bg-white/75 text-slate-700 dark:border-white/12 dark:bg-white/8 dark:text-slate-200"
@@ -10775,17 +10788,24 @@ function SelectionCard({
10775
10788
  children: icon
10776
10789
  }
10777
10790
  ) : null,
10778
- /* @__PURE__ */ jsxRuntime.jsx(
10779
- "span",
10780
- {
10781
- className: [
10782
- "text-center text-xs font-medium leading-tight",
10783
- selected ? "text-indigo-700 dark:text-indigo-200" : "text-slate-700 dark:text-slate-300"
10784
- ].join(" "),
10785
- children: label
10786
- }
10787
- ),
10788
- selected ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -right-1 -top-1 flex h-5 w-5 items-center justify-center rounded-full bg-indigo-500 ring-2 ring-white dark:ring-slate-900 shadow-[inset_0_1px_1px_rgba(255,255,255,0.4)]", children: /* @__PURE__ */ jsxRuntime.jsx(solid.CheckIcon, { className: "h-3 w-3 text-white" }) }) : null
10791
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: isCard ? "flex min-w-0 flex-1 flex-col gap-0.5" : "contents", children: [
10792
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: isCard ? "flex items-center gap-2" : "contents", children: [
10793
+ /* @__PURE__ */ jsxRuntime.jsx(
10794
+ "span",
10795
+ {
10796
+ className: [
10797
+ isCard ? "flex-1 truncate text-sm font-medium leading-tight" : "text-center text-xs font-medium leading-tight",
10798
+ selected ? "text-indigo-700 dark:text-indigo-200" : "text-slate-700 dark:text-slate-300"
10799
+ ].join(" "),
10800
+ children: label
10801
+ }
10802
+ ),
10803
+ badge ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", children: badge }) : null
10804
+ ] }),
10805
+ description && isCard ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-xs text-slate-500 dark:text-slate-400", children: description }) : null
10806
+ ] }),
10807
+ selected && !isCard ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -right-1 -top-1 flex h-5 w-5 items-center justify-center rounded-full bg-indigo-500 ring-2 ring-white dark:ring-slate-900 shadow-[inset_0_1px_1px_rgba(255,255,255,0.4)]", children: /* @__PURE__ */ jsxRuntime.jsx(solid.CheckIcon, { className: "h-3 w-3 text-white" }) }) : null,
10808
+ selected && isCard ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(solid.CheckIcon, { className: "h-4 w-4 text-indigo-500" }) }) : null
10789
10809
  ]
10790
10810
  }
10791
10811
  );
@@ -10864,7 +10884,7 @@ function FieldRenderer({ field }) {
10864
10884
  }
10865
10885
  ),
10866
10886
  field.copyable ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-3 top-1/2 -translate-y-1/2", children: /* @__PURE__ */ jsxRuntime.jsx(
10867
- chunkEBARYRSA_js.IconButton,
10887
+ chunkMXQ2EYG2_js.IconButton,
10868
10888
  {
10869
10889
  label: `Copy ${field.label}`,
10870
10890
  variant: "ghost",
@@ -10909,7 +10929,7 @@ function ProfileContent({ config }) {
10909
10929
  ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-bold text-white", children: config.initials })
10910
10930
  }
10911
10931
  ),
10912
- /* @__PURE__ */ jsxRuntime.jsxs(chunkEBARYRSA_js.Button, { color: "zinc", onClick: config.onChangeAvatar, className: "flex items-center gap-2", children: [
10932
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { color: "zinc", onClick: config.onChangeAvatar, className: "flex items-center gap-2", children: [
10913
10933
  /* @__PURE__ */ jsxRuntime.jsx(HeroIcons.UserIcon, { className: "h-4 w-4" }),
10914
10934
  config.changeAvatarLabel
10915
10935
  ] })
@@ -10958,7 +10978,7 @@ function ProfileContent({ config }) {
10958
10978
  )
10959
10979
  ] }),
10960
10980
  /* @__PURE__ */ jsxRuntime.jsx(
10961
- chunkEBARYRSA_js.Button,
10981
+ chunkMXQ2EYG2_js.Button,
10962
10982
  {
10963
10983
  color: "blue",
10964
10984
  className: "mt-2",
@@ -11159,7 +11179,7 @@ function SettingsModal({
11159
11179
  }
11160
11180
  return /* @__PURE__ */ jsxRuntime.jsx(PlaceholderContent, { message: placeholderMessage });
11161
11181
  };
11162
- const footer = signOut ? /* @__PURE__ */ jsxRuntime.jsxs(chunkEBARYRSA_js.Button, { type: "button", onClick: signOut.onClick, color: "ios-glass-red", fullWidth: true, children: [
11182
+ const footer = signOut ? /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { type: "button", onClick: signOut.onClick, color: "ios-glass-red", fullWidth: true, children: [
11163
11183
  signOut.icon,
11164
11184
  signOut.label
11165
11185
  ] }) : sidebarFooter;
@@ -11181,6 +11201,42 @@ function SettingsModal({
11181
11201
  }
11182
11202
  );
11183
11203
  }
11204
+ var PickerTile = React9.forwardRef(function PickerTile2({
11205
+ selected,
11206
+ onClick,
11207
+ label,
11208
+ disabled = false,
11209
+ children,
11210
+ className,
11211
+ style,
11212
+ ...rest
11213
+ }, ref) {
11214
+ const handleClick = () => {
11215
+ if (disabled) return;
11216
+ chunkUZ3CMNUJ_js.triggerHaptic("light");
11217
+ onClick?.();
11218
+ };
11219
+ return /* @__PURE__ */ jsxRuntime.jsx(
11220
+ "button",
11221
+ {
11222
+ ref,
11223
+ type: "button",
11224
+ onClick: handleClick,
11225
+ disabled,
11226
+ "aria-pressed": selected,
11227
+ "aria-label": label,
11228
+ style,
11229
+ className: clsx4__default.default(
11230
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1",
11231
+ disabled && "cursor-not-allowed opacity-50",
11232
+ className
11233
+ ),
11234
+ ...rest,
11235
+ children
11236
+ }
11237
+ );
11238
+ });
11239
+ PickerTile.displayName = "PickerTile";
11184
11240
  var WindsockIcon = (props) => /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: 512, height: 512, viewBox: "0 0 512 512", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
11185
11241
  /* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
11186
11242
  /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: "windsock-bg", x1: 48, y1: 48, x2: 464, y2: 464, gradientUnits: "userSpaceOnUse", children: [
@@ -11439,7 +11495,7 @@ function PasswordStrengthMeter({
11439
11495
  className: `h-1.5 flex-1 rounded-full ${index < strength ? STRENGTH_COLORS[strength - 1] : "bg-gray-200 dark:bg-gray-700"}`,
11440
11496
  initial: { scaleX: 0 },
11441
11497
  animate: { scaleX: index < strength ? 1 : 0.5 },
11442
- transition: chunkEBARYRSA_js.springPresets.stiff,
11498
+ transition: chunkMXQ2EYG2_js.springPresets.stiff,
11443
11499
  style: { transformOrigin: "left" }
11444
11500
  },
11445
11501
  index
@@ -11497,7 +11553,7 @@ function BackupCodeGrid({
11497
11553
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
11498
11554
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-surface-strong rounded-xl p-4", children: !revealed ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center py-8 gap-3", children: [
11499
11555
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-500 dark:text-gray-400", children: t("backupCodesHidden") }),
11500
- onReveal && /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Button, { outline: true, onClick: onReveal, children: t("backupCodesReveal") })
11556
+ onReveal && /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { outline: true, onClick: onReveal, children: t("backupCodesReveal") })
11501
11557
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-2", children: codes.map((code, index) => /* @__PURE__ */ jsxRuntime.jsxs(
11502
11558
  "div",
11503
11559
  {
@@ -11513,11 +11569,11 @@ function BackupCodeGrid({
11513
11569
  index
11514
11570
  )) }) }),
11515
11571
  revealed && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
11516
- /* @__PURE__ */ jsxRuntime.jsxs(chunkEBARYRSA_js.Button, { outline: true, size: "sm", onClick: handleCopyAll, children: [
11572
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { outline: true, size: "sm", onClick: handleCopyAll, children: [
11517
11573
  /* @__PURE__ */ jsxRuntime.jsx(solid.ClipboardDocumentIcon, { className: "h-4 w-4" }),
11518
11574
  t("backupCodesCopyAll")
11519
11575
  ] }),
11520
- showDownload && /* @__PURE__ */ jsxRuntime.jsxs(chunkEBARYRSA_js.Button, { outline: true, size: "sm", onClick: handleDownload, children: [
11576
+ showDownload && /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { outline: true, size: "sm", onClick: handleDownload, children: [
11521
11577
  /* @__PURE__ */ jsxRuntime.jsx(solid.ArrowDownTrayIcon, { className: "h-4 w-4" }),
11522
11578
  t("backupCodesDownload")
11523
11579
  ] })
@@ -11556,7 +11612,7 @@ function SocialLoginButtons({
11556
11612
  const t = chunkY5VN4SPH_js.useTranslations("auth");
11557
11613
  const isColumn = layout === "column";
11558
11614
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex ${isColumn ? "flex-col" : "flex-row"} gap-2`, children: providers.map((provider) => /* @__PURE__ */ jsxRuntime.jsxs(
11559
- chunkEBARYRSA_js.Button,
11615
+ chunkMXQ2EYG2_js.Button,
11560
11616
  {
11561
11617
  outline: true,
11562
11618
  fullWidth: isColumn,
@@ -20432,6 +20488,7 @@ exports.PageSectionHeader = PageSectionHeader;
20432
20488
  exports.Pagination = Pagination;
20433
20489
  exports.PasswordInput = PasswordInput;
20434
20490
  exports.PasswordStrengthMeter = PasswordStrengthMeter;
20491
+ exports.PickerTile = PickerTile;
20435
20492
  exports.PlatformShell = PlatformShell;
20436
20493
  exports.PlusGrid = PlusGrid;
20437
20494
  exports.PlusGridItem = PlusGridItem;
@@ -20802,5 +20859,5 @@ exports.useSocialProviders = useSocialProviders;
20802
20859
  exports.validateDashboardSpec = validateDashboardSpec;
20803
20860
  exports.xScale = xScale;
20804
20861
  exports.yScale = yScale;
20805
- //# sourceMappingURL=chunk-RWZ2PLMQ.js.map
20806
- //# sourceMappingURL=chunk-RWZ2PLMQ.js.map
20862
+ //# sourceMappingURL=chunk-FZUV7GNB.js.map
20863
+ //# sourceMappingURL=chunk-FZUV7GNB.js.map