@pos-360/horizon 0.17.0 → 0.18.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.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkED6X5VKQ_js = require('./chunk-ED6X5VKQ.js');
3
+ var chunk5XF7Y25B_js = require('./chunk-5XF7Y25B.js');
4
4
  var framerMotion = require('framer-motion');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var React = require('react');
@@ -130,7 +130,7 @@ var Dashboard = React.forwardRef(
130
130
  {
131
131
  ref,
132
132
  "data-dashboard-id": dashboardId,
133
- className: chunkED6X5VKQ_js.cn("hz-rounded grid w-full", className),
133
+ className: chunk5XF7Y25B_js.cn("hz-rounded grid w-full", className),
134
134
  children
135
135
  }
136
136
  )
@@ -203,7 +203,7 @@ var DashboardPanel = React.forwardRef(
203
203
  {
204
204
  ref,
205
205
  "data-panel-id": needsResponsiveCSS ? panelId : void 0,
206
- className: chunkED6X5VKQ_js.cn("min-w-0 h-full", className),
206
+ className: chunk5XF7Y25B_js.cn("min-w-0 h-full", className),
207
207
  style: inlineStyle,
208
208
  children
209
209
  }
@@ -218,7 +218,7 @@ var TrendBadge = ({ trend, size }) => {
218
218
  return /* @__PURE__ */ jsxRuntime.jsxs(
219
219
  "div",
220
220
  {
221
- className: chunkED6X5VKQ_js.cn(
221
+ className: chunk5XF7Y25B_js.cn(
222
222
  "inline-flex items-center gap-1 px-2 py-0.5 rounded-hz-full font-medium",
223
223
  size === "sm" && "text-xs",
224
224
  size === "md" && "text-xs",
@@ -249,9 +249,9 @@ var StatDisplay = React.forwardRef(
249
249
  }
250
250
  return value;
251
251
  }, [value]);
252
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: chunkED6X5VKQ_js.cn("flex flex-col", className), children: [
252
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: chunk5XF7Y25B_js.cn("flex flex-col", className), children: [
253
253
  /* @__PURE__ */ jsxRuntime.jsx(
254
- chunkED6X5VKQ_js.Text,
254
+ chunk5XF7Y25B_js.Text,
255
255
  {
256
256
  as: "span",
257
257
  size: "xs",
@@ -263,7 +263,7 @@ var StatDisplay = React.forwardRef(
263
263
  /* @__PURE__ */ jsxRuntime.jsxs(
264
264
  "span",
265
265
  {
266
- className: chunkED6X5VKQ_js.cn(
266
+ className: chunk5XF7Y25B_js.cn(
267
267
  "font-bold text-gray-900 dark:text-gray-100 mt-0.5",
268
268
  size === "sm" && "text-lg",
269
269
  size === "md" && "text-xl",
@@ -278,7 +278,7 @@ var StatDisplay = React.forwardRef(
278
278
  ),
279
279
  trend && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 mt-1", children: [
280
280
  /* @__PURE__ */ jsxRuntime.jsx(TrendBadge, { trend, size }),
281
- trend.label && /* @__PURE__ */ jsxRuntime.jsx(chunkED6X5VKQ_js.Text, { as: "span", size: "xs", color: "muted", children: trend.label })
281
+ trend.label && /* @__PURE__ */ jsxRuntime.jsx(chunk5XF7Y25B_js.Text, { as: "span", size: "xs", color: "muted", children: trend.label })
282
282
  ] })
283
283
  ] });
284
284
  }
@@ -764,11 +764,11 @@ var ChartRenderer = React.forwardRef(
764
764
  return 0;
765
765
  }, [config]);
766
766
  const fillMode = height === void 0;
767
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: chunkED6X5VKQ_js.cn("flex flex-col", fillMode && "flex-1 min-h-0", className), children: [
767
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: chunk5XF7Y25B_js.cn("flex flex-col", fillMode && "flex-1 min-h-0", className), children: [
768
768
  /* @__PURE__ */ jsxRuntime.jsx(
769
769
  "div",
770
770
  {
771
- className: chunkED6X5VKQ_js.cn("w-full", fillMode && "flex-1 min-h-0"),
771
+ className: chunk5XF7Y25B_js.cn("w-full", fillMode && "flex-1 min-h-0"),
772
772
  style: height !== void 0 ? { height } : void 0,
773
773
  children: /* @__PURE__ */ jsxRuntime.jsx(responsive.ParentSize, { children: ({ width, height: h }) => {
774
774
  switch (config.type) {
@@ -822,8 +822,8 @@ var ChartRenderer = React.forwardRef(
822
822
  style: { backgroundColor: item.color || defaultColors[index % defaultColors.length] }
823
823
  }
824
824
  ),
825
- /* @__PURE__ */ jsxRuntime.jsx(chunkED6X5VKQ_js.Text, { as: "span", size: "xs", color: "muted", children: item.label }),
826
- /* @__PURE__ */ jsxRuntime.jsxs(chunkED6X5VKQ_js.Text, { as: "span", size: "xs", weight: "medium", className: "text-gray-700 dark:text-gray-300", children: [
825
+ /* @__PURE__ */ jsxRuntime.jsx(chunk5XF7Y25B_js.Text, { as: "span", size: "xs", color: "muted", children: item.label }),
826
+ /* @__PURE__ */ jsxRuntime.jsxs(chunk5XF7Y25B_js.Text, { as: "span", size: "xs", weight: "medium", className: "text-gray-700 dark:text-gray-300", children: [
827
827
  (item.value / total * 100).toFixed(0),
828
828
  "%"
829
829
  ] })
@@ -836,7 +836,7 @@ var ChartRenderer = React.forwardRef(
836
836
  style: { backgroundColor: s.color || defaultColors[index % defaultColors.length] }
837
837
  }
838
838
  ),
839
- /* @__PURE__ */ jsxRuntime.jsx(chunkED6X5VKQ_js.Text, { as: "span", size: "xs", color: "muted", children: s.name })
839
+ /* @__PURE__ */ jsxRuntime.jsx(chunk5XF7Y25B_js.Text, { as: "span", size: "xs", color: "muted", children: s.name })
840
840
  ] }, s.name)) })
841
841
  ] });
842
842
  }
@@ -850,7 +850,7 @@ var CompactPanel = React.forwardRef(
850
850
  "div",
851
851
  {
852
852
  ref,
853
- className: chunkED6X5VKQ_js.cn(
853
+ className: chunk5XF7Y25B_js.cn(
854
854
  fillHeight && "h-full",
855
855
  "rounded-hz-lg bg-white dark:bg-neutral-900",
856
856
  "border border-gray-200 dark:border-neutral-800",
@@ -861,7 +861,7 @@ var CompactPanel = React.forwardRef(
861
861
  (title || headerControls || lastUpdated) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-2 mb-3", children: [
862
862
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
863
863
  title && /* @__PURE__ */ jsxRuntime.jsx(
864
- chunkED6X5VKQ_js.Text,
864
+ chunk5XF7Y25B_js.Text,
865
865
  {
866
866
  as: "span",
867
867
  size: "xs",
@@ -870,14 +870,14 @@ var CompactPanel = React.forwardRef(
870
870
  children: title
871
871
  }
872
872
  ),
873
- lastUpdated && /* @__PURE__ */ jsxRuntime.jsxs(chunkED6X5VKQ_js.Text, { as: "span", size: "xs", className: "text-gray-400 dark:text-gray-500", children: [
873
+ lastUpdated && /* @__PURE__ */ jsxRuntime.jsxs(chunk5XF7Y25B_js.Text, { as: "span", size: "xs", className: "text-gray-400 dark:text-gray-500", children: [
874
874
  "\xB7 ",
875
875
  lastUpdated
876
876
  ] })
877
877
  ] }),
878
878
  headerControls && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1 -mt-1 -mr-1", children: headerControls })
879
879
  ] }),
880
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkED6X5VKQ_js.cn(
880
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunk5XF7Y25B_js.cn(
881
881
  "flex-1 flex flex-col min-h-0",
882
882
  isChartMode ? "justify-center" : "justify-end"
883
883
  ), children: isChartMode ? /* @__PURE__ */ jsxRuntime.jsx(ChartRenderer, { config: props.chart, showLegend: false, className: "flex-1" }) : /* @__PURE__ */ jsxRuntime.jsx(
@@ -904,7 +904,7 @@ var TrendIndicator = ({ trend }) => {
904
904
  return /* @__PURE__ */ jsxRuntime.jsxs(
905
905
  "span",
906
906
  {
907
- className: chunkED6X5VKQ_js.cn(
907
+ className: chunk5XF7Y25B_js.cn(
908
908
  "inline-flex items-center gap-1",
909
909
  trend.direction === "up" && "text-emerald-600 dark:text-emerald-400",
910
910
  trend.direction === "down" && "text-rose-600 dark:text-rose-400",
@@ -941,7 +941,7 @@ var renderCellContent = (cellValue, align) => {
941
941
  return /* @__PURE__ */ jsxRuntime.jsxs(
942
942
  "div",
943
943
  {
944
- className: chunkED6X5VKQ_js.cn(
944
+ className: chunk5XF7Y25B_js.cn(
945
945
  "flex items-center gap-2",
946
946
  align === "right" && "justify-end",
947
947
  align === "center" && "justify-center"
@@ -976,13 +976,13 @@ var TableRenderer = React.forwardRef(
976
976
  }
977
977
  return data;
978
978
  }, [data, maxRows]);
979
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: chunkED6X5VKQ_js.cn("h-full flex flex-col", className), children: [
979
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: chunk5XF7Y25B_js.cn("h-full flex flex-col", className), children: [
980
980
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 overflow-x-auto", children: [
981
981
  /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-sm", children: [
982
982
  /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { className: "border-b border-gray-200 dark:border-neutral-700", children: columns.map((column) => /* @__PURE__ */ jsxRuntime.jsx(
983
983
  "th",
984
984
  {
985
- className: chunkED6X5VKQ_js.cn(
985
+ className: chunk5XF7Y25B_js.cn(
986
986
  "text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider",
987
987
  "border-r border-gray-200 dark:border-neutral-700 last:border-r-0",
988
988
  compact ? "py-2 px-3" : "py-3 px-4",
@@ -998,14 +998,14 @@ var TableRenderer = React.forwardRef(
998
998
  /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: displayData.map((row, rowIndex) => /* @__PURE__ */ jsxRuntime.jsx(
999
999
  "tr",
1000
1000
  {
1001
- className: chunkED6X5VKQ_js.cn(
1001
+ className: chunk5XF7Y25B_js.cn(
1002
1002
  "border-b border-gray-100 dark:border-neutral-800 last:border-0",
1003
1003
  striped && rowIndex % 2 === 1 && "bg-gray-50 dark:bg-neutral-800/50"
1004
1004
  ),
1005
1005
  children: columns.map((column) => /* @__PURE__ */ jsxRuntime.jsx(
1006
1006
  "td",
1007
1007
  {
1008
- className: chunkED6X5VKQ_js.cn(
1008
+ className: chunk5XF7Y25B_js.cn(
1009
1009
  "text-gray-900 dark:text-gray-100",
1010
1010
  "border-r border-gray-200 dark:border-neutral-700 last:border-r-0",
1011
1011
  compact ? "py-2 px-3" : "py-3 px-4",
@@ -1053,7 +1053,7 @@ var TableRenderer = React.forwardRef(
1053
1053
  type: "button",
1054
1054
  onClick: () => pagination.onPageChange(pagination.currentPage - 1),
1055
1055
  disabled: pagination.currentPage <= 1,
1056
- className: chunkED6X5VKQ_js.cn(
1056
+ className: chunk5XF7Y25B_js.cn(
1057
1057
  "p-1.5 rounded-hz-md transition-colors",
1058
1058
  pagination.currentPage <= 1 ? "text-gray-300 dark:text-gray-600 cursor-not-allowed" : "text-gray-500 hover:text-gray-700 hover:bg-gray-200 dark:text-gray-400 dark:hover:text-gray-200 dark:hover:bg-neutral-700"
1059
1059
  ),
@@ -1066,7 +1066,7 @@ var TableRenderer = React.forwardRef(
1066
1066
  type: "button",
1067
1067
  onClick: () => pagination.onPageChange(pagination.currentPage + 1),
1068
1068
  disabled: pagination.currentPage >= pagination.totalPages,
1069
- className: chunkED6X5VKQ_js.cn(
1069
+ className: chunk5XF7Y25B_js.cn(
1070
1070
  "p-1.5 rounded-hz-md transition-colors",
1071
1071
  pagination.currentPage >= pagination.totalPages ? "text-gray-300 dark:text-gray-600 cursor-not-allowed" : "text-gray-500 hover:text-gray-700 hover:bg-gray-200 dark:text-gray-400 dark:hover:text-gray-200 dark:hover:bg-neutral-700"
1072
1072
  ),
@@ -1082,13 +1082,13 @@ TableRenderer.displayName = "TableRenderer";
1082
1082
  var MediumPanelContext = React.createContext({ inPanel: false });
1083
1083
  var MediumPanelStat = React.forwardRef(
1084
1084
  ({ data, className }, ref) => {
1085
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: chunkED6X5VKQ_js.cn("px-5 pt-4", className), children: /* @__PURE__ */ jsxRuntime.jsx(StatDisplay, { data, size: "md" }) });
1085
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: chunk5XF7Y25B_js.cn("px-5 pt-4", className), children: /* @__PURE__ */ jsxRuntime.jsx(StatDisplay, { data, size: "md" }) });
1086
1086
  }
1087
1087
  );
1088
1088
  MediumPanelStat.displayName = "MediumPanel.Stat";
1089
1089
  var MediumPanelChart = React.forwardRef(
1090
1090
  ({ config, className }, ref) => {
1091
- return /* @__PURE__ */ jsxRuntime.jsx(ChartRenderer, { ref, config, className: chunkED6X5VKQ_js.cn("flex-1 px-5 pt-4", className) });
1091
+ return /* @__PURE__ */ jsxRuntime.jsx(ChartRenderer, { ref, config, className: chunk5XF7Y25B_js.cn("flex-1 px-5 pt-4", className) });
1092
1092
  }
1093
1093
  );
1094
1094
  MediumPanelChart.displayName = "MediumPanel.Chart";
@@ -1099,7 +1099,7 @@ var MediumPanelTable = React.forwardRef(
1099
1099
  {
1100
1100
  ref,
1101
1101
  config: { ...config, compact: true },
1102
- className: chunkED6X5VKQ_js.cn("flex-1", className)
1102
+ className: chunk5XF7Y25B_js.cn("flex-1", className)
1103
1103
  }
1104
1104
  );
1105
1105
  }
@@ -1113,7 +1113,7 @@ var MediumPanelBase = React.forwardRef(
1113
1113
  "div",
1114
1114
  {
1115
1115
  ref,
1116
- className: chunkED6X5VKQ_js.cn(
1116
+ className: chunk5XF7Y25B_js.cn(
1117
1117
  fillHeight && "h-full",
1118
1118
  "rounded-hz-lg bg-white dark:bg-neutral-900",
1119
1119
  "border border-gray-200 dark:border-neutral-800",
@@ -1126,7 +1126,7 @@ var MediumPanelBase = React.forwardRef(
1126
1126
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1127
1127
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1128
1128
  title && /* @__PURE__ */ jsxRuntime.jsx(
1129
- chunkED6X5VKQ_js.Text,
1129
+ chunk5XF7Y25B_js.Text,
1130
1130
  {
1131
1131
  as: "span",
1132
1132
  weight: "semibold",
@@ -1135,12 +1135,12 @@ var MediumPanelBase = React.forwardRef(
1135
1135
  children: title
1136
1136
  }
1137
1137
  ),
1138
- lastUpdated && /* @__PURE__ */ jsxRuntime.jsxs(chunkED6X5VKQ_js.Text, { as: "span", size: "xs", className: "text-gray-400 dark:text-gray-500", children: [
1138
+ lastUpdated && /* @__PURE__ */ jsxRuntime.jsxs(chunk5XF7Y25B_js.Text, { as: "span", size: "xs", className: "text-gray-400 dark:text-gray-500", children: [
1139
1139
  "\xB7 ",
1140
1140
  lastUpdated
1141
1141
  ] })
1142
1142
  ] }),
1143
- subtitle && /* @__PURE__ */ jsxRuntime.jsx(chunkED6X5VKQ_js.Text, { as: "p", size: "xs", color: "muted", className: "mt-0.5", children: subtitle })
1143
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx(chunk5XF7Y25B_js.Text, { as: "p", size: "xs", color: "muted", className: "mt-0.5", children: subtitle })
1144
1144
  ] }),
1145
1145
  headerControls && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1", children: headerControls })
1146
1146
  ] }),
@@ -1164,7 +1164,7 @@ MediumPanel.Table = MediumPanelTable;
1164
1164
  var LargePanelContext = React.createContext({ inPanel: false });
1165
1165
  var LargePanelHeader = React.forwardRef(
1166
1166
  ({ children, className }, ref) => {
1167
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: chunkED6X5VKQ_js.cn("mb-4", className), children });
1167
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: chunk5XF7Y25B_js.cn("mb-4", className), children });
1168
1168
  }
1169
1169
  );
1170
1170
  LargePanelHeader.displayName = "LargePanel.Header";
@@ -1174,7 +1174,7 @@ var LargePanelStats = React.forwardRef(
1174
1174
  "div",
1175
1175
  {
1176
1176
  ref,
1177
- className: chunkED6X5VKQ_js.cn(
1177
+ className: chunk5XF7Y25B_js.cn(
1178
1178
  "grid gap-4 px-6 pt-4",
1179
1179
  columns === 2 && "grid-cols-2",
1180
1180
  columns === 3 && "grid-cols-3",
@@ -1189,19 +1189,19 @@ var LargePanelStats = React.forwardRef(
1189
1189
  LargePanelStats.displayName = "LargePanel.Stats";
1190
1190
  var LargePanelChart = React.forwardRef(
1191
1191
  ({ config, height, className }, ref) => {
1192
- return /* @__PURE__ */ jsxRuntime.jsx(ChartRenderer, { ref, config, height, className: chunkED6X5VKQ_js.cn("flex-1 min-h-0 px-6 pt-4", className) });
1192
+ return /* @__PURE__ */ jsxRuntime.jsx(ChartRenderer, { ref, config, height, className: chunk5XF7Y25B_js.cn("flex-1 min-h-0 px-6 pt-4", className) });
1193
1193
  }
1194
1194
  );
1195
1195
  LargePanelChart.displayName = "LargePanel.Chart";
1196
1196
  var LargePanelContent = React.forwardRef(
1197
1197
  ({ children, className }, ref) => {
1198
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: chunkED6X5VKQ_js.cn("px-6", className), children });
1198
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: chunk5XF7Y25B_js.cn("px-6", className), children });
1199
1199
  }
1200
1200
  );
1201
1201
  LargePanelContent.displayName = "LargePanel.Content";
1202
1202
  var LargePanelTable = React.forwardRef(
1203
1203
  ({ config, className }, ref) => {
1204
- return /* @__PURE__ */ jsxRuntime.jsx(TableRenderer, { ref, config, className: chunkED6X5VKQ_js.cn("flex-1 min-h-0", className) });
1204
+ return /* @__PURE__ */ jsxRuntime.jsx(TableRenderer, { ref, config, className: chunk5XF7Y25B_js.cn("flex-1 min-h-0", className) });
1205
1205
  }
1206
1206
  );
1207
1207
  LargePanelTable.displayName = "LargePanel.Table";
@@ -1211,7 +1211,7 @@ var LargePanelBase = React.forwardRef(
1211
1211
  "div",
1212
1212
  {
1213
1213
  ref,
1214
- className: chunkED6X5VKQ_js.cn(
1214
+ className: chunk5XF7Y25B_js.cn(
1215
1215
  fillHeight && "h-full",
1216
1216
  "rounded-hz-lg bg-white dark:bg-neutral-900",
1217
1217
  "border border-gray-200 dark:border-neutral-800",
@@ -1224,7 +1224,7 @@ var LargePanelBase = React.forwardRef(
1224
1224
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1225
1225
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1226
1226
  title && /* @__PURE__ */ jsxRuntime.jsx(
1227
- chunkED6X5VKQ_js.Text,
1227
+ chunk5XF7Y25B_js.Text,
1228
1228
  {
1229
1229
  as: "span",
1230
1230
  weight: "semibold",
@@ -1233,12 +1233,12 @@ var LargePanelBase = React.forwardRef(
1233
1233
  children: title
1234
1234
  }
1235
1235
  ),
1236
- lastUpdated && /* @__PURE__ */ jsxRuntime.jsxs(chunkED6X5VKQ_js.Text, { as: "span", size: "xs", className: "text-gray-400 dark:text-gray-500", children: [
1236
+ lastUpdated && /* @__PURE__ */ jsxRuntime.jsxs(chunk5XF7Y25B_js.Text, { as: "span", size: "xs", className: "text-gray-400 dark:text-gray-500", children: [
1237
1237
  "\xB7 ",
1238
1238
  lastUpdated
1239
1239
  ] })
1240
1240
  ] }),
1241
- subtitle && /* @__PURE__ */ jsxRuntime.jsx(chunkED6X5VKQ_js.Text, { as: "p", size: "xs", color: "muted", className: "mt-0.5", children: subtitle })
1241
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx(chunk5XF7Y25B_js.Text, { as: "p", size: "xs", color: "muted", className: "mt-0.5", children: subtitle })
1242
1242
  ] }),
1243
1243
  headerControls && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1", children: headerControls })
1244
1244
  ] }),
@@ -1516,7 +1516,7 @@ var Input = React.forwardRef(
1516
1516
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs sm:text-sm", children: label }),
1517
1517
  required && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-rose-500 ml-1", children: "*" }),
1518
1518
  tooltip && /* @__PURE__ */ jsxRuntime.jsx(
1519
- chunkED6X5VKQ_js.Tooltip,
1519
+ chunk5XF7Y25B_js.Tooltip,
1520
1520
  {
1521
1521
  content: tooltip.content,
1522
1522
  side: tooltip.position ?? "top",
@@ -1769,14 +1769,14 @@ var TemplateSelector = ({
1769
1769
  3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
1770
1770
  4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4"
1771
1771
  };
1772
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkED6X5VKQ_js.cn("w-full", className), children: [
1772
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunk5XF7Y25B_js.cn("w-full", className), children: [
1773
1773
  showViewToggle && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end mb-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "inline-flex rounded-hz-md border border-neutral-200 dark:border-neutral-700 p-1 bg-neutral-100 dark:bg-neutral-800", children: [
1774
1774
  /* @__PURE__ */ jsxRuntime.jsx(
1775
1775
  "button",
1776
1776
  {
1777
1777
  type: "button",
1778
1778
  onClick: () => setView("card"),
1779
- className: chunkED6X5VKQ_js.cn(
1779
+ className: chunk5XF7Y25B_js.cn(
1780
1780
  "p-2 rounded-hz-sm text-sm font-medium transition-all duration-hz-normal ease-hz-default",
1781
1781
  view === "card" ? `bg-white dark:bg-neutral-700 shadow-sm ${colors.toggleActive}` : "text-neutral-500 dark:text-neutral-400 hover:text-neutral-700 dark:hover:text-neutral-300"
1782
1782
  ),
@@ -1789,7 +1789,7 @@ var TemplateSelector = ({
1789
1789
  {
1790
1790
  type: "button",
1791
1791
  onClick: () => setView("list"),
1792
- className: chunkED6X5VKQ_js.cn(
1792
+ className: chunk5XF7Y25B_js.cn(
1793
1793
  "p-2 rounded-hz-sm text-sm font-medium transition-all duration-hz-normal ease-hz-default",
1794
1794
  view === "list" ? `bg-white dark:bg-neutral-700 shadow-sm ${colors.toggleActive}` : "text-neutral-500 dark:text-neutral-400 hover:text-neutral-700 dark:hover:text-neutral-300"
1795
1795
  ),
@@ -1805,7 +1805,7 @@ var TemplateSelector = ({
1805
1805
  animate: { opacity: 1, y: 0 },
1806
1806
  exit: { opacity: 0, y: -10 },
1807
1807
  transition: { duration: 0.2 },
1808
- className: chunkED6X5VKQ_js.cn("grid gap-4", columnClasses[columns]),
1808
+ className: chunk5XF7Y25B_js.cn("grid gap-4", columnClasses[columns]),
1809
1809
  children: templates.map((template) => /* @__PURE__ */ jsxRuntime.jsx(
1810
1810
  TemplateCard,
1811
1811
  {
@@ -1897,7 +1897,7 @@ var TemplateCard = ({
1897
1897
  whileTap: { scale: 0.98 },
1898
1898
  transition: { type: "spring", stiffness: 400, damping: 25 },
1899
1899
  onClick: () => onSelect(template.id),
1900
- className: chunkED6X5VKQ_js.cn(
1900
+ className: chunk5XF7Y25B_js.cn(
1901
1901
  "group relative cursor-pointer rounded-hz-lg overflow-hidden border transition-all duration-hz-slow ease-hz-default",
1902
1902
  "bg-white dark:bg-neutral-800",
1903
1903
  isSelected ? `${colors.selectedBorder} ${colors.selectedGlow}` : "border-neutral-200 dark:border-neutral-700 hover:border-neutral-300 dark:hover:border-neutral-600 hover:shadow-md",
@@ -1907,7 +1907,7 @@ var TemplateCard = ({
1907
1907
  /* @__PURE__ */ jsxRuntime.jsx(
1908
1908
  "div",
1909
1909
  {
1910
- className: chunkED6X5VKQ_js.cn(
1910
+ className: chunk5XF7Y25B_js.cn(
1911
1911
  "absolute top-3 left-3 z-10 w-5 h-5 rounded-hz-full border-2 flex items-center justify-center transition-all duration-hz-normal ease-hz-default",
1912
1912
  isSelected ? colors.checkBg : "bg-white dark:bg-neutral-800 border-neutral-300 dark:border-neutral-600"
1913
1913
  ),
@@ -1919,7 +1919,7 @@ var TemplateCard = ({
1919
1919
  {
1920
1920
  type: "button",
1921
1921
  onClick: (e) => onPreviewClick(e, template.previewUrl),
1922
- className: chunkED6X5VKQ_js.cn(
1922
+ className: chunk5XF7Y25B_js.cn(
1923
1923
  "absolute top-3 right-3 z-10 p-1.5 rounded-hz-md transition-all duration-hz-normal ease-hz-default",
1924
1924
  "bg-white dark:bg-neutral-700",
1925
1925
  "border border-neutral-200 dark:border-neutral-600",
@@ -1936,7 +1936,7 @@ var TemplateCard = ({
1936
1936
  {
1937
1937
  initial: { scale: 0.9, opacity: 0.5 },
1938
1938
  animate: { scale: 1, opacity: 1 },
1939
- className: chunkED6X5VKQ_js.cn(
1939
+ className: chunk5XF7Y25B_js.cn(
1940
1940
  "p-6 rounded-hz-full transition-all duration-hz-slow ease-hz-default",
1941
1941
  isSelected ? colors.selected : `bg-neutral-100 dark:bg-neutral-700/50 ${colors.hoverBg}`
1942
1942
  ),
@@ -1945,7 +1945,7 @@ var TemplateCard = ({
1945
1945
  {
1946
1946
  size: 48,
1947
1947
  strokeWidth: 1.5,
1948
- className: chunkED6X5VKQ_js.cn(
1948
+ className: chunk5XF7Y25B_js.cn(
1949
1949
  "transition-colors duration-hz-slow ease-hz-default",
1950
1950
  isSelected ? colors.iconSelected : `text-neutral-400 dark:text-neutral-500 ${colors.iconHover}`
1951
1951
  )
@@ -1963,7 +1963,7 @@ var TemplateCard = ({
1963
1963
  onBlur: handleBlur,
1964
1964
  onKeyDown: handleKeyDown,
1965
1965
  onClick: (e) => e.stopPropagation(),
1966
- className: chunkED6X5VKQ_js.cn(
1966
+ className: chunk5XF7Y25B_js.cn(
1967
1967
  "w-full px-2 py-1 text-sm font-medium rounded",
1968
1968
  "bg-neutral-100 dark:bg-neutral-700",
1969
1969
  `border ${colors.inputBorder}`,
@@ -1975,7 +1975,7 @@ var TemplateCard = ({
1975
1975
  "h3",
1976
1976
  {
1977
1977
  onDoubleClick: handleDoubleClick,
1978
- className: chunkED6X5VKQ_js.cn(
1978
+ className: chunk5XF7Y25B_js.cn(
1979
1979
  "text-sm font-medium text-neutral-900 dark:text-neutral-100 truncate",
1980
1980
  editable && `cursor-text ${colors.textHover}`
1981
1981
  ),
@@ -2035,7 +2035,7 @@ var TemplateListItem = ({
2035
2035
  whileTap: { scale: 0.995 },
2036
2036
  transition: { type: "spring", stiffness: 400, damping: 25 },
2037
2037
  onClick: () => onSelect(template.id),
2038
- className: chunkED6X5VKQ_js.cn(
2038
+ className: chunk5XF7Y25B_js.cn(
2039
2039
  "group flex items-center gap-4 p-3 cursor-pointer rounded-hz-lg border transition-all duration-hz-slow ease-hz-default",
2040
2040
  "bg-white dark:bg-neutral-800",
2041
2041
  isSelected ? `${colors.selectedBorder} shadow-md ${colors.selectedGlow}` : "border-neutral-200 dark:border-neutral-700 hover:border-neutral-300 dark:hover:border-neutral-600"
@@ -2044,7 +2044,7 @@ var TemplateListItem = ({
2044
2044
  /* @__PURE__ */ jsxRuntime.jsx(
2045
2045
  "div",
2046
2046
  {
2047
- className: chunkED6X5VKQ_js.cn(
2047
+ className: chunk5XF7Y25B_js.cn(
2048
2048
  "w-5 h-5 rounded-hz-full border-2 flex items-center justify-center flex-shrink-0 transition-all duration-hz-normal ease-hz-default",
2049
2049
  isSelected ? colors.checkBg : "bg-white dark:bg-neutral-800 border-neutral-300 dark:border-neutral-600"
2050
2050
  ),
@@ -2054,7 +2054,7 @@ var TemplateListItem = ({
2054
2054
  /* @__PURE__ */ jsxRuntime.jsx(
2055
2055
  "div",
2056
2056
  {
2057
- className: chunkED6X5VKQ_js.cn(
2057
+ className: chunk5XF7Y25B_js.cn(
2058
2058
  "w-12 h-12 rounded-hz-md flex items-center justify-center flex-shrink-0 transition-colors duration-hz-slow ease-hz-default",
2059
2059
  isSelected ? colors.selected : `bg-neutral-100 dark:bg-neutral-700/50 ${colors.hoverBg}`
2060
2060
  ),
@@ -2063,7 +2063,7 @@ var TemplateListItem = ({
2063
2063
  {
2064
2064
  size: 24,
2065
2065
  strokeWidth: 1.5,
2066
- className: chunkED6X5VKQ_js.cn(
2066
+ className: chunk5XF7Y25B_js.cn(
2067
2067
  "transition-colors duration-hz-slow ease-hz-default",
2068
2068
  isSelected ? colors.iconSelected : `text-neutral-400 dark:text-neutral-500 ${colors.iconHover}`
2069
2069
  )
@@ -2081,7 +2081,7 @@ var TemplateListItem = ({
2081
2081
  onBlur: handleBlur,
2082
2082
  onKeyDown: handleKeyDown,
2083
2083
  onClick: (e) => e.stopPropagation(),
2084
- className: chunkED6X5VKQ_js.cn(
2084
+ className: chunk5XF7Y25B_js.cn(
2085
2085
  "w-full px-2 py-1 text-sm font-medium rounded",
2086
2086
  "bg-neutral-100 dark:bg-neutral-700",
2087
2087
  `border ${colors.inputBorder}`,
@@ -2093,7 +2093,7 @@ var TemplateListItem = ({
2093
2093
  "h3",
2094
2094
  {
2095
2095
  onDoubleClick: handleDoubleClick,
2096
- className: chunkED6X5VKQ_js.cn(
2096
+ className: chunk5XF7Y25B_js.cn(
2097
2097
  "text-sm font-medium text-neutral-900 dark:text-neutral-100 truncate",
2098
2098
  editable && `cursor-text ${colors.textHover}`
2099
2099
  ),
@@ -2106,7 +2106,7 @@ var TemplateListItem = ({
2106
2106
  {
2107
2107
  type: "button",
2108
2108
  onClick: (e) => onPreviewClick(e, template.previewUrl),
2109
- className: chunkED6X5VKQ_js.cn(
2109
+ className: chunk5XF7Y25B_js.cn(
2110
2110
  "p-2 rounded-hz-md transition-all duration-hz-normal ease-hz-default flex-shrink-0",
2111
2111
  "text-neutral-400 dark:text-neutral-500",
2112
2112
  "opacity-0 group-hover:opacity-100",
@@ -2254,20 +2254,20 @@ var Toast = ({
2254
2254
  return /* @__PURE__ */ jsxRuntime.jsx(
2255
2255
  "div",
2256
2256
  {
2257
- className: chunkED6X5VKQ_js.cn(
2257
+ className: chunk5XF7Y25B_js.cn(
2258
2258
  "fixed top-4 right-4 z-50 max-w-sm w-[calc(100vw-2rem)] sm:w-auto transition-all duration-hz-slow ease-hz-default",
2259
2259
  isDismissing ? "translate-x-full opacity-0" : "translate-x-0 opacity-100"
2260
2260
  ),
2261
2261
  children: /* @__PURE__ */ jsxRuntime.jsxs(
2262
2262
  "div",
2263
2263
  {
2264
- className: chunkED6X5VKQ_js.cn(
2264
+ className: chunk5XF7Y25B_js.cn(
2265
2265
  "p-3 sm:p-4 shadow-hz-lg border rounded-hz-md transition-all duration-hz-normal ease-hz-default",
2266
2266
  styles.container
2267
2267
  ),
2268
2268
  children: [
2269
2269
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
2270
- iconElement && /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkED6X5VKQ_js.cn("w-5 h-5 mt-0.5 flex-shrink-0", styles.icon), children: iconElement }),
2270
+ iconElement && /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunk5XF7Y25B_js.cn("w-5 h-5 mt-0.5 flex-shrink-0", styles.icon), children: iconElement }),
2271
2271
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
2272
2272
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: message }),
2273
2273
  action === "collapsible" && isExpanded && expandedContent && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 text-sm opacity-90", children: expandedContent })
@@ -2294,7 +2294,7 @@ var Toast = ({
2294
2294
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3 w-full bg-neutral-200 dark:bg-neutral-600 h-1 rounded-hz-full overflow-hidden transition-all duration-hz-normal", children: /* @__PURE__ */ jsxRuntime.jsx(
2295
2295
  "div",
2296
2296
  {
2297
- className: chunkED6X5VKQ_js.cn("h-full rounded-hz-full transition-all duration-100 ease-linear", styles.progress),
2297
+ className: chunk5XF7Y25B_js.cn("h-full rounded-hz-full transition-all duration-100 ease-linear", styles.progress),
2298
2298
  style: { width: `${progressWidth}%` }
2299
2299
  }
2300
2300
  ) })
@@ -2365,7 +2365,7 @@ var SideNavItem = React.forwardRef(
2365
2365
  damping: 30,
2366
2366
  mass: 0.8
2367
2367
  },
2368
- className: chunkED6X5VKQ_js.cn(
2368
+ className: chunk5XF7Y25B_js.cn(
2369
2369
  // Base styles
2370
2370
  "relative flex items-center cursor-pointer overflow-hidden",
2371
2371
  "rounded-hz-md transition-colors duration-hz-normal ease-hz-default",
@@ -2389,12 +2389,12 @@ var SideNavItem = React.forwardRef(
2389
2389
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0 w-4 h-4 flex items-center justify-center", children: icon }),
2390
2390
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full justify-between items-center gap-2", children: [
2391
2391
  /* @__PURE__ */ jsxRuntime.jsx(
2392
- chunkED6X5VKQ_js.Text,
2392
+ chunk5XF7Y25B_js.Text,
2393
2393
  {
2394
2394
  as: "span",
2395
2395
  size: "xs",
2396
2396
  weight: "medium",
2397
- className: chunkED6X5VKQ_js.cn(
2397
+ className: chunk5XF7Y25B_js.cn(
2398
2398
  "whitespace-nowrap transition-opacity duration-200",
2399
2399
  isCollapsed ? "opacity-0" : "opacity-100"
2400
2400
  ),
@@ -2402,10 +2402,10 @@ var SideNavItem = React.forwardRef(
2402
2402
  }
2403
2403
  ),
2404
2404
  badge && !hasChildren && /* @__PURE__ */ jsxRuntime.jsx(
2405
- chunkED6X5VKQ_js.Badge,
2405
+ chunk5XF7Y25B_js.Badge,
2406
2406
  {
2407
2407
  variant: "info",
2408
- className: chunkED6X5VKQ_js.cn(
2408
+ className: chunk5XF7Y25B_js.cn(
2409
2409
  "flex-shrink-0 whitespace-nowrap transition-opacity duration-200",
2410
2410
  isCollapsed ? "opacity-0" : "opacity-100"
2411
2411
  ),
@@ -2415,7 +2415,7 @@ var SideNavItem = React.forwardRef(
2415
2415
  hasChildren && /* @__PURE__ */ jsxRuntime.jsx(
2416
2416
  "span",
2417
2417
  {
2418
- className: chunkED6X5VKQ_js.cn(
2418
+ className: chunk5XF7Y25B_js.cn(
2419
2419
  "flex-shrink-0 w-4 h-4 text-gray-400 transition-all duration-200",
2420
2420
  isCollapsed ? "opacity-0" : "opacity-100",
2421
2421
  isExpanded && "rotate-90"
@@ -2436,7 +2436,7 @@ var SideNavItem = React.forwardRef(
2436
2436
  {
2437
2437
  side: "right",
2438
2438
  sideOffset: 8,
2439
- className: chunkED6X5VKQ_js.cn(
2439
+ className: chunk5XF7Y25B_js.cn(
2440
2440
  "z-50 px-3 py-1.5 text-sm font-medium rounded-hz-md",
2441
2441
  "bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-900",
2442
2442
  "shadow-lg",
@@ -2445,7 +2445,7 @@ var SideNavItem = React.forwardRef(
2445
2445
  ),
2446
2446
  children: [
2447
2447
  label,
2448
- badge && /* @__PURE__ */ jsxRuntime.jsx(chunkED6X5VKQ_js.Badge, { variant: "default", className: "ml-2", children: badge }),
2448
+ badge && /* @__PURE__ */ jsxRuntime.jsx(chunk5XF7Y25B_js.Badge, { variant: "default", className: "ml-2", children: badge }),
2449
2449
  /* @__PURE__ */ jsxRuntime.jsx(Tooltip2__namespace.Arrow, { className: "fill-gray-900 dark:fill-gray-100" })
2450
2450
  ]
2451
2451
  }
@@ -2476,7 +2476,7 @@ var SideNavSection = React.forwardRef(
2476
2476
  title && /* @__PURE__ */ jsxRuntime.jsx(
2477
2477
  "div",
2478
2478
  {
2479
- className: chunkED6X5VKQ_js.cn(
2479
+ className: chunk5XF7Y25B_js.cn(
2480
2480
  "px-2 py-2 text-xs uppercase tracking-wider whitespace-nowrap transition-opacity duration-200",
2481
2481
  "text-gray-500 dark:text-gray-500",
2482
2482
  isCollapsed ? "opacity-0" : "opacity-100"
@@ -2585,7 +2585,7 @@ var SideNav = React.forwardRef(
2585
2585
  width: isCollapsed ? collapsedWidth : expandedWidth
2586
2586
  },
2587
2587
  transition: springTransition,
2588
- className: chunkED6X5VKQ_js.cn(
2588
+ className: chunk5XF7Y25B_js.cn(
2589
2589
  // Position
2590
2590
  position === "fixed" ? "fixed left-0 top-0 h-screen" : "relative h-full",
2591
2591
  // Base styles
@@ -2611,7 +2611,7 @@ var SideNavHeader = React.forwardRef(
2611
2611
  "div",
2612
2612
  {
2613
2613
  ref,
2614
- className: chunkED6X5VKQ_js.cn(
2614
+ className: chunk5XF7Y25B_js.cn(
2615
2615
  "flex items-center justify-start h-11 overflow-hidden",
2616
2616
  "border-b border-gray-200 dark:border-neutral-800",
2617
2617
  className
@@ -2628,7 +2628,7 @@ var SideNavFooter = React.forwardRef(
2628
2628
  "div",
2629
2629
  {
2630
2630
  ref,
2631
- className: chunkED6X5VKQ_js.cn(
2631
+ className: chunk5XF7Y25B_js.cn(
2632
2632
  "flex items-center justify-start h-11 overflow-hidden",
2633
2633
  "border-t border-gray-200 dark:border-neutral-800",
2634
2634
  className
@@ -2684,5 +2684,5 @@ exports.TextButton = TextButton;
2684
2684
  exports.Toast = Toast;
2685
2685
  exports.useDashboardContext = useDashboardContext;
2686
2686
  exports.useSideNavContext = useSideNavContext;
2687
- //# sourceMappingURL=chunk-YYVNGWHZ.js.map
2688
- //# sourceMappingURL=chunk-YYVNGWHZ.js.map
2687
+ //# sourceMappingURL=chunk-T7ITROJS.js.map
2688
+ //# sourceMappingURL=chunk-T7ITROJS.js.map