@pos-360/horizon 0.15.0 → 0.16.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.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkYO72COII_js = require('./chunk-YO72COII.js');
3
+ var chunk7WVGPVSG_js = require('./chunk-7WVGPVSG.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: chunkYO72COII_js.cn("hz-rounded grid w-full", className),
133
+ className: chunk7WVGPVSG_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: chunkYO72COII_js.cn("min-w-0 h-full", className),
206
+ className: chunk7WVGPVSG_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: chunkYO72COII_js.cn(
221
+ className: chunk7WVGPVSG_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: chunkYO72COII_js.cn("flex flex-col", className), children: [
252
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: chunk7WVGPVSG_js.cn("flex flex-col", className), children: [
253
253
  /* @__PURE__ */ jsxRuntime.jsx(
254
- chunkYO72COII_js.Text,
254
+ chunk7WVGPVSG_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: chunkYO72COII_js.cn(
266
+ className: chunk7WVGPVSG_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(chunkYO72COII_js.Text, { as: "span", size: "xs", color: "muted", children: trend.label })
281
+ trend.label && /* @__PURE__ */ jsxRuntime.jsx(chunk7WVGPVSG_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: chunkYO72COII_js.cn("flex flex-col", fillMode && "flex-1 min-h-0", className), children: [
767
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: chunk7WVGPVSG_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: chunkYO72COII_js.cn("w-full", fillMode && "flex-1 min-h-0"),
771
+ className: chunk7WVGPVSG_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(chunkYO72COII_js.Text, { as: "span", size: "xs", color: "muted", children: item.label }),
826
- /* @__PURE__ */ jsxRuntime.jsxs(chunkYO72COII_js.Text, { as: "span", size: "xs", weight: "medium", className: "text-gray-700 dark:text-gray-300", children: [
825
+ /* @__PURE__ */ jsxRuntime.jsx(chunk7WVGPVSG_js.Text, { as: "span", size: "xs", color: "muted", children: item.label }),
826
+ /* @__PURE__ */ jsxRuntime.jsxs(chunk7WVGPVSG_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(chunkYO72COII_js.Text, { as: "span", size: "xs", color: "muted", children: s.name })
839
+ /* @__PURE__ */ jsxRuntime.jsx(chunk7WVGPVSG_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: chunkYO72COII_js.cn(
853
+ className: chunk7WVGPVSG_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
- chunkYO72COII_js.Text,
864
+ chunk7WVGPVSG_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(chunkYO72COII_js.Text, { as: "span", size: "xs", className: "text-gray-400 dark:text-gray-500", children: [
873
+ lastUpdated && /* @__PURE__ */ jsxRuntime.jsxs(chunk7WVGPVSG_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: chunkYO72COII_js.cn(
880
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunk7WVGPVSG_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: chunkYO72COII_js.cn(
907
+ className: chunk7WVGPVSG_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: chunkYO72COII_js.cn(
944
+ className: chunk7WVGPVSG_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: chunkYO72COII_js.cn("h-full flex flex-col", className), children: [
979
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: chunk7WVGPVSG_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: chunkYO72COII_js.cn(
985
+ className: chunk7WVGPVSG_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: chunkYO72COII_js.cn(
1001
+ className: chunk7WVGPVSG_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: chunkYO72COII_js.cn(
1008
+ className: chunk7WVGPVSG_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: chunkYO72COII_js.cn(
1056
+ className: chunk7WVGPVSG_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: chunkYO72COII_js.cn(
1069
+ className: chunk7WVGPVSG_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: chunkYO72COII_js.cn("px-5 pt-4", className), children: /* @__PURE__ */ jsxRuntime.jsx(StatDisplay, { data, size: "md" }) });
1085
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: chunk7WVGPVSG_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: chunkYO72COII_js.cn("flex-1 px-5 pt-4", className) });
1091
+ return /* @__PURE__ */ jsxRuntime.jsx(ChartRenderer, { ref, config, className: chunk7WVGPVSG_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: chunkYO72COII_js.cn("flex-1", className)
1102
+ className: chunk7WVGPVSG_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: chunkYO72COII_js.cn(
1116
+ className: chunk7WVGPVSG_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
- chunkYO72COII_js.Text,
1129
+ chunk7WVGPVSG_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(chunkYO72COII_js.Text, { as: "span", size: "xs", className: "text-gray-400 dark:text-gray-500", children: [
1138
+ lastUpdated && /* @__PURE__ */ jsxRuntime.jsxs(chunk7WVGPVSG_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(chunkYO72COII_js.Text, { as: "p", size: "xs", color: "muted", className: "mt-0.5", children: subtitle })
1143
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx(chunk7WVGPVSG_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: chunkYO72COII_js.cn("mb-4", className), children });
1167
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: chunk7WVGPVSG_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: chunkYO72COII_js.cn(
1177
+ className: chunk7WVGPVSG_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: chunkYO72COII_js.cn("flex-1 min-h-0 px-6 pt-4", className) });
1192
+ return /* @__PURE__ */ jsxRuntime.jsx(ChartRenderer, { ref, config, height, className: chunk7WVGPVSG_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: chunkYO72COII_js.cn("px-6", className), children });
1198
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: chunk7WVGPVSG_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: chunkYO72COII_js.cn("flex-1 min-h-0", className) });
1204
+ return /* @__PURE__ */ jsxRuntime.jsx(TableRenderer, { ref, config, className: chunk7WVGPVSG_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: chunkYO72COII_js.cn(
1214
+ className: chunk7WVGPVSG_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
- chunkYO72COII_js.Text,
1227
+ chunk7WVGPVSG_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(chunkYO72COII_js.Text, { as: "span", size: "xs", className: "text-gray-400 dark:text-gray-500", children: [
1236
+ lastUpdated && /* @__PURE__ */ jsxRuntime.jsxs(chunk7WVGPVSG_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(chunkYO72COII_js.Text, { as: "p", size: "xs", color: "muted", className: "mt-0.5", children: subtitle })
1241
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx(chunk7WVGPVSG_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
  ] }),
@@ -1773,14 +1773,14 @@ var TemplateSelector = ({
1773
1773
  3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
1774
1774
  4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4"
1775
1775
  };
1776
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkYO72COII_js.cn("w-full", className), children: [
1776
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunk7WVGPVSG_js.cn("w-full", className), children: [
1777
1777
  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: [
1778
1778
  /* @__PURE__ */ jsxRuntime.jsx(
1779
1779
  "button",
1780
1780
  {
1781
1781
  type: "button",
1782
1782
  onClick: () => setView("card"),
1783
- className: chunkYO72COII_js.cn(
1783
+ className: chunk7WVGPVSG_js.cn(
1784
1784
  "p-2 rounded-hz-sm text-sm font-medium transition-all duration-hz-normal ease-hz-default",
1785
1785
  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"
1786
1786
  ),
@@ -1793,7 +1793,7 @@ var TemplateSelector = ({
1793
1793
  {
1794
1794
  type: "button",
1795
1795
  onClick: () => setView("list"),
1796
- className: chunkYO72COII_js.cn(
1796
+ className: chunk7WVGPVSG_js.cn(
1797
1797
  "p-2 rounded-hz-sm text-sm font-medium transition-all duration-hz-normal ease-hz-default",
1798
1798
  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"
1799
1799
  ),
@@ -1809,7 +1809,7 @@ var TemplateSelector = ({
1809
1809
  animate: { opacity: 1, y: 0 },
1810
1810
  exit: { opacity: 0, y: -10 },
1811
1811
  transition: { duration: 0.2 },
1812
- className: chunkYO72COII_js.cn("grid gap-4", columnClasses[columns]),
1812
+ className: chunk7WVGPVSG_js.cn("grid gap-4", columnClasses[columns]),
1813
1813
  children: templates.map((template) => /* @__PURE__ */ jsxRuntime.jsx(
1814
1814
  TemplateCard,
1815
1815
  {
@@ -1901,7 +1901,7 @@ var TemplateCard = ({
1901
1901
  whileTap: { scale: 0.98 },
1902
1902
  transition: { type: "spring", stiffness: 400, damping: 25 },
1903
1903
  onClick: () => onSelect(template.id),
1904
- className: chunkYO72COII_js.cn(
1904
+ className: chunk7WVGPVSG_js.cn(
1905
1905
  "group relative cursor-pointer rounded-hz-lg overflow-hidden border transition-all duration-hz-slow ease-hz-default",
1906
1906
  "bg-white dark:bg-neutral-800",
1907
1907
  isSelected ? `${colors.selectedBorder} ${colors.selectedGlow}` : "border-neutral-200 dark:border-neutral-700 hover:border-neutral-300 dark:hover:border-neutral-600 hover:shadow-md",
@@ -1911,7 +1911,7 @@ var TemplateCard = ({
1911
1911
  /* @__PURE__ */ jsxRuntime.jsx(
1912
1912
  "div",
1913
1913
  {
1914
- className: chunkYO72COII_js.cn(
1914
+ className: chunk7WVGPVSG_js.cn(
1915
1915
  "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",
1916
1916
  isSelected ? colors.checkBg : "bg-white dark:bg-neutral-800 border-neutral-300 dark:border-neutral-600"
1917
1917
  ),
@@ -1923,7 +1923,7 @@ var TemplateCard = ({
1923
1923
  {
1924
1924
  type: "button",
1925
1925
  onClick: (e) => onPreviewClick(e, template.previewUrl),
1926
- className: chunkYO72COII_js.cn(
1926
+ className: chunk7WVGPVSG_js.cn(
1927
1927
  "absolute top-3 right-3 z-10 p-1.5 rounded-hz-md transition-all duration-hz-normal ease-hz-default",
1928
1928
  "bg-white dark:bg-neutral-700",
1929
1929
  "border border-neutral-200 dark:border-neutral-600",
@@ -1940,7 +1940,7 @@ var TemplateCard = ({
1940
1940
  {
1941
1941
  initial: { scale: 0.9, opacity: 0.5 },
1942
1942
  animate: { scale: 1, opacity: 1 },
1943
- className: chunkYO72COII_js.cn(
1943
+ className: chunk7WVGPVSG_js.cn(
1944
1944
  "p-6 rounded-hz-full transition-all duration-hz-slow ease-hz-default",
1945
1945
  isSelected ? colors.selected : `bg-neutral-100 dark:bg-neutral-700/50 ${colors.hoverBg}`
1946
1946
  ),
@@ -1949,7 +1949,7 @@ var TemplateCard = ({
1949
1949
  {
1950
1950
  size: 48,
1951
1951
  strokeWidth: 1.5,
1952
- className: chunkYO72COII_js.cn(
1952
+ className: chunk7WVGPVSG_js.cn(
1953
1953
  "transition-colors duration-hz-slow ease-hz-default",
1954
1954
  isSelected ? colors.iconSelected : `text-neutral-400 dark:text-neutral-500 ${colors.iconHover}`
1955
1955
  )
@@ -1967,7 +1967,7 @@ var TemplateCard = ({
1967
1967
  onBlur: handleBlur,
1968
1968
  onKeyDown: handleKeyDown,
1969
1969
  onClick: (e) => e.stopPropagation(),
1970
- className: chunkYO72COII_js.cn(
1970
+ className: chunk7WVGPVSG_js.cn(
1971
1971
  "w-full px-2 py-1 text-sm font-medium rounded",
1972
1972
  "bg-neutral-100 dark:bg-neutral-700",
1973
1973
  `border ${colors.inputBorder}`,
@@ -1979,7 +1979,7 @@ var TemplateCard = ({
1979
1979
  "h3",
1980
1980
  {
1981
1981
  onDoubleClick: handleDoubleClick,
1982
- className: chunkYO72COII_js.cn(
1982
+ className: chunk7WVGPVSG_js.cn(
1983
1983
  "text-sm font-medium text-neutral-900 dark:text-neutral-100 truncate",
1984
1984
  editable && `cursor-text ${colors.textHover}`
1985
1985
  ),
@@ -2039,7 +2039,7 @@ var TemplateListItem = ({
2039
2039
  whileTap: { scale: 0.995 },
2040
2040
  transition: { type: "spring", stiffness: 400, damping: 25 },
2041
2041
  onClick: () => onSelect(template.id),
2042
- className: chunkYO72COII_js.cn(
2042
+ className: chunk7WVGPVSG_js.cn(
2043
2043
  "group flex items-center gap-4 p-3 cursor-pointer rounded-hz-lg border transition-all duration-hz-slow ease-hz-default",
2044
2044
  "bg-white dark:bg-neutral-800",
2045
2045
  isSelected ? `${colors.selectedBorder} shadow-md ${colors.selectedGlow}` : "border-neutral-200 dark:border-neutral-700 hover:border-neutral-300 dark:hover:border-neutral-600"
@@ -2048,7 +2048,7 @@ var TemplateListItem = ({
2048
2048
  /* @__PURE__ */ jsxRuntime.jsx(
2049
2049
  "div",
2050
2050
  {
2051
- className: chunkYO72COII_js.cn(
2051
+ className: chunk7WVGPVSG_js.cn(
2052
2052
  "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",
2053
2053
  isSelected ? colors.checkBg : "bg-white dark:bg-neutral-800 border-neutral-300 dark:border-neutral-600"
2054
2054
  ),
@@ -2058,7 +2058,7 @@ var TemplateListItem = ({
2058
2058
  /* @__PURE__ */ jsxRuntime.jsx(
2059
2059
  "div",
2060
2060
  {
2061
- className: chunkYO72COII_js.cn(
2061
+ className: chunk7WVGPVSG_js.cn(
2062
2062
  "w-12 h-12 rounded-hz-md flex items-center justify-center flex-shrink-0 transition-colors duration-hz-slow ease-hz-default",
2063
2063
  isSelected ? colors.selected : `bg-neutral-100 dark:bg-neutral-700/50 ${colors.hoverBg}`
2064
2064
  ),
@@ -2067,7 +2067,7 @@ var TemplateListItem = ({
2067
2067
  {
2068
2068
  size: 24,
2069
2069
  strokeWidth: 1.5,
2070
- className: chunkYO72COII_js.cn(
2070
+ className: chunk7WVGPVSG_js.cn(
2071
2071
  "transition-colors duration-hz-slow ease-hz-default",
2072
2072
  isSelected ? colors.iconSelected : `text-neutral-400 dark:text-neutral-500 ${colors.iconHover}`
2073
2073
  )
@@ -2085,7 +2085,7 @@ var TemplateListItem = ({
2085
2085
  onBlur: handleBlur,
2086
2086
  onKeyDown: handleKeyDown,
2087
2087
  onClick: (e) => e.stopPropagation(),
2088
- className: chunkYO72COII_js.cn(
2088
+ className: chunk7WVGPVSG_js.cn(
2089
2089
  "w-full px-2 py-1 text-sm font-medium rounded",
2090
2090
  "bg-neutral-100 dark:bg-neutral-700",
2091
2091
  `border ${colors.inputBorder}`,
@@ -2097,7 +2097,7 @@ var TemplateListItem = ({
2097
2097
  "h3",
2098
2098
  {
2099
2099
  onDoubleClick: handleDoubleClick,
2100
- className: chunkYO72COII_js.cn(
2100
+ className: chunk7WVGPVSG_js.cn(
2101
2101
  "text-sm font-medium text-neutral-900 dark:text-neutral-100 truncate",
2102
2102
  editable && `cursor-text ${colors.textHover}`
2103
2103
  ),
@@ -2110,7 +2110,7 @@ var TemplateListItem = ({
2110
2110
  {
2111
2111
  type: "button",
2112
2112
  onClick: (e) => onPreviewClick(e, template.previewUrl),
2113
- className: chunkYO72COII_js.cn(
2113
+ className: chunk7WVGPVSG_js.cn(
2114
2114
  "p-2 rounded-hz-md transition-all duration-hz-normal ease-hz-default flex-shrink-0",
2115
2115
  "text-neutral-400 dark:text-neutral-500",
2116
2116
  "opacity-0 group-hover:opacity-100",
@@ -2258,20 +2258,20 @@ var Toast = ({
2258
2258
  return /* @__PURE__ */ jsxRuntime.jsx(
2259
2259
  "div",
2260
2260
  {
2261
- className: chunkYO72COII_js.cn(
2261
+ className: chunk7WVGPVSG_js.cn(
2262
2262
  "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",
2263
2263
  isDismissing ? "translate-x-full opacity-0" : "translate-x-0 opacity-100"
2264
2264
  ),
2265
2265
  children: /* @__PURE__ */ jsxRuntime.jsxs(
2266
2266
  "div",
2267
2267
  {
2268
- className: chunkYO72COII_js.cn(
2268
+ className: chunk7WVGPVSG_js.cn(
2269
2269
  "p-3 sm:p-4 shadow-hz-lg border rounded-hz-md transition-all duration-hz-normal ease-hz-default",
2270
2270
  styles.container
2271
2271
  ),
2272
2272
  children: [
2273
2273
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
2274
- iconElement && /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkYO72COII_js.cn("w-5 h-5 mt-0.5 flex-shrink-0", styles.icon), children: iconElement }),
2274
+ iconElement && /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunk7WVGPVSG_js.cn("w-5 h-5 mt-0.5 flex-shrink-0", styles.icon), children: iconElement }),
2275
2275
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
2276
2276
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: message }),
2277
2277
  action === "collapsible" && isExpanded && expandedContent && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 text-sm opacity-90", children: expandedContent })
@@ -2298,7 +2298,7 @@ var Toast = ({
2298
2298
  /* @__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(
2299
2299
  "div",
2300
2300
  {
2301
- className: chunkYO72COII_js.cn("h-full rounded-hz-full transition-all duration-100 ease-linear", styles.progress),
2301
+ className: chunk7WVGPVSG_js.cn("h-full rounded-hz-full transition-all duration-100 ease-linear", styles.progress),
2302
2302
  style: { width: `${progressWidth}%` }
2303
2303
  }
2304
2304
  ) })
@@ -2369,7 +2369,7 @@ var SideNavItem = React.forwardRef(
2369
2369
  damping: 30,
2370
2370
  mass: 0.8
2371
2371
  },
2372
- className: chunkYO72COII_js.cn(
2372
+ className: chunk7WVGPVSG_js.cn(
2373
2373
  // Base styles
2374
2374
  "relative flex items-center cursor-pointer overflow-hidden",
2375
2375
  "rounded-hz-md transition-colors duration-hz-normal ease-hz-default",
@@ -2393,12 +2393,12 @@ var SideNavItem = React.forwardRef(
2393
2393
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0 w-4 h-4 flex items-center justify-center", children: icon }),
2394
2394
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full justify-between items-center gap-2", children: [
2395
2395
  /* @__PURE__ */ jsxRuntime.jsx(
2396
- chunkYO72COII_js.Text,
2396
+ chunk7WVGPVSG_js.Text,
2397
2397
  {
2398
2398
  as: "span",
2399
2399
  size: "xs",
2400
2400
  weight: "medium",
2401
- className: chunkYO72COII_js.cn(
2401
+ className: chunk7WVGPVSG_js.cn(
2402
2402
  "whitespace-nowrap transition-opacity duration-200",
2403
2403
  isCollapsed ? "opacity-0" : "opacity-100"
2404
2404
  ),
@@ -2406,10 +2406,10 @@ var SideNavItem = React.forwardRef(
2406
2406
  }
2407
2407
  ),
2408
2408
  badge && !hasChildren && /* @__PURE__ */ jsxRuntime.jsx(
2409
- chunkYO72COII_js.Badge,
2409
+ chunk7WVGPVSG_js.Badge,
2410
2410
  {
2411
2411
  variant: "info",
2412
- className: chunkYO72COII_js.cn(
2412
+ className: chunk7WVGPVSG_js.cn(
2413
2413
  "flex-shrink-0 whitespace-nowrap transition-opacity duration-200",
2414
2414
  isCollapsed ? "opacity-0" : "opacity-100"
2415
2415
  ),
@@ -2419,7 +2419,7 @@ var SideNavItem = React.forwardRef(
2419
2419
  hasChildren && /* @__PURE__ */ jsxRuntime.jsx(
2420
2420
  "span",
2421
2421
  {
2422
- className: chunkYO72COII_js.cn(
2422
+ className: chunk7WVGPVSG_js.cn(
2423
2423
  "flex-shrink-0 w-4 h-4 text-gray-400 transition-all duration-200",
2424
2424
  isCollapsed ? "opacity-0" : "opacity-100",
2425
2425
  isExpanded && "rotate-90"
@@ -2440,7 +2440,7 @@ var SideNavItem = React.forwardRef(
2440
2440
  {
2441
2441
  side: "right",
2442
2442
  sideOffset: 8,
2443
- className: chunkYO72COII_js.cn(
2443
+ className: chunk7WVGPVSG_js.cn(
2444
2444
  "z-50 px-3 py-1.5 text-sm font-medium rounded-hz-md",
2445
2445
  "bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-900",
2446
2446
  "shadow-lg",
@@ -2449,7 +2449,7 @@ var SideNavItem = React.forwardRef(
2449
2449
  ),
2450
2450
  children: [
2451
2451
  label,
2452
- badge && /* @__PURE__ */ jsxRuntime.jsx(chunkYO72COII_js.Badge, { variant: "default", className: "ml-2", children: badge }),
2452
+ badge && /* @__PURE__ */ jsxRuntime.jsx(chunk7WVGPVSG_js.Badge, { variant: "default", className: "ml-2", children: badge }),
2453
2453
  /* @__PURE__ */ jsxRuntime.jsx(Tooltip__namespace.Arrow, { className: "fill-gray-900 dark:fill-gray-100" })
2454
2454
  ]
2455
2455
  }
@@ -2480,7 +2480,7 @@ var SideNavSection = React.forwardRef(
2480
2480
  title && /* @__PURE__ */ jsxRuntime.jsx(
2481
2481
  "div",
2482
2482
  {
2483
- className: chunkYO72COII_js.cn(
2483
+ className: chunk7WVGPVSG_js.cn(
2484
2484
  "px-2 py-2 text-xs uppercase tracking-wider whitespace-nowrap transition-opacity duration-200",
2485
2485
  "text-gray-500 dark:text-gray-500",
2486
2486
  isCollapsed ? "opacity-0" : "opacity-100"
@@ -2589,7 +2589,7 @@ var SideNav = React.forwardRef(
2589
2589
  width: isCollapsed ? collapsedWidth : expandedWidth
2590
2590
  },
2591
2591
  transition: springTransition,
2592
- className: chunkYO72COII_js.cn(
2592
+ className: chunk7WVGPVSG_js.cn(
2593
2593
  // Position
2594
2594
  position === "fixed" ? "fixed left-0 top-0 h-screen" : "relative h-full",
2595
2595
  // Base styles
@@ -2615,7 +2615,7 @@ var SideNavHeader = React.forwardRef(
2615
2615
  "div",
2616
2616
  {
2617
2617
  ref,
2618
- className: chunkYO72COII_js.cn(
2618
+ className: chunk7WVGPVSG_js.cn(
2619
2619
  "flex items-center justify-start h-11 overflow-hidden",
2620
2620
  "border-b border-gray-200 dark:border-neutral-800",
2621
2621
  className
@@ -2632,7 +2632,7 @@ var SideNavFooter = React.forwardRef(
2632
2632
  "div",
2633
2633
  {
2634
2634
  ref,
2635
- className: chunkYO72COII_js.cn(
2635
+ className: chunk7WVGPVSG_js.cn(
2636
2636
  "flex items-center justify-start h-11 overflow-hidden",
2637
2637
  "border-t border-gray-200 dark:border-neutral-800",
2638
2638
  className
@@ -2688,5 +2688,5 @@ exports.TextButton = TextButton;
2688
2688
  exports.Toast = Toast;
2689
2689
  exports.useDashboardContext = useDashboardContext;
2690
2690
  exports.useSideNavContext = useSideNavContext;
2691
- //# sourceMappingURL=chunk-6CAMHXUV.js.map
2692
- //# sourceMappingURL=chunk-6CAMHXUV.js.map
2691
+ //# sourceMappingURL=chunk-QCQOCLJH.js.map
2692
+ //# sourceMappingURL=chunk-QCQOCLJH.js.map