@optifye/dashboard-core 6.12.47 → 6.12.49

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.
@@ -2093,8 +2093,8 @@ var VideoCard = React__default.default.memo(({
2093
2093
  const efficiencyOverlayClass = videoGridColorState === "green" ? "bg-[#00D654]/25" : videoGridColorState === "blue" ? "bg-[#0EA5E9]/30" : videoGridColorState === "yellow" ? "bg-[#FFD700]/30" : videoGridColorState === "red" ? "bg-[#FF2D0A]/30" : "bg-transparent";
2094
2094
  const efficiencyBarClass = videoGridColorState === "green" ? "bg-[#00AB45]" : videoGridColorState === "blue" ? "bg-[#0EA5E9]" : videoGridColorState === "yellow" ? "bg-[#FFB020]" : videoGridColorState === "red" ? "bg-[#E34329]" : "bg-gray-500/70";
2095
2095
  const efficiencyStatus = videoGridColorState === "green" ? "High" : videoGridColorState === "blue" ? "Best" : videoGridColorState === "yellow" ? "Medium" : videoGridColorState === "red" ? "Low" : "Neutral";
2096
- const worstMarkerClassName = compact ? "left-1.5 top-1.5 gap-1.5 px-2 py-1 text-[11px]" : "left-2 top-2 gap-2 px-3 py-1.5 text-xs";
2097
- const statusBadgesPositionClass = isWorstPerformance ? compact ? "top-8 left-1.5 gap-1" : "top-10 left-2 gap-1.5" : compact ? "top-1.5 left-1.5 gap-1" : "top-2 left-2 gap-1.5";
2096
+ const worstMarkerClassName = compact ? "left-1 top-1 sm:left-1.5 sm:top-1.5 gap-1 sm:gap-1.5 p-1 sm:px-2 sm:py-1 text-[10px] sm:text-[11px]" : "left-1.5 top-1.5 sm:left-2 sm:top-2 gap-1 sm:gap-2 px-1.5 sm:px-3 py-0.5 sm:py-1.5 text-[10px] sm:text-xs";
2097
+ const statusBadgesPositionClass = isWorstPerformance ? compact ? "top-6 sm:top-8 left-1 sm:left-1.5 gap-1" : "top-7 sm:top-10 left-1.5 sm:left-2 gap-1 sm:gap-1.5" : compact ? "top-1 sm:top-1.5 left-1 sm:left-1.5 gap-1" : "top-1.5 sm:top-2 left-1.5 sm:left-2 gap-1 sm:gap-1.5";
2098
2098
  const trendInfo = workspace.trend !== void 0 ? getTrendArrowAndColor(workspace.trend) : null;
2099
2099
  const handleClick = React.useCallback(() => {
2100
2100
  trackCoreEvent("Workspace Card Clicked", {
@@ -2130,8 +2130,8 @@ var VideoCard = React__default.default.memo(({
2130
2130
  children: [
2131
2131
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-full h-full overflow-hidden bg-black", children: [
2132
2132
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black z-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "animate-pulse flex flex-col items-center", children: [
2133
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Camera, { className: `w-5 h-5 sm:${compact ? "w-4 h-4" : "w-6 h-6"} text-gray-500` }),
2134
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[11px] sm:${compact ? "text-[10px]" : "text-xs"} text-gray-500 mt-1`, children: "Loading..." })
2133
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Camera, { className: `w-5 h-5 ${compact ? "sm:w-4 sm:h-4" : "sm:w-6 sm:h-6"} text-gray-500` }),
2134
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-[11px] ${compact ? "sm:text-[10px]" : "sm:text-xs"} text-gray-500 mt-1`, children: "Loading..." })
2135
2135
  ] }) }),
2136
2136
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 z-10", children: [
2137
2137
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2193,7 +2193,7 @@ var VideoCard = React__default.default.memo(({
2193
2193
  "data-testid": `video-card-status-badge-${badge.kind}`,
2194
2194
  "aria-label": tooltipText,
2195
2195
  "aria-describedby": tooltipId,
2196
- className: `group relative inline-flex shrink-0 items-center justify-center rounded-full bg-slate-950/70 border-2 shadow-[0_3px_10px_rgba(0,0,0,0.34),inset_0_0_0_1px_rgba(255,255,255,0.18)] ${compact ? "h-10 w-10" : "h-11 w-11"}`,
2196
+ className: `group relative inline-flex shrink-0 items-center justify-center rounded-full bg-slate-950/70 border-2 shadow-[0_3px_10px_rgba(0,0,0,0.34),inset_0_0_0_1px_rgba(255,255,255,0.18)] ${compact ? "h-7 w-7 sm:h-10 sm:w-10" : "h-8 w-8 sm:h-11 sm:w-11"}`,
2197
2197
  style: {
2198
2198
  borderColor: presentation.hex
2199
2199
  },
@@ -2202,7 +2202,7 @@ var VideoCard = React__default.default.memo(({
2202
2202
  Icon,
2203
2203
  {
2204
2204
  "aria-hidden": "true",
2205
- className: `${compact ? "h-5 w-5" : "h-6 w-6"} text-white`,
2205
+ className: `${compact ? "h-4 w-4 sm:h-5 sm:w-5" : "h-4 w-4 sm:h-6 sm:w-6"} text-white`,
2206
2206
  strokeWidth: 2.4
2207
2207
  }
2208
2208
  ),
@@ -2230,10 +2230,10 @@ var VideoCard = React__default.default.memo(({
2230
2230
  "div",
2231
2231
  {
2232
2232
  "data-testid": "video-card-worst-performance-marker",
2233
- className: `pointer-events-none absolute z-[65] inline-flex items-center rounded-md bg-[#1A0B09]/95 border border-[#E34329]/60 font-semibold tracking-wide text-white shadow-xl ${worstMarkerClassName}`,
2233
+ className: `pointer-events-none absolute z-[65] inline-flex items-center rounded-sm sm:rounded-md bg-[#1A0B09]/95 border border-[#E34329]/60 font-semibold tracking-wide text-white shadow-xl max-w-[calc(100%-8px)] sm:max-w-[calc(100%-16px)] ${worstMarkerClassName}`,
2234
2234
  children: [
2235
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: `${compact ? "h-3.5 w-3.5" : "h-4 w-4"} text-[#E34329]`, "aria-hidden": "true" }),
2236
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Overall Underperformer" })
2235
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: `${compact ? "h-3 w-3 sm:h-3.5 sm:w-3.5" : "h-3.5 w-3.5 sm:h-4 sm:w-4"} shrink-0 text-[#E34329]`, "aria-hidden": "true" }),
2236
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: `truncate leading-tight min-w-0 ${compact ? "hidden sm:block" : ""}`, children: "Overall Underperformer" })
2237
2237
  ]
2238
2238
  }
2239
2239
  ),
@@ -2246,10 +2246,10 @@ var VideoCard = React__default.default.memo(({
2246
2246
  }
2247
2247
  ) })
2248
2248
  ] }),
2249
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `absolute bottom-0 left-0 right-0 bg-black bg-opacity-60 p-1.5 sm:${compact ? "p-1" : "p-1.5"} flex min-w-0 justify-between items-center gap-1 z-10`, children: [
2249
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `absolute bottom-0 left-0 right-0 bg-black bg-opacity-60 p-1.5 ${compact ? "sm:p-1" : "sm:p-1.5"} flex min-w-0 justify-between items-center gap-1 z-10`, children: [
2250
2250
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [
2251
2251
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Camera, { size: compact ? 10 : 12, className: "shrink-0 text-white" }),
2252
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: `min-w-0 truncate text-white text-[11px] sm:${compact ? "text-[10px]" : "text-xs"} font-medium tracking-wide`, children: workspaceDisplayName })
2252
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: `min-w-0 truncate text-white text-[11px] ${compact ? "sm:text-[10px]" : "sm:text-xs"} font-medium tracking-wide`, children: workspaceDisplayName })
2253
2253
  ] }),
2254
2254
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex shrink-0 items-center ${compact ? "gap-1" : "gap-1.5"}`, children: [
2255
2255
  trendInfo && /* @__PURE__ */ jsxRuntime.jsx(
@@ -2266,7 +2266,7 @@ var VideoCard = React__default.default.memo(({
2266
2266
  className: `${compact ? "w-1 h-1" : "w-1.5 h-1.5"} rounded-full ${showOffline ? "bg-red-500" : "bg-green-500"}`
2267
2267
  }
2268
2268
  ),
2269
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-white text-[11px] sm:${compact ? "text-[10px]" : "text-xs"}`, children: showOffline ? "Offline" : "Live" })
2269
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-white text-[11px] ${compact ? "sm:text-[10px]" : "sm:text-xs"}`, children: showOffline ? "Offline" : "Live" })
2270
2270
  ] })
2271
2271
  ] })
2272
2272
  ]
@@ -2086,8 +2086,8 @@ var VideoCard = React.memo(({
2086
2086
  const efficiencyOverlayClass = videoGridColorState === "green" ? "bg-[#00D654]/25" : videoGridColorState === "blue" ? "bg-[#0EA5E9]/30" : videoGridColorState === "yellow" ? "bg-[#FFD700]/30" : videoGridColorState === "red" ? "bg-[#FF2D0A]/30" : "bg-transparent";
2087
2087
  const efficiencyBarClass = videoGridColorState === "green" ? "bg-[#00AB45]" : videoGridColorState === "blue" ? "bg-[#0EA5E9]" : videoGridColorState === "yellow" ? "bg-[#FFB020]" : videoGridColorState === "red" ? "bg-[#E34329]" : "bg-gray-500/70";
2088
2088
  const efficiencyStatus = videoGridColorState === "green" ? "High" : videoGridColorState === "blue" ? "Best" : videoGridColorState === "yellow" ? "Medium" : videoGridColorState === "red" ? "Low" : "Neutral";
2089
- const worstMarkerClassName = compact ? "left-1.5 top-1.5 gap-1.5 px-2 py-1 text-[11px]" : "left-2 top-2 gap-2 px-3 py-1.5 text-xs";
2090
- const statusBadgesPositionClass = isWorstPerformance ? compact ? "top-8 left-1.5 gap-1" : "top-10 left-2 gap-1.5" : compact ? "top-1.5 left-1.5 gap-1" : "top-2 left-2 gap-1.5";
2089
+ const worstMarkerClassName = compact ? "left-1 top-1 sm:left-1.5 sm:top-1.5 gap-1 sm:gap-1.5 p-1 sm:px-2 sm:py-1 text-[10px] sm:text-[11px]" : "left-1.5 top-1.5 sm:left-2 sm:top-2 gap-1 sm:gap-2 px-1.5 sm:px-3 py-0.5 sm:py-1.5 text-[10px] sm:text-xs";
2090
+ const statusBadgesPositionClass = isWorstPerformance ? compact ? "top-6 sm:top-8 left-1 sm:left-1.5 gap-1" : "top-7 sm:top-10 left-1.5 sm:left-2 gap-1 sm:gap-1.5" : compact ? "top-1 sm:top-1.5 left-1 sm:left-1.5 gap-1" : "top-1.5 sm:top-2 left-1.5 sm:left-2 gap-1 sm:gap-1.5";
2091
2091
  const trendInfo = workspace.trend !== void 0 ? getTrendArrowAndColor(workspace.trend) : null;
2092
2092
  const handleClick = useCallback(() => {
2093
2093
  trackCoreEvent("Workspace Card Clicked", {
@@ -2123,8 +2123,8 @@ var VideoCard = React.memo(({
2123
2123
  children: [
2124
2124
  /* @__PURE__ */ jsxs("div", { className: "relative w-full h-full overflow-hidden bg-black", children: [
2125
2125
  /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black z-0", children: /* @__PURE__ */ jsxs("div", { className: "animate-pulse flex flex-col items-center", children: [
2126
- /* @__PURE__ */ jsx(Camera, { className: `w-5 h-5 sm:${compact ? "w-4 h-4" : "w-6 h-6"} text-gray-500` }),
2127
- /* @__PURE__ */ jsx("span", { className: `text-[11px] sm:${compact ? "text-[10px]" : "text-xs"} text-gray-500 mt-1`, children: "Loading..." })
2126
+ /* @__PURE__ */ jsx(Camera, { className: `w-5 h-5 ${compact ? "sm:w-4 sm:h-4" : "sm:w-6 sm:h-6"} text-gray-500` }),
2127
+ /* @__PURE__ */ jsx("span", { className: `text-[11px] ${compact ? "sm:text-[10px]" : "sm:text-xs"} text-gray-500 mt-1`, children: "Loading..." })
2128
2128
  ] }) }),
2129
2129
  /* @__PURE__ */ jsxs("div", { className: "absolute inset-0 z-10", children: [
2130
2130
  /* @__PURE__ */ jsx(
@@ -2186,7 +2186,7 @@ var VideoCard = React.memo(({
2186
2186
  "data-testid": `video-card-status-badge-${badge.kind}`,
2187
2187
  "aria-label": tooltipText,
2188
2188
  "aria-describedby": tooltipId,
2189
- className: `group relative inline-flex shrink-0 items-center justify-center rounded-full bg-slate-950/70 border-2 shadow-[0_3px_10px_rgba(0,0,0,0.34),inset_0_0_0_1px_rgba(255,255,255,0.18)] ${compact ? "h-10 w-10" : "h-11 w-11"}`,
2189
+ className: `group relative inline-flex shrink-0 items-center justify-center rounded-full bg-slate-950/70 border-2 shadow-[0_3px_10px_rgba(0,0,0,0.34),inset_0_0_0_1px_rgba(255,255,255,0.18)] ${compact ? "h-7 w-7 sm:h-10 sm:w-10" : "h-8 w-8 sm:h-11 sm:w-11"}`,
2190
2190
  style: {
2191
2191
  borderColor: presentation.hex
2192
2192
  },
@@ -2195,7 +2195,7 @@ var VideoCard = React.memo(({
2195
2195
  Icon,
2196
2196
  {
2197
2197
  "aria-hidden": "true",
2198
- className: `${compact ? "h-5 w-5" : "h-6 w-6"} text-white`,
2198
+ className: `${compact ? "h-4 w-4 sm:h-5 sm:w-5" : "h-4 w-4 sm:h-6 sm:w-6"} text-white`,
2199
2199
  strokeWidth: 2.4
2200
2200
  }
2201
2201
  ),
@@ -2223,10 +2223,10 @@ var VideoCard = React.memo(({
2223
2223
  "div",
2224
2224
  {
2225
2225
  "data-testid": "video-card-worst-performance-marker",
2226
- className: `pointer-events-none absolute z-[65] inline-flex items-center rounded-md bg-[#1A0B09]/95 border border-[#E34329]/60 font-semibold tracking-wide text-white shadow-xl ${worstMarkerClassName}`,
2226
+ className: `pointer-events-none absolute z-[65] inline-flex items-center rounded-sm sm:rounded-md bg-[#1A0B09]/95 border border-[#E34329]/60 font-semibold tracking-wide text-white shadow-xl max-w-[calc(100%-8px)] sm:max-w-[calc(100%-16px)] ${worstMarkerClassName}`,
2227
2227
  children: [
2228
- /* @__PURE__ */ jsx(AlertTriangle, { className: `${compact ? "h-3.5 w-3.5" : "h-4 w-4"} text-[#E34329]`, "aria-hidden": "true" }),
2229
- /* @__PURE__ */ jsx("span", { children: "Overall Underperformer" })
2228
+ /* @__PURE__ */ jsx(AlertTriangle, { className: `${compact ? "h-3 w-3 sm:h-3.5 sm:w-3.5" : "h-3.5 w-3.5 sm:h-4 sm:w-4"} shrink-0 text-[#E34329]`, "aria-hidden": "true" }),
2229
+ /* @__PURE__ */ jsx("span", { className: `truncate leading-tight min-w-0 ${compact ? "hidden sm:block" : ""}`, children: "Overall Underperformer" })
2230
2230
  ]
2231
2231
  }
2232
2232
  ),
@@ -2239,10 +2239,10 @@ var VideoCard = React.memo(({
2239
2239
  }
2240
2240
  ) })
2241
2241
  ] }),
2242
- /* @__PURE__ */ jsxs("div", { className: `absolute bottom-0 left-0 right-0 bg-black bg-opacity-60 p-1.5 sm:${compact ? "p-1" : "p-1.5"} flex min-w-0 justify-between items-center gap-1 z-10`, children: [
2242
+ /* @__PURE__ */ jsxs("div", { className: `absolute bottom-0 left-0 right-0 bg-black bg-opacity-60 p-1.5 ${compact ? "sm:p-1" : "sm:p-1.5"} flex min-w-0 justify-between items-center gap-1 z-10`, children: [
2243
2243
  /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [
2244
2244
  /* @__PURE__ */ jsx(Camera, { size: compact ? 10 : 12, className: "shrink-0 text-white" }),
2245
- /* @__PURE__ */ jsx("p", { className: `min-w-0 truncate text-white text-[11px] sm:${compact ? "text-[10px]" : "text-xs"} font-medium tracking-wide`, children: workspaceDisplayName })
2245
+ /* @__PURE__ */ jsx("p", { className: `min-w-0 truncate text-white text-[11px] ${compact ? "sm:text-[10px]" : "sm:text-xs"} font-medium tracking-wide`, children: workspaceDisplayName })
2246
2246
  ] }),
2247
2247
  /* @__PURE__ */ jsxs("div", { className: `flex shrink-0 items-center ${compact ? "gap-1" : "gap-1.5"}`, children: [
2248
2248
  trendInfo && /* @__PURE__ */ jsx(
@@ -2259,7 +2259,7 @@ var VideoCard = React.memo(({
2259
2259
  className: `${compact ? "w-1 h-1" : "w-1.5 h-1.5"} rounded-full ${showOffline ? "bg-red-500" : "bg-green-500"}`
2260
2260
  }
2261
2261
  ),
2262
- /* @__PURE__ */ jsx("span", { className: `text-white text-[11px] sm:${compact ? "text-[10px]" : "text-xs"}`, children: showOffline ? "Offline" : "Live" })
2262
+ /* @__PURE__ */ jsx("span", { className: `text-white text-[11px] ${compact ? "sm:text-[10px]" : "sm:text-xs"}`, children: showOffline ? "Offline" : "Live" })
2263
2263
  ] })
2264
2264
  ] })
2265
2265
  ]
package/dist/index.css CHANGED
@@ -490,8 +490,8 @@ body {
490
490
  .-top-10 {
491
491
  top: -2.5rem;
492
492
  }
493
- .-top-4 {
494
- top: -1rem;
493
+ .-top-5 {
494
+ top: -1.25rem;
495
495
  }
496
496
  .-top-7 {
497
497
  top: -1.75rem;
@@ -523,6 +523,9 @@ body {
523
523
  .bottom-8 {
524
524
  bottom: 2rem;
525
525
  }
526
+ .bottom-\[-4px\] {
527
+ bottom: -4px;
528
+ }
526
529
  .bottom-\[15\%\] {
527
530
  bottom: 15%;
528
531
  }
@@ -604,9 +607,6 @@ body {
604
607
  .top-1\/4 {
605
608
  top: 25%;
606
609
  }
607
- .top-10 {
608
- top: 2.5rem;
609
- }
610
610
  .top-14 {
611
611
  top: 3.5rem;
612
612
  }
@@ -628,12 +628,21 @@ body {
628
628
  .top-5 {
629
629
  top: 1.25rem;
630
630
  }
631
+ .top-6 {
632
+ top: 1.5rem;
633
+ }
634
+ .top-7 {
635
+ top: 1.75rem;
636
+ }
631
637
  .top-8 {
632
638
  top: 2rem;
633
639
  }
634
640
  .top-\[-12px\] {
635
641
  top: -12px;
636
642
  }
643
+ .top-\[19px\] {
644
+ top: 19px;
645
+ }
637
646
  .top-full {
638
647
  top: 100%;
639
648
  }
@@ -673,15 +682,27 @@ body {
673
682
  .z-\[110\] {
674
683
  z-index: 110;
675
684
  }
685
+ .z-\[190\] {
686
+ z-index: 190;
687
+ }
688
+ .z-\[1\] {
689
+ z-index: 1;
690
+ }
691
+ .z-\[200\] {
692
+ z-index: 200;
693
+ }
694
+ .z-\[2\] {
695
+ z-index: 2;
696
+ }
697
+ .z-\[35\] {
698
+ z-index: 35;
699
+ }
676
700
  .z-\[60\] {
677
701
  z-index: 60;
678
702
  }
679
703
  .z-\[65\] {
680
704
  z-index: 65;
681
705
  }
682
- .z-\[70\] {
683
- z-index: 70;
684
- }
685
706
  .z-\[9998\] {
686
707
  z-index: 9998;
687
708
  }
@@ -1232,6 +1253,9 @@ body {
1232
1253
  .max-h-\[90vh\] {
1233
1254
  max-height: 90vh;
1234
1255
  }
1256
+ .max-h-\[calc\(100vh-12rem\)\] {
1257
+ max-height: calc(100vh - 12rem);
1258
+ }
1235
1259
  .max-h-\[calc\(100vh-80px\)\] {
1236
1260
  max-height: calc(100vh - 80px);
1237
1261
  }
@@ -1521,6 +1545,9 @@ body {
1521
1545
  .min-w-\[140px\] {
1522
1546
  min-width: 140px;
1523
1547
  }
1548
+ .min-w-\[146px\] {
1549
+ min-width: 146px;
1550
+ }
1524
1551
  .min-w-\[150px\] {
1525
1552
  min-width: 150px;
1526
1553
  }
@@ -1671,6 +1698,9 @@ body {
1671
1698
  .max-w-\[calc\(100\%-2rem\)\] {
1672
1699
  max-width: calc(100% - 2rem);
1673
1700
  }
1701
+ .max-w-\[calc\(100\%-8px\)\] {
1702
+ max-width: calc(100% - 8px);
1703
+ }
1674
1704
  .max-w-\[calc\(100vw-32px\)\] {
1675
1705
  max-width: calc(100vw - 32px);
1676
1706
  }
@@ -2392,6 +2422,10 @@ body {
2392
2422
  .border-none {
2393
2423
  border-style: none;
2394
2424
  }
2425
+ .\!border-blue-300 {
2426
+ --tw-border-opacity: 1 !important;
2427
+ border-color: rgb(147 197 253 / var(--tw-border-opacity, 1)) !important;
2428
+ }
2395
2429
  .border-\[\#00AB45\]\/20 {
2396
2430
  border-color: rgb(0 171 69 / 0.2);
2397
2431
  }
@@ -2417,6 +2451,9 @@ body {
2417
2451
  --tw-border-opacity: 1;
2418
2452
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
2419
2453
  }
2454
+ .border-amber-300\/30 {
2455
+ border-color: rgb(252 211 77 / 0.3);
2456
+ }
2420
2457
  .border-amber-300\/80 {
2421
2458
  border-color: rgb(252 211 77 / 0.8);
2422
2459
  }
@@ -2588,6 +2625,9 @@ body {
2588
2625
  --tw-border-opacity: 1;
2589
2626
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
2590
2627
  }
2628
+ .border-red-200\/30 {
2629
+ border-color: rgb(254 202 202 / 0.3);
2630
+ }
2591
2631
  .border-red-200\/60 {
2592
2632
  border-color: rgb(254 202 202 / 0.6);
2593
2633
  }
@@ -2598,6 +2638,12 @@ body {
2598
2638
  --tw-border-opacity: 1;
2599
2639
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
2600
2640
  }
2641
+ .border-red-300\/25 {
2642
+ border-color: rgb(252 165 165 / 0.25);
2643
+ }
2644
+ .border-red-300\/35 {
2645
+ border-color: rgb(252 165 165 / 0.35);
2646
+ }
2601
2647
  .border-red-400 {
2602
2648
  --tw-border-opacity: 1;
2603
2649
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
@@ -2652,6 +2698,9 @@ body {
2652
2698
  .border-slate-50\/50 {
2653
2699
  border-color: rgb(248 250 252 / 0.5);
2654
2700
  }
2701
+ .border-slate-500\/70 {
2702
+ border-color: rgb(100 116 139 / 0.7);
2703
+ }
2655
2704
  .border-teal-200 {
2656
2705
  --tw-border-opacity: 1;
2657
2706
  border-color: rgb(153 246 228 / var(--tw-border-opacity, 1));
@@ -2667,9 +2716,11 @@ body {
2667
2716
  --tw-border-opacity: 1;
2668
2717
  border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
2669
2718
  }
2670
- .border-white {
2671
- --tw-border-opacity: 1;
2672
- border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
2719
+ .border-violet-200\/35 {
2720
+ border-color: rgb(221 214 254 / 0.35);
2721
+ }
2722
+ .border-violet-300\/30 {
2723
+ border-color: rgb(196 181 253 / 0.3);
2673
2724
  }
2674
2725
  .border-white\/10 {
2675
2726
  border-color: rgb(255 255 255 / 0.1);
@@ -2778,6 +2829,9 @@ body {
2778
2829
  .bg-\[\#0EA5E9\]\/30 {
2779
2830
  background-color: rgb(14 165 233 / 0.3);
2780
2831
  }
2832
+ .bg-\[\#0b101b\]\/95 {
2833
+ background-color: rgb(11 16 27 / 0.95);
2834
+ }
2781
2835
  .bg-\[\#1A0B09\]\/95 {
2782
2836
  background-color: rgb(26 11 9 / 0.95);
2783
2837
  }
@@ -2850,6 +2904,9 @@ body {
2850
2904
  --tw-bg-opacity: 1;
2851
2905
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
2852
2906
  }
2907
+ .bg-amber-500\/20 {
2908
+ background-color: rgb(245 158 11 / 0.2);
2909
+ }
2853
2910
  .bg-black {
2854
2911
  --tw-bg-opacity: 1;
2855
2912
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
@@ -3159,12 +3216,15 @@ body {
3159
3216
  --tw-bg-opacity: 1;
3160
3217
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
3161
3218
  }
3162
- .bg-red-500\/10 {
3163
- background-color: rgb(239 68 68 / 0.1);
3219
+ .bg-red-500\/15 {
3220
+ background-color: rgb(239 68 68 / 0.15);
3164
3221
  }
3165
3222
  .bg-red-500\/20 {
3166
3223
  background-color: rgb(239 68 68 / 0.2);
3167
3224
  }
3225
+ .bg-red-500\/25 {
3226
+ background-color: rgb(239 68 68 / 0.25);
3227
+ }
3168
3228
  .bg-red-500\/30 {
3169
3229
  background-color: rgb(239 68 68 / 0.3);
3170
3230
  }
@@ -3182,6 +3242,9 @@ body {
3182
3242
  --tw-bg-opacity: 1;
3183
3243
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
3184
3244
  }
3245
+ .bg-red-950\/75 {
3246
+ background-color: rgb(69 10 10 / 0.75);
3247
+ }
3185
3248
  .bg-rose-100 {
3186
3249
  --tw-bg-opacity: 1;
3187
3250
  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));
@@ -3194,10 +3257,6 @@ body {
3194
3257
  --tw-bg-opacity: 1;
3195
3258
  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));
3196
3259
  }
3197
- .bg-sky-500 {
3198
- --tw-bg-opacity: 1;
3199
- background-color: rgb(14 165 233 / var(--tw-bg-opacity, 1));
3200
- }
3201
3260
  .bg-slate-100 {
3202
3261
  --tw-bg-opacity: 1;
3203
3262
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
@@ -3267,6 +3326,12 @@ body {
3267
3326
  --tw-bg-opacity: 1;
3268
3327
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
3269
3328
  }
3329
+ .bg-violet-500\/20 {
3330
+ background-color: rgb(139 92 246 / 0.2);
3331
+ }
3332
+ .bg-violet-950\/75 {
3333
+ background-color: rgb(46 16 101 / 0.75);
3334
+ }
3270
3335
  .bg-white {
3271
3336
  --tw-bg-opacity: 1;
3272
3337
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
@@ -4553,6 +4618,9 @@ body {
4553
4618
  .leading-tight {
4554
4619
  line-height: 1.25;
4555
4620
  }
4621
+ .tracking-\[-0\.01em\] {
4622
+ letter-spacing: -0.01em;
4623
+ }
4556
4624
  .tracking-\[0\.02em\] {
4557
4625
  letter-spacing: 0.02em;
4558
4626
  }
@@ -4565,6 +4633,9 @@ body {
4565
4633
  .tracking-\[0\.15em\] {
4566
4634
  letter-spacing: 0.15em;
4567
4635
  }
4636
+ .tracking-\[0\.16em\] {
4637
+ letter-spacing: 0.16em;
4638
+ }
4568
4639
  .tracking-\[0\.25em\] {
4569
4640
  letter-spacing: 0.25em;
4570
4641
  }
@@ -4888,6 +4959,10 @@ body {
4888
4959
  --tw-text-opacity: 1;
4889
4960
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
4890
4961
  }
4962
+ .text-red-50 {
4963
+ --tw-text-opacity: 1;
4964
+ color: rgb(254 242 242 / var(--tw-text-opacity, 1));
4965
+ }
4891
4966
  .text-red-500 {
4892
4967
  --tw-text-opacity: 1;
4893
4968
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
@@ -4923,6 +4998,10 @@ body {
4923
4998
  --tw-text-opacity: 1;
4924
4999
  color: rgb(14 165 233 / var(--tw-text-opacity, 1));
4925
5000
  }
5001
+ .text-slate-100 {
5002
+ --tw-text-opacity: 1;
5003
+ color: rgb(241 245 249 / var(--tw-text-opacity, 1));
5004
+ }
4926
5005
  .text-slate-200 {
4927
5006
  --tw-text-opacity: 1;
4928
5007
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
@@ -4970,10 +5049,18 @@ body {
4970
5049
  .text-transparent {
4971
5050
  color: transparent;
4972
5051
  }
5052
+ .text-violet-100 {
5053
+ --tw-text-opacity: 1;
5054
+ color: rgb(237 233 254 / var(--tw-text-opacity, 1));
5055
+ }
4973
5056
  .text-violet-300 {
4974
5057
  --tw-text-opacity: 1;
4975
5058
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
4976
5059
  }
5060
+ .text-violet-50 {
5061
+ --tw-text-opacity: 1;
5062
+ color: rgb(245 243 255 / var(--tw-text-opacity, 1));
5063
+ }
4977
5064
  .text-violet-600 {
4978
5065
  --tw-text-opacity: 1;
4979
5066
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
@@ -5157,6 +5244,22 @@ body {
5157
5244
  var(--tw-ring-shadow, 0 0 #0000),
5158
5245
  var(--tw-shadow);
5159
5246
  }
5247
+ .shadow-\[0_16px_36px_rgba\(0\,0\,0\,0\.48\)\] {
5248
+ --tw-shadow: 0 16px 36px rgba(0,0,0,0.48);
5249
+ --tw-shadow-colored: 0 16px 36px var(--tw-shadow-color);
5250
+ box-shadow:
5251
+ var(--tw-ring-offset-shadow, 0 0 #0000),
5252
+ var(--tw-ring-shadow, 0 0 #0000),
5253
+ var(--tw-shadow);
5254
+ }
5255
+ .shadow-\[0_16px_45px_rgba\(37\,99\,235\,0\.16\)\] {
5256
+ --tw-shadow: 0 16px 45px rgba(37,99,235,0.16);
5257
+ --tw-shadow-colored: 0 16px 45px var(--tw-shadow-color);
5258
+ box-shadow:
5259
+ var(--tw-ring-offset-shadow, 0 0 #0000),
5260
+ var(--tw-ring-shadow, 0 0 #0000),
5261
+ var(--tw-shadow);
5262
+ }
5160
5263
  .shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.04\)\] {
5161
5264
  --tw-shadow: 0 1px 2px rgba(0,0,0,0.04);
5162
5265
  --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
@@ -5213,6 +5316,14 @@ body {
5213
5316
  var(--tw-ring-shadow, 0 0 #0000),
5214
5317
  var(--tw-shadow);
5215
5318
  }
5319
+ .shadow-\[inset_3px_0_0_rgba\(37\,99\,235\,0\.75\)\] {
5320
+ --tw-shadow: inset 3px 0 0 rgba(37,99,235,0.75);
5321
+ --tw-shadow-colored: inset 3px 0 0 var(--tw-shadow-color);
5322
+ box-shadow:
5323
+ var(--tw-ring-offset-shadow, 0 0 #0000),
5324
+ var(--tw-ring-shadow, 0 0 #0000),
5325
+ var(--tw-shadow);
5326
+ }
5216
5327
  .shadow-inner {
5217
5328
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
5218
5329
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
@@ -5398,6 +5509,9 @@ body {
5398
5509
  .ring-amber-500\/10 {
5399
5510
  --tw-ring-color: rgb(245 158 11 / 0.1);
5400
5511
  }
5512
+ .ring-amber-500\/20 {
5513
+ --tw-ring-color: rgb(245 158 11 / 0.2);
5514
+ }
5401
5515
  .ring-amber-600\/30 {
5402
5516
  --tw-ring-color: rgb(217 119 6 / 0.3);
5403
5517
  }
@@ -5494,6 +5608,9 @@ body {
5494
5608
  .ring-slate-300\/30 {
5495
5609
  --tw-ring-color: rgb(203 213 225 / 0.3);
5496
5610
  }
5611
+ .ring-violet-500\/20 {
5612
+ --tw-ring-color: rgb(139 92 246 / 0.2);
5613
+ }
5497
5614
  .ring-white {
5498
5615
  --tw-ring-opacity: 1;
5499
5616
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
@@ -5573,6 +5690,11 @@ body {
5573
5690
  .filter {
5574
5691
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
5575
5692
  }
5693
+ .backdrop-blur {
5694
+ --tw-backdrop-blur: blur(8px);
5695
+ -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
5696
+ backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
5697
+ }
5576
5698
  .backdrop-blur-2xl {
5577
5699
  --tw-backdrop-blur: blur(40px);
5578
5700
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
@@ -5902,6 +6024,9 @@ input[type=range]:active::-moz-range-thumb {
5902
6024
  --tw-bg-opacity: 1;
5903
6025
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
5904
6026
  }
6027
+ .hover\:bg-blue-100\/80:hover {
6028
+ background-color: rgb(219 234 254 / 0.8);
6029
+ }
5905
6030
  .hover\:bg-blue-200:hover {
5906
6031
  --tw-bg-opacity: 1;
5907
6032
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
@@ -6021,10 +6146,6 @@ input[type=range]:active::-moz-range-thumb {
6021
6146
  --tw-bg-opacity: 1;
6022
6147
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
6023
6148
  }
6024
- .hover\:bg-sky-400:hover {
6025
- --tw-bg-opacity: 1;
6026
- background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1));
6027
- }
6028
6149
  .hover\:bg-slate-100:hover {
6029
6150
  --tw-bg-opacity: 1;
6030
6151
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
@@ -6437,10 +6558,6 @@ input[type=range]:active::-moz-range-thumb {
6437
6558
  --tw-ring-opacity: 1;
6438
6559
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
6439
6560
  }
6440
- .focus\:ring-sky-200:focus {
6441
- --tw-ring-opacity: 1;
6442
- --tw-ring-color: rgb(186 230 253 / var(--tw-ring-opacity, 1));
6443
- }
6444
6561
  .focus\:ring-slate-400:focus {
6445
6562
  --tw-ring-opacity: 1;
6446
6563
  --tw-ring-color: rgb(148 163 184 / var(--tw-ring-opacity, 1));
@@ -6711,6 +6828,12 @@ input[type=range]:active::-moz-range-thumb {
6711
6828
  .sm\:left-0 {
6712
6829
  left: 0px;
6713
6830
  }
6831
+ .sm\:left-1\.5 {
6832
+ left: 0.375rem;
6833
+ }
6834
+ .sm\:left-2 {
6835
+ left: 0.5rem;
6836
+ }
6714
6837
  .sm\:left-auto {
6715
6838
  left: auto;
6716
6839
  }
@@ -6729,9 +6852,21 @@ input[type=range]:active::-moz-range-thumb {
6729
6852
  .sm\:top-0 {
6730
6853
  top: 0px;
6731
6854
  }
6855
+ .sm\:top-1\.5 {
6856
+ top: 0.375rem;
6857
+ }
6858
+ .sm\:top-10 {
6859
+ top: 2.5rem;
6860
+ }
6861
+ .sm\:top-2 {
6862
+ top: 0.5rem;
6863
+ }
6732
6864
  .sm\:top-3 {
6733
6865
  top: 0.75rem;
6734
6866
  }
6867
+ .sm\:top-8 {
6868
+ top: 2rem;
6869
+ }
6735
6870
  .sm\:order-1 {
6736
6871
  order: 1;
6737
6872
  }
@@ -6817,6 +6952,12 @@ input[type=range]:active::-moz-range-thumb {
6817
6952
  .sm\:hidden {
6818
6953
  display: none;
6819
6954
  }
6955
+ .sm\:h-10 {
6956
+ height: 2.5rem;
6957
+ }
6958
+ .sm\:h-11 {
6959
+ height: 2.75rem;
6960
+ }
6820
6961
  .sm\:h-12 {
6821
6962
  height: 3rem;
6822
6963
  }
@@ -6829,6 +6970,9 @@ input[type=range]:active::-moz-range-thumb {
6829
6970
  .sm\:h-3 {
6830
6971
  height: 0.75rem;
6831
6972
  }
6973
+ .sm\:h-3\.5 {
6974
+ height: 0.875rem;
6975
+ }
6832
6976
  .sm\:h-4 {
6833
6977
  height: 1rem;
6834
6978
  }
@@ -6874,6 +7018,12 @@ input[type=range]:active::-moz-range-thumb {
6874
7018
  .sm\:min-h-\[320px\] {
6875
7019
  min-height: 320px;
6876
7020
  }
7021
+ .sm\:w-10 {
7022
+ width: 2.5rem;
7023
+ }
7024
+ .sm\:w-11 {
7025
+ width: 2.75rem;
7026
+ }
6877
7027
  .sm\:w-12 {
6878
7028
  width: 3rem;
6879
7029
  }
@@ -6889,6 +7039,9 @@ input[type=range]:active::-moz-range-thumb {
6889
7039
  .sm\:w-3 {
6890
7040
  width: 0.75rem;
6891
7041
  }
7042
+ .sm\:w-3\.5 {
7043
+ width: 0.875rem;
7044
+ }
6892
7045
  .sm\:w-36 {
6893
7046
  width: 9rem;
6894
7047
  }
@@ -6955,6 +7108,9 @@ input[type=range]:active::-moz-range-thumb {
6955
7108
  .sm\:max-w-\[85\%\] {
6956
7109
  max-width: 85%;
6957
7110
  }
7111
+ .sm\:max-w-\[calc\(100\%-16px\)\] {
7112
+ max-width: calc(100% - 16px);
7113
+ }
6958
7114
  .sm\:max-w-\[calc\(100\%-200px\)\] {
6959
7115
  max-width: calc(100% - 200px);
6960
7116
  }
@@ -7071,6 +7227,9 @@ input[type=range]:active::-moz-range-thumb {
7071
7227
  .sm\:rounded-lg {
7072
7228
  border-radius: 0.5rem;
7073
7229
  }
7230
+ .sm\:rounded-md {
7231
+ border-radius: 0.375rem;
7232
+ }
7074
7233
  .sm\:rounded-xl {
7075
7234
  border-radius: 0.75rem;
7076
7235
  }
@@ -7167,6 +7326,10 @@ input[type=range]:active::-moz-range-thumb {
7167
7326
  padding-left: 1.5rem;
7168
7327
  padding-right: 1.5rem;
7169
7328
  }
7329
+ .sm\:py-1 {
7330
+ padding-top: 0.25rem;
7331
+ padding-bottom: 0.25rem;
7332
+ }
7170
7333
  .sm\:py-1\.5 {
7171
7334
  padding-top: 0.375rem;
7172
7335
  padding-bottom: 0.375rem;
package/dist/index.d.mts CHANGED
@@ -1110,6 +1110,7 @@ interface RedFlowTimelineBin {
1110
1110
  actual_ppm?: number | null;
1111
1111
  target_ppm?: number | null;
1112
1112
  efficiency_percent?: number | null;
1113
+ is_idle?: boolean | null;
1113
1114
  }
1114
1115
  interface RedFlowWorstMinute {
1115
1116
  start_time?: string | null;
@@ -7822,6 +7823,7 @@ interface HourlyOutputChartProps {
7822
7823
  onHourClick?: (payload: HourlyOutputBarClickPayload) => void;
7823
7824
  onWatchClipsClick?: (payload: HourlyOutputBarClickPayload) => void;
7824
7825
  onAiSummaryClick?: (payload: HourlyOutputBarClickPayload) => void;
7826
+ onSelectSku?: (skuId: string | null) => void;
7825
7827
  }
7826
7828
 
7827
7829
  declare const HourlyOutputChart: (props: HourlyOutputChartProps) => react_jsx_runtime.JSX.Element;