@optifye/dashboard-core 6.9.12 → 6.9.14

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.
package/dist/index.d.mts CHANGED
@@ -119,6 +119,186 @@ interface DashboardKPIs {
119
119
  };
120
120
  }
121
121
 
122
+ /**
123
+ * Represents the current operational shift information.
124
+ */
125
+ type CurrentShiftResult = {
126
+ /**
127
+ * Identifier for the shift.
128
+ * Typically 0/1 for Day/Night by default, but can be any configured shift id.
129
+ */
130
+ shiftId: number;
131
+ /**
132
+ * The operational date associated with the shift, in YYYY-MM-DD format.
133
+ */
134
+ date: string;
135
+ /**
136
+ * Human-readable shift name, if available.
137
+ */
138
+ shiftName?: string;
139
+ /**
140
+ * Shift start time in HH:MM.
141
+ */
142
+ startTime?: string;
143
+ /**
144
+ * Shift end time in HH:MM.
145
+ */
146
+ endTime?: string;
147
+ /**
148
+ * Timezone used to compute the shift.
149
+ */
150
+ timezone?: string;
151
+ };
152
+ /**
153
+ * Type definitions for the Shifts management functionality
154
+ */
155
+ /**
156
+ * Represents a break period with start and end times
157
+ */
158
+ interface Break {
159
+ /** Break start time in HH:MM format */
160
+ startTime: string;
161
+ /** Break end time in HH:MM format */
162
+ endTime: string;
163
+ /** Duration of the break in minutes */
164
+ duration: number;
165
+ /** Break remarks */
166
+ remarks?: string;
167
+ }
168
+ /**
169
+ * Represents day or night shift time configuration
170
+ */
171
+ interface ShiftTime {
172
+ /** Shift start time in HH:MM format */
173
+ startTime: string;
174
+ /** Shift end time in HH:MM format */
175
+ endTime: string;
176
+ /** Array of breaks during this shift */
177
+ breaks: Break[];
178
+ }
179
+ /**
180
+ * Represents a DB-driven shift definition.
181
+ */
182
+ interface ShiftDefinition {
183
+ shiftId: number;
184
+ shiftName: string;
185
+ startTime: string;
186
+ endTime: string;
187
+ breaks: Break[];
188
+ timezone?: string;
189
+ }
190
+ /**
191
+ * Represents a complete shift configuration for a line
192
+ * @deprecated Use DynamicLineShiftConfig for new code supporting N shifts
193
+ */
194
+ interface LineShiftConfig {
195
+ /** Line ID */
196
+ id: string;
197
+ /** Line name for display */
198
+ name: string;
199
+ /** Day shift configuration */
200
+ dayShift: ShiftTime;
201
+ /** Night shift configuration */
202
+ nightShift: ShiftTime;
203
+ /** Whether the line configuration panel is open/expanded */
204
+ isOpen: boolean;
205
+ /** Whether the configuration is currently being saved */
206
+ isSaving: boolean;
207
+ /** Whether the save operation was successful */
208
+ saveSuccess: boolean;
209
+ }
210
+ /**
211
+ * Represents a complete shift configuration for a line with support for N shifts
212
+ * This is the modern version that supports multi-shift configurations (2, 3, 4+ shifts)
213
+ */
214
+ interface DynamicLineShiftConfig {
215
+ /** Line ID */
216
+ id: string;
217
+ /** Line name for display */
218
+ name: string;
219
+ /** Timezone for this line (e.g., 'Asia/Kolkata') */
220
+ timezone: string;
221
+ /** Array of all shifts configured for this line */
222
+ shifts: ShiftDefinition[];
223
+ /** Whether the line configuration panel is open/expanded */
224
+ isOpen: boolean;
225
+ /** Whether the configuration is currently being saved */
226
+ isSaving: boolean;
227
+ /** Whether the save operation was successful */
228
+ saveSuccess: boolean;
229
+ }
230
+ /**
231
+ * Map of line ID to shift hours configuration
232
+ */
233
+ interface ShiftHoursMap {
234
+ [key: string]: ShiftTime;
235
+ }
236
+ /**
237
+ * Props for BreakRow component
238
+ */
239
+ interface BreakRowProps {
240
+ /** Break configuration */
241
+ break: Break;
242
+ /** Index of this break in the list */
243
+ index: number;
244
+ /** Function to update break time */
245
+ onUpdate: (index: number, field: 'startTime' | 'endTime' | 'remarks', value: string) => void;
246
+ /** Function to remove this break */
247
+ onRemove: (index: number) => void;
248
+ }
249
+ /**
250
+ * Props for the ShiftPanel component
251
+ */
252
+ interface ShiftPanelProps {
253
+ /** Title of the shift panel (e.g., "Day Shift", "Night Shift") */
254
+ title: string;
255
+ /** Icon to display next to the title */
256
+ icon: React.ReactNode;
257
+ /** Shift start time in HH:MM format */
258
+ startTime: string;
259
+ /** Shift end time in HH:MM format */
260
+ endTime: string;
261
+ /** Array of breaks during this shift */
262
+ breaks: Break[];
263
+ /** Function to handle start time changes */
264
+ onStartTimeChange: (value: string) => void;
265
+ /** Function to handle end time changes */
266
+ onEndTimeChange: (value: string) => void;
267
+ /** Function to update break times */
268
+ onBreakUpdate: (index: number, field: 'startTime' | 'endTime' | 'remarks', value: string) => void;
269
+ /** Function to remove a break */
270
+ onBreakRemove: (index: number) => void;
271
+ /** Function to add a new break */
272
+ onBreakAdd: () => void;
273
+ /** Total shift hours after subtracting breaks */
274
+ shiftHours: number;
275
+ /** Shift ID (optional for backwards compatibility) */
276
+ shiftId?: number;
277
+ /** Function to handle shift name changes (optional for backwards compatibility) */
278
+ onShiftNameChange?: (value: string) => void;
279
+ /** Whether the shift can be deleted (optional, default false) */
280
+ canDelete?: boolean;
281
+ /** Function to delete the shift (optional) */
282
+ onDelete?: () => void;
283
+ }
284
+ /**
285
+ * Props for the ShiftsView component
286
+ */
287
+ interface ShiftsViewProps {
288
+ /** Line configurations to display, or default to LINE_1_UUID if not provided */
289
+ lineIds?: string[];
290
+ /** Map of line IDs to line names, or use defaults if not provided */
291
+ lineNames?: Record<string, string>;
292
+ /** Company UUID for identifying the company */
293
+ companyUuid?: string;
294
+ /** Function called when back button is clicked */
295
+ onBackClick?: () => void;
296
+ /** Function to override default toast behavior (useful for testing or custom notifications) */
297
+ onToast?: (type: 'success' | 'error', message: string) => void;
298
+ /** Optional className for custom styling */
299
+ className?: string;
300
+ }
301
+
122
302
  interface ThemeColorValue {
123
303
  DEFAULT: string;
124
304
  foreground?: string;
@@ -209,17 +389,30 @@ interface EntityConfig {
209
389
  lines?: Record<string, string>;
210
390
  }
211
391
  interface ShiftConfig {
392
+ /**
393
+ * DB-driven shift definitions (preferred).
394
+ */
395
+ shifts?: ShiftDefinition[];
396
+ /**
397
+ * Legacy day shift config (fallback only).
398
+ */
212
399
  dayShift?: {
213
400
  id?: number;
214
401
  startTime?: string;
215
402
  endTime?: string;
403
+ name?: string;
216
404
  };
405
+ /**
406
+ * Legacy night shift config (fallback only).
407
+ */
217
408
  nightShift?: {
218
409
  id?: number;
219
410
  startTime?: string;
220
411
  endTime?: string;
412
+ name?: string;
221
413
  };
222
414
  transitionPeriodMinutes?: number;
415
+ timezone?: string;
223
416
  }
224
417
  interface WorkspaceConfig {
225
418
  /** @deprecated Use lineDisplayNames for multi-line support */
@@ -599,130 +792,6 @@ interface PageHeaderProps {
599
792
  onMobileMenuOpen?: () => void;
600
793
  }
601
794
 
602
- /**
603
- * Represents the current operational shift information.
604
- */
605
- type CurrentShiftResult = {
606
- /**
607
- * Identifier for the shift.
608
- * Typically 0 for Day shift, 1 for Night shift, based on default configuration.
609
- */
610
- shiftId: 0 | 1;
611
- /**
612
- * The operational date associated with the shift, in YYYY-MM-DD format.
613
- */
614
- date: string;
615
- };
616
- /**
617
- * Type definitions for the Shifts management functionality
618
- */
619
- /**
620
- * Represents a break period with start and end times
621
- */
622
- interface Break {
623
- /** Break start time in HH:MM format */
624
- startTime: string;
625
- /** Break end time in HH:MM format */
626
- endTime: string;
627
- /** Duration of the break in minutes */
628
- duration: number;
629
- /** Break remarks */
630
- remarks?: string;
631
- }
632
- /**
633
- * Represents day or night shift time configuration
634
- */
635
- interface ShiftTime {
636
- /** Shift start time in HH:MM format */
637
- startTime: string;
638
- /** Shift end time in HH:MM format */
639
- endTime: string;
640
- /** Array of breaks during this shift */
641
- breaks: Break[];
642
- }
643
- /**
644
- * Represents a complete shift configuration for a line
645
- */
646
- interface LineShiftConfig {
647
- /** Line ID */
648
- id: string;
649
- /** Line name for display */
650
- name: string;
651
- /** Day shift configuration */
652
- dayShift: ShiftTime;
653
- /** Night shift configuration */
654
- nightShift: ShiftTime;
655
- /** Whether the line configuration panel is open/expanded */
656
- isOpen: boolean;
657
- /** Whether the configuration is currently being saved */
658
- isSaving: boolean;
659
- /** Whether the save operation was successful */
660
- saveSuccess: boolean;
661
- }
662
- /**
663
- * Map of line ID to shift hours configuration
664
- */
665
- interface ShiftHoursMap {
666
- [key: string]: ShiftTime;
667
- }
668
- /**
669
- * Props for BreakRow component
670
- */
671
- interface BreakRowProps {
672
- /** Break configuration */
673
- break: Break;
674
- /** Index of this break in the list */
675
- index: number;
676
- /** Function to update break time */
677
- onUpdate: (index: number, field: 'startTime' | 'endTime' | 'remarks', value: string) => void;
678
- /** Function to remove this break */
679
- onRemove: (index: number) => void;
680
- }
681
- /**
682
- * Props for the ShiftPanel component
683
- */
684
- interface ShiftPanelProps {
685
- /** Title of the shift panel (e.g., "Day Shift", "Night Shift") */
686
- title: string;
687
- /** Icon to display next to the title */
688
- icon: React.ReactNode;
689
- /** Shift start time in HH:MM format */
690
- startTime: string;
691
- /** Shift end time in HH:MM format */
692
- endTime: string;
693
- /** Array of breaks during this shift */
694
- breaks: Break[];
695
- /** Function to handle start time changes */
696
- onStartTimeChange: (value: string) => void;
697
- /** Function to handle end time changes */
698
- onEndTimeChange: (value: string) => void;
699
- /** Function to update break times */
700
- onBreakUpdate: (index: number, field: 'startTime' | 'endTime' | 'remarks', value: string) => void;
701
- /** Function to remove a break */
702
- onBreakRemove: (index: number) => void;
703
- /** Function to add a new break */
704
- onBreakAdd: () => void;
705
- /** Total shift hours after subtracting breaks */
706
- shiftHours: number;
707
- }
708
- /**
709
- * Props for the ShiftsView component
710
- */
711
- interface ShiftsViewProps {
712
- /** Line configurations to display, or default to LINE_1_UUID if not provided */
713
- lineIds?: string[];
714
- /** Map of line IDs to line names, or use defaults if not provided */
715
- lineNames?: Record<string, string>;
716
- /** Company UUID for identifying the company */
717
- companyUuid?: string;
718
- /** Function called when back button is clicked */
719
- onBackClick?: () => void;
720
- /** Function to override default toast behavior (useful for testing or custom notifications) */
721
- onToast?: (type: 'success' | 'error', message: string) => void;
722
- /** Optional className for custom styling */
723
- className?: string;
724
- }
725
-
726
795
  /**
727
796
  * Represents a line with nested factory and company info.
728
797
  */
@@ -764,8 +833,10 @@ interface UnderperformingWorkspace {
764
833
  }[];
765
834
  }
766
835
  interface UnderperformingWorkspaces {
767
- dayShift: UnderperformingWorkspace[];
768
- nightShift: UnderperformingWorkspace[];
836
+ dayShift?: UnderperformingWorkspace[];
837
+ nightShift?: UnderperformingWorkspace[];
838
+ /** Support N-shifts by shift ID (0, 1, 2, ...) */
839
+ [shiftId: number]: UnderperformingWorkspace[] | undefined;
769
840
  }
770
841
 
771
842
  interface QualityMetric {
@@ -1834,6 +1905,34 @@ interface UptimeDetails {
1834
1905
  percentage: number;
1835
1906
  lastCalculated: string;
1836
1907
  }
1908
+ type UptimeStatus = 'up' | 'down' | 'pending';
1909
+ interface WorkspaceUptimeTimelinePoint {
1910
+ minuteIndex: number;
1911
+ timestamp: string;
1912
+ status: UptimeStatus;
1913
+ }
1914
+ interface WorkspaceDowntimeSegment {
1915
+ startMinuteIndex: number;
1916
+ endMinuteIndex: number;
1917
+ startTime: string;
1918
+ endTime: string;
1919
+ durationMinutes: number;
1920
+ }
1921
+ interface WorkspaceUptimeTimeline {
1922
+ shiftId: number;
1923
+ shiftLabel: string;
1924
+ shiftStart: string;
1925
+ shiftEnd: string;
1926
+ totalMinutes: number;
1927
+ completedMinutes: number;
1928
+ uptimeMinutes: number;
1929
+ downtimeMinutes: number;
1930
+ pendingMinutes: number;
1931
+ uptimePercentage: number;
1932
+ generatedAt: string;
1933
+ points: WorkspaceUptimeTimelinePoint[];
1934
+ downtimeSegments: WorkspaceDowntimeSegment[];
1935
+ }
1837
1936
  interface HealthFilterOptions {
1838
1937
  lineId?: string;
1839
1938
  companyId?: string;
@@ -1841,6 +1940,8 @@ interface HealthFilterOptions {
1841
1940
  searchTerm?: string;
1842
1941
  sortBy?: 'name' | 'status' | 'lastUpdate';
1843
1942
  sortOrder?: 'asc' | 'desc';
1943
+ shiftConfig?: any;
1944
+ timezone?: string;
1844
1945
  }
1845
1946
  interface HealthMetrics {
1846
1947
  avgResponseTime?: number;
@@ -1849,6 +1950,76 @@ interface HealthMetrics {
1849
1950
  mttr?: number;
1850
1951
  }
1851
1952
 
1953
+ /**
1954
+ * Calendar-related types for multi-shift support
1955
+ *
1956
+ * These types support N shifts (0, 1, 2, 3, ...) instead of just day/night
1957
+ */
1958
+ /**
1959
+ * Calendar shift performance data for a single shift
1960
+ * (Used by workspace calendar/history components)
1961
+ */
1962
+ interface CalendarShiftData {
1963
+ /** Efficiency percentage (0-100) */
1964
+ efficiency: number;
1965
+ /** Total output count */
1966
+ output: number;
1967
+ /** Average cycle time in seconds */
1968
+ cycleTime: number;
1969
+ /** Pieces per hour */
1970
+ pph: number;
1971
+ /** PPH threshold target */
1972
+ pphThreshold: number;
1973
+ /** Ideal/target output for the shift */
1974
+ idealOutput: number;
1975
+ /** Workspace rank for this shift */
1976
+ rank: number;
1977
+ /** Total idle time in seconds */
1978
+ idleTime: number;
1979
+ /** Flag indicating if this is real data (vs placeholder zeros) */
1980
+ hasData?: boolean;
1981
+ }
1982
+ /**
1983
+ * Day data structure with multi-shift support
1984
+ *
1985
+ * Uses a Record<number, CalendarShiftData> to support any number of shifts
1986
+ * keyed by shift_id (0, 1, 2, 3, ...)
1987
+ */
1988
+ interface DayData {
1989
+ /** The date for this day */
1990
+ date: Date;
1991
+ /** Shift data keyed by shift_id (0, 1, 2, ...) */
1992
+ shifts: Record<number, CalendarShiftData>;
1993
+ }
1994
+ /**
1995
+ * Default shift data with zero values
1996
+ * Used when a shift has no data for a given day
1997
+ */
1998
+ declare const DEFAULT_SHIFT_DATA: CalendarShiftData;
1999
+ /**
2000
+ * Gets shift data for a specific shift ID from a DayData object
2001
+ * Returns default zero values if the shift doesn't exist
2002
+ *
2003
+ * @param day - The DayData object
2004
+ * @param shiftId - The numeric shift ID (0, 1, 2, ...)
2005
+ * @returns CalendarShiftData for the specified shift
2006
+ */
2007
+ declare const getShiftData: (day: DayData, shiftId: number) => CalendarShiftData;
2008
+ /**
2009
+ * Checks if a day has any shift data
2010
+ *
2011
+ * @param day - The DayData object to check
2012
+ * @returns true if the day has at least one shift with data
2013
+ */
2014
+ declare const hasAnyShiftData: (day: DayData) => boolean;
2015
+ /**
2016
+ * Gets all available shift IDs for a day, sorted ascending
2017
+ *
2018
+ * @param day - The DayData object
2019
+ * @returns Array of shift IDs that have data
2020
+ */
2021
+ declare const getAvailableShiftIds: (day: DayData) => number[];
2022
+
1852
2023
  interface DashboardProviderProps {
1853
2024
  config: Partial<DashboardConfig>;
1854
2025
  children: React$1.ReactNode;
@@ -2180,6 +2351,15 @@ declare const useMetrics: <T extends Metric>(tableName: string, options?: {
2180
2351
  refetch: () => Promise<void>;
2181
2352
  };
2182
2353
 
2354
+ /**
2355
+ * Options for useWorkspaceDetailedMetrics
2356
+ */
2357
+ interface UseWorkspaceDetailedMetricsOptions {
2358
+ /** Optional shift configuration override (e.g. dynamic config) */
2359
+ shiftConfig?: ShiftConfig | null;
2360
+ /** Whether to enable fetching metrics (defaults to true) */
2361
+ enabled?: boolean;
2362
+ }
2183
2363
  /**
2184
2364
  * @hook useWorkspaceDetailedMetrics
2185
2365
  * @summary Fetches and subscribes to detailed real-time metrics for a specific workspace.
@@ -2196,6 +2376,7 @@ declare const useMetrics: <T extends Metric>(tableName: string, options?: {
2196
2376
  * overriding the current operational date.
2197
2377
  * @param {number} [shiftId] - Optional. The ID of the shift to fetch metrics for, overriding the current shift.
2198
2378
  * Requires `dateOverride` to also be provided if used.
2379
+ * @param {UseWorkspaceDetailedMetricsOptions} [options] - Optional configuration options.
2199
2380
  *
2200
2381
  * @returns {object} An object containing:
2201
2382
  * @returns {WorkspaceDetailedMetrics | null} metrics - The detailed metrics for the workspace, or null if not loaded/found.
@@ -2211,7 +2392,7 @@ declare const useMetrics: <T extends Metric>(tableName: string, options?: {
2211
2392
  * // Render workspace details using metrics object
2212
2393
  * }
2213
2394
  */
2214
- declare const useWorkspaceDetailedMetrics: (workspaceId: string, date?: string, shiftId?: number) => {
2395
+ declare const useWorkspaceDetailedMetrics: (workspaceId: string, date?: string, shiftId?: number, options?: UseWorkspaceDetailedMetricsOptions) => {
2215
2396
  metrics: WorkspaceDetailedMetrics | null;
2216
2397
  isLoading: boolean;
2217
2398
  error: MetricsError | null;
@@ -2226,6 +2407,8 @@ interface UseLineWorkspaceMetricsOptions {
2226
2407
  initialDate?: string;
2227
2408
  /** Specific shift ID to fetch metrics for, overriding the current shift. */
2228
2409
  initialShiftId?: number;
2410
+ /** Whether to enable fetching metrics (defaults to true) */
2411
+ enabled?: boolean;
2229
2412
  }
2230
2413
  /**
2231
2414
  * @hook useLineWorkspaceMetrics
@@ -2262,6 +2445,15 @@ declare const useLineWorkspaceMetrics: (lineId: string, options?: UseLineWorkspa
2262
2445
  refreshWorkspaces: () => Promise<void>;
2263
2446
  };
2264
2447
 
2448
+ /**
2449
+ * Options for useHistoricWorkspaceMetrics
2450
+ */
2451
+ interface UseHistoricWorkspaceMetricsOptions {
2452
+ /** Optional shift configuration for dynamic shift names */
2453
+ shiftConfig?: ShiftConfig | null;
2454
+ /** Whether to enable fetching metrics (defaults to true) */
2455
+ enabled?: boolean;
2456
+ }
2265
2457
  /**
2266
2458
  * Historical metrics data for a workspace
2267
2459
  * Matches WorkspaceDetailedMetrics structure for compatibility
@@ -2310,6 +2502,7 @@ interface HistoricWorkspaceMetrics {
2310
2502
  * @param {string} workspaceId - The workspace UUID
2311
2503
  * @param {string} date - Date (YYYY-MM-DD)
2312
2504
  * @param {number} [shiftId] - Optional shift ID (0=all, 1=day, 2=night)
2505
+ * @param {UseHistoricWorkspaceMetricsOptions} [options] - Optional config options
2313
2506
  *
2314
2507
  * @returns {object} Object containing:
2315
2508
  * - metrics: Historical workspace metrics
@@ -2324,7 +2517,7 @@ interface HistoricWorkspaceMetrics {
2324
2517
  * 0
2325
2518
  * );
2326
2519
  */
2327
- declare const useHistoricWorkspaceMetrics: (workspaceId: string, date: string, shiftId?: number) => {
2520
+ declare const useHistoricWorkspaceMetrics: (workspaceId: string, date: string, shiftId?: number, options?: UseHistoricWorkspaceMetricsOptions) => {
2328
2521
  metrics: HistoricWorkspaceMetrics | null;
2329
2522
  isLoading: boolean;
2330
2523
  error: MetricsError | null;
@@ -2492,6 +2685,8 @@ type LineKPIsProps = {
2492
2685
  * Use 'factory' (or the configured `entityConfig.factoryViewId`) for an aggregated factory view.
2493
2686
  */
2494
2687
  lineId: string;
2688
+ /** Whether to enable fetching metrics (defaults to true) */
2689
+ enabled?: boolean;
2495
2690
  };
2496
2691
  /**
2497
2692
  * @hook useLineKPIs
@@ -2523,7 +2718,7 @@ type LineKPIsProps = {
2523
2718
  * // e.g., <p>Efficiency: {kpis.efficiency.value}%</p>
2524
2719
  * }
2525
2720
  */
2526
- declare const useLineKPIs: ({ lineId }: LineKPIsProps) => {
2721
+ declare const useLineKPIs: ({ lineId, enabled }: LineKPIsProps) => {
2527
2722
  kpis: DashboardKPIs | null;
2528
2723
  isLoading: boolean;
2529
2724
  error: MetricsError | null;
@@ -2592,6 +2787,8 @@ type RealtimeLineMetricsProps = {
2592
2787
  date?: string;
2593
2788
  shiftId?: number;
2594
2789
  onMetricsUpdate?: () => void;
2790
+ /** Whether to enable fetching metrics (defaults to true) */
2791
+ enabled?: boolean;
2595
2792
  };
2596
2793
  /**
2597
2794
  * Custom hook to fetch and subscribe to real-time line metrics for a specified line or factory view.
@@ -2609,7 +2806,7 @@ type RealtimeLineMetricsProps = {
2609
2806
  * - `error`: Error object if an error occurred.
2610
2807
  * - `refreshMetrics`: Function to manually refresh metrics.
2611
2808
  */
2612
- declare const useRealtimeLineMetrics: ({ lineId, date: urlDate, shiftId: urlShiftId, onMetricsUpdate }: RealtimeLineMetricsProps) => {
2809
+ declare const useRealtimeLineMetrics: ({ lineId, date: urlDate, shiftId: urlShiftId, onMetricsUpdate, enabled }: RealtimeLineMetricsProps) => {
2613
2810
  metrics: LineMetrics | null;
2614
2811
  lineDetails: LineDetails | null;
2615
2812
  loading: boolean;
@@ -2693,7 +2890,7 @@ declare const useTargets: (options?: UseTargetsOptions) => {
2693
2890
  * @property {string} [createdAt] - Timestamp of creation.
2694
2891
  * @property {string} [updatedAt] - Timestamp of last update.
2695
2892
  */
2696
- interface ShiftData$3 {
2893
+ interface ShiftData {
2697
2894
  id: string | number;
2698
2895
  name: string;
2699
2896
  startTime: string;
@@ -2724,7 +2921,7 @@ interface ShiftData$3 {
2724
2921
  * // Render shifts information
2725
2922
  */
2726
2923
  declare const useShifts: () => {
2727
- shifts: ShiftData$3[];
2924
+ shifts: ShiftData[];
2728
2925
  isLoading: boolean;
2729
2926
  error: MetricsError | null;
2730
2927
  refetch: () => Promise<void>;
@@ -2990,7 +3187,7 @@ declare const useWorkspaceDisplayNamesMap: (workspaceIds: string[], lineId?: str
2990
3187
  interface ActiveBreak extends Break {
2991
3188
  /** The line ID where this break is active */
2992
3189
  lineId: string;
2993
- /** The shift name (Day Shift or Night Shift) */
3190
+ /** The shift name (from DB or default: Day Shift, Night Shift, etc.) */
2994
3191
  shiftName: string;
2995
3192
  /** Minutes elapsed since break started */
2996
3193
  elapsedMinutes: number;
@@ -3021,6 +3218,8 @@ interface UseAllWorkspaceMetricsOptions {
3021
3218
  initialShiftId?: number;
3022
3219
  /** Optional array of line IDs that the user has access to. If not provided, uses all configured lines. */
3023
3220
  allowedLineIds?: string[];
3221
+ /** Whether to enable fetching metrics (defaults to true) */
3222
+ enabled?: boolean;
3024
3223
  }
3025
3224
  /**
3026
3225
  * @hook useAllWorkspaceMetrics
@@ -3340,7 +3539,9 @@ declare function useClipTypes(): UseClipTypesResult;
3340
3539
  /**
3341
3540
  * Hook to get clip types with counts for a specific workspace/date/shift
3342
3541
  */
3343
- declare function useClipTypesWithCounts(workspaceId: string, date: string, shiftId: string | number, totalOutput?: number): UseClipTypesResult & {
3542
+ declare function useClipTypesWithCounts(workspaceId: string, date: string, shiftId: string | number, totalOutput?: number, options?: {
3543
+ enabled?: boolean;
3544
+ }): UseClipTypesResult & {
3344
3545
  counts: Record<string, number>;
3345
3546
  };
3346
3547
 
@@ -3363,8 +3564,8 @@ interface UseLineShiftConfigResult {
3363
3564
  declare const useLineShiftConfig: (lineId?: string, fallbackConfig?: ShiftConfig) => UseLineShiftConfigResult;
3364
3565
 
3365
3566
  interface UseDynamicShiftConfigResult {
3366
- /** The final shift configuration (DB data with static fallback) */
3367
- shiftConfig: ShiftConfig;
3567
+ /** The final shift configuration - null while loading, DB data when ready, static fallback if DB fails */
3568
+ shiftConfig: ShiftConfig | null;
3368
3569
  /** Whether the shift config is being loaded from database */
3369
3570
  isLoading: boolean;
3370
3571
  /** Error message if any */
@@ -3640,6 +3841,23 @@ interface UseWorkspaceHealthStatusReturn {
3640
3841
  */
3641
3842
  declare const useWorkspaceHealthStatus: (workspaceId: string) => UseWorkspaceHealthStatusReturn;
3642
3843
 
3844
+ interface UseWorkspaceUptimeTimelineOptions {
3845
+ workspaceId?: string;
3846
+ companyId?: string;
3847
+ enabled?: boolean;
3848
+ refreshInterval?: number;
3849
+ lineId?: string;
3850
+ shiftConfig?: any;
3851
+ timezone?: string;
3852
+ }
3853
+ interface UseWorkspaceUptimeTimelineResult {
3854
+ timeline: WorkspaceUptimeTimeline | null;
3855
+ loading: boolean;
3856
+ error: MetricsError | null;
3857
+ refetch: () => Promise<void>;
3858
+ }
3859
+ declare const useWorkspaceUptimeTimeline: (options: UseWorkspaceUptimeTimelineOptions) => UseWorkspaceUptimeTimelineResult;
3860
+
3643
3861
  /**
3644
3862
  * @typedef {object} DateTimeConfigShape
3645
3863
  * @description Shape of the dateTimeConfig object expected from useDateTimeConfig.
@@ -3951,10 +4169,10 @@ declare const dashboardService: {
3951
4169
  getWorkspaceDetailedMetrics(workspaceUuid: string, dateProp?: string, shiftIdProp?: number): Promise<WorkspaceDetailedMetrics | null>;
3952
4170
  calculateKPIs(lineInfo: LineInfo): DashboardKPIs;
3953
4171
  getAllLines(): Promise<SimpleLine[]>;
3954
- getDetailedLineInfo(lineIdInput?: string, dateProp?: string, shiftProp?: number): Promise<LineInfo | null>;
4172
+ getDetailedLineInfo(lineIdInput?: string, dateProp?: string, shiftProp?: number, providedShiftConfig?: ShiftConfig): Promise<LineInfo | null>;
3955
4173
  getWorkspaceMonthlyData(workspaceUuid: string, month: number, year: number): Promise<WorkspaceMonthlyMetric[]>;
3956
4174
  getLineMonthlyData(lineIdInput: string, month: number, year: number): Promise<LineMonthlyMetric[]>;
3957
- getUnderperformingWorkspaces(lineIdInput: string, monthInput: number | undefined, yearInput: number | undefined): Promise<UnderperformingWorkspaces>;
4175
+ getUnderperformingWorkspaces(lineIdInput: string, monthInput: number | undefined, yearInput: number | undefined, shiftIds?: number[]): Promise<UnderperformingWorkspaces>;
3958
4176
  getSopViolations(): never[];
3959
4177
  };
3960
4178
  type DashboardService = typeof dashboardService;
@@ -4049,7 +4267,13 @@ declare class WorkspaceHealthService {
4049
4267
  static getInstance(): WorkspaceHealthService;
4050
4268
  private getFromCache;
4051
4269
  private setCache;
4270
+ private getShiftTiming;
4271
+ private normalizeHourBucket;
4272
+ private normalizeOutputHourly;
4273
+ private interpretUptimeValue;
4274
+ private deriveStatusForMinute;
4052
4275
  getWorkspaceHealthStatus(options?: HealthFilterOptions): Promise<WorkspaceHealthWithStatus[]>;
4276
+ getWorkspaceUptimeTimeline(workspaceId: string, companyId: string, passedShiftConfig?: any, passedTimezone?: string): Promise<WorkspaceUptimeTimeline>;
4053
4277
  getWorkspaceHealthById(workspaceId: string): Promise<WorkspaceHealthWithStatus | null>;
4054
4278
  getHealthSummary(lineId?: string, companyId?: string): Promise<HealthSummary>;
4055
4279
  getHealthMetrics(workspaceId: string, startDate?: string, endDate?: string): Promise<HealthMetrics>;
@@ -4060,7 +4284,7 @@ declare class WorkspaceHealthService {
4060
4284
  companyId?: string;
4061
4285
  }): () => void;
4062
4286
  clearCache(): void;
4063
- calculateWorkspaceUptime(companyId: string): Promise<Map<string, UptimeDetails>>;
4287
+ calculateWorkspaceUptime(companyId: string, passedShiftConfig?: any, timezone?: string): Promise<Map<string, UptimeDetails>>;
4064
4288
  }
4065
4289
  declare const workspaceHealthService: WorkspaceHealthService;
4066
4290
 
@@ -4849,22 +5073,42 @@ declare function getCurrentTimeInZone(timezone: string, formatString?: string):
4849
5073
 
4850
5074
  /**
4851
5075
  * Determines the current or most recent shift based on the current time and shift configuration.
5076
+ * Prefers DB-driven shift definitions (shiftConfig.shifts), falls back to legacy day/night config.
4852
5077
  *
4853
5078
  * @param timezone - IANA timezone string (e.g., 'Asia/Kolkata') from config.
4854
- * @param shiftConfig - The ShiftConfig object from the dashboard configuration.
5079
+ * @param shiftConfig - The ShiftConfig object from the dashboard configuration. Can be null/undefined.
4855
5080
  * @param now - The current date/time (optional, defaults to new Date()).
4856
- * @returns An object containing the current shiftId (0 for day, 1 for night typically) and the operational date (YYYY-MM-DD).
5081
+ * @returns An object containing the current shiftId and the operational date (YYYY-MM-DD).
4857
5082
  */
4858
- declare const getCurrentShift: (timezone: string, shiftConfig?: ShiftConfig, now?: Date) => CurrentShiftResult;
5083
+ declare const getCurrentShift: (timezone: string, shiftConfig?: ShiftConfig | null, now?: Date) => CurrentShiftResult;
4859
5084
  /**
4860
5085
  * Checks if the current time falls within a transition period around shift changes.
4861
5086
  *
4862
5087
  * @param timezone - IANA timezone string (e.g., 'Asia/Kolkata') from config.
4863
- * @param shiftConfig - The ShiftConfig object from the dashboard configuration.
5088
+ * @param shiftConfig - The ShiftConfig object from the dashboard configuration. Can be null/undefined.
4864
5089
  * @param now - The current date/time (optional, defaults to new Date()).
4865
5090
  * @returns True if the current time is within the transition window, false otherwise.
4866
5091
  */
4867
- declare const isTransitionPeriod: (timezone: string, shiftConfig?: ShiftConfig, now?: Date) => boolean;
5092
+ declare const isTransitionPeriod: (timezone: string, shiftConfig?: ShiftConfig | null, now?: Date) => boolean;
5093
+ /**
5094
+ * Gets the shift name for a given shift ID from the configuration.
5095
+ * Useful when you have a shift ID but need to display the name.
5096
+ *
5097
+ * @param shiftId - The shift ID to look up
5098
+ * @param timezone - IANA timezone string (e.g., 'Asia/Kolkata')
5099
+ * @param shiftConfig - The ShiftConfig object from the dashboard configuration. Can be null/undefined.
5100
+ * @returns The shift name (e.g., "Day Shift", "Night Shift", or custom name)
5101
+ */
5102
+ declare const getShiftNameById: (shiftId: number, timezone: string, shiftConfig?: ShiftConfig | null) => string;
5103
+ /**
5104
+ * Gets a short shift name (e.g., "Day" instead of "Day Shift")
5105
+ *
5106
+ * @param shiftId - The shift ID to look up
5107
+ * @param timezone - IANA timezone string
5108
+ * @param shiftConfig - The ShiftConfig object. Can be null/undefined.
5109
+ * @returns The short shift name
5110
+ */
5111
+ declare const getShortShiftName: (shiftId: number, timezone: string, shiftConfig?: ShiftConfig | null) => string;
4868
5112
 
4869
5113
  /**
4870
5114
  * Utility functions for timezone-aware time calculations
@@ -5589,6 +5833,8 @@ interface BottleneckClipsModalProps {
5589
5833
  workspaceId: string;
5590
5834
  /** Workspace name for display */
5591
5835
  workspaceName: string;
5836
+ /** Line ID for dynamic shift configuration */
5837
+ lineId?: string;
5592
5838
  /** Date for clips (YYYY-MM-DD format) */
5593
5839
  date: string;
5594
5840
  /** Shift ID */
@@ -5790,24 +6036,26 @@ interface LinePdfExportButtonProps {
5790
6036
  }
5791
6037
  declare const LinePdfExportButton: React__default.FC<LinePdfExportButtonProps>;
5792
6038
 
5793
- interface ShiftData$2 {
6039
+ interface LineShiftData {
5794
6040
  avg_efficiency: number;
5795
6041
  underperforming_workspaces: number;
5796
6042
  total_workspaces: number;
5797
6043
  hasData?: boolean;
5798
6044
  }
5799
- interface DayData$4 {
6045
+ interface LineDayData$2 {
5800
6046
  date: Date | string;
5801
- dayShift: ShiftData$2;
5802
- nightShift: ShiftData$2;
6047
+ /** Shift data keyed by shift_id (0, 1, 2, ...) - multi-shift support */
6048
+ shifts: Record<number, LineShiftData>;
5803
6049
  }
5804
6050
  interface LineHistoryCalendarProps {
5805
- data: DayData$4[];
6051
+ data: LineDayData$2[];
5806
6052
  month: number;
5807
6053
  year: number;
5808
6054
  lineId: string;
5809
- selectedShift: 'day' | 'night';
5810
- onDateSelect?: (date: string, shiftId: string) => void;
6055
+ /** Numeric shift ID (0, 1, 2, ...) - supports multi-shift */
6056
+ selectedShiftId: number;
6057
+ /** Callback when date is selected - passes numeric shift ID */
6058
+ onDateSelect?: (date: string, shiftId: number) => void;
5811
6059
  className?: string;
5812
6060
  }
5813
6061
  declare const LineHistoryCalendar: React__default.FC<LineHistoryCalendarProps>;
@@ -5817,6 +6065,7 @@ interface PerformanceData$1 {
5817
6065
  underperforming_workspaces: number;
5818
6066
  total_workspaces: number;
5819
6067
  compliance_percentage?: number;
6068
+ hasData?: boolean;
5820
6069
  }
5821
6070
  interface WorkspacePerformance$1 {
5822
6071
  workspace_name: string;
@@ -5828,25 +6077,32 @@ interface WorkspacePerformance$1 {
5828
6077
  efficiency?: number;
5829
6078
  }[];
5830
6079
  }
6080
+ /** Line monthly data with multi-shift support */
6081
+ interface LineDayData$1 {
6082
+ date: Date;
6083
+ /** Shift data keyed by shift_id (0, 1, 2, ...) */
6084
+ shifts: Record<number, PerformanceData$1>;
6085
+ }
5831
6086
  interface LineMonthlyHistoryProps {
5832
6087
  month: number;
5833
6088
  year: number;
5834
- monthlyData: {
5835
- date: Date;
5836
- dayShift: PerformanceData$1;
5837
- nightShift: PerformanceData$1;
5838
- }[];
5839
- underperformingWorkspaces: {
5840
- dayShift: WorkspacePerformance$1[];
5841
- nightShift: WorkspacePerformance$1[];
5842
- };
6089
+ monthlyData: LineDayData$1[];
6090
+ /** Underperforming workspaces keyed by shift_id (0, 1, 2, ...) */
6091
+ underperformingWorkspaces: Record<number, WorkspacePerformance$1[]>;
5843
6092
  lineId: string;
5844
- selectedShift?: 'day' | 'night';
5845
- onShiftChange?: (shift: 'day' | 'night') => void;
6093
+ /** Numeric shift ID (0, 1, 2, ...) - supports multi-shift */
6094
+ selectedShiftId?: number;
6095
+ /** Callback when shift is changed - passes numeric shift ID */
6096
+ onShiftChange?: (shiftId: number) => void;
6097
+ /** Available shifts for the selector (fetched from DB) */
6098
+ availableShifts?: Array<{
6099
+ id: number;
6100
+ name: string;
6101
+ }>;
5846
6102
  onWorkspaceSelect?: (workspaceId: string, navigationParams?: Partial<WorkspaceNavigationParams> & {
5847
6103
  returnTo?: string;
5848
6104
  }) => void;
5849
- onCalendarDateSelect?: (date: string, shiftId: string | number) => void;
6105
+ onCalendarDateSelect?: (date: string, shiftId: number) => void;
5850
6106
  onCalendarMonthChange?: (newMonthDate: Date) => void;
5851
6107
  className?: string;
5852
6108
  }
@@ -5857,6 +6113,7 @@ interface PerformanceData {
5857
6113
  underperforming_workspaces: number;
5858
6114
  total_workspaces: number;
5859
6115
  compliance_percentage?: number;
6116
+ hasData?: boolean;
5860
6117
  }
5861
6118
  interface WorkspacePerformance {
5862
6119
  workspace_name: string;
@@ -5868,22 +6125,27 @@ interface WorkspacePerformance {
5868
6125
  efficiency?: number;
5869
6126
  }[];
5870
6127
  }
5871
- interface DayData$3 {
6128
+ /** Line day data with multi-shift support */
6129
+ interface LineDayData {
5872
6130
  date: Date;
5873
- dayShift: PerformanceData;
5874
- nightShift: PerformanceData;
6131
+ /** Shift data keyed by shift_id (0, 1, 2, ...) */
6132
+ shifts: Record<number, PerformanceData>;
5875
6133
  }
5876
6134
  interface LineMonthlyPdfGeneratorProps {
5877
6135
  lineId: string;
5878
6136
  lineName: string;
5879
- monthlyData: DayData$3[];
5880
- underperformingWorkspaces: {
5881
- dayShift: WorkspacePerformance[];
5882
- nightShift: WorkspacePerformance[];
5883
- };
6137
+ monthlyData: LineDayData[];
6138
+ /** Underperforming workspaces keyed by shift_id (0, 1, 2, ...) */
6139
+ underperformingWorkspaces: Record<number, WorkspacePerformance[]>;
5884
6140
  selectedMonth: number;
5885
6141
  selectedYear: number;
5886
- selectedShift: 'day' | 'night';
6142
+ /** Numeric shift ID (0, 1, 2, ...) - supports multi-shift */
6143
+ selectedShiftId: number;
6144
+ /** Available shifts for display names */
6145
+ availableShifts?: Array<{
6146
+ id: number;
6147
+ name: string;
6148
+ }>;
5887
6149
  className?: string;
5888
6150
  }
5889
6151
  declare const LineMonthlyPdfGenerator: React__default.FC<LineMonthlyPdfGeneratorProps>;
@@ -5897,6 +6159,8 @@ declare const LineWhatsAppShareButton: React__default.FC<LineWhatsAppShareProps>
5897
6159
  interface LinePdfGeneratorProps {
5898
6160
  lineInfo: LineInfo;
5899
6161
  workspaceData: WorkspaceMetrics[];
6162
+ /** Optional shift name to display (e.g., "Day", "Night", or custom name). If not provided, falls back to shift_id-based naming. */
6163
+ shiftName?: string;
5900
6164
  className?: string;
5901
6165
  }
5902
6166
  declare const LinePdfGenerator: React__default.FC<LinePdfGeneratorProps>;
@@ -6037,60 +6301,43 @@ interface WorkspaceCardProps {
6037
6301
  }
6038
6302
  declare const WorkspaceCard: React__default.FC<WorkspaceCardProps>;
6039
6303
 
6040
- interface ShiftData$1 {
6041
- efficiency: number;
6042
- output: number;
6043
- cycleTime: number;
6044
- pph: number;
6045
- pphThreshold: number;
6046
- idealOutput: number;
6047
- rank: number;
6048
- idleTime: number;
6049
- hasData?: boolean;
6050
- }
6051
- interface DayData$2 {
6052
- date: Date;
6053
- dayShift: ShiftData$1;
6054
- nightShift: ShiftData$1;
6055
- }
6056
6304
  interface WorkspaceHistoryCalendarProps {
6057
- data: DayData$2[];
6058
- onDateSelect: (date: string) => void;
6305
+ data: DayData[];
6306
+ onDateSelect: (date: string, shiftId: number) => void;
6059
6307
  month: number;
6060
6308
  year: number;
6061
6309
  workspaceId: string;
6062
- selectedShift?: 'day' | 'night';
6310
+ /** Numeric shift ID (0, 1, 2, ...) - supports multi-shift */
6311
+ selectedShiftId?: number;
6063
6312
  onMonthNavigate?: (newMonth: number, newYear: number) => void;
6064
- onShiftChange?: (shift: 'day' | 'night') => void;
6313
+ /** Callback when shift is changed - passes numeric shift ID */
6314
+ onShiftChange?: (shiftId: number) => void;
6315
+ /** Available shifts for the selector (fetched from DB) */
6316
+ availableShifts?: Array<{
6317
+ id: number;
6318
+ name: string;
6319
+ }>;
6065
6320
  className?: string;
6066
6321
  }
6067
6322
  declare const WorkspaceHistoryCalendar: React__default.FC<WorkspaceHistoryCalendarProps>;
6068
6323
 
6069
- interface ShiftData {
6070
- efficiency: number;
6071
- output: number;
6072
- cycleTime: number;
6073
- pph: number;
6074
- pphThreshold: number;
6075
- idealOutput: number;
6076
- rank: number;
6077
- idleTime: number;
6078
- hasData?: boolean;
6079
- }
6080
- interface DayData$1 {
6081
- date: Date;
6082
- dayShift: ShiftData;
6083
- nightShift: ShiftData;
6084
- }
6085
6324
  interface WorkspaceMonthlyHistoryProps {
6086
- data: DayData$1[];
6325
+ data: DayData[];
6087
6326
  month: number;
6088
6327
  year: number;
6089
6328
  workspaceId: string;
6090
- selectedShift?: 'day' | 'night';
6091
- onDateSelect: (date: string, shift: 'day' | 'night') => void;
6329
+ /** Numeric shift ID (0, 1, 2, ...) - supports multi-shift */
6330
+ selectedShiftId?: number;
6331
+ /** Callback when date is selected - passes numeric shift ID */
6332
+ onDateSelect: (date: string, shiftId: number) => void;
6092
6333
  onMonthNavigate?: (newMonth: number, newYear: number) => void;
6093
- onShiftChange?: (shift: 'day' | 'night') => void;
6334
+ /** Callback when shift is changed - passes numeric shift ID */
6335
+ onShiftChange?: (shiftId: number) => void;
6336
+ /** Available shifts for the selector (fetched from DB) */
6337
+ availableShifts?: Array<{
6338
+ id: number;
6339
+ name: string;
6340
+ }>;
6094
6341
  monthlyDataLoading?: boolean;
6095
6342
  className?: string;
6096
6343
  }
@@ -6108,34 +6355,19 @@ interface WorkspacePdfGeneratorProps {
6108
6355
  }
6109
6356
  declare const WorkspacePdfGenerator: React__default.FC<WorkspacePdfGeneratorProps>;
6110
6357
 
6111
- interface DayData {
6112
- date: Date;
6113
- dayShift: {
6114
- efficiency: number;
6115
- output: number;
6116
- cycleTime: number;
6117
- pph: number;
6118
- pphThreshold: number;
6119
- idealOutput: number;
6120
- rank: number;
6121
- };
6122
- nightShift: {
6123
- efficiency: number;
6124
- output: number;
6125
- cycleTime: number;
6126
- pph: number;
6127
- pphThreshold: number;
6128
- idealOutput: number;
6129
- rank: number;
6130
- };
6131
- }
6132
6358
  interface WorkspaceMonthlyPdfGeneratorProps {
6133
6359
  workspaceId: string;
6134
6360
  workspaceName: string;
6135
6361
  monthlyData: DayData[];
6136
6362
  selectedMonth: number;
6137
6363
  selectedYear: number;
6138
- selectedShift: 'day' | 'night';
6364
+ /** Numeric shift ID (0, 1, 2, ...) - supports multi-shift */
6365
+ selectedShiftId: number;
6366
+ /** Available shifts for display names */
6367
+ availableShifts?: Array<{
6368
+ id: number;
6369
+ name: string;
6370
+ }>;
6139
6371
  className?: string;
6140
6372
  }
6141
6373
  declare const WorkspaceMonthlyPdfGenerator: React__default.FC<WorkspaceMonthlyPdfGeneratorProps>;
@@ -6172,6 +6404,10 @@ interface BottlenecksContentProps {
6172
6404
  * Optional date to fetch clips for (defaults to current date)
6173
6405
  */
6174
6406
  date?: string;
6407
+ /**
6408
+ * Optional line ID to load dynamic shift configuration for this workspace
6409
+ */
6410
+ lineId?: string;
6175
6411
  /**
6176
6412
  * Optional shift ID for fetching clips (0 = Day shift, 1 = Night shift)
6177
6413
  * If not provided, defaults to current shift
@@ -6479,18 +6715,21 @@ interface WorkspaceHealthCardProps {
6479
6715
  onClick?: (workspace: WorkspaceHealthWithStatus) => void;
6480
6716
  showDetails?: boolean;
6481
6717
  className?: string;
6718
+ onViewDetails?: (workspace: WorkspaceHealthWithStatus) => void;
6482
6719
  }
6483
6720
  declare const WorkspaceHealthCard: React__default.FC<WorkspaceHealthCardProps>;
6484
6721
  interface CompactWorkspaceHealthCardProps {
6485
6722
  workspace: WorkspaceHealthWithStatus;
6486
6723
  onClick?: (workspace: WorkspaceHealthWithStatus) => void;
6487
6724
  className?: string;
6725
+ onViewDetails?: (workspace: WorkspaceHealthWithStatus) => void;
6488
6726
  }
6489
6727
  declare const CompactWorkspaceHealthCard: React__default.FC<CompactWorkspaceHealthCardProps>;
6490
6728
 
6491
6729
  interface HealthStatusGridProps {
6492
6730
  workspaces: WorkspaceHealthWithStatus[];
6493
6731
  onWorkspaceClick?: (workspace: WorkspaceHealthWithStatus) => void;
6732
+ onWorkspaceViewDetails?: (workspace: WorkspaceHealthWithStatus) => void;
6494
6733
  showFilters?: boolean;
6495
6734
  groupBy?: 'none' | 'line' | 'status';
6496
6735
  className?: string;
@@ -7385,7 +7624,8 @@ declare function LoginView({ logoSrc, logoAlt, brandName, onRateLimitCheck }: Lo
7385
7624
  declare const ProfileView: React__default.FC;
7386
7625
 
7387
7626
  /**
7388
- * ShiftsView component for managing day and night shift configurations
7627
+ * ShiftsView component for managing shift configurations
7628
+ * Supports N shifts per line (not limited to day/night)
7389
7629
  */
7390
7630
  declare const ShiftsView: React__default.FC<ShiftsViewProps>;
7391
7631
  declare const AuthenticatedShiftsView: React__default.NamedExoticComponent<ShiftsViewProps>;
@@ -7485,8 +7725,10 @@ interface WorkspaceDetailViewProps {
7485
7725
  onTabChange?: (tab: TabType) => void;
7486
7726
  /**
7487
7727
  * Optional callback when calendar date is selected
7728
+ * @param date - The selected date in YYYY-MM-DD format
7729
+ * @param shiftId - The numeric shift ID (0, 1, 2, ...)
7488
7730
  */
7489
- onDateSelect?: (date: string, shift: 'day' | 'night') => void;
7731
+ onDateSelect?: (date: string, shiftId: number) => void;
7490
7732
  /**
7491
7733
  * Optional className for styling
7492
7734
  */
@@ -7536,6 +7778,8 @@ interface BottleneckClipsViewProps {
7536
7778
  workspaceId?: string;
7537
7779
  /** Workspace name for display */
7538
7780
  workspaceName?: string;
7781
+ /** Line ID for dynamic shift configuration */
7782
+ lineId?: string;
7539
7783
  /** Date for clips (YYYY-MM-DD format) */
7540
7784
  date?: string;
7541
7785
  /** Shift ID */
@@ -7547,7 +7791,7 @@ interface BottleneckClipsViewProps {
7547
7791
  * BottleneckClipsView - Shows clips from the last 15 minutes for bottleneck diagnosis
7548
7792
  * This is essentially the clips page with a 15-minute filter applied
7549
7793
  */
7550
- declare function BottleneckClipsView({ workspaceId: propWorkspaceId, workspaceName: propWorkspaceName, date: propDate, shift: propShift, totalOutput: propTotalOutput, }: BottleneckClipsViewProps): React__default.ReactNode;
7794
+ declare function BottleneckClipsView({ workspaceId: propWorkspaceId, workspaceName: propWorkspaceName, lineId: propLineId, date: propDate, shift: propShift, totalOutput: propTotalOutput, }: BottleneckClipsViewProps): React__default.ReactNode;
7551
7795
  declare const AuthenticatedBottleneckClipsView: React__default.NamedExoticComponent<BottleneckClipsViewProps>;
7552
7796
 
7553
7797
  interface TicketsViewProps {
@@ -7780,4 +8024,4 @@ interface ThreadSidebarProps {
7780
8024
  }
7781
8025
  declare const ThreadSidebar: React__default.FC<ThreadSidebarProps>;
7782
8026
 
7783
- export { ACTION_NAMES, AIAgentView, AcceptInvite, type AcceptInviteProps, AcceptInviteView, type AcceptInviteViewProps, type AccessControlReturn, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, AdvancedFilterDialog, AdvancedFilterPanel, type AnalyticsConfig, type AssignUserToFactoriesInput, type AssignUserToLinesInput, AudioService, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, AuthService, type AuthUser, AuthenticatedBottleneckClipsView, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedTicketsView, AuthenticatedWorkspaceHealthView, AxelNotificationPopup, type AxelNotificationPopupProps, AxelOrb, type AxelOrbProps, type AxelSuggestion, BackButton, BackButtonMinimal, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseHistoryCalendarProps, type BaseLineMetric, type BasePerformanceMetric, BottleneckClipsModal, type BottleneckClipsModalProps, type BottleneckClipsNavigationParams, BottleneckClipsView, type BottleneckClipsViewProps, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, BreakNotificationPopup, type BreakNotificationPopupProps, type BreakRowProps, type CacheEntryWithPrefetch, CachePrefetchStatus, type CachePrefetchStatusCallback, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, ClipFilterProvider, type ClipFilterState, type ClipsConfig, CompactWorkspaceHealthCard, type CompanyUser, type CompanyUserWithDetails, type ComponentOverride, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, type CreateInvitationInput, type CropConfig, CroppedHlsVideoPlayer, type CroppedHlsVideoPlayerProps, CroppedVideoPlayer, type CroppedVideoPlayerProps, type CurrentShiftResult, CycleTimeChart, type CycleTimeChartProps, CycleTimeOverTimeChart, type CycleTimeOverTimeChartProps, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_MAP_VIEW_CONFIG, DEFAULT_SHIFT_CONFIG, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DatabaseConfig, DateDisplay, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, type DiagnosisOption$1 as DiagnosisOption, DiagnosisVideoModal, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type FactoryOverviewMetrics, FactoryView, type FactoryViewProps, FileManagerFilters, FileManagerFilters as FileManagerFiltersProps, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoricWorkspaceMetrics, type HistoryCalendarProps, HlsVideoPlayer, type HlsVideoPlayerProps, type HlsVideoPlayerRef, HomeView, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, InlineEditableText, InteractiveOnboardingTour, InvitationService, type InvitationWithDetails, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, type Line$1 as Line, LineChart, type LineChartDataItem, type LineChartProps, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineShiftConfig, type LineSnapshot, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LinesService, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, Logo, type LogoProps, MainLayout, type MainLayoutProps, MapGridView, type MapViewConfig, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, MinimalOnboardingPopup, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NewClipsNotification, type NewClipsNotificationProps, NoWorkspaceData, OnboardingDemo, OnboardingTour, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OptifyeLogoLoader, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, PieChart, type PieChartProps, PlayPauseIndicator, type PlayPauseIndicatorProps, type PoorPerformingWorkspace, PrefetchConfigurationError, PrefetchError, PrefetchEvents, type PrefetchKey, type PrefetchManagerConfig, type PrefetchManagerStats, type PrefetchOptions, type PrefetchParams$1 as PrefetchParams, type PrefetchRequest, type PrefetchResult, PrefetchStatus$1 as PrefetchStatus, type PrefetchStatusResult, type PrefetchSubscriptionCallbacks, PrefetchTimeoutError, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, type RateLimitOptions, type RateLimitResult, type RealtimeService, RegistryProvider, type RenderReadyCallback$1 as RenderReadyCallback, type RoutePath, type S3ClipsAPIParams, S3ClipsSupabaseService as S3ClipsService, type S3Config, type S3ListObjectsParams, S3Service, type S3ServiceConfig, type SKU, type SKUConfig, type SKUCreateInput, type SKUListProps, SKUManagementView, type SKUModalProps, type SKUSelectorProps, type SKUUpdateInput, type SOPCategory$1 as SOPCategory, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData$3 as ShiftData, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, SignupWithInvitation, type SignupWithInvitationProps, SilentErrorBoundary, type SimpleLine, SimpleOnboardingPopup, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type StatusChangeCallback$1 as StatusChangeCallback, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Supervisor, type SupervisorAssignment, type SupervisorConfig, SupervisorDropdown, type SupervisorDropdownProps, type SupervisorManagementData, SupervisorManagementView, type SupervisorManagementViewProps, SupervisorService, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type TeamManagementPermissions, TeamManagementView, type TeamManagementViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, type TicketsConfig, TicketsView, type TicketsViewProps, TimeDisplay, TimePickerDropdown, Timer, TimezoneProvider, TimezoneService, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UpdateUserRoleInput, type UptimeDetails, type UseActiveBreaksResult, type UseClipTypesResult, type UseDashboardMetricsProps, type UseDynamicShiftConfigResult, type UseFormatNumberResult, type UseLineShiftConfigResult, type UseMessagesResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseWorkspaceHealthByIdOptions, type UseWorkspaceHealthStatusReturn, type UseWorkspaceOperatorsOptions, type UserInvitation, UserManagementService, type UserProfileConfig, type UserRole, UserService, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, VideoGridView, type VideoIndex, type VideoIndexEntry, type VideoMetadata, VideoPlayer, type VideoPlayerProps, type VideoPlayerRef, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, type WorkspaceGridPosition, type WorkspaceHealth, WorkspaceHealthCard, type WorkspaceHealthInfo, type WorkspaceHealthStatusData, _default as WorkspaceHealthView, type WorkspaceHealthWithStatus, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, WorkspaceMonthlyHistory, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUrlMapping, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, apiUtils, authCoreService, authOTPService, authRateLimitService, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearWorkspaceDisplayNamesCache, cn, createInvitationService, createLinesService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, forceRefreshWorkspaceDisplayNames, formatDateInZone, formatDateTimeInZone, formatISTDate, formatIdleTime, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAnonClient, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentTimeInZone, getDashboardHeaderTimeInZone, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getNextUpdateInterval, getOperationalDate, getS3SignedUrl, getS3VideoSrc, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUserThreads, getUserThreadsPaginated, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, identifyCoreUser, initializeCoreMixpanel, isLegacyConfiguration, isPrefetchError, isSafari, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, optifyeAgentClient, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, updateThreadTitle, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useMessages, useMetrics, useNavigation, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useShiftConfig, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, userService, videoPrefetchManager, videoPreloader, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
8027
+ export { ACTION_NAMES, AIAgentView, AcceptInvite, type AcceptInviteProps, AcceptInviteView, type AcceptInviteViewProps, type AccessControlReturn, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, AdvancedFilterDialog, AdvancedFilterPanel, type AnalyticsConfig, type AssignUserToFactoriesInput, type AssignUserToLinesInput, AudioService, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, AuthService, type AuthUser, AuthenticatedBottleneckClipsView, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedTicketsView, AuthenticatedWorkspaceHealthView, AxelNotificationPopup, type AxelNotificationPopupProps, AxelOrb, type AxelOrbProps, type AxelSuggestion, BackButton, BackButtonMinimal, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseHistoryCalendarProps, type BaseLineMetric, type BasePerformanceMetric, BottleneckClipsModal, type BottleneckClipsModalProps, type BottleneckClipsNavigationParams, BottleneckClipsView, type BottleneckClipsViewProps, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, BreakNotificationPopup, type BreakNotificationPopupProps, type BreakRowProps, type CacheEntryWithPrefetch, CachePrefetchStatus, type CachePrefetchStatusCallback, type CalendarShiftData, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, ClipFilterProvider, type ClipFilterState, type ClipsConfig, CompactWorkspaceHealthCard, type CompanyUser, type CompanyUserWithDetails, type ComponentOverride, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, type CreateInvitationInput, type CropConfig, CroppedHlsVideoPlayer, type CroppedHlsVideoPlayerProps, CroppedVideoPlayer, type CroppedVideoPlayerProps, type CurrentShiftResult, CycleTimeChart, type CycleTimeChartProps, CycleTimeOverTimeChart, type CycleTimeOverTimeChartProps, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_MAP_VIEW_CONFIG, DEFAULT_SHIFT_CONFIG, DEFAULT_SHIFT_DATA, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DatabaseConfig, DateDisplay, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayData, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, type DiagnosisOption$1 as DiagnosisOption, DiagnosisVideoModal, type DynamicLineShiftConfig, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type FactoryOverviewMetrics, FactoryView, type FactoryViewProps, FileManagerFilters, FileManagerFilters as FileManagerFiltersProps, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoricWorkspaceMetrics, type HistoryCalendarProps, HlsVideoPlayer, type HlsVideoPlayerProps, type HlsVideoPlayerRef, HomeView, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, InlineEditableText, InteractiveOnboardingTour, InvitationService, type InvitationWithDetails, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, type Line$1 as Line, LineChart, type LineChartDataItem, type LineChartProps, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineShiftConfig, type LineSnapshot, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LinesService, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, Logo, type LogoProps, MainLayout, type MainLayoutProps, MapGridView, type MapViewConfig, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, MinimalOnboardingPopup, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NewClipsNotification, type NewClipsNotificationProps, NoWorkspaceData, OnboardingDemo, OnboardingTour, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OptifyeLogoLoader, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, PieChart, type PieChartProps, PlayPauseIndicator, type PlayPauseIndicatorProps, type PoorPerformingWorkspace, PrefetchConfigurationError, PrefetchError, PrefetchEvents, type PrefetchKey, type PrefetchManagerConfig, type PrefetchManagerStats, type PrefetchOptions, type PrefetchParams$1 as PrefetchParams, type PrefetchRequest, type PrefetchResult, PrefetchStatus$1 as PrefetchStatus, type PrefetchStatusResult, type PrefetchSubscriptionCallbacks, PrefetchTimeoutError, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, type RateLimitOptions, type RateLimitResult, type RealtimeLineMetricsProps, type RealtimeService, RegistryProvider, type RenderReadyCallback$1 as RenderReadyCallback, type RoutePath, type S3ClipsAPIParams, S3ClipsSupabaseService as S3ClipsService, type S3Config, type S3ListObjectsParams, S3Service, type S3ServiceConfig, type SKU, type SKUConfig, type SKUCreateInput, type SKUListProps, SKUManagementView, type SKUModalProps, type SKUSelectorProps, type SKUUpdateInput, type SOPCategory$1 as SOPCategory, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData, type ShiftDefinition, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, SignupWithInvitation, type SignupWithInvitationProps, SilentErrorBoundary, type SimpleLine, SimpleOnboardingPopup, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type StatusChangeCallback$1 as StatusChangeCallback, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Supervisor, type SupervisorAssignment, type SupervisorConfig, SupervisorDropdown, type SupervisorDropdownProps, type SupervisorManagementData, SupervisorManagementView, type SupervisorManagementViewProps, SupervisorService, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type TeamManagementPermissions, TeamManagementView, type TeamManagementViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, type TicketsConfig, TicketsView, type TicketsViewProps, TimeDisplay, TimePickerDropdown, Timer, TimezoneProvider, TimezoneService, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UpdateUserRoleInput, type UptimeDetails, type UptimeStatus, type UseActiveBreaksResult, type UseAllWorkspaceMetricsOptions, type UseClipTypesResult, type UseDashboardMetricsProps, type UseDynamicShiftConfigResult, type UseFormatNumberResult, type UseLineShiftConfigResult, type UseLineWorkspaceMetricsOptions, type UseMessagesResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseWorkspaceHealthByIdOptions, type UseWorkspaceHealthStatusReturn, type UseWorkspaceOperatorsOptions, type UseWorkspaceUptimeTimelineOptions, type UseWorkspaceUptimeTimelineResult, type UserInvitation, UserManagementService, type UserProfileConfig, type UserRole, UserService, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, VideoGridView, type VideoIndex, type VideoIndexEntry, type VideoMetadata, VideoPlayer, type VideoPlayerProps, type VideoPlayerRef, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceDisplayNameExample, type WorkspaceDowntimeSegment, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, type WorkspaceGridPosition, type WorkspaceHealth, WorkspaceHealthCard, type WorkspaceHealthInfo, type WorkspaceHealthStatusData, _default as WorkspaceHealthView, type WorkspaceHealthWithStatus, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, WorkspaceMonthlyHistory, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUptimeTimeline, type WorkspaceUptimeTimelinePoint, type WorkspaceUrlMapping, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, apiUtils, authCoreService, authOTPService, authRateLimitService, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearWorkspaceDisplayNamesCache, cn, createInvitationService, createLinesService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, forceRefreshWorkspaceDisplayNames, formatDateInZone, formatDateTimeInZone, formatISTDate, formatIdleTime, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAnonClient, getAvailableShiftIds, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentTimeInZone, getDashboardHeaderTimeInZone, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getNextUpdateInterval, getOperationalDate, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUserThreads, getUserThreadsPaginated, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isLegacyConfiguration, isPrefetchError, isSafari, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, optifyeAgentClient, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, updateThreadTitle, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useMessages, useMetrics, useNavigation, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useShiftConfig, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, userService, videoPrefetchManager, videoPreloader, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };