@datatechsolutions/ui 3.12.1 → 3.13.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 (143) 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-BPMYNE7S.mjs → chunk-3VCSMSJB.mjs} +6 -6
  8. package/dist/{chunk-BPMYNE7S.mjs.map → chunk-3VCSMSJB.mjs.map} +1 -1
  9. package/dist/{chunk-OM5NNUD2.mjs → chunk-4MNKVDTJ.mjs} +9 -8
  10. package/dist/chunk-4MNKVDTJ.mjs.map +1 -0
  11. package/dist/{chunk-PIIY2Z2O.mjs → chunk-4QCO4CBC.mjs} +4 -4
  12. package/dist/{chunk-PIIY2Z2O.mjs.map → chunk-4QCO4CBC.mjs.map} +1 -1
  13. package/dist/{chunk-4D23CQZM.mjs → chunk-4VEQJAXJ.mjs} +6 -6
  14. package/dist/{chunk-4D23CQZM.mjs.map → chunk-4VEQJAXJ.mjs.map} +1 -1
  15. package/dist/{chunk-FKRIQYRG.js → chunk-4Z5NZINA.js} +431 -481
  16. package/dist/chunk-4Z5NZINA.js.map +1 -0
  17. package/dist/{chunk-Z75CEP4V.js → chunk-54T5F65C.js} +29 -29
  18. package/dist/{chunk-Z75CEP4V.js.map → chunk-54T5F65C.js.map} +1 -1
  19. package/dist/{chunk-V3UZCOZI.js → chunk-7IAWXG43.js} +35 -35
  20. package/dist/{chunk-V3UZCOZI.js.map → chunk-7IAWXG43.js.map} +1 -1
  21. package/dist/{chunk-PLEWG2L7.js → chunk-AC54BNSK.js} +15 -15
  22. package/dist/{chunk-PLEWG2L7.js.map → chunk-AC54BNSK.js.map} +1 -1
  23. package/dist/{chunk-ID55ABBB.js → chunk-B3TA74C4.js} +100 -100
  24. package/dist/chunk-B3TA74C4.js.map +1 -0
  25. package/dist/{chunk-5OZTI7TR.js → chunk-CKY2QIRR.js} +6 -6
  26. package/dist/{chunk-5OZTI7TR.js.map → chunk-CKY2QIRR.js.map} +1 -1
  27. package/dist/{chunk-EZQ2D47U.js → chunk-CVEI4RQP.js} +4 -4
  28. package/dist/{chunk-EZQ2D47U.js.map → chunk-CVEI4RQP.js.map} +1 -1
  29. package/dist/{chunk-NK4H3JWN.mjs → chunk-DJHNSBIR.mjs} +63 -100
  30. package/dist/chunk-DJHNSBIR.mjs.map +1 -0
  31. package/dist/{chunk-P4RVGMZL.js → chunk-DTFU3ZTD.js} +5 -33
  32. package/dist/chunk-DTFU3ZTD.js.map +1 -0
  33. package/dist/{chunk-BHOT22QL.js → chunk-EBARYRSA.js} +2 -2
  34. package/dist/{chunk-BHOT22QL.js.map → chunk-EBARYRSA.js.map} +1 -1
  35. package/dist/{chunk-QGLGQXJE.js → chunk-FV42SSLP.js} +10 -10
  36. package/dist/chunk-FV42SSLP.js.map +1 -0
  37. package/dist/{chunk-RT264BD4.mjs → chunk-M4KRQXOT.mjs} +4 -4
  38. package/dist/{chunk-RT264BD4.mjs.map → chunk-M4KRQXOT.mjs.map} +1 -1
  39. package/dist/{chunk-WR55H7DH.mjs → chunk-O4RZCDP2.mjs} +2 -2
  40. package/dist/{chunk-WR55H7DH.mjs.map → chunk-O4RZCDP2.mjs.map} +1 -1
  41. package/dist/{chunk-VYU2FYDE.js → chunk-PM7A5I3X.js} +146 -183
  42. package/dist/chunk-PM7A5I3X.js.map +1 -0
  43. package/dist/{chunk-TDNBO3V7.js → chunk-Q7QPHZOV.js} +74 -74
  44. package/dist/{chunk-TDNBO3V7.js.map → chunk-Q7QPHZOV.js.map} +1 -1
  45. package/dist/{chunk-OW5LSEHU.mjs → chunk-QEACOJXX.mjs} +74 -74
  46. package/dist/chunk-QEACOJXX.mjs.map +1 -0
  47. package/dist/{chunk-N5GQIT7A.mjs → chunk-RMPXGEFL.mjs} +11 -10
  48. package/dist/chunk-RMPXGEFL.mjs.map +1 -0
  49. package/dist/{chunk-QSCWV47U.js → chunk-RPNMDGRA.js} +50 -50
  50. package/dist/chunk-RPNMDGRA.js.map +1 -0
  51. package/dist/{chunk-5TLKFOEL.mjs → chunk-RSCRIDMW.mjs} +275 -313
  52. package/dist/chunk-RSCRIDMW.mjs.map +1 -0
  53. package/dist/{chunk-XGAPZT4J.js → chunk-RUZPOHJW.js} +48 -47
  54. package/dist/chunk-RUZPOHJW.js.map +1 -0
  55. package/dist/{chunk-ULKZGM2T.js → chunk-RWZ2PLMQ.js} +177 -177
  56. package/dist/chunk-RWZ2PLMQ.js.map +1 -0
  57. package/dist/{chunk-UVFWKDRO.mjs → chunk-SCGICCQM.mjs} +15 -15
  58. package/dist/chunk-SCGICCQM.mjs.map +1 -0
  59. package/dist/{chunk-EDI46QA7.mjs → chunk-TRNDFSM6.mjs} +274 -324
  60. package/dist/chunk-TRNDFSM6.mjs.map +1 -0
  61. package/dist/{chunk-LRNVB7MO.js → chunk-ULSG4JLR.js} +6 -6
  62. package/dist/{chunk-LRNVB7MO.js.map → chunk-ULSG4JLR.js.map} +1 -1
  63. package/dist/{chunk-MFF37C24.js → chunk-UPWJRCAD.js} +445 -483
  64. package/dist/chunk-UPWJRCAD.js.map +1 -0
  65. package/dist/{chunk-RBH723MG.mjs → chunk-UUTTS3VV.mjs} +45 -45
  66. package/dist/chunk-UUTTS3VV.mjs.map +1 -0
  67. package/dist/{chunk-MYHBXIO2.js → chunk-VCL5LDS5.js} +42 -41
  68. package/dist/chunk-VCL5LDS5.js.map +1 -0
  69. package/dist/{chunk-PLTLRL2V.mjs → chunk-VPRAESA7.mjs} +3 -3
  70. package/dist/{chunk-PLTLRL2V.mjs.map → chunk-VPRAESA7.mjs.map} +1 -1
  71. package/dist/{chunk-HTODLUKG.js → chunk-VWZ53TE2.js} +12 -12
  72. package/dist/{chunk-HTODLUKG.js.map → chunk-VWZ53TE2.js.map} +1 -1
  73. package/dist/{chunk-3VYD7QL2.mjs → chunk-WX44DAQD.mjs} +9 -9
  74. package/dist/chunk-WX44DAQD.mjs.map +1 -0
  75. package/dist/{chunk-DJ33CSGJ.mjs → chunk-XYMHIZ3K.mjs} +5 -33
  76. package/dist/chunk-XYMHIZ3K.mjs.map +1 -0
  77. package/dist/{chunk-YXN2K77G.js → chunk-Y5VN4SPH.js} +26 -3
  78. package/dist/chunk-Y5VN4SPH.js.map +1 -0
  79. package/dist/{chunk-NQGLSM46.mjs → chunk-Y65X2NHF.mjs} +4 -4
  80. package/dist/{chunk-NQGLSM46.mjs.map → chunk-Y65X2NHF.mjs.map} +1 -1
  81. package/dist/{chunk-YYNGXKUE.mjs → chunk-YHD6SJIN.mjs} +15 -15
  82. package/dist/{chunk-YYNGXKUE.mjs.map → chunk-YHD6SJIN.mjs.map} +1 -1
  83. package/dist/{chunk-7VJ7CMMT.mjs → chunk-ZEFNBGYI.mjs} +26 -3
  84. package/dist/chunk-ZEFNBGYI.mjs.map +1 -0
  85. package/dist/{chunk-WLNY3GVM.mjs → chunk-ZPV7X4ZE.mjs} +7 -7
  86. package/dist/{chunk-WLNY3GVM.mjs.map → chunk-ZPV7X4ZE.mjs.map} +1 -1
  87. package/dist/index.js +709 -709
  88. package/dist/index.mjs +3 -3
  89. package/dist/lib/i18n-context.d.mts +12 -4
  90. package/dist/lib/i18n-context.d.ts +12 -4
  91. package/dist/lib/i18n-context.js +6 -6
  92. package/dist/lib/i18n-context.mjs +1 -1
  93. package/dist/platform/admin/index.js +12 -12
  94. package/dist/platform/admin/index.mjs +6 -6
  95. package/dist/platform/agents-workspace.js +9 -9
  96. package/dist/platform/agents-workspace.mjs +8 -8
  97. package/dist/platform/app-shell.js +5 -5
  98. package/dist/platform/app-shell.mjs +4 -4
  99. package/dist/platform/auth/index.js +29 -29
  100. package/dist/platform/auth/index.mjs +6 -6
  101. package/dist/platform/billing/index.js +7 -7
  102. package/dist/platform/billing/index.mjs +5 -5
  103. package/dist/platform/impersonation/index.js +5 -5
  104. package/dist/platform/impersonation/index.mjs +4 -4
  105. package/dist/platform/index.d.mts +1 -1
  106. package/dist/platform/index.d.ts +1 -1
  107. package/dist/platform/index.js +112 -112
  108. package/dist/platform/index.js.map +1 -1
  109. package/dist/platform/index.mjs +30 -30
  110. package/dist/platform/index.mjs.map +1 -1
  111. package/dist/platform/pages/index.d.mts +12 -2
  112. package/dist/platform/pages/index.d.ts +12 -2
  113. package/dist/platform/pages/index.js +451 -450
  114. package/dist/platform/pages/index.js.map +1 -1
  115. package/dist/platform/pages/index.mjs +51 -50
  116. package/dist/platform/pages/index.mjs.map +1 -1
  117. package/dist/platform/settings/index.js +9 -9
  118. package/dist/platform/settings/index.mjs +8 -8
  119. package/dist/platform/workflow-canvas-shell.js +7 -7
  120. package/dist/platform/workflow-canvas-shell.mjs +6 -6
  121. package/package.json +2 -1
  122. package/dist/chunk-3VYD7QL2.mjs.map +0 -1
  123. package/dist/chunk-5TLKFOEL.mjs.map +0 -1
  124. package/dist/chunk-7VJ7CMMT.mjs.map +0 -1
  125. package/dist/chunk-DJ33CSGJ.mjs.map +0 -1
  126. package/dist/chunk-EDI46QA7.mjs.map +0 -1
  127. package/dist/chunk-FKRIQYRG.js.map +0 -1
  128. package/dist/chunk-ID55ABBB.js.map +0 -1
  129. package/dist/chunk-MFF37C24.js.map +0 -1
  130. package/dist/chunk-MYHBXIO2.js.map +0 -1
  131. package/dist/chunk-N5GQIT7A.mjs.map +0 -1
  132. package/dist/chunk-NK4H3JWN.mjs.map +0 -1
  133. package/dist/chunk-OM5NNUD2.mjs.map +0 -1
  134. package/dist/chunk-OW5LSEHU.mjs.map +0 -1
  135. package/dist/chunk-P4RVGMZL.js.map +0 -1
  136. package/dist/chunk-QGLGQXJE.js.map +0 -1
  137. package/dist/chunk-QSCWV47U.js.map +0 -1
  138. package/dist/chunk-RBH723MG.mjs.map +0 -1
  139. package/dist/chunk-ULKZGM2T.js.map +0 -1
  140. package/dist/chunk-UVFWKDRO.mjs.map +0 -1
  141. package/dist/chunk-VYU2FYDE.js.map +0 -1
  142. package/dist/chunk-XGAPZT4J.js.map +0 -1
  143. package/dist/chunk-YXN2K77G.js.map +0 -1
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkQGLGQXJE_js = require('./chunk-QGLGQXJE.js');
5
- var chunkULKZGM2T_js = require('./chunk-ULKZGM2T.js');
6
- var chunkYXN2K77G_js = require('./chunk-YXN2K77G.js');
7
- var chunkBHOT22QL_js = require('./chunk-BHOT22QL.js');
4
+ var chunkFV42SSLP_js = require('./chunk-FV42SSLP.js');
5
+ var chunkRWZ2PLMQ_js = require('./chunk-RWZ2PLMQ.js');
6
+ var chunkY5VN4SPH_js = require('./chunk-Y5VN4SPH.js');
7
+ var chunkEBARYRSA_js = require('./chunk-EBARYRSA.js');
8
8
  var chunkUZ3CMNUJ_js = require('./chunk-UZ3CMNUJ.js');
9
9
  var react = require('react');
10
10
  var outline = require('@heroicons/react/24/outline');
@@ -12,8 +12,8 @@ var jsxRuntime = require('react/jsx-runtime');
12
12
 
13
13
  var PAGE_SIZE = 20;
14
14
  function AdminUserList({ client, onUserSelect }) {
15
- const t = chunkYXN2K77G_js.useTranslations("windsock");
16
- const format = chunkYXN2K77G_js.useFormatter();
15
+ const t = chunkY5VN4SPH_js.useTranslations("windsock");
16
+ const format = chunkY5VN4SPH_js.useFormatter();
17
17
  const [users, setUsers] = react.useState([]);
18
18
  const [total, setTotal] = react.useState(0);
19
19
  const [isLoading, setIsLoading] = react.useState(true);
@@ -88,7 +88,7 @@ function AdminUserList({ client, onUserSelect }) {
88
88
  };
89
89
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
90
90
  /* @__PURE__ */ jsxRuntime.jsxs(
91
- chunkULKZGM2T_js.SectionCard,
91
+ chunkRWZ2PLMQ_js.SectionCard,
92
92
  {
93
93
  header: {
94
94
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.UsersIcon, { className: "h-5 w-5 text-white" }),
@@ -98,19 +98,19 @@ function AdminUserList({ client, onUserSelect }) {
98
98
  },
99
99
  padded: false,
100
100
  children: [
101
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-gray-200/60 p-4 dark:border-white/10", children: /* @__PURE__ */ jsxRuntime.jsx(
102
- chunkULKZGM2T_js.SearchInput,
101
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-divider p-4", children: /* @__PURE__ */ jsxRuntime.jsx(
102
+ chunkRWZ2PLMQ_js.SearchInput,
103
103
  {
104
104
  value: search,
105
105
  onChange: (event) => handleSearch(event.target.value),
106
106
  placeholder: t("admin.users.searchPlaceholder")
107
107
  }
108
108
  ) }),
109
- isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-gray-500 dark:text-gray-400", children: [
110
- /* @__PURE__ */ jsxRuntime.jsx(chunkULKZGM2T_js.InlineSpinner, {}),
109
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-slate-500 dark:text-slate-400", children: [
110
+ /* @__PURE__ */ jsxRuntime.jsx(chunkRWZ2PLMQ_js.InlineSpinner, {}),
111
111
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("admin.users.loading") })
112
112
  ] }) : users.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
113
- chunkULKZGM2T_js.EmptyState,
113
+ chunkRWZ2PLMQ_js.EmptyState,
114
114
  {
115
115
  message: t("admin.users.emptyMessage"),
116
116
  description: t("admin.users.emptyDescription"),
@@ -119,13 +119,13 @@ function AdminUserList({ client, onUserSelect }) {
119
119
  }
120
120
  ) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
121
121
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-sm", children: [
122
- /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b border-gray-200/60 dark:border-white/10", children: [
123
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400", children: t("admin.users.columnUser") }),
124
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400", children: t("admin.users.columnRole") }),
125
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400", children: t("admin.users.columnStatus") }),
126
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400 sm:table-cell", children: t("admin.users.columnSecurity") }),
127
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400 md:table-cell", children: t("admin.users.columnLastLogin") }),
128
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-right text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400", children: t("admin.users.columnActions") })
122
+ /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "liquid-divider", children: [
123
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.users.columnUser") }),
124
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.users.columnRole") }),
125
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.users.columnStatus") }),
126
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 sm:table-cell", children: t("admin.users.columnSecurity") }),
127
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 md:table-cell", children: t("admin.users.columnLastLogin") }),
128
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-right text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.users.columnActions") })
129
129
  ] }) }),
130
130
  /* @__PURE__ */ jsxRuntime.jsx("tbody", { className: "divide-y divide-gray-200/60 dark:divide-white/10", children: users.map((user) => /* @__PURE__ */ jsxRuntime.jsxs(
131
131
  "tr",
@@ -135,7 +135,7 @@ function AdminUserList({ client, onUserSelect }) {
135
135
  children: [
136
136
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
137
137
  /* @__PURE__ */ jsxRuntime.jsx(
138
- chunkULKZGM2T_js.Avatar,
138
+ chunkRWZ2PLMQ_js.Avatar,
139
139
  {
140
140
  src: user.image ?? void 0,
141
141
  initials: (user.name ?? user.email).slice(0, 2).toUpperCase(),
@@ -143,13 +143,13 @@ function AdminUserList({ client, onUserSelect }) {
143
143
  }
144
144
  ),
145
145
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
146
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-sm font-medium text-gray-900 dark:text-white", children: user.name ?? user.email }),
147
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs text-gray-500 dark:text-gray-400", children: user.email })
146
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-sm font-medium text-slate-900 dark:text-white", children: user.name ?? user.email }),
147
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs text-slate-500 dark:text-slate-400", children: user.email })
148
148
  ] })
149
149
  ] }) }),
150
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: roleBadgeColor(user.role), children: user.role }) }),
150
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: roleBadgeColor(user.role), children: user.role }) }),
151
151
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsx(
152
- chunkULKZGM2T_js.StatusBadge,
152
+ chunkRWZ2PLMQ_js.StatusBadge,
153
153
  {
154
154
  status: user.status === "active" ? "active" : "inactive",
155
155
  label: user.status,
@@ -160,9 +160,9 @@ function AdminUserList({ client, onUserSelect }) {
160
160
  user.mfaEnabled && /* @__PURE__ */ jsxRuntime.jsx("span", { title: t("admin.users.mfaEnabled"), children: /* @__PURE__ */ jsxRuntime.jsx(outline.ShieldCheckIcon, { className: "h-4 w-4 text-emerald-500" }) }),
161
161
  user.emailVerified && /* @__PURE__ */ jsxRuntime.jsx("span", { title: t("admin.users.emailVerified"), children: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-4 w-4 text-blue-500" }) })
162
162
  ] }) }),
163
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-gray-500 dark:text-gray-400 md:table-cell", children: user.lastLoginAt ? format.relativeTime(new Date(user.lastLoginAt)) : t("admin.users.neverLoggedIn") }),
163
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-slate-500 dark:text-slate-400 md:table-cell", children: user.lastLoginAt ? format.relativeTime(new Date(user.lastLoginAt)) : t("admin.users.neverLoggedIn") }),
164
164
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
165
- chunkBHOT22QL_js.Button,
165
+ chunkEBARYRSA_js.Button,
166
166
  {
167
167
  size: "sm",
168
168
  color: "ios-glass-red",
@@ -178,11 +178,11 @@ function AdminUserList({ client, onUserSelect }) {
178
178
  user.id
179
179
  )) })
180
180
  ] }) }),
181
- totalPages > 1 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-t border-gray-200/60 px-4 py-3 dark:border-white/10", children: [
182
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: t("admin.users.pagination", { current: currentPage, total: totalPages, count: total }) }),
181
+ totalPages > 1 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-t border-slate-200/60 px-4 py-3 dark:border-white/10", children: [
182
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: t("admin.users.pagination", { current: currentPage, total: totalPages, count: total }) }),
183
183
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
184
184
  /* @__PURE__ */ jsxRuntime.jsx(
185
- chunkBHOT22QL_js.Button,
185
+ chunkEBARYRSA_js.Button,
186
186
  {
187
187
  size: "sm",
188
188
  outline: true,
@@ -192,7 +192,7 @@ function AdminUserList({ client, onUserSelect }) {
192
192
  }
193
193
  ),
194
194
  /* @__PURE__ */ jsxRuntime.jsx(
195
- chunkBHOT22QL_js.Button,
195
+ chunkEBARYRSA_js.Button,
196
196
  {
197
197
  size: "sm",
198
198
  outline: true,
@@ -208,7 +208,7 @@ function AdminUserList({ client, onUserSelect }) {
208
208
  }
209
209
  ),
210
210
  /* @__PURE__ */ jsxRuntime.jsx(
211
- chunkULKZGM2T_js.DynamicIslandConfirm,
211
+ chunkRWZ2PLMQ_js.DynamicIslandConfirm,
212
212
  {
213
213
  open: deleteTarget !== null,
214
214
  onClose: handleDeleteCancel,
@@ -229,7 +229,7 @@ function AdminUserForm({
229
229
  onSubmit,
230
230
  roles = DEFAULT_ROLES
231
231
  }) {
232
- const t = chunkYXN2K77G_js.useTranslations("windsock");
232
+ const t = chunkY5VN4SPH_js.useTranslations("windsock");
233
233
  const [email, setEmail] = react.useState("");
234
234
  const [name, setName] = react.useState("");
235
235
  const [password, setPassword] = react.useState("");
@@ -275,7 +275,7 @@ function AdminUserForm({
275
275
  }
276
276
  }, [email, name, password, selectedRole, onSubmit, onClose, resetForm, t]);
277
277
  return /* @__PURE__ */ jsxRuntime.jsx(
278
- chunkULKZGM2T_js.GlassModal,
278
+ chunkRWZ2PLMQ_js.GlassModal,
279
279
  {
280
280
  open,
281
281
  onClose: handleClose,
@@ -293,7 +293,7 @@ function AdminUserForm({
293
293
  className: "space-y-4 p-4 sm:p-6",
294
294
  children: [
295
295
  /* @__PURE__ */ jsxRuntime.jsx(
296
- chunkULKZGM2T_js.Input,
296
+ chunkRWZ2PLMQ_js.Input,
297
297
  {
298
298
  label: t("admin.userForm.emailLabel"),
299
299
  type: "email",
@@ -306,7 +306,7 @@ function AdminUserForm({
306
306
  }
307
307
  ),
308
308
  /* @__PURE__ */ jsxRuntime.jsx(
309
- chunkULKZGM2T_js.Input,
309
+ chunkRWZ2PLMQ_js.Input,
310
310
  {
311
311
  label: t("admin.userForm.nameLabel"),
312
312
  value: name,
@@ -317,7 +317,7 @@ function AdminUserForm({
317
317
  }
318
318
  ),
319
319
  /* @__PURE__ */ jsxRuntime.jsx(
320
- chunkULKZGM2T_js.PasswordInput,
320
+ chunkRWZ2PLMQ_js.PasswordInput,
321
321
  {
322
322
  label: t("admin.userForm.passwordLabel"),
323
323
  value: password,
@@ -327,7 +327,7 @@ function AdminUserForm({
327
327
  autoComplete: "new-password"
328
328
  }
329
329
  ),
330
- password && /* @__PURE__ */ jsxRuntime.jsx(chunkQGLGQXJE_js.PasswordStrengthMeter, { password }),
330
+ password && /* @__PURE__ */ jsxRuntime.jsx(chunkFV42SSLP_js.PasswordStrengthMeter, { password }),
331
331
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
332
332
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1.5 block text-sm font-medium text-gray-900 dark:text-white", children: t("admin.userForm.roleLabel") }),
333
333
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-3 gap-2 sm:grid-cols-4", children: roles.map((role) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -347,7 +347,7 @@ function AdminUserForm({
347
347
  error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-600 dark:text-red-400", role: "alert", children: error }),
348
348
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3 pt-2", children: [
349
349
  /* @__PURE__ */ jsxRuntime.jsx(
350
- chunkBHOT22QL_js.Button,
350
+ chunkEBARYRSA_js.Button,
351
351
  {
352
352
  type: "button",
353
353
  outline: true,
@@ -358,7 +358,7 @@ function AdminUserForm({
358
358
  }
359
359
  ),
360
360
  /* @__PURE__ */ jsxRuntime.jsx(
361
- chunkBHOT22QL_js.Button,
361
+ chunkEBARYRSA_js.Button,
362
362
  {
363
363
  type: "submit",
364
364
  color: "ios-glass-blue",
@@ -376,8 +376,8 @@ function AdminUserForm({
376
376
  );
377
377
  }
378
378
  function AdminOrganizationList({ client, onOrganizationSelect }) {
379
- const t = chunkYXN2K77G_js.useTranslations("windsock");
380
- const format = chunkYXN2K77G_js.useFormatter();
379
+ const t = chunkY5VN4SPH_js.useTranslations("windsock");
380
+ const format = chunkY5VN4SPH_js.useFormatter();
381
381
  const [organizations, setOrganizations] = react.useState([]);
382
382
  const [filteredOrganizations, setFilteredOrganizations] = react.useState([]);
383
383
  const [isLoading, setIsLoading] = react.useState(true);
@@ -438,7 +438,7 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
438
438
  }, []);
439
439
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
440
440
  /* @__PURE__ */ jsxRuntime.jsxs(
441
- chunkULKZGM2T_js.SectionCard,
441
+ chunkRWZ2PLMQ_js.SectionCard,
442
442
  {
443
443
  header: {
444
444
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.BuildingOffice2Icon, { className: "h-5 w-5 text-white" }),
@@ -448,19 +448,19 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
448
448
  },
449
449
  padded: false,
450
450
  children: [
451
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-gray-200/60 p-4 dark:border-white/10", children: /* @__PURE__ */ jsxRuntime.jsx(
452
- chunkULKZGM2T_js.SearchInput,
451
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-divider p-4", children: /* @__PURE__ */ jsxRuntime.jsx(
452
+ chunkRWZ2PLMQ_js.SearchInput,
453
453
  {
454
454
  value: search,
455
455
  onChange: (event) => setSearch(event.target.value),
456
456
  placeholder: t("admin.organizations.searchPlaceholder")
457
457
  }
458
458
  ) }),
459
- isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-gray-500 dark:text-gray-400", children: [
460
- /* @__PURE__ */ jsxRuntime.jsx(chunkULKZGM2T_js.InlineSpinner, {}),
459
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-slate-500 dark:text-slate-400", children: [
460
+ /* @__PURE__ */ jsxRuntime.jsx(chunkRWZ2PLMQ_js.InlineSpinner, {}),
461
461
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("admin.organizations.loading") })
462
462
  ] }) : filteredOrganizations.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
463
- chunkULKZGM2T_js.EmptyState,
463
+ chunkRWZ2PLMQ_js.EmptyState,
464
464
  {
465
465
  message: t("admin.organizations.emptyMessage"),
466
466
  description: t("admin.organizations.emptyDescription"),
@@ -468,12 +468,12 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
468
468
  variant: "card"
469
469
  }
470
470
  ) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-sm", children: [
471
- /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b border-gray-200/60 dark:border-white/10", children: [
472
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400", children: t("admin.organizations.columnName") }),
473
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400 sm:table-cell", children: t("admin.organizations.columnDisplayName") }),
474
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400", children: t("admin.organizations.columnStatus") }),
475
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400 md:table-cell", children: t("admin.organizations.columnCreated") }),
476
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-right text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400", children: t("admin.organizations.columnActions") })
471
+ /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "liquid-divider", children: [
472
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.organizations.columnName") }),
473
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 sm:table-cell", children: t("admin.organizations.columnDisplayName") }),
474
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.organizations.columnStatus") }),
475
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 md:table-cell", children: t("admin.organizations.columnCreated") }),
476
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-right text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.organizations.columnActions") })
477
477
  ] }) }),
478
478
  /* @__PURE__ */ jsxRuntime.jsx("tbody", { className: "divide-y divide-gray-200/60 dark:divide-white/10", children: filteredOrganizations.map((organization) => /* @__PURE__ */ jsxRuntime.jsxs(
479
479
  "tr",
@@ -482,25 +482,25 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
482
482
  onClick: () => handleOrganizationClick(organization),
483
483
  children: [
484
484
  /* @__PURE__ */ jsxRuntime.jsxs("td", { className: "px-4 py-3", children: [
485
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-gray-900 dark:text-white", children: organization.name }),
486
- organization.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-gray-500 dark:text-gray-400", children: organization.description })
485
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-slate-900 dark:text-white", children: organization.name }),
486
+ organization.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-slate-500 dark:text-slate-400", children: organization.description })
487
487
  ] }),
488
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-gray-500 dark:text-gray-400 sm:table-cell", children: organization.displayName ?? "\u2014" }),
488
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-slate-500 dark:text-slate-400 sm:table-cell", children: organization.displayName ?? "\u2014" }),
489
489
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsx(
490
- chunkULKZGM2T_js.StatusBadge,
490
+ chunkRWZ2PLMQ_js.StatusBadge,
491
491
  {
492
492
  status: organization.enabled ? "active" : "inactive",
493
493
  label: organization.enabled ? t("admin.organizations.statusEnabled") : t("admin.organizations.statusDisabled"),
494
494
  size: "sm"
495
495
  }
496
496
  ) }),
497
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-gray-500 dark:text-gray-400 md:table-cell", children: format.dateTime(new Date(organization.createdAt), {
497
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-slate-500 dark:text-slate-400 md:table-cell", children: format.dateTime(new Date(organization.createdAt), {
498
498
  year: "numeric",
499
499
  month: "short",
500
500
  day: "numeric"
501
501
  }) }),
502
502
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
503
- chunkBHOT22QL_js.Button,
503
+ chunkEBARYRSA_js.Button,
504
504
  {
505
505
  size: "sm",
506
506
  color: "ios-glass-red",
@@ -520,7 +520,7 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
520
520
  }
521
521
  ),
522
522
  /* @__PURE__ */ jsxRuntime.jsx(
523
- chunkULKZGM2T_js.DynamicIslandConfirm,
523
+ chunkRWZ2PLMQ_js.DynamicIslandConfirm,
524
524
  {
525
525
  open: deleteTarget !== null,
526
526
  onClose: handleDeleteCancel,
@@ -540,7 +540,7 @@ function AdminOrganizationForm({
540
540
  organization,
541
541
  onSubmit
542
542
  }) {
543
- const t = chunkYXN2K77G_js.useTranslations("windsock");
543
+ const t = chunkY5VN4SPH_js.useTranslations("windsock");
544
544
  const isEditing = organization !== null && organization !== void 0;
545
545
  const [name, setName] = react.useState("");
546
546
  const [displayName, setDisplayName] = react.useState("");
@@ -600,7 +600,7 @@ function AdminOrganizationForm({
600
600
  }
601
601
  }, [name, displayName, description, isEditing, onSubmit, onClose, t]);
602
602
  return /* @__PURE__ */ jsxRuntime.jsx(
603
- chunkULKZGM2T_js.GlassModal,
603
+ chunkRWZ2PLMQ_js.GlassModal,
604
604
  {
605
605
  open,
606
606
  onClose: handleClose,
@@ -618,7 +618,7 @@ function AdminOrganizationForm({
618
618
  className: "space-y-4 p-4 sm:p-6",
619
619
  children: [
620
620
  /* @__PURE__ */ jsxRuntime.jsx(
621
- chunkULKZGM2T_js.Input,
621
+ chunkRWZ2PLMQ_js.Input,
622
622
  {
623
623
  label: t("admin.organizationForm.nameLabel"),
624
624
  value: name,
@@ -629,7 +629,7 @@ function AdminOrganizationForm({
629
629
  }
630
630
  ),
631
631
  /* @__PURE__ */ jsxRuntime.jsx(
632
- chunkULKZGM2T_js.Input,
632
+ chunkRWZ2PLMQ_js.Input,
633
633
  {
634
634
  label: t("admin.organizationForm.displayNameLabel"),
635
635
  value: displayName,
@@ -639,7 +639,7 @@ function AdminOrganizationForm({
639
639
  }
640
640
  ),
641
641
  /* @__PURE__ */ jsxRuntime.jsx(
642
- chunkULKZGM2T_js.Input,
642
+ chunkRWZ2PLMQ_js.Input,
643
643
  {
644
644
  label: t("admin.organizationForm.descriptionLabel"),
645
645
  value: description,
@@ -651,7 +651,7 @@ function AdminOrganizationForm({
651
651
  error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-600 dark:text-red-400", role: "alert", children: error }),
652
652
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3 pt-2", children: [
653
653
  /* @__PURE__ */ jsxRuntime.jsx(
654
- chunkBHOT22QL_js.Button,
654
+ chunkEBARYRSA_js.Button,
655
655
  {
656
656
  type: "button",
657
657
  outline: true,
@@ -662,7 +662,7 @@ function AdminOrganizationForm({
662
662
  }
663
663
  ),
664
664
  /* @__PURE__ */ jsxRuntime.jsx(
665
- chunkBHOT22QL_js.Button,
665
+ chunkEBARYRSA_js.Button,
666
666
  {
667
667
  type: "submit",
668
668
  color: "ios-glass-blue",
@@ -680,8 +680,8 @@ function AdminOrganizationForm({
680
680
  );
681
681
  }
682
682
  function AdminPermissionList({ client }) {
683
- const t = chunkYXN2K77G_js.useTranslations("windsock");
684
- const format = chunkYXN2K77G_js.useFormatter();
683
+ const t = chunkY5VN4SPH_js.useTranslations("windsock");
684
+ const format = chunkY5VN4SPH_js.useFormatter();
685
685
  const [permissions, setPermissions] = react.useState([]);
686
686
  const [filteredPermissions, setFilteredPermissions] = react.useState([]);
687
687
  const [isLoading, setIsLoading] = react.useState(true);
@@ -819,33 +819,33 @@ function AdminPermissionList({ client }) {
819
819
  }, []);
820
820
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
821
821
  /* @__PURE__ */ jsxRuntime.jsxs(
822
- chunkULKZGM2T_js.SectionCard,
822
+ chunkRWZ2PLMQ_js.SectionCard,
823
823
  {
824
824
  header: {
825
825
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5 text-white" }),
826
826
  title: t("admin.permissions.title"),
827
827
  subtitle: t("admin.permissions.subtitle"),
828
828
  gradient: "from-violet-500 via-purple-500 to-pink-500",
829
- rightContent: /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Button, { size: "sm", color: "ios-glass-blue", onClick: handleOpenCreate, children: [
829
+ rightContent: /* @__PURE__ */ jsxRuntime.jsxs(chunkEBARYRSA_js.Button, { size: "sm", color: "ios-glass-blue", onClick: handleOpenCreate, children: [
830
830
  /* @__PURE__ */ jsxRuntime.jsx(outline.PlusIcon, { className: "mr-1 h-3.5 w-3.5" }),
831
831
  t("admin.permissions.createButton")
832
832
  ] })
833
833
  },
834
834
  padded: false,
835
835
  children: [
836
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-gray-200/60 p-4 dark:border-white/10", children: /* @__PURE__ */ jsxRuntime.jsx(
837
- chunkULKZGM2T_js.SearchInput,
836
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-divider p-4", children: /* @__PURE__ */ jsxRuntime.jsx(
837
+ chunkRWZ2PLMQ_js.SearchInput,
838
838
  {
839
839
  value: search,
840
840
  onChange: (event) => setSearch(event.target.value),
841
841
  placeholder: t("admin.permissions.searchPlaceholder")
842
842
  }
843
843
  ) }),
844
- isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-gray-500 dark:text-gray-400", children: [
845
- /* @__PURE__ */ jsxRuntime.jsx(chunkULKZGM2T_js.InlineSpinner, {}),
844
+ isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-slate-500 dark:text-slate-400", children: [
845
+ /* @__PURE__ */ jsxRuntime.jsx(chunkRWZ2PLMQ_js.InlineSpinner, {}),
846
846
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("admin.permissions.loading") })
847
847
  ] }) : filteredPermissions.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
848
- chunkULKZGM2T_js.EmptyState,
848
+ chunkRWZ2PLMQ_js.EmptyState,
849
849
  {
850
850
  message: t("admin.permissions.emptyMessage"),
851
851
  description: t("admin.permissions.emptyDescription"),
@@ -857,28 +857,28 @@ function AdminPermissionList({ client }) {
857
857
  variant: "card"
858
858
  }
859
859
  ) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-sm", children: [
860
- /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b border-gray-200/60 dark:border-white/10", children: [
861
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400", children: t("admin.permissions.columnName") }),
862
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400 sm:table-cell", children: t("admin.permissions.columnResource") }),
863
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400 sm:table-cell", children: t("admin.permissions.columnAction") }),
864
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400 md:table-cell", children: t("admin.permissions.columnCreated") }),
865
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-right text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400", children: t("admin.permissions.columnActions") })
860
+ /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "liquid-divider", children: [
861
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.permissions.columnName") }),
862
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 sm:table-cell", children: t("admin.permissions.columnResource") }),
863
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 sm:table-cell", children: t("admin.permissions.columnAction") }),
864
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 md:table-cell", children: t("admin.permissions.columnCreated") }),
865
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-right text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.permissions.columnActions") })
866
866
  ] }) }),
867
867
  /* @__PURE__ */ jsxRuntime.jsx("tbody", { className: "divide-y divide-gray-200/60 dark:divide-white/10", children: filteredPermissions.map((permission) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "transition-colors hover:bg-white/40 dark:hover:bg-white/5", children: [
868
868
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
869
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-gray-900 dark:text-white", children: permission.name }),
870
- permission.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-gray-500 dark:text-gray-400", children: permission.description })
869
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-slate-900 dark:text-white", children: permission.name }),
870
+ permission.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-slate-500 dark:text-slate-400", children: permission.description })
871
871
  ] }) }),
872
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 sm:table-cell", children: permission.resource ? /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "blue", children: permission.resource }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400 dark:text-gray-500", children: "\u2014" }) }),
873
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 sm:table-cell", children: permission.action ? /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "amber", children: permission.action }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400 dark:text-gray-500", children: "\u2014" }) }),
874
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-gray-500 dark:text-gray-400 md:table-cell", children: format.dateTime(new Date(permission.createdAt), {
872
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 sm:table-cell", children: permission.resource ? /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: "blue", children: permission.resource }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-400 dark:text-slate-500", children: "\u2014" }) }),
873
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 sm:table-cell", children: permission.action ? /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: "amber", children: permission.action }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-400 dark:text-slate-500", children: "\u2014" }) }),
874
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-slate-500 dark:text-slate-400 md:table-cell", children: format.dateTime(new Date(permission.createdAt), {
875
875
  year: "numeric",
876
876
  month: "short",
877
877
  day: "numeric"
878
878
  }) }),
879
879
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-end gap-1", children: [
880
880
  /* @__PURE__ */ jsxRuntime.jsx(
881
- chunkBHOT22QL_js.Button,
881
+ chunkEBARYRSA_js.Button,
882
882
  {
883
883
  size: "sm",
884
884
  outline: true,
@@ -887,7 +887,7 @@ function AdminPermissionList({ client }) {
887
887
  }
888
888
  ),
889
889
  /* @__PURE__ */ jsxRuntime.jsx(
890
- chunkBHOT22QL_js.Button,
890
+ chunkEBARYRSA_js.Button,
891
891
  {
892
892
  size: "sm",
893
893
  color: "ios-glass-red",
@@ -902,7 +902,7 @@ function AdminPermissionList({ client }) {
902
902
  }
903
903
  ),
904
904
  /* @__PURE__ */ jsxRuntime.jsx(
905
- chunkULKZGM2T_js.Sheet,
905
+ chunkRWZ2PLMQ_js.Sheet,
906
906
  {
907
907
  open: isFormOpen,
908
908
  onClose: handleCloseForm,
@@ -911,7 +911,7 @@ function AdminPermissionList({ client }) {
911
911
  size: "md",
912
912
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4 p-4 sm:p-6", children: [
913
913
  !editingPermission && /* @__PURE__ */ jsxRuntime.jsx(
914
- chunkULKZGM2T_js.Input,
914
+ chunkRWZ2PLMQ_js.Input,
915
915
  {
916
916
  label: t("admin.permissions.formIdLabel"),
917
917
  value: formId,
@@ -922,7 +922,7 @@ function AdminPermissionList({ client }) {
922
922
  }
923
923
  ),
924
924
  /* @__PURE__ */ jsxRuntime.jsx(
925
- chunkULKZGM2T_js.Input,
925
+ chunkRWZ2PLMQ_js.Input,
926
926
  {
927
927
  label: t("admin.permissions.formNameLabel"),
928
928
  value: formName,
@@ -933,7 +933,7 @@ function AdminPermissionList({ client }) {
933
933
  }
934
934
  ),
935
935
  /* @__PURE__ */ jsxRuntime.jsx(
936
- chunkULKZGM2T_js.Input,
936
+ chunkRWZ2PLMQ_js.Input,
937
937
  {
938
938
  label: t("admin.permissions.formDescriptionLabel"),
939
939
  value: formDescription,
@@ -944,7 +944,7 @@ function AdminPermissionList({ client }) {
944
944
  ),
945
945
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
946
946
  /* @__PURE__ */ jsxRuntime.jsx(
947
- chunkULKZGM2T_js.Input,
947
+ chunkRWZ2PLMQ_js.Input,
948
948
  {
949
949
  label: t("admin.permissions.formResourceLabel"),
950
950
  value: formResource,
@@ -954,7 +954,7 @@ function AdminPermissionList({ client }) {
954
954
  }
955
955
  ),
956
956
  /* @__PURE__ */ jsxRuntime.jsx(
957
- chunkULKZGM2T_js.Input,
957
+ chunkRWZ2PLMQ_js.Input,
958
958
  {
959
959
  label: t("admin.permissions.formActionLabel"),
960
960
  value: formAction,
@@ -967,7 +967,7 @@ function AdminPermissionList({ client }) {
967
967
  formError && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-600 dark:text-red-400", role: "alert", children: formError }),
968
968
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3", children: [
969
969
  /* @__PURE__ */ jsxRuntime.jsx(
970
- chunkBHOT22QL_js.Button,
970
+ chunkEBARYRSA_js.Button,
971
971
  {
972
972
  outline: true,
973
973
  onClick: handleCloseForm,
@@ -977,7 +977,7 @@ function AdminPermissionList({ client }) {
977
977
  }
978
978
  ),
979
979
  /* @__PURE__ */ jsxRuntime.jsx(
980
- chunkBHOT22QL_js.Button,
980
+ chunkEBARYRSA_js.Button,
981
981
  {
982
982
  color: "ios-glass-blue",
983
983
  onClick: handleSubmitForm,
@@ -992,7 +992,7 @@ function AdminPermissionList({ client }) {
992
992
  }
993
993
  ),
994
994
  /* @__PURE__ */ jsxRuntime.jsx(
995
- chunkULKZGM2T_js.DynamicIslandConfirm,
995
+ chunkRWZ2PLMQ_js.DynamicIslandConfirm,
996
996
  {
997
997
  open: deleteTarget !== null,
998
998
  onClose: handleDeleteCancel,
@@ -1012,5 +1012,5 @@ exports.AdminOrganizationList = AdminOrganizationList;
1012
1012
  exports.AdminPermissionList = AdminPermissionList;
1013
1013
  exports.AdminUserForm = AdminUserForm;
1014
1014
  exports.AdminUserList = AdminUserList;
1015
- //# sourceMappingURL=chunk-ID55ABBB.js.map
1016
- //# sourceMappingURL=chunk-ID55ABBB.js.map
1015
+ //# sourceMappingURL=chunk-B3TA74C4.js.map
1016
+ //# sourceMappingURL=chunk-B3TA74C4.js.map