@optifye/dashboard-core 6.11.8 → 6.11.10

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.css CHANGED
@@ -5545,6 +5545,9 @@ input[type=range]:active::-moz-range-thumb {
5545
5545
  --tw-bg-opacity: 1;
5546
5546
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
5547
5547
  }
5548
+ .hover\:bg-transparent:hover {
5549
+ background-color: transparent;
5550
+ }
5548
5551
  .hover\:bg-white:hover {
5549
5552
  --tw-bg-opacity: 1;
5550
5553
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
@@ -5981,6 +5984,9 @@ input[type=range]:active::-moz-range-thumb {
5981
5984
  --tw-bg-opacity: 1;
5982
5985
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
5983
5986
  }
5987
+ .disabled\:opacity-40:disabled {
5988
+ opacity: 0.4;
5989
+ }
5984
5990
  .disabled\:opacity-50:disabled {
5985
5991
  opacity: 0.5;
5986
5992
  }
package/dist/index.d.mts CHANGED
@@ -6479,6 +6479,7 @@ declare const parseDateKeyToDate: (dateKey: string) => Date;
6479
6479
  declare const formatDateKeyForDisplay: (dateKey: string, formatStr?: string) => string;
6480
6480
  declare const getMonthKeyBounds: (year: number, monthIndex: number) => DateKeyRange;
6481
6481
  declare const getCurrentWeekToDateRange: (timezone: string, now?: Date) => DateKeyRange;
6482
+ declare const getCurrentWeekFullRange: (timezone: string, now?: Date) => DateKeyRange;
6482
6483
  declare const normalizeDateKeyRange: (startKey: string, endKey: string, minKey: string, maxKey: string) => DateKeyRange;
6483
6484
  declare const isFullMonthRange: (range: DateKeyRange, year: number, monthIndex: number) => boolean;
6484
6485
  declare const getMonthWeekRanges: (year: number, monthIndex: number, timezone: string, maxKey?: string) => MonthWeekRange[];
@@ -10030,4 +10031,4 @@ interface ThreadSidebarProps {
10030
10031
  }
10031
10032
  declare const ThreadSidebar: React__default.FC<ThreadSidebarProps>;
10032
10033
 
10033
- export { ACTION_NAMES, AIAgentView, AcceptInvite, type AcceptInviteProps, AcceptInviteView, type AcceptInviteViewProps, type AccessControlReturn, type AccessScope$1 as AccessScope, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, AdvancedFilterDialog, AdvancedFilterPanel, type AnalyticsConfig, type AppRoleLevel, 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, AvatarUpload, type AvatarUploadProps, type AwardBadgeType, type AwardNotificationRecord, type AwardNotificationType, type AwardRecord, type AwardType, 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, ChangeRoleDialog, type ChangeRoleDialogProps, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, ClipFilterProvider, type ClipFilterState, type ClipsConfig, ClipsCostView, CompactWorkspaceHealthCard, type CompanyUsageReport, type CompanyUser, type CompanyUserUsageSummary, type CompanyUserWithDetails, type ComponentOverride, ConfirmRemoveUserDialog, type ConfirmRemoveUserDialogProps, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, type CountDelta, 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_HOME_VIEW_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 DateKeyRange, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayData, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, type DiagnosisOption$1 as DiagnosisOption, DiagnosisVideoModal, type DurationDelta, type DynamicLineShiftConfig, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type Factory, FactoryAssignmentDropdown, type FactoryAssignmentDropdownProps, type FactoryOverviewMetrics, FactoryView, type FactoryViewProps, type FetchIdleTimeReasonsParams, FileManagerFilters, FileManagerFilters as FileManagerFiltersProps, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, HealthDateShiftSelector, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoricWorkspaceMetrics, type HistoryCalendarProps, HlsVideoPlayer, type HlsVideoPlayerProps, type HlsVideoPlayerRef, HomeView, type HomeViewConfig, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, HourlyUptimeChart, type HourlyUptimeChartProps, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, type IdleTimeClipMetadata, type IdleTimeReason, type IdleTimeReasonData, type IdleTimeReasonsData, type IdleTimeReasonsResponse, IdleTimeVlmConfigProvider, ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, type InvitationWithDetails, InvitationsTable, InviteUserDialog, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, type KpiTrend, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineAssignmentDropdown, type LineAssignmentDropdownProps, 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 LineRecord, type LineShiftConfig, type LineShiftInfo, type LineSnapshot, type LineSupervisor, 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 MixpanelSessionOptions, MobileMenuProvider, type MobileMenuProviderProps, type MonthWeekRange, type MonthlyTrendSummary, 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, type PercentageDelta, PieChart, type PieChartProps, PlantHeadView, 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 RoleAssignmentKind, RoleBadge, type RoleMetadata, 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, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, type SettingsPopupItem, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData, type ShiftDefinition, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftLineGroup, 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 StorageService, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Supervisor, type SupervisorAssignment, type SupervisorConfig, type SupervisorDetail, SupervisorDropdown, type SupervisorDropdownProps, type SupervisorLine, 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 TodayUsage, type TodayUsageData, type TodayUsageReport, type TopPerformerRecord, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UpdateUserNameInput, type UpdateUserProfileInput, type UpdateUserRoleInput, type UptimeDetails, UptimeDonutChart, type UptimeDonutChartProps, UptimeLineChart, type UptimeLineChartProps, UptimeMetricCards, type UptimeMetricCardsProps, type UptimeStatus$1 as UptimeStatus, type UsageBreakdown, type UseActiveBreaksResult, type UseAllWorkspaceMetricsOptions, type UseClipTypesResult, type UseCompanyUsersUsageOptions, type UseCompanyUsersUsageReturn, type UseDashboardMetricsProps, type UseDynamicShiftConfigResult, type UseFormatNumberResult, type UseIdleTimeReasonsProps, type UseIdleTimeReasonsResult, type UseLineShiftConfigResult, type UseLineWorkspaceMetricsOptions, type UseMessagesResult, type UseMultiLineShiftConfigsResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseSupervisorsByLineIdsResult, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseUserUsageOptions, type UseUserUsageReturn, type UseWorkspaceHealthByIdOptions, type UseWorkspaceHealthStatusReturn, type UseWorkspaceOperatorsOptions, type UseWorkspaceUptimeTimelineOptions, type UseWorkspaceUptimeTimelineResult, UserAvatar, type UserAvatarProps, type UserInvitation, UserManagementService, UserManagementTable, type UserProfileConfig, type UserRole, type UserRoleLevel, UserService, type UserUsageDetail, UserUsageDetailModal, type UserUsageDetailModalProps, type UserUsageInfo, UserUsageStats, type UserUsageStatsProps, type UserUsageSummary, type ValueDelta, 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 WeeklyTopPerformerRecord, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig$1 as WorkspaceConfig, type WorkspaceCropRect, 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, type WorkspaceVideoStream, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureSentryException, captureSentryMessage, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, filterDataByDateKeyRange, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, formatDuration, formatISTDate, formatIdleTime, formatRangeLabel, formatReasonLabel, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAllWorkspaceDisplayNamesSnapshot, getAnonClient, getAssignableRoles, getAssignmentColumnLabel, getAvailableShiftIds, getAwardBadgeType, getAwardDescription, getAwardTitle, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentShiftForLine, getCurrentTimeInZone, getCurrentWeekToDateRange, getDashboardHeaderTimeInZone, getDateKeyFromDate, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getInitials, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getMonthKeyBounds, getMonthWeekRanges, getNextUpdateInterval, getOperationalDate, getReasonColor, getRoleAssignmentKind, getRoleDescription, getRoleLabel, getRoleMetadata, getRoleNavPaths, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShiftWorkDurationSeconds, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUniformShiftGroup, getUserThreads, getUserThreadsPaginated, getVisibleRolesForCurrentUser, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, groupLinesByShift, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isEfficiencyOnTrack, isFactoryScopedRole, isFullMonthRange, isLegacyConfiguration, isPrefetchError, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeDateKeyRange, normalizeRoleLevel, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, setSentryUserContext, setSentryWorkspaceContext, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, subscribeWorkspaceDisplayNames, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, transformToChartData, updateThreadTitle, upsertWorkspaceDisplayNameInCache, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useClipsInit, useCompanyClipsCost, useCompanyUsersUsage, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHideMobileHeader, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useIdleTimeClipClassifications, useIdleTimeReasons, useIdleTimeVlmConfig, useKpiTrends, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useLines, useMessages, useMetrics, useMobileMenu, useMonthlyTrend, useMultiLineShiftConfigs, useNavigation, useOperationalShiftKey, useOptionalSupabase, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useSessionTracking, useSessionTrackingContext, useShiftConfig, useShiftGroups, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useSupervisorsByLineIds, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useUserUsage, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthLastSeen, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, useWorkspaceVideoStreams, userService, videoPrefetchManager, videoPreloader, weeklyTopPerformerService, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
10034
+ export { ACTION_NAMES, AIAgentView, AcceptInvite, type AcceptInviteProps, AcceptInviteView, type AcceptInviteViewProps, type AccessControlReturn, type AccessScope$1 as AccessScope, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, AdvancedFilterDialog, AdvancedFilterPanel, type AnalyticsConfig, type AppRoleLevel, 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, AvatarUpload, type AvatarUploadProps, type AwardBadgeType, type AwardNotificationRecord, type AwardNotificationType, type AwardRecord, type AwardType, 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, ChangeRoleDialog, type ChangeRoleDialogProps, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, ClipFilterProvider, type ClipFilterState, type ClipsConfig, ClipsCostView, CompactWorkspaceHealthCard, type CompanyUsageReport, type CompanyUser, type CompanyUserUsageSummary, type CompanyUserWithDetails, type ComponentOverride, ConfirmRemoveUserDialog, type ConfirmRemoveUserDialogProps, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, type CountDelta, 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_HOME_VIEW_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 DateKeyRange, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayData, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, type DiagnosisOption$1 as DiagnosisOption, DiagnosisVideoModal, type DurationDelta, type DynamicLineShiftConfig, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type Factory, FactoryAssignmentDropdown, type FactoryAssignmentDropdownProps, type FactoryOverviewMetrics, FactoryView, type FactoryViewProps, type FetchIdleTimeReasonsParams, FileManagerFilters, FileManagerFilters as FileManagerFiltersProps, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, HealthDateShiftSelector, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoricWorkspaceMetrics, type HistoryCalendarProps, HlsVideoPlayer, type HlsVideoPlayerProps, type HlsVideoPlayerRef, HomeView, type HomeViewConfig, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, HourlyUptimeChart, type HourlyUptimeChartProps, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, type IdleTimeClipMetadata, type IdleTimeReason, type IdleTimeReasonData, type IdleTimeReasonsData, type IdleTimeReasonsResponse, IdleTimeVlmConfigProvider, ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, type InvitationWithDetails, InvitationsTable, InviteUserDialog, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, type KpiTrend, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineAssignmentDropdown, type LineAssignmentDropdownProps, 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 LineRecord, type LineShiftConfig, type LineShiftInfo, type LineSnapshot, type LineSupervisor, 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 MixpanelSessionOptions, MobileMenuProvider, type MobileMenuProviderProps, type MonthWeekRange, type MonthlyTrendSummary, 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, type PercentageDelta, PieChart, type PieChartProps, PlantHeadView, 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 RoleAssignmentKind, RoleBadge, type RoleMetadata, 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, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, type SettingsPopupItem, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData, type ShiftDefinition, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftLineGroup, 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 StorageService, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Supervisor, type SupervisorAssignment, type SupervisorConfig, type SupervisorDetail, SupervisorDropdown, type SupervisorDropdownProps, type SupervisorLine, 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 TodayUsage, type TodayUsageData, type TodayUsageReport, type TopPerformerRecord, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UpdateUserNameInput, type UpdateUserProfileInput, type UpdateUserRoleInput, type UptimeDetails, UptimeDonutChart, type UptimeDonutChartProps, UptimeLineChart, type UptimeLineChartProps, UptimeMetricCards, type UptimeMetricCardsProps, type UptimeStatus$1 as UptimeStatus, type UsageBreakdown, type UseActiveBreaksResult, type UseAllWorkspaceMetricsOptions, type UseClipTypesResult, type UseCompanyUsersUsageOptions, type UseCompanyUsersUsageReturn, type UseDashboardMetricsProps, type UseDynamicShiftConfigResult, type UseFormatNumberResult, type UseIdleTimeReasonsProps, type UseIdleTimeReasonsResult, type UseLineShiftConfigResult, type UseLineWorkspaceMetricsOptions, type UseMessagesResult, type UseMultiLineShiftConfigsResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseSupervisorsByLineIdsResult, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseUserUsageOptions, type UseUserUsageReturn, type UseWorkspaceHealthByIdOptions, type UseWorkspaceHealthStatusReturn, type UseWorkspaceOperatorsOptions, type UseWorkspaceUptimeTimelineOptions, type UseWorkspaceUptimeTimelineResult, UserAvatar, type UserAvatarProps, type UserInvitation, UserManagementService, UserManagementTable, type UserProfileConfig, type UserRole, type UserRoleLevel, UserService, type UserUsageDetail, UserUsageDetailModal, type UserUsageDetailModalProps, type UserUsageInfo, UserUsageStats, type UserUsageStatsProps, type UserUsageSummary, type ValueDelta, 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 WeeklyTopPerformerRecord, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig$1 as WorkspaceConfig, type WorkspaceCropRect, 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, type WorkspaceVideoStream, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureSentryException, captureSentryMessage, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, filterDataByDateKeyRange, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, formatDuration, formatISTDate, formatIdleTime, formatRangeLabel, formatReasonLabel, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAllWorkspaceDisplayNamesSnapshot, getAnonClient, getAssignableRoles, getAssignmentColumnLabel, getAvailableShiftIds, getAwardBadgeType, getAwardDescription, getAwardTitle, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentShiftForLine, getCurrentTimeInZone, getCurrentWeekFullRange, getCurrentWeekToDateRange, getDashboardHeaderTimeInZone, getDateKeyFromDate, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getInitials, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getMonthKeyBounds, getMonthWeekRanges, getNextUpdateInterval, getOperationalDate, getReasonColor, getRoleAssignmentKind, getRoleDescription, getRoleLabel, getRoleMetadata, getRoleNavPaths, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShiftWorkDurationSeconds, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUniformShiftGroup, getUserThreads, getUserThreadsPaginated, getVisibleRolesForCurrentUser, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, groupLinesByShift, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isEfficiencyOnTrack, isFactoryScopedRole, isFullMonthRange, isLegacyConfiguration, isPrefetchError, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeDateKeyRange, normalizeRoleLevel, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, setSentryUserContext, setSentryWorkspaceContext, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, subscribeWorkspaceDisplayNames, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, transformToChartData, updateThreadTitle, upsertWorkspaceDisplayNameInCache, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useClipsInit, useCompanyClipsCost, useCompanyUsersUsage, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHideMobileHeader, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useIdleTimeClipClassifications, useIdleTimeReasons, useIdleTimeVlmConfig, useKpiTrends, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useLines, useMessages, useMetrics, useMobileMenu, useMonthlyTrend, useMultiLineShiftConfigs, useNavigation, useOperationalShiftKey, useOptionalSupabase, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useSessionTracking, useSessionTrackingContext, useShiftConfig, useShiftGroups, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useSupervisorsByLineIds, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useUserUsage, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthLastSeen, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, useWorkspaceVideoStreams, userService, videoPrefetchManager, videoPreloader, weeklyTopPerformerService, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
package/dist/index.d.ts CHANGED
@@ -6479,6 +6479,7 @@ declare const parseDateKeyToDate: (dateKey: string) => Date;
6479
6479
  declare const formatDateKeyForDisplay: (dateKey: string, formatStr?: string) => string;
6480
6480
  declare const getMonthKeyBounds: (year: number, monthIndex: number) => DateKeyRange;
6481
6481
  declare const getCurrentWeekToDateRange: (timezone: string, now?: Date) => DateKeyRange;
6482
+ declare const getCurrentWeekFullRange: (timezone: string, now?: Date) => DateKeyRange;
6482
6483
  declare const normalizeDateKeyRange: (startKey: string, endKey: string, minKey: string, maxKey: string) => DateKeyRange;
6483
6484
  declare const isFullMonthRange: (range: DateKeyRange, year: number, monthIndex: number) => boolean;
6484
6485
  declare const getMonthWeekRanges: (year: number, monthIndex: number, timezone: string, maxKey?: string) => MonthWeekRange[];
@@ -10030,4 +10031,4 @@ interface ThreadSidebarProps {
10030
10031
  }
10031
10032
  declare const ThreadSidebar: React__default.FC<ThreadSidebarProps>;
10032
10033
 
10033
- export { ACTION_NAMES, AIAgentView, AcceptInvite, type AcceptInviteProps, AcceptInviteView, type AcceptInviteViewProps, type AccessControlReturn, type AccessScope$1 as AccessScope, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, AdvancedFilterDialog, AdvancedFilterPanel, type AnalyticsConfig, type AppRoleLevel, 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, AvatarUpload, type AvatarUploadProps, type AwardBadgeType, type AwardNotificationRecord, type AwardNotificationType, type AwardRecord, type AwardType, 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, ChangeRoleDialog, type ChangeRoleDialogProps, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, ClipFilterProvider, type ClipFilterState, type ClipsConfig, ClipsCostView, CompactWorkspaceHealthCard, type CompanyUsageReport, type CompanyUser, type CompanyUserUsageSummary, type CompanyUserWithDetails, type ComponentOverride, ConfirmRemoveUserDialog, type ConfirmRemoveUserDialogProps, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, type CountDelta, 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_HOME_VIEW_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 DateKeyRange, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayData, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, type DiagnosisOption$1 as DiagnosisOption, DiagnosisVideoModal, type DurationDelta, type DynamicLineShiftConfig, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type Factory, FactoryAssignmentDropdown, type FactoryAssignmentDropdownProps, type FactoryOverviewMetrics, FactoryView, type FactoryViewProps, type FetchIdleTimeReasonsParams, FileManagerFilters, FileManagerFilters as FileManagerFiltersProps, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, HealthDateShiftSelector, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoricWorkspaceMetrics, type HistoryCalendarProps, HlsVideoPlayer, type HlsVideoPlayerProps, type HlsVideoPlayerRef, HomeView, type HomeViewConfig, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, HourlyUptimeChart, type HourlyUptimeChartProps, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, type IdleTimeClipMetadata, type IdleTimeReason, type IdleTimeReasonData, type IdleTimeReasonsData, type IdleTimeReasonsResponse, IdleTimeVlmConfigProvider, ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, type InvitationWithDetails, InvitationsTable, InviteUserDialog, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, type KpiTrend, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineAssignmentDropdown, type LineAssignmentDropdownProps, 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 LineRecord, type LineShiftConfig, type LineShiftInfo, type LineSnapshot, type LineSupervisor, 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 MixpanelSessionOptions, MobileMenuProvider, type MobileMenuProviderProps, type MonthWeekRange, type MonthlyTrendSummary, 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, type PercentageDelta, PieChart, type PieChartProps, PlantHeadView, 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 RoleAssignmentKind, RoleBadge, type RoleMetadata, 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, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, type SettingsPopupItem, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData, type ShiftDefinition, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftLineGroup, 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 StorageService, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Supervisor, type SupervisorAssignment, type SupervisorConfig, type SupervisorDetail, SupervisorDropdown, type SupervisorDropdownProps, type SupervisorLine, 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 TodayUsage, type TodayUsageData, type TodayUsageReport, type TopPerformerRecord, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UpdateUserNameInput, type UpdateUserProfileInput, type UpdateUserRoleInput, type UptimeDetails, UptimeDonutChart, type UptimeDonutChartProps, UptimeLineChart, type UptimeLineChartProps, UptimeMetricCards, type UptimeMetricCardsProps, type UptimeStatus$1 as UptimeStatus, type UsageBreakdown, type UseActiveBreaksResult, type UseAllWorkspaceMetricsOptions, type UseClipTypesResult, type UseCompanyUsersUsageOptions, type UseCompanyUsersUsageReturn, type UseDashboardMetricsProps, type UseDynamicShiftConfigResult, type UseFormatNumberResult, type UseIdleTimeReasonsProps, type UseIdleTimeReasonsResult, type UseLineShiftConfigResult, type UseLineWorkspaceMetricsOptions, type UseMessagesResult, type UseMultiLineShiftConfigsResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseSupervisorsByLineIdsResult, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseUserUsageOptions, type UseUserUsageReturn, type UseWorkspaceHealthByIdOptions, type UseWorkspaceHealthStatusReturn, type UseWorkspaceOperatorsOptions, type UseWorkspaceUptimeTimelineOptions, type UseWorkspaceUptimeTimelineResult, UserAvatar, type UserAvatarProps, type UserInvitation, UserManagementService, UserManagementTable, type UserProfileConfig, type UserRole, type UserRoleLevel, UserService, type UserUsageDetail, UserUsageDetailModal, type UserUsageDetailModalProps, type UserUsageInfo, UserUsageStats, type UserUsageStatsProps, type UserUsageSummary, type ValueDelta, 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 WeeklyTopPerformerRecord, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig$1 as WorkspaceConfig, type WorkspaceCropRect, 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, type WorkspaceVideoStream, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureSentryException, captureSentryMessage, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, filterDataByDateKeyRange, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, formatDuration, formatISTDate, formatIdleTime, formatRangeLabel, formatReasonLabel, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAllWorkspaceDisplayNamesSnapshot, getAnonClient, getAssignableRoles, getAssignmentColumnLabel, getAvailableShiftIds, getAwardBadgeType, getAwardDescription, getAwardTitle, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentShiftForLine, getCurrentTimeInZone, getCurrentWeekToDateRange, getDashboardHeaderTimeInZone, getDateKeyFromDate, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getInitials, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getMonthKeyBounds, getMonthWeekRanges, getNextUpdateInterval, getOperationalDate, getReasonColor, getRoleAssignmentKind, getRoleDescription, getRoleLabel, getRoleMetadata, getRoleNavPaths, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShiftWorkDurationSeconds, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUniformShiftGroup, getUserThreads, getUserThreadsPaginated, getVisibleRolesForCurrentUser, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, groupLinesByShift, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isEfficiencyOnTrack, isFactoryScopedRole, isFullMonthRange, isLegacyConfiguration, isPrefetchError, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeDateKeyRange, normalizeRoleLevel, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, setSentryUserContext, setSentryWorkspaceContext, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, subscribeWorkspaceDisplayNames, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, transformToChartData, updateThreadTitle, upsertWorkspaceDisplayNameInCache, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useClipsInit, useCompanyClipsCost, useCompanyUsersUsage, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHideMobileHeader, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useIdleTimeClipClassifications, useIdleTimeReasons, useIdleTimeVlmConfig, useKpiTrends, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useLines, useMessages, useMetrics, useMobileMenu, useMonthlyTrend, useMultiLineShiftConfigs, useNavigation, useOperationalShiftKey, useOptionalSupabase, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useSessionTracking, useSessionTrackingContext, useShiftConfig, useShiftGroups, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useSupervisorsByLineIds, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useUserUsage, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthLastSeen, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, useWorkspaceVideoStreams, userService, videoPrefetchManager, videoPreloader, weeklyTopPerformerService, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
10034
+ export { ACTION_NAMES, AIAgentView, AcceptInvite, type AcceptInviteProps, AcceptInviteView, type AcceptInviteViewProps, type AccessControlReturn, type AccessScope$1 as AccessScope, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, AdvancedFilterDialog, AdvancedFilterPanel, type AnalyticsConfig, type AppRoleLevel, 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, AvatarUpload, type AvatarUploadProps, type AwardBadgeType, type AwardNotificationRecord, type AwardNotificationType, type AwardRecord, type AwardType, 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, ChangeRoleDialog, type ChangeRoleDialogProps, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, ClipFilterProvider, type ClipFilterState, type ClipsConfig, ClipsCostView, CompactWorkspaceHealthCard, type CompanyUsageReport, type CompanyUser, type CompanyUserUsageSummary, type CompanyUserWithDetails, type ComponentOverride, ConfirmRemoveUserDialog, type ConfirmRemoveUserDialogProps, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, type CountDelta, 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_HOME_VIEW_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 DateKeyRange, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayData, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, type DiagnosisOption$1 as DiagnosisOption, DiagnosisVideoModal, type DurationDelta, type DynamicLineShiftConfig, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type Factory, FactoryAssignmentDropdown, type FactoryAssignmentDropdownProps, type FactoryOverviewMetrics, FactoryView, type FactoryViewProps, type FetchIdleTimeReasonsParams, FileManagerFilters, FileManagerFilters as FileManagerFiltersProps, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, HealthDateShiftSelector, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoricWorkspaceMetrics, type HistoryCalendarProps, HlsVideoPlayer, type HlsVideoPlayerProps, type HlsVideoPlayerRef, HomeView, type HomeViewConfig, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, HourlyUptimeChart, type HourlyUptimeChartProps, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, type IdleTimeClipMetadata, type IdleTimeReason, type IdleTimeReasonData, type IdleTimeReasonsData, type IdleTimeReasonsResponse, IdleTimeVlmConfigProvider, ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, type InvitationWithDetails, InvitationsTable, InviteUserDialog, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, type KpiTrend, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineAssignmentDropdown, type LineAssignmentDropdownProps, 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 LineRecord, type LineShiftConfig, type LineShiftInfo, type LineSnapshot, type LineSupervisor, 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 MixpanelSessionOptions, MobileMenuProvider, type MobileMenuProviderProps, type MonthWeekRange, type MonthlyTrendSummary, 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, type PercentageDelta, PieChart, type PieChartProps, PlantHeadView, 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 RoleAssignmentKind, RoleBadge, type RoleMetadata, 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, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, type SettingsPopupItem, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData, type ShiftDefinition, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftLineGroup, 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 StorageService, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Supervisor, type SupervisorAssignment, type SupervisorConfig, type SupervisorDetail, SupervisorDropdown, type SupervisorDropdownProps, type SupervisorLine, 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 TodayUsage, type TodayUsageData, type TodayUsageReport, type TopPerformerRecord, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UpdateUserNameInput, type UpdateUserProfileInput, type UpdateUserRoleInput, type UptimeDetails, UptimeDonutChart, type UptimeDonutChartProps, UptimeLineChart, type UptimeLineChartProps, UptimeMetricCards, type UptimeMetricCardsProps, type UptimeStatus$1 as UptimeStatus, type UsageBreakdown, type UseActiveBreaksResult, type UseAllWorkspaceMetricsOptions, type UseClipTypesResult, type UseCompanyUsersUsageOptions, type UseCompanyUsersUsageReturn, type UseDashboardMetricsProps, type UseDynamicShiftConfigResult, type UseFormatNumberResult, type UseIdleTimeReasonsProps, type UseIdleTimeReasonsResult, type UseLineShiftConfigResult, type UseLineWorkspaceMetricsOptions, type UseMessagesResult, type UseMultiLineShiftConfigsResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseSupervisorsByLineIdsResult, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseUserUsageOptions, type UseUserUsageReturn, type UseWorkspaceHealthByIdOptions, type UseWorkspaceHealthStatusReturn, type UseWorkspaceOperatorsOptions, type UseWorkspaceUptimeTimelineOptions, type UseWorkspaceUptimeTimelineResult, UserAvatar, type UserAvatarProps, type UserInvitation, UserManagementService, UserManagementTable, type UserProfileConfig, type UserRole, type UserRoleLevel, UserService, type UserUsageDetail, UserUsageDetailModal, type UserUsageDetailModalProps, type UserUsageInfo, UserUsageStats, type UserUsageStatsProps, type UserUsageSummary, type ValueDelta, 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 WeeklyTopPerformerRecord, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig$1 as WorkspaceConfig, type WorkspaceCropRect, 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, type WorkspaceVideoStream, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureSentryException, captureSentryMessage, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, filterDataByDateKeyRange, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, formatDuration, formatISTDate, formatIdleTime, formatRangeLabel, formatReasonLabel, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAllWorkspaceDisplayNamesSnapshot, getAnonClient, getAssignableRoles, getAssignmentColumnLabel, getAvailableShiftIds, getAwardBadgeType, getAwardDescription, getAwardTitle, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentShiftForLine, getCurrentTimeInZone, getCurrentWeekFullRange, getCurrentWeekToDateRange, getDashboardHeaderTimeInZone, getDateKeyFromDate, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getInitials, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getMonthKeyBounds, getMonthWeekRanges, getNextUpdateInterval, getOperationalDate, getReasonColor, getRoleAssignmentKind, getRoleDescription, getRoleLabel, getRoleMetadata, getRoleNavPaths, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShiftWorkDurationSeconds, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUniformShiftGroup, getUserThreads, getUserThreadsPaginated, getVisibleRolesForCurrentUser, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, groupLinesByShift, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isEfficiencyOnTrack, isFactoryScopedRole, isFullMonthRange, isLegacyConfiguration, isPrefetchError, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeDateKeyRange, normalizeRoleLevel, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, setSentryUserContext, setSentryWorkspaceContext, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, subscribeWorkspaceDisplayNames, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, transformToChartData, updateThreadTitle, upsertWorkspaceDisplayNameInCache, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useClipsInit, useCompanyClipsCost, useCompanyUsersUsage, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHideMobileHeader, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useIdleTimeClipClassifications, useIdleTimeReasons, useIdleTimeVlmConfig, useKpiTrends, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useLines, useMessages, useMetrics, useMobileMenu, useMonthlyTrend, useMultiLineShiftConfigs, useNavigation, useOperationalShiftKey, useOptionalSupabase, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useSessionTracking, useSessionTrackingContext, useShiftConfig, useShiftGroups, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useSupervisorsByLineIds, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useUserUsage, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthLastSeen, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, useWorkspaceVideoStreams, userService, videoPrefetchManager, videoPreloader, weeklyTopPerformerService, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
package/dist/index.js CHANGED
@@ -2201,6 +2201,14 @@ var getCurrentWeekToDateRange = (timezone, now4 = /* @__PURE__ */ new Date()) =>
2201
2201
  endKey: dateFns.format(todayDate, "yyyy-MM-dd")
2202
2202
  };
2203
2203
  };
2204
+ var getCurrentWeekFullRange = (timezone, now4 = /* @__PURE__ */ new Date()) => {
2205
+ const currentWeekToDateRange = getCurrentWeekToDateRange(timezone, now4);
2206
+ const weekStart = parseDateKeyToDate(currentWeekToDateRange.startKey);
2207
+ return {
2208
+ startKey: currentWeekToDateRange.startKey,
2209
+ endKey: dateFns.format(dateFns.addDays(weekStart, 6), "yyyy-MM-dd")
2210
+ };
2211
+ };
2204
2212
  var normalizeDateKeyRange = (startKey, endKey, minKey, maxKey) => {
2205
2213
  const clampedStart = startKey < minKey ? minKey : startKey > maxKey ? maxKey : startKey;
2206
2214
  const clampedEnd = endKey < minKey ? minKey : endKey > maxKey ? maxKey : endKey;
@@ -37658,7 +37666,7 @@ var TimePickerDropdown = ({
37658
37666
  const generateTimeSlots = () => {
37659
37667
  const slots = [];
37660
37668
  for (let hour = 0; hour < 24; hour++) {
37661
- for (let minute = 0; minute < 60; minute += 15) {
37669
+ for (let minute = 0; minute < 60; minute += 10) {
37662
37670
  const time24 = `${hour.toString().padStart(2, "0")}:${minute.toString().padStart(2, "0")}`;
37663
37671
  const hour12 = hour === 0 ? 12 : hour > 12 ? hour - 12 : hour;
37664
37672
  const ampm = hour < 12 ? "AM" : "PM";
@@ -74666,34 +74674,54 @@ var OverviewImprovementsSkeleton = () => /* @__PURE__ */ jsxRuntime.jsx("div", {
74666
74674
  ] }, index)) });
74667
74675
  var OperationsOverviewHeader = React141__namespace.default.memo(({
74668
74676
  dateRange,
74677
+ displayDateRange,
74669
74678
  trendMode,
74679
+ lineOptions,
74680
+ selectedLineIds,
74670
74681
  appTimezone,
74671
74682
  mobileMenuContext,
74672
74683
  onDateRangeChange,
74673
- onTrendModeChange
74684
+ onTrendModeChange,
74685
+ onSelectedLineIdsChange
74674
74686
  }) => {
74675
74687
  bumpRenderCounter();
74688
+ const subtitleRange = displayDateRange || dateRange;
74676
74689
  const [isFilterOpen, setIsFilterOpen] = React141__namespace.default.useState(false);
74690
+ const [isLinesDropdownOpen, setIsLinesDropdownOpen] = React141__namespace.default.useState(false);
74677
74691
  const filterRef = React141__namespace.default.useRef(null);
74678
74692
  const filterButtonRef = React141__namespace.default.useRef(null);
74679
74693
  const mobileFilterButtonRef = React141__namespace.default.useRef(null);
74680
- const currentWeekRange = React141__namespace.default.useMemo(
74681
- () => getCurrentWeekToDateRange(appTimezone),
74682
- [appTimezone]
74683
- );
74684
- const isCurrentWeekToDateRange = dateRange.startKey === currentWeekRange.startKey && dateRange.endKey === currentWeekRange.endKey;
74694
+ const linesDropdownRef = React141__namespace.default.useRef(null);
74685
74695
  const mobileSubtitle = React141__namespace.default.useMemo(() => {
74686
- if (isCurrentWeekToDateRange) {
74687
- return `Week of ${dateFns.format(parseDateKeyToDate(dateRange.startKey), "do MMM")}`;
74696
+ if (subtitleRange.startKey === subtitleRange.endKey) {
74697
+ return dateFns.format(parseDateKeyToDate(subtitleRange.startKey), "do MMM, yyyy");
74688
74698
  }
74689
- return `${dateFns.format(parseDateKeyToDate(dateRange.startKey), "do MMM")} - ${dateFns.format(parseDateKeyToDate(dateRange.endKey), "do MMM, yyyy")}`;
74690
- }, [dateRange.endKey, dateRange.startKey, isCurrentWeekToDateRange]);
74699
+ return `${dateFns.format(parseDateKeyToDate(subtitleRange.startKey), "do MMM")} - ${dateFns.format(parseDateKeyToDate(subtitleRange.endKey), "do MMM, yyyy")}`;
74700
+ }, [subtitleRange.endKey, subtitleRange.startKey]);
74691
74701
  const desktopSubtitle = React141__namespace.default.useMemo(() => {
74692
- if (isCurrentWeekToDateRange) {
74693
- return `Week of ${dateFns.format(parseDateKeyToDate(dateRange.startKey), "do MMMM, yyyy")}`;
74694
- }
74695
- return `${dateFns.format(parseDateKeyToDate(dateRange.startKey), "do MMMM, yyyy")} - ${dateFns.format(parseDateKeyToDate(dateRange.endKey), "do MMMM, yyyy")}`;
74696
- }, [dateRange.endKey, dateRange.startKey, isCurrentWeekToDateRange]);
74702
+ if (subtitleRange.startKey === subtitleRange.endKey) {
74703
+ return dateFns.format(parseDateKeyToDate(subtitleRange.startKey), "do MMMM, yyyy");
74704
+ }
74705
+ return `${dateFns.format(parseDateKeyToDate(subtitleRange.startKey), "do MMMM, yyyy")} - ${dateFns.format(parseDateKeyToDate(subtitleRange.endKey), "do MMMM, yyyy")}`;
74706
+ }, [subtitleRange.endKey, subtitleRange.startKey]);
74707
+ const availableLineIds = React141__namespace.default.useMemo(
74708
+ () => lineOptions.map((line) => line.id),
74709
+ [lineOptions]
74710
+ );
74711
+ const selectedLineIdSet = React141__namespace.default.useMemo(
74712
+ () => new Set(selectedLineIds),
74713
+ [selectedLineIds]
74714
+ );
74715
+ const isAllLinesSelected = React141__namespace.default.useMemo(() => {
74716
+ if (availableLineIds.length === 0) return true;
74717
+ return availableLineIds.every((lineId) => selectedLineIdSet.has(lineId));
74718
+ }, [availableLineIds, selectedLineIdSet]);
74719
+ const activeFilterCount = React141__namespace.default.useMemo(() => {
74720
+ let count = 0;
74721
+ if (trendMode !== "all") count += 1;
74722
+ if (!isAllLinesSelected) count += 1;
74723
+ return count;
74724
+ }, [isAllLinesSelected, trendMode]);
74697
74725
  const handleFilterToggle = React141__namespace.default.useCallback(() => {
74698
74726
  trackCoreEvent("Operations Overview Filter Toggled", {
74699
74727
  action: !isFilterOpen ? "open" : "close"
@@ -74707,10 +74735,43 @@ var OperationsOverviewHeader = React141__namespace.default.memo(({
74707
74735
  });
74708
74736
  onTrendModeChange(nextMode);
74709
74737
  }, [onTrendModeChange]);
74738
+ const handleAllLinesToggle = React141__namespace.default.useCallback(() => {
74739
+ trackCoreEvent("Operations Overview Line Filter Changed", {
74740
+ selected_line_ids: availableLineIds,
74741
+ selected_line_count: availableLineIds.length,
74742
+ mode: "all"
74743
+ });
74744
+ onSelectedLineIdsChange(availableLineIds);
74745
+ }, [availableLineIds, onSelectedLineIdsChange]);
74746
+ const handleLineToggle = React141__namespace.default.useCallback((lineId) => {
74747
+ const current = new Set(selectedLineIds);
74748
+ if (current.has(lineId)) {
74749
+ if (current.size <= 1) return;
74750
+ current.delete(lineId);
74751
+ } else {
74752
+ current.add(lineId);
74753
+ }
74754
+ const next = availableLineIds.filter((id3) => current.has(id3));
74755
+ trackCoreEvent("Operations Overview Line Filter Changed", {
74756
+ selected_line_ids: next,
74757
+ selected_line_count: next.length,
74758
+ mode: "custom"
74759
+ });
74760
+ onSelectedLineIdsChange(next);
74761
+ }, [availableLineIds, onSelectedLineIdsChange, selectedLineIds]);
74762
+ const handleClearAllFilters = React141__namespace.default.useCallback(() => {
74763
+ onTrendModeChange("all");
74764
+ onSelectedLineIdsChange(availableLineIds);
74765
+ setIsFilterOpen(false);
74766
+ }, [availableLineIds, onSelectedLineIdsChange, onTrendModeChange]);
74710
74767
  React141__namespace.default.useEffect(() => {
74711
74768
  const handleClickOutside = (event) => {
74712
- if (filterRef.current && !filterRef.current.contains(event.target) && filterButtonRef.current && !filterButtonRef.current.contains(event.target) && mobileFilterButtonRef.current && !mobileFilterButtonRef.current.contains(event.target)) {
74769
+ const target = event.target;
74770
+ if (filterRef.current && !filterRef.current.contains(target) && filterButtonRef.current && !filterButtonRef.current.contains(target) && mobileFilterButtonRef.current && !mobileFilterButtonRef.current.contains(target)) {
74713
74771
  setIsFilterOpen(false);
74772
+ setIsLinesDropdownOpen(false);
74773
+ } else if (linesDropdownRef.current && !linesDropdownRef.current.contains(target)) {
74774
+ setIsLinesDropdownOpen(false);
74714
74775
  }
74715
74776
  };
74716
74777
  document.addEventListener("mousedown", handleClickOutside);
@@ -74749,11 +74810,11 @@ var OperationsOverviewHeader = React141__namespace.default.memo(({
74749
74810
  {
74750
74811
  ref: mobileFilterButtonRef,
74751
74812
  onClick: handleFilterToggle,
74752
- className: `p-2 rounded-full transition-colors relative ${isFilterOpen || trendMode !== "all" ? "bg-blue-50" : "active:bg-gray-100"}`,
74813
+ className: `p-2 rounded-full transition-colors relative ${isFilterOpen || activeFilterCount > 0 ? "bg-blue-50" : "active:bg-gray-100"}`,
74753
74814
  "aria-label": "Open filters",
74754
74815
  children: [
74755
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Filter, { className: `w-5 h-5 ${trendMode !== "all" ? "text-blue-600" : "text-gray-700"}` }),
74756
- trendMode !== "all" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -top-1 -right-1 flex items-center justify-center w-4 h-4 bg-blue-600 text-white text-[10px] rounded-full font-bold", children: "1" }) : null
74816
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Filter, { className: `w-5 h-5 ${activeFilterCount > 0 ? "text-blue-600" : "text-gray-700"}` }),
74817
+ activeFilterCount > 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -top-1 -right-1 flex items-center justify-center w-4 h-4 bg-blue-600 text-white text-[10px] rounded-full font-bold", children: activeFilterCount }) : null
74757
74818
  ]
74758
74819
  }
74759
74820
  )
@@ -74781,10 +74842,10 @@ var OperationsOverviewHeader = React141__namespace.default.memo(({
74781
74842
  {
74782
74843
  ref: filterButtonRef,
74783
74844
  onClick: handleFilterToggle,
74784
- className: `flex items-center gap-2 px-3 py-1.5 rounded-lg border text-sm font-medium transition-all shadow-sm ${isFilterOpen || trendMode !== "all" ? "border-blue-500 bg-blue-50 text-blue-700 ring-1 ring-blue-500" : "border-slate-200 bg-white text-slate-700 hover:bg-slate-50"}`,
74845
+ className: `flex items-center gap-2 px-3 py-1.5 rounded-lg border text-sm font-medium transition-all shadow-sm ${isFilterOpen || activeFilterCount > 0 ? "border-blue-500 bg-blue-50 text-blue-700 ring-1 ring-blue-500" : "border-slate-200 bg-white text-slate-700 hover:bg-slate-50"}`,
74785
74846
  "aria-label": "Open filters",
74786
74847
  children: [
74787
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Filter, { className: `w-[18px] h-[18px] ${trendMode !== "all" ? "text-blue-600" : "text-slate-500"}` }),
74848
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Filter, { className: `w-[18px] h-[18px] ${activeFilterCount > 0 ? "text-blue-600" : "text-slate-500"}` }),
74788
74849
  "Filters",
74789
74850
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: `w-4 h-4 ml-0.5 transition-transform duration-200 ${isFilterOpen ? "rotate-180" : ""}` })
74790
74851
  ]
@@ -74795,40 +74856,94 @@ var OperationsOverviewHeader = React141__namespace.default.memo(({
74795
74856
  isFilterOpen ? /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: filterRef, className: "absolute right-3 sm:right-4 md:right-5 lg:right-6 top-full mt-2 w-72 bg-white rounded-xl shadow-xl border border-gray-100 p-4 z-50", children: [
74796
74857
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-3", children: [
74797
74858
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-gray-900", children: "Filter View" }),
74798
- trendMode !== "all" ? /* @__PURE__ */ jsxRuntime.jsx(
74859
+ activeFilterCount > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
74799
74860
  "button",
74800
74861
  {
74801
- onClick: () => {
74802
- onTrendModeChange("all");
74803
- setIsFilterOpen(false);
74804
- },
74862
+ onClick: handleClearAllFilters,
74805
74863
  className: "text-xs text-red-600 hover:text-red-700 font-medium",
74806
74864
  children: "Clear all"
74807
74865
  }
74808
74866
  ) : null
74809
74867
  ] }),
74810
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
74811
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-medium text-gray-500 uppercase tracking-wide ml-1", children: "Shift" }),
74812
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs(
74813
- "select",
74814
- {
74815
- value: trendMode,
74816
- onChange: handleTrendModeChange,
74817
- className: "w-full appearance-none pl-3 pr-8 py-2 text-sm bg-gray-50 border border-gray-200 hover:border-gray-300 rounded-lg text-gray-900 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all cursor-pointer",
74818
- style: {
74819
- backgroundImage: `url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")`,
74820
- backgroundPosition: "right 0.75rem center",
74821
- backgroundRepeat: "no-repeat",
74822
- backgroundSize: "1.2em 1.2em"
74823
- },
74824
- children: [
74825
- /* @__PURE__ */ jsxRuntime.jsx("option", { value: "all", children: "All Shifts" }),
74826
- /* @__PURE__ */ jsxRuntime.jsx("option", { value: "day", children: "Day Shift" }),
74827
- /* @__PURE__ */ jsxRuntime.jsx("option", { value: "night", children: "Night Shift" })
74828
- ]
74829
- }
74830
- ) })
74831
- ] }) })
74868
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
74869
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
74870
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-medium text-gray-500 uppercase tracking-wide ml-1", children: "Shift" }),
74871
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs(
74872
+ "select",
74873
+ {
74874
+ value: trendMode,
74875
+ onChange: handleTrendModeChange,
74876
+ className: "w-full appearance-none pl-3 pr-8 py-2 text-sm bg-gray-50 border border-gray-200 hover:border-gray-300 rounded-lg text-gray-900 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all cursor-pointer",
74877
+ style: {
74878
+ backgroundImage: `url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")`,
74879
+ backgroundPosition: "right 0.75rem center",
74880
+ backgroundRepeat: "no-repeat",
74881
+ backgroundSize: "1.2em 1.2em"
74882
+ },
74883
+ children: [
74884
+ /* @__PURE__ */ jsxRuntime.jsx("option", { value: "all", children: "All Shifts" }),
74885
+ /* @__PURE__ */ jsxRuntime.jsx("option", { value: "day", children: "Day Shift" }),
74886
+ /* @__PURE__ */ jsxRuntime.jsx("option", { value: "night", children: "Night Shift" })
74887
+ ]
74888
+ }
74889
+ ) })
74890
+ ] }),
74891
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", ref: linesDropdownRef, children: [
74892
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs font-medium text-gray-500 uppercase tracking-wide ml-1", children: "Lines" }),
74893
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
74894
+ /* @__PURE__ */ jsxRuntime.jsxs(
74895
+ "button",
74896
+ {
74897
+ type: "button",
74898
+ onClick: () => setIsLinesDropdownOpen((prev) => !prev),
74899
+ className: "w-full flex items-center justify-between pl-3 pr-3 py-2 text-sm bg-gray-50 border border-gray-200 hover:border-gray-300 rounded-lg text-gray-900 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all cursor-pointer text-left",
74900
+ children: [
74901
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate pr-2", children: isAllLinesSelected ? "All Lines" : selectedLineIds.length === 1 ? lineOptions.find((l) => l.id === selectedLineIds[0])?.name || "1 Line Selected" : `${selectedLineIds.length} Lines Selected` }),
74902
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: `w-4 h-4 text-gray-500 flex-shrink-0 transition-transform ${isLinesDropdownOpen ? "rotate-180" : ""}` })
74903
+ ]
74904
+ }
74905
+ ),
74906
+ isLinesDropdownOpen ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute top-full left-0 right-0 mt-1 max-h-48 overflow-y-auto rounded-lg border border-gray-200 bg-white shadow-lg p-1.5 space-y-0.5 z-[60]", children: [
74907
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-2.5 rounded-md px-2 py-1.5 text-sm text-gray-900 hover:bg-gray-50 cursor-pointer", children: [
74908
+ /* @__PURE__ */ jsxRuntime.jsx(
74909
+ "input",
74910
+ {
74911
+ type: "checkbox",
74912
+ className: "h-4 w-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500",
74913
+ checked: isAllLinesSelected,
74914
+ onChange: handleAllLinesToggle
74915
+ }
74916
+ ),
74917
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: "All Lines" })
74918
+ ] }),
74919
+ lineOptions.map((line) => {
74920
+ const isChecked = selectedLineIdSet.has(line.id);
74921
+ const disableUncheck = isChecked && selectedLineIds.length <= 1;
74922
+ return /* @__PURE__ */ jsxRuntime.jsxs(
74923
+ "label",
74924
+ {
74925
+ className: `flex items-center gap-2.5 rounded-md px-2 py-1.5 text-sm cursor-pointer transition-colors ${disableUncheck ? "text-gray-400 hover:bg-transparent" : "text-gray-800 hover:bg-gray-50"}`,
74926
+ children: [
74927
+ /* @__PURE__ */ jsxRuntime.jsx(
74928
+ "input",
74929
+ {
74930
+ type: "checkbox",
74931
+ className: "h-4 w-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500 disabled:opacity-40",
74932
+ checked: isChecked,
74933
+ disabled: disableUncheck,
74934
+ onChange: () => handleLineToggle(line.id)
74935
+ }
74936
+ ),
74937
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: line.name })
74938
+ ]
74939
+ },
74940
+ line.id
74941
+ );
74942
+ })
74943
+ ] }) : null
74944
+ ] })
74945
+ ] })
74946
+ ] })
74832
74947
  ] }) : null
74833
74948
  ] }) });
74834
74949
  });
@@ -75727,6 +75842,7 @@ var PlantHeadView = () => {
75727
75842
  const [dateRange, setDateRange] = React141__namespace.default.useState(() => getCurrentWeekToDateRange(appTimezone));
75728
75843
  const [usesThisWeekComparison, setUsesThisWeekComparison] = React141__namespace.default.useState(true);
75729
75844
  const [trendMode, setTrendMode] = React141__namespace.default.useState("all");
75845
+ const [selectedLineIds, setSelectedLineIds] = React141__namespace.default.useState([]);
75730
75846
  React141__namespace.default.useEffect(() => {
75731
75847
  trackCorePageView("Operations Overview", {
75732
75848
  dashboard_surface: "operations_overview"
@@ -75736,7 +75852,17 @@ var PlantHeadView = () => {
75736
75852
  () => getCurrentWeekToDateRange(appTimezone),
75737
75853
  [appTimezone]
75738
75854
  );
75855
+ const currentWeekDisplayRange = React141__namespace.default.useMemo(
75856
+ () => getCurrentWeekFullRange(appTimezone),
75857
+ [appTimezone]
75858
+ );
75739
75859
  const isCurrentWeekToDateRange = dateRange.startKey === currentWeekRange.startKey && dateRange.endKey === currentWeekRange.endKey;
75860
+ const headerDateRange = React141__namespace.default.useMemo(() => {
75861
+ if (usesThisWeekComparison && isCurrentWeekToDateRange) {
75862
+ return currentWeekDisplayRange;
75863
+ }
75864
+ return dateRange;
75865
+ }, [currentWeekDisplayRange, dateRange, isCurrentWeekToDateRange, usesThisWeekComparison]);
75740
75866
  const normalizedLineIds = React141__namespace.default.useMemo(
75741
75867
  () => Array.from(new Set((accessibleLineIds || []).filter(Boolean))).sort(),
75742
75868
  [accessibleLineIds]
@@ -75745,9 +75871,30 @@ var PlantHeadView = () => {
75745
75871
  () => normalizedLineIds.join(","),
75746
75872
  [normalizedLineIds]
75747
75873
  );
75874
+ const lineOptions = React141__namespace.default.useMemo(
75875
+ () => normalizedLineIds.map((lineId) => ({
75876
+ id: lineId,
75877
+ name: getLineDisplayName(entityConfig, lineId)
75878
+ })),
75879
+ [entityConfig, normalizedLineIds]
75880
+ );
75881
+ React141__namespace.default.useEffect(() => {
75882
+ setSelectedLineIds((previous) => {
75883
+ if (normalizedLineIds.length === 0) {
75884
+ return previous.length === 0 ? previous : [];
75885
+ }
75886
+ const previousSet = new Set(previous);
75887
+ const next = normalizedLineIds.filter((lineId) => previousSet.has(lineId));
75888
+ const resolved = next.length === 0 ? normalizedLineIds : next;
75889
+ if (previous.length === resolved.length && previous.every((lineId, index) => lineId === resolved[index])) {
75890
+ return previous;
75891
+ }
75892
+ return resolved;
75893
+ });
75894
+ }, [lineIdsKey, normalizedLineIds]);
75748
75895
  const scopedLineIds = React141__namespace.default.useMemo(
75749
- () => lineIdsKey ? lineIdsKey.split(",") : [],
75750
- [lineIdsKey]
75896
+ () => selectedLineIds.length > 0 ? selectedLineIds : normalizedLineIds,
75897
+ [normalizedLineIds, selectedLineIds]
75751
75898
  );
75752
75899
  const initializedTimezoneRef = React141__namespace.default.useRef(appTimezone);
75753
75900
  React141__namespace.default.useEffect(() => {
@@ -75775,6 +75922,16 @@ var PlantHeadView = () => {
75775
75922
  const handleTrendModeChange = React141__namespace.default.useCallback((mode) => {
75776
75923
  setTrendMode(mode);
75777
75924
  }, []);
75925
+ const handleSelectedLineIdsChange = React141__namespace.default.useCallback((lineIds) => {
75926
+ if (normalizedLineIds.length === 0) {
75927
+ setSelectedLineIds([]);
75928
+ return;
75929
+ }
75930
+ const uniqueSelected = Array.from(new Set(lineIds));
75931
+ const selectedSet = new Set(uniqueSelected);
75932
+ const next = normalizedLineIds.filter((lineId) => selectedSet.has(lineId));
75933
+ setSelectedLineIds(next.length > 0 ? next : normalizedLineIds);
75934
+ }, [normalizedLineIds]);
75778
75935
  const buildLineMonthlyHistoryUrl = React141__namespace.default.useCallback((lineId) => {
75779
75936
  const rangeStartDate = parseDateKeyToDate(dateRange.startKey);
75780
75937
  const params = new URLSearchParams();
@@ -75840,11 +75997,15 @@ var PlantHeadView = () => {
75840
75997
  OperationsOverviewHeader,
75841
75998
  {
75842
75999
  dateRange,
76000
+ displayDateRange: headerDateRange,
75843
76001
  trendMode,
76002
+ lineOptions,
76003
+ selectedLineIds: scopedLineIds,
75844
76004
  appTimezone,
75845
76005
  mobileMenuContext,
75846
76006
  onDateRangeChange: handleDateRangeChange,
75847
- onTrendModeChange: handleTrendModeChange
76007
+ onTrendModeChange: handleTrendModeChange,
76008
+ onSelectedLineIdsChange: handleSelectedLineIdsChange
75848
76009
  }
75849
76010
  ),
75850
76011
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4 sm:p-6 pb-6 max-w-[1800px] mx-auto w-full flex-1 min-h-0 overflow-y-auto flex flex-col gap-5", children: [
@@ -76683,6 +76844,7 @@ exports.getCoreSessionReplayUrl = getCoreSessionReplayUrl;
76683
76844
  exports.getCurrentShift = getCurrentShift;
76684
76845
  exports.getCurrentShiftForLine = getCurrentShiftForLine;
76685
76846
  exports.getCurrentTimeInZone = getCurrentTimeInZone;
76847
+ exports.getCurrentWeekFullRange = getCurrentWeekFullRange;
76686
76848
  exports.getCurrentWeekToDateRange = getCurrentWeekToDateRange;
76687
76849
  exports.getDashboardHeaderTimeInZone = getDashboardHeaderTimeInZone;
76688
76850
  exports.getDateKeyFromDate = getDateKeyFromDate;
package/dist/index.mjs CHANGED
@@ -2172,6 +2172,14 @@ var getCurrentWeekToDateRange = (timezone, now4 = /* @__PURE__ */ new Date()) =>
2172
2172
  endKey: format(todayDate, "yyyy-MM-dd")
2173
2173
  };
2174
2174
  };
2175
+ var getCurrentWeekFullRange = (timezone, now4 = /* @__PURE__ */ new Date()) => {
2176
+ const currentWeekToDateRange = getCurrentWeekToDateRange(timezone, now4);
2177
+ const weekStart = parseDateKeyToDate(currentWeekToDateRange.startKey);
2178
+ return {
2179
+ startKey: currentWeekToDateRange.startKey,
2180
+ endKey: format(addDays(weekStart, 6), "yyyy-MM-dd")
2181
+ };
2182
+ };
2175
2183
  var normalizeDateKeyRange = (startKey, endKey, minKey, maxKey) => {
2176
2184
  const clampedStart = startKey < minKey ? minKey : startKey > maxKey ? maxKey : startKey;
2177
2185
  const clampedEnd = endKey < minKey ? minKey : endKey > maxKey ? maxKey : endKey;
@@ -37629,7 +37637,7 @@ var TimePickerDropdown = ({
37629
37637
  const generateTimeSlots = () => {
37630
37638
  const slots = [];
37631
37639
  for (let hour = 0; hour < 24; hour++) {
37632
- for (let minute = 0; minute < 60; minute += 15) {
37640
+ for (let minute = 0; minute < 60; minute += 10) {
37633
37641
  const time24 = `${hour.toString().padStart(2, "0")}:${minute.toString().padStart(2, "0")}`;
37634
37642
  const hour12 = hour === 0 ? 12 : hour > 12 ? hour - 12 : hour;
37635
37643
  const ampm = hour < 12 ? "AM" : "PM";
@@ -74637,34 +74645,54 @@ var OverviewImprovementsSkeleton = () => /* @__PURE__ */ jsx("div", { className:
74637
74645
  ] }, index)) });
74638
74646
  var OperationsOverviewHeader = React141__default.memo(({
74639
74647
  dateRange,
74648
+ displayDateRange,
74640
74649
  trendMode,
74650
+ lineOptions,
74651
+ selectedLineIds,
74641
74652
  appTimezone,
74642
74653
  mobileMenuContext,
74643
74654
  onDateRangeChange,
74644
- onTrendModeChange
74655
+ onTrendModeChange,
74656
+ onSelectedLineIdsChange
74645
74657
  }) => {
74646
74658
  bumpRenderCounter();
74659
+ const subtitleRange = displayDateRange || dateRange;
74647
74660
  const [isFilterOpen, setIsFilterOpen] = React141__default.useState(false);
74661
+ const [isLinesDropdownOpen, setIsLinesDropdownOpen] = React141__default.useState(false);
74648
74662
  const filterRef = React141__default.useRef(null);
74649
74663
  const filterButtonRef = React141__default.useRef(null);
74650
74664
  const mobileFilterButtonRef = React141__default.useRef(null);
74651
- const currentWeekRange = React141__default.useMemo(
74652
- () => getCurrentWeekToDateRange(appTimezone),
74653
- [appTimezone]
74654
- );
74655
- const isCurrentWeekToDateRange = dateRange.startKey === currentWeekRange.startKey && dateRange.endKey === currentWeekRange.endKey;
74665
+ const linesDropdownRef = React141__default.useRef(null);
74656
74666
  const mobileSubtitle = React141__default.useMemo(() => {
74657
- if (isCurrentWeekToDateRange) {
74658
- return `Week of ${format(parseDateKeyToDate(dateRange.startKey), "do MMM")}`;
74667
+ if (subtitleRange.startKey === subtitleRange.endKey) {
74668
+ return format(parseDateKeyToDate(subtitleRange.startKey), "do MMM, yyyy");
74659
74669
  }
74660
- return `${format(parseDateKeyToDate(dateRange.startKey), "do MMM")} - ${format(parseDateKeyToDate(dateRange.endKey), "do MMM, yyyy")}`;
74661
- }, [dateRange.endKey, dateRange.startKey, isCurrentWeekToDateRange]);
74670
+ return `${format(parseDateKeyToDate(subtitleRange.startKey), "do MMM")} - ${format(parseDateKeyToDate(subtitleRange.endKey), "do MMM, yyyy")}`;
74671
+ }, [subtitleRange.endKey, subtitleRange.startKey]);
74662
74672
  const desktopSubtitle = React141__default.useMemo(() => {
74663
- if (isCurrentWeekToDateRange) {
74664
- return `Week of ${format(parseDateKeyToDate(dateRange.startKey), "do MMMM, yyyy")}`;
74665
- }
74666
- return `${format(parseDateKeyToDate(dateRange.startKey), "do MMMM, yyyy")} - ${format(parseDateKeyToDate(dateRange.endKey), "do MMMM, yyyy")}`;
74667
- }, [dateRange.endKey, dateRange.startKey, isCurrentWeekToDateRange]);
74673
+ if (subtitleRange.startKey === subtitleRange.endKey) {
74674
+ return format(parseDateKeyToDate(subtitleRange.startKey), "do MMMM, yyyy");
74675
+ }
74676
+ return `${format(parseDateKeyToDate(subtitleRange.startKey), "do MMMM, yyyy")} - ${format(parseDateKeyToDate(subtitleRange.endKey), "do MMMM, yyyy")}`;
74677
+ }, [subtitleRange.endKey, subtitleRange.startKey]);
74678
+ const availableLineIds = React141__default.useMemo(
74679
+ () => lineOptions.map((line) => line.id),
74680
+ [lineOptions]
74681
+ );
74682
+ const selectedLineIdSet = React141__default.useMemo(
74683
+ () => new Set(selectedLineIds),
74684
+ [selectedLineIds]
74685
+ );
74686
+ const isAllLinesSelected = React141__default.useMemo(() => {
74687
+ if (availableLineIds.length === 0) return true;
74688
+ return availableLineIds.every((lineId) => selectedLineIdSet.has(lineId));
74689
+ }, [availableLineIds, selectedLineIdSet]);
74690
+ const activeFilterCount = React141__default.useMemo(() => {
74691
+ let count = 0;
74692
+ if (trendMode !== "all") count += 1;
74693
+ if (!isAllLinesSelected) count += 1;
74694
+ return count;
74695
+ }, [isAllLinesSelected, trendMode]);
74668
74696
  const handleFilterToggle = React141__default.useCallback(() => {
74669
74697
  trackCoreEvent("Operations Overview Filter Toggled", {
74670
74698
  action: !isFilterOpen ? "open" : "close"
@@ -74678,10 +74706,43 @@ var OperationsOverviewHeader = React141__default.memo(({
74678
74706
  });
74679
74707
  onTrendModeChange(nextMode);
74680
74708
  }, [onTrendModeChange]);
74709
+ const handleAllLinesToggle = React141__default.useCallback(() => {
74710
+ trackCoreEvent("Operations Overview Line Filter Changed", {
74711
+ selected_line_ids: availableLineIds,
74712
+ selected_line_count: availableLineIds.length,
74713
+ mode: "all"
74714
+ });
74715
+ onSelectedLineIdsChange(availableLineIds);
74716
+ }, [availableLineIds, onSelectedLineIdsChange]);
74717
+ const handleLineToggle = React141__default.useCallback((lineId) => {
74718
+ const current = new Set(selectedLineIds);
74719
+ if (current.has(lineId)) {
74720
+ if (current.size <= 1) return;
74721
+ current.delete(lineId);
74722
+ } else {
74723
+ current.add(lineId);
74724
+ }
74725
+ const next = availableLineIds.filter((id3) => current.has(id3));
74726
+ trackCoreEvent("Operations Overview Line Filter Changed", {
74727
+ selected_line_ids: next,
74728
+ selected_line_count: next.length,
74729
+ mode: "custom"
74730
+ });
74731
+ onSelectedLineIdsChange(next);
74732
+ }, [availableLineIds, onSelectedLineIdsChange, selectedLineIds]);
74733
+ const handleClearAllFilters = React141__default.useCallback(() => {
74734
+ onTrendModeChange("all");
74735
+ onSelectedLineIdsChange(availableLineIds);
74736
+ setIsFilterOpen(false);
74737
+ }, [availableLineIds, onSelectedLineIdsChange, onTrendModeChange]);
74681
74738
  React141__default.useEffect(() => {
74682
74739
  const handleClickOutside = (event) => {
74683
- if (filterRef.current && !filterRef.current.contains(event.target) && filterButtonRef.current && !filterButtonRef.current.contains(event.target) && mobileFilterButtonRef.current && !mobileFilterButtonRef.current.contains(event.target)) {
74740
+ const target = event.target;
74741
+ if (filterRef.current && !filterRef.current.contains(target) && filterButtonRef.current && !filterButtonRef.current.contains(target) && mobileFilterButtonRef.current && !mobileFilterButtonRef.current.contains(target)) {
74684
74742
  setIsFilterOpen(false);
74743
+ setIsLinesDropdownOpen(false);
74744
+ } else if (linesDropdownRef.current && !linesDropdownRef.current.contains(target)) {
74745
+ setIsLinesDropdownOpen(false);
74685
74746
  }
74686
74747
  };
74687
74748
  document.addEventListener("mousedown", handleClickOutside);
@@ -74720,11 +74781,11 @@ var OperationsOverviewHeader = React141__default.memo(({
74720
74781
  {
74721
74782
  ref: mobileFilterButtonRef,
74722
74783
  onClick: handleFilterToggle,
74723
- className: `p-2 rounded-full transition-colors relative ${isFilterOpen || trendMode !== "all" ? "bg-blue-50" : "active:bg-gray-100"}`,
74784
+ className: `p-2 rounded-full transition-colors relative ${isFilterOpen || activeFilterCount > 0 ? "bg-blue-50" : "active:bg-gray-100"}`,
74724
74785
  "aria-label": "Open filters",
74725
74786
  children: [
74726
- /* @__PURE__ */ jsx(Filter, { className: `w-5 h-5 ${trendMode !== "all" ? "text-blue-600" : "text-gray-700"}` }),
74727
- trendMode !== "all" ? /* @__PURE__ */ jsx("span", { className: "absolute -top-1 -right-1 flex items-center justify-center w-4 h-4 bg-blue-600 text-white text-[10px] rounded-full font-bold", children: "1" }) : null
74787
+ /* @__PURE__ */ jsx(Filter, { className: `w-5 h-5 ${activeFilterCount > 0 ? "text-blue-600" : "text-gray-700"}` }),
74788
+ activeFilterCount > 0 ? /* @__PURE__ */ jsx("span", { className: "absolute -top-1 -right-1 flex items-center justify-center w-4 h-4 bg-blue-600 text-white text-[10px] rounded-full font-bold", children: activeFilterCount }) : null
74728
74789
  ]
74729
74790
  }
74730
74791
  )
@@ -74752,10 +74813,10 @@ var OperationsOverviewHeader = React141__default.memo(({
74752
74813
  {
74753
74814
  ref: filterButtonRef,
74754
74815
  onClick: handleFilterToggle,
74755
- className: `flex items-center gap-2 px-3 py-1.5 rounded-lg border text-sm font-medium transition-all shadow-sm ${isFilterOpen || trendMode !== "all" ? "border-blue-500 bg-blue-50 text-blue-700 ring-1 ring-blue-500" : "border-slate-200 bg-white text-slate-700 hover:bg-slate-50"}`,
74816
+ className: `flex items-center gap-2 px-3 py-1.5 rounded-lg border text-sm font-medium transition-all shadow-sm ${isFilterOpen || activeFilterCount > 0 ? "border-blue-500 bg-blue-50 text-blue-700 ring-1 ring-blue-500" : "border-slate-200 bg-white text-slate-700 hover:bg-slate-50"}`,
74756
74817
  "aria-label": "Open filters",
74757
74818
  children: [
74758
- /* @__PURE__ */ jsx(Filter, { className: `w-[18px] h-[18px] ${trendMode !== "all" ? "text-blue-600" : "text-slate-500"}` }),
74819
+ /* @__PURE__ */ jsx(Filter, { className: `w-[18px] h-[18px] ${activeFilterCount > 0 ? "text-blue-600" : "text-slate-500"}` }),
74759
74820
  "Filters",
74760
74821
  /* @__PURE__ */ jsx(ChevronDown, { className: `w-4 h-4 ml-0.5 transition-transform duration-200 ${isFilterOpen ? "rotate-180" : ""}` })
74761
74822
  ]
@@ -74766,40 +74827,94 @@ var OperationsOverviewHeader = React141__default.memo(({
74766
74827
  isFilterOpen ? /* @__PURE__ */ jsxs("div", { ref: filterRef, className: "absolute right-3 sm:right-4 md:right-5 lg:right-6 top-full mt-2 w-72 bg-white rounded-xl shadow-xl border border-gray-100 p-4 z-50", children: [
74767
74828
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
74768
74829
  /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-gray-900", children: "Filter View" }),
74769
- trendMode !== "all" ? /* @__PURE__ */ jsx(
74830
+ activeFilterCount > 0 ? /* @__PURE__ */ jsx(
74770
74831
  "button",
74771
74832
  {
74772
- onClick: () => {
74773
- onTrendModeChange("all");
74774
- setIsFilterOpen(false);
74775
- },
74833
+ onClick: handleClearAllFilters,
74776
74834
  className: "text-xs text-red-600 hover:text-red-700 font-medium",
74777
74835
  children: "Clear all"
74778
74836
  }
74779
74837
  ) : null
74780
74838
  ] }),
74781
- /* @__PURE__ */ jsx("div", { className: "space-y-3", children: /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
74782
- /* @__PURE__ */ jsx("label", { className: "text-xs font-medium text-gray-500 uppercase tracking-wide ml-1", children: "Shift" }),
74783
- /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs(
74784
- "select",
74785
- {
74786
- value: trendMode,
74787
- onChange: handleTrendModeChange,
74788
- className: "w-full appearance-none pl-3 pr-8 py-2 text-sm bg-gray-50 border border-gray-200 hover:border-gray-300 rounded-lg text-gray-900 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all cursor-pointer",
74789
- style: {
74790
- backgroundImage: `url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")`,
74791
- backgroundPosition: "right 0.75rem center",
74792
- backgroundRepeat: "no-repeat",
74793
- backgroundSize: "1.2em 1.2em"
74794
- },
74795
- children: [
74796
- /* @__PURE__ */ jsx("option", { value: "all", children: "All Shifts" }),
74797
- /* @__PURE__ */ jsx("option", { value: "day", children: "Day Shift" }),
74798
- /* @__PURE__ */ jsx("option", { value: "night", children: "Night Shift" })
74799
- ]
74800
- }
74801
- ) })
74802
- ] }) })
74839
+ /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
74840
+ /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
74841
+ /* @__PURE__ */ jsx("label", { className: "text-xs font-medium text-gray-500 uppercase tracking-wide ml-1", children: "Shift" }),
74842
+ /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs(
74843
+ "select",
74844
+ {
74845
+ value: trendMode,
74846
+ onChange: handleTrendModeChange,
74847
+ className: "w-full appearance-none pl-3 pr-8 py-2 text-sm bg-gray-50 border border-gray-200 hover:border-gray-300 rounded-lg text-gray-900 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all cursor-pointer",
74848
+ style: {
74849
+ backgroundImage: `url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")`,
74850
+ backgroundPosition: "right 0.75rem center",
74851
+ backgroundRepeat: "no-repeat",
74852
+ backgroundSize: "1.2em 1.2em"
74853
+ },
74854
+ children: [
74855
+ /* @__PURE__ */ jsx("option", { value: "all", children: "All Shifts" }),
74856
+ /* @__PURE__ */ jsx("option", { value: "day", children: "Day Shift" }),
74857
+ /* @__PURE__ */ jsx("option", { value: "night", children: "Night Shift" })
74858
+ ]
74859
+ }
74860
+ ) })
74861
+ ] }),
74862
+ /* @__PURE__ */ jsxs("div", { className: "space-y-1", ref: linesDropdownRef, children: [
74863
+ /* @__PURE__ */ jsx("label", { className: "text-xs font-medium text-gray-500 uppercase tracking-wide ml-1", children: "Lines" }),
74864
+ /* @__PURE__ */ jsxs("div", { className: "relative", children: [
74865
+ /* @__PURE__ */ jsxs(
74866
+ "button",
74867
+ {
74868
+ type: "button",
74869
+ onClick: () => setIsLinesDropdownOpen((prev) => !prev),
74870
+ className: "w-full flex items-center justify-between pl-3 pr-3 py-2 text-sm bg-gray-50 border border-gray-200 hover:border-gray-300 rounded-lg text-gray-900 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:bg-white transition-all cursor-pointer text-left",
74871
+ children: [
74872
+ /* @__PURE__ */ jsx("span", { className: "truncate pr-2", children: isAllLinesSelected ? "All Lines" : selectedLineIds.length === 1 ? lineOptions.find((l) => l.id === selectedLineIds[0])?.name || "1 Line Selected" : `${selectedLineIds.length} Lines Selected` }),
74873
+ /* @__PURE__ */ jsx(ChevronDown, { className: `w-4 h-4 text-gray-500 flex-shrink-0 transition-transform ${isLinesDropdownOpen ? "rotate-180" : ""}` })
74874
+ ]
74875
+ }
74876
+ ),
74877
+ isLinesDropdownOpen ? /* @__PURE__ */ jsxs("div", { className: "absolute top-full left-0 right-0 mt-1 max-h-48 overflow-y-auto rounded-lg border border-gray-200 bg-white shadow-lg p-1.5 space-y-0.5 z-[60]", children: [
74878
+ /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2.5 rounded-md px-2 py-1.5 text-sm text-gray-900 hover:bg-gray-50 cursor-pointer", children: [
74879
+ /* @__PURE__ */ jsx(
74880
+ "input",
74881
+ {
74882
+ type: "checkbox",
74883
+ className: "h-4 w-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500",
74884
+ checked: isAllLinesSelected,
74885
+ onChange: handleAllLinesToggle
74886
+ }
74887
+ ),
74888
+ /* @__PURE__ */ jsx("span", { className: "font-medium", children: "All Lines" })
74889
+ ] }),
74890
+ lineOptions.map((line) => {
74891
+ const isChecked = selectedLineIdSet.has(line.id);
74892
+ const disableUncheck = isChecked && selectedLineIds.length <= 1;
74893
+ return /* @__PURE__ */ jsxs(
74894
+ "label",
74895
+ {
74896
+ className: `flex items-center gap-2.5 rounded-md px-2 py-1.5 text-sm cursor-pointer transition-colors ${disableUncheck ? "text-gray-400 hover:bg-transparent" : "text-gray-800 hover:bg-gray-50"}`,
74897
+ children: [
74898
+ /* @__PURE__ */ jsx(
74899
+ "input",
74900
+ {
74901
+ type: "checkbox",
74902
+ className: "h-4 w-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500 disabled:opacity-40",
74903
+ checked: isChecked,
74904
+ disabled: disableUncheck,
74905
+ onChange: () => handleLineToggle(line.id)
74906
+ }
74907
+ ),
74908
+ /* @__PURE__ */ jsx("span", { className: "truncate", children: line.name })
74909
+ ]
74910
+ },
74911
+ line.id
74912
+ );
74913
+ })
74914
+ ] }) : null
74915
+ ] })
74916
+ ] })
74917
+ ] })
74803
74918
  ] }) : null
74804
74919
  ] }) });
74805
74920
  });
@@ -75698,6 +75813,7 @@ var PlantHeadView = () => {
75698
75813
  const [dateRange, setDateRange] = React141__default.useState(() => getCurrentWeekToDateRange(appTimezone));
75699
75814
  const [usesThisWeekComparison, setUsesThisWeekComparison] = React141__default.useState(true);
75700
75815
  const [trendMode, setTrendMode] = React141__default.useState("all");
75816
+ const [selectedLineIds, setSelectedLineIds] = React141__default.useState([]);
75701
75817
  React141__default.useEffect(() => {
75702
75818
  trackCorePageView("Operations Overview", {
75703
75819
  dashboard_surface: "operations_overview"
@@ -75707,7 +75823,17 @@ var PlantHeadView = () => {
75707
75823
  () => getCurrentWeekToDateRange(appTimezone),
75708
75824
  [appTimezone]
75709
75825
  );
75826
+ const currentWeekDisplayRange = React141__default.useMemo(
75827
+ () => getCurrentWeekFullRange(appTimezone),
75828
+ [appTimezone]
75829
+ );
75710
75830
  const isCurrentWeekToDateRange = dateRange.startKey === currentWeekRange.startKey && dateRange.endKey === currentWeekRange.endKey;
75831
+ const headerDateRange = React141__default.useMemo(() => {
75832
+ if (usesThisWeekComparison && isCurrentWeekToDateRange) {
75833
+ return currentWeekDisplayRange;
75834
+ }
75835
+ return dateRange;
75836
+ }, [currentWeekDisplayRange, dateRange, isCurrentWeekToDateRange, usesThisWeekComparison]);
75711
75837
  const normalizedLineIds = React141__default.useMemo(
75712
75838
  () => Array.from(new Set((accessibleLineIds || []).filter(Boolean))).sort(),
75713
75839
  [accessibleLineIds]
@@ -75716,9 +75842,30 @@ var PlantHeadView = () => {
75716
75842
  () => normalizedLineIds.join(","),
75717
75843
  [normalizedLineIds]
75718
75844
  );
75845
+ const lineOptions = React141__default.useMemo(
75846
+ () => normalizedLineIds.map((lineId) => ({
75847
+ id: lineId,
75848
+ name: getLineDisplayName(entityConfig, lineId)
75849
+ })),
75850
+ [entityConfig, normalizedLineIds]
75851
+ );
75852
+ React141__default.useEffect(() => {
75853
+ setSelectedLineIds((previous) => {
75854
+ if (normalizedLineIds.length === 0) {
75855
+ return previous.length === 0 ? previous : [];
75856
+ }
75857
+ const previousSet = new Set(previous);
75858
+ const next = normalizedLineIds.filter((lineId) => previousSet.has(lineId));
75859
+ const resolved = next.length === 0 ? normalizedLineIds : next;
75860
+ if (previous.length === resolved.length && previous.every((lineId, index) => lineId === resolved[index])) {
75861
+ return previous;
75862
+ }
75863
+ return resolved;
75864
+ });
75865
+ }, [lineIdsKey, normalizedLineIds]);
75719
75866
  const scopedLineIds = React141__default.useMemo(
75720
- () => lineIdsKey ? lineIdsKey.split(",") : [],
75721
- [lineIdsKey]
75867
+ () => selectedLineIds.length > 0 ? selectedLineIds : normalizedLineIds,
75868
+ [normalizedLineIds, selectedLineIds]
75722
75869
  );
75723
75870
  const initializedTimezoneRef = React141__default.useRef(appTimezone);
75724
75871
  React141__default.useEffect(() => {
@@ -75746,6 +75893,16 @@ var PlantHeadView = () => {
75746
75893
  const handleTrendModeChange = React141__default.useCallback((mode) => {
75747
75894
  setTrendMode(mode);
75748
75895
  }, []);
75896
+ const handleSelectedLineIdsChange = React141__default.useCallback((lineIds) => {
75897
+ if (normalizedLineIds.length === 0) {
75898
+ setSelectedLineIds([]);
75899
+ return;
75900
+ }
75901
+ const uniqueSelected = Array.from(new Set(lineIds));
75902
+ const selectedSet = new Set(uniqueSelected);
75903
+ const next = normalizedLineIds.filter((lineId) => selectedSet.has(lineId));
75904
+ setSelectedLineIds(next.length > 0 ? next : normalizedLineIds);
75905
+ }, [normalizedLineIds]);
75749
75906
  const buildLineMonthlyHistoryUrl = React141__default.useCallback((lineId) => {
75750
75907
  const rangeStartDate = parseDateKeyToDate(dateRange.startKey);
75751
75908
  const params = new URLSearchParams();
@@ -75811,11 +75968,15 @@ var PlantHeadView = () => {
75811
75968
  OperationsOverviewHeader,
75812
75969
  {
75813
75970
  dateRange,
75971
+ displayDateRange: headerDateRange,
75814
75972
  trendMode,
75973
+ lineOptions,
75974
+ selectedLineIds: scopedLineIds,
75815
75975
  appTimezone,
75816
75976
  mobileMenuContext,
75817
75977
  onDateRangeChange: handleDateRangeChange,
75818
- onTrendModeChange: handleTrendModeChange
75978
+ onTrendModeChange: handleTrendModeChange,
75979
+ onSelectedLineIdsChange: handleSelectedLineIdsChange
75819
75980
  }
75820
75981
  ),
75821
75982
  /* @__PURE__ */ jsxs("div", { className: "p-4 sm:p-6 pb-6 max-w-[1800px] mx-auto w-full flex-1 min-h-0 overflow-y-auto flex flex-col gap-5", children: [
@@ -76339,4 +76500,4 @@ var streamProxyConfig = {
76339
76500
  }
76340
76501
  };
76341
76502
 
76342
- export { ACTION_NAMES, AIAgentView_default as AIAgentView, AcceptInvite, AcceptInviteView_default as AcceptInviteView, AdvancedFilterDialog, AdvancedFilterPanel, AudioService, AuthCallback, AuthCallbackView_default as AuthCallbackView, AuthProvider, AuthService, AuthenticatedBottleneckClipsView, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedTicketsView, AuthenticatedWorkspaceHealthView, AvatarUpload, AxelNotificationPopup, AxelOrb, BackButton, BackButtonMinimal, BarChart, BaseHistoryCalendar, BottleneckClipsModal, BottleneckClipsView_default as BottleneckClipsView, BottlenecksContent, BreakNotificationPopup, CachePrefetchStatus, Card2 as Card, CardContent2 as CardContent, CardDescription2 as CardDescription, CardFooter2 as CardFooter, CardHeader2 as CardHeader, CardTitle2 as CardTitle, ChangeRoleDialog, ClipFilterProvider, ClipsCostView_default as ClipsCostView, CompactWorkspaceHealthCard, ConfirmRemoveUserDialog, CongratulationsOverlay, CroppedHlsVideoPlayer, CroppedVideoPlayer, CycleTimeChart, CycleTimeOverTimeChart, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_HOME_VIEW_CONFIG, DEFAULT_MAP_VIEW_CONFIG, DEFAULT_SHIFT_CONFIG, DEFAULT_SHIFT_DATA, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, DashboardHeader, DashboardLayout, DashboardOverridesProvider, DashboardProvider, DateDisplay_default as DateDisplay, DateTimeDisplay, DebugAuth, DebugAuthView_default as DebugAuthView, DetailedHealthStatus, DiagnosisVideoModal, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, EncouragementOverlay, FactoryAssignmentDropdown, FactoryView_default as FactoryView, FileManagerFilters, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, GaugeChart, GridComponentsPlaceholder, HamburgerButton, Header, HealthDateShiftSelector, HealthStatusGrid, HealthStatusIndicator, HelpView_default as HelpView, HlsVideoPlayer, HomeView_default as HomeView, HourlyOutputChart2 as HourlyOutputChart, HourlyUptimeChart, ISTTimer_default as ISTTimer, IdleTimeVlmConfigProvider, ImprovementCenterView_default as ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, InvitationsTable, InviteUserDialog, KPICard, KPIDetailView_default as KPIDetailView, KPIGrid, KPIHeader, KPISection, KPIsOverviewView_default as KPIsOverviewView, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, LeaderboardDetailView_default as LeaderboardDetailView, Legend6 as Legend, LineAssignmentDropdown, LineChart, LineHistoryCalendar, LineMonthlyHistory, LineMonthlyPdfGenerator, LinePdfExportButton, LinePdfGenerator, LineWhatsAppShareButton, LinesService, LiveTimer, LoadingInline, LoadingOverlay_default as LoadingOverlay, LoadingPage_default as LoadingPage, LoadingSkeleton, LoadingState, LoginPage, LoginView_default as LoginView, Logo, MainLayout, MapGridView, MetricCard_default as MetricCard, MinimalOnboardingPopup, MobileMenuProvider, NewClipsNotification, NoWorkspaceData, OnboardingDemo, OnboardingTour, OptifyeAgentClient, OptifyeLogoLoader_default as OptifyeLogoLoader, OutputProgressChart, PageHeader, PieChart4 as PieChart, PlantHeadView_default as PlantHeadView, PlayPauseIndicator, PrefetchConfigurationError, PrefetchError, PrefetchEvents, PrefetchStatus, PrefetchTimeoutError, ProfileView_default as ProfileView, RegistryProvider, RoleBadge, S3ClipsSupabaseService as S3ClipsService, S3Service, SKUManagementView, SOPComplianceChart, SSEChatClient, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, ShiftDisplay_default as ShiftDisplay, ShiftsView_default as ShiftsView, SideNavBar, SignupWithInvitation, SilentErrorBoundary, SimpleOnboardingPopup, SingleVideoStream_default as SingleVideoStream, Skeleton, SubscriptionManager, SubscriptionManagerProvider, SupabaseProvider, SupervisorDropdown_default as SupervisorDropdown, SupervisorManagementView_default as SupervisorManagementView, SupervisorService, TargetWorkspaceGrid, TargetsView_default as TargetsView, TeamManagementView_default as TeamManagementView, ThreadSidebar, TicketHistory_default as TicketHistory, TicketHistoryService, TicketsView_default as TicketsView, TimeDisplay_default as TimeDisplay, TimePickerDropdown, Timer_default as Timer, TimezoneProvider, TimezoneService, UptimeDonutChart, UptimeLineChart, UptimeMetricCards, UserAvatar, UserManagementService, UserManagementTable, UserService, UserUsageDetailModal, UserUsageStats, VideoCard, VideoGridView, VideoPlayer, VideoPreloader, WORKSPACE_POSITIONS, WhatsAppShareButton, WorkspaceCard, WorkspaceDetailView_default as WorkspaceDetailView, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, WorkspaceHealthCard, WorkspaceHealthView_default as WorkspaceHealthView, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, WorkspaceMonthlyDataFetcher, WorkspaceMonthlyHistory, WorkspaceMonthlyPdfGenerator, WorkspacePdfExportButton, WorkspacePdfGenerator, WorkspaceWhatsAppShareButton, actionService, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureSentryException, captureSentryMessage, checkRateLimit2 as checkRateLimit, clearAllRateLimits2 as clearAllRateLimits, clearRateLimit2 as clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, filterDataByDateKeyRange, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, formatDuration2 as formatDuration, formatISTDate, formatIdleTime, formatRangeLabel, formatReasonLabel, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAllWorkspaceDisplayNamesSnapshot, getAnonClient, getAssignableRoles, getAssignmentColumnLabel, getAvailableShiftIds, getAwardBadgeType, getAwardDescription, getAwardTitle, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentShiftForLine, getCurrentTimeInZone, getCurrentWeekToDateRange, getDashboardHeaderTimeInZone, getDateKeyFromDate, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getInitials, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getMonthKeyBounds, getMonthWeekRanges, getNextUpdateInterval, getOperationalDate, getReasonColor, getRoleAssignmentKind, getRoleDescription, getRoleLabel, getRoleMetadata, getRoleNavPaths, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShiftWorkDurationSeconds, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUniformShiftGroup, getUserThreads, getUserThreadsPaginated, getVisibleRolesForCurrentUser, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, groupLinesByShift, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isEfficiencyOnTrack, isFactoryScopedRole, isFullMonthRange, isLegacyConfiguration, isPrefetchError, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeDateKeyRange, normalizeRoleLevel, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, setSentryUserContext, setSentryWorkspaceContext, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, subscribeWorkspaceDisplayNames, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, transformToChartData, updateThreadTitle, upsertWorkspaceDisplayNameInCache, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useClipsInit, useCompanyClipsCost, useCompanyUsersUsage, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHideMobileHeader, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useIdleTimeClipClassifications, useIdleTimeReasons, useIdleTimeVlmConfig, useKpiTrends, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useLines, useMessages, useMetrics, useMobileMenu, useMonthlyTrend, useMultiLineShiftConfigs, useNavigation, useOperationalShiftKey, useOptionalSupabase, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useSessionTracking, useSessionTrackingContext, useShiftConfig, useShiftGroups, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useSupervisorsByLineIds, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useUserUsage, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthLastSeen, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, useWorkspaceVideoStreams, userService, videoPrefetchManager, videoPreloader, weeklyTopPerformerService, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
76503
+ export { ACTION_NAMES, AIAgentView_default as AIAgentView, AcceptInvite, AcceptInviteView_default as AcceptInviteView, AdvancedFilterDialog, AdvancedFilterPanel, AudioService, AuthCallback, AuthCallbackView_default as AuthCallbackView, AuthProvider, AuthService, AuthenticatedBottleneckClipsView, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedTicketsView, AuthenticatedWorkspaceHealthView, AvatarUpload, AxelNotificationPopup, AxelOrb, BackButton, BackButtonMinimal, BarChart, BaseHistoryCalendar, BottleneckClipsModal, BottleneckClipsView_default as BottleneckClipsView, BottlenecksContent, BreakNotificationPopup, CachePrefetchStatus, Card2 as Card, CardContent2 as CardContent, CardDescription2 as CardDescription, CardFooter2 as CardFooter, CardHeader2 as CardHeader, CardTitle2 as CardTitle, ChangeRoleDialog, ClipFilterProvider, ClipsCostView_default as ClipsCostView, CompactWorkspaceHealthCard, ConfirmRemoveUserDialog, CongratulationsOverlay, CroppedHlsVideoPlayer, CroppedVideoPlayer, CycleTimeChart, CycleTimeOverTimeChart, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_HOME_VIEW_CONFIG, DEFAULT_MAP_VIEW_CONFIG, DEFAULT_SHIFT_CONFIG, DEFAULT_SHIFT_DATA, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, DashboardHeader, DashboardLayout, DashboardOverridesProvider, DashboardProvider, DateDisplay_default as DateDisplay, DateTimeDisplay, DebugAuth, DebugAuthView_default as DebugAuthView, DetailedHealthStatus, DiagnosisVideoModal, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, EncouragementOverlay, FactoryAssignmentDropdown, FactoryView_default as FactoryView, FileManagerFilters, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, GaugeChart, GridComponentsPlaceholder, HamburgerButton, Header, HealthDateShiftSelector, HealthStatusGrid, HealthStatusIndicator, HelpView_default as HelpView, HlsVideoPlayer, HomeView_default as HomeView, HourlyOutputChart2 as HourlyOutputChart, HourlyUptimeChart, ISTTimer_default as ISTTimer, IdleTimeVlmConfigProvider, ImprovementCenterView_default as ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, InvitationsTable, InviteUserDialog, KPICard, KPIDetailView_default as KPIDetailView, KPIGrid, KPIHeader, KPISection, KPIsOverviewView_default as KPIsOverviewView, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, LeaderboardDetailView_default as LeaderboardDetailView, Legend6 as Legend, LineAssignmentDropdown, LineChart, LineHistoryCalendar, LineMonthlyHistory, LineMonthlyPdfGenerator, LinePdfExportButton, LinePdfGenerator, LineWhatsAppShareButton, LinesService, LiveTimer, LoadingInline, LoadingOverlay_default as LoadingOverlay, LoadingPage_default as LoadingPage, LoadingSkeleton, LoadingState, LoginPage, LoginView_default as LoginView, Logo, MainLayout, MapGridView, MetricCard_default as MetricCard, MinimalOnboardingPopup, MobileMenuProvider, NewClipsNotification, NoWorkspaceData, OnboardingDemo, OnboardingTour, OptifyeAgentClient, OptifyeLogoLoader_default as OptifyeLogoLoader, OutputProgressChart, PageHeader, PieChart4 as PieChart, PlantHeadView_default as PlantHeadView, PlayPauseIndicator, PrefetchConfigurationError, PrefetchError, PrefetchEvents, PrefetchStatus, PrefetchTimeoutError, ProfileView_default as ProfileView, RegistryProvider, RoleBadge, S3ClipsSupabaseService as S3ClipsService, S3Service, SKUManagementView, SOPComplianceChart, SSEChatClient, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, ShiftDisplay_default as ShiftDisplay, ShiftsView_default as ShiftsView, SideNavBar, SignupWithInvitation, SilentErrorBoundary, SimpleOnboardingPopup, SingleVideoStream_default as SingleVideoStream, Skeleton, SubscriptionManager, SubscriptionManagerProvider, SupabaseProvider, SupervisorDropdown_default as SupervisorDropdown, SupervisorManagementView_default as SupervisorManagementView, SupervisorService, TargetWorkspaceGrid, TargetsView_default as TargetsView, TeamManagementView_default as TeamManagementView, ThreadSidebar, TicketHistory_default as TicketHistory, TicketHistoryService, TicketsView_default as TicketsView, TimeDisplay_default as TimeDisplay, TimePickerDropdown, Timer_default as Timer, TimezoneProvider, TimezoneService, UptimeDonutChart, UptimeLineChart, UptimeMetricCards, UserAvatar, UserManagementService, UserManagementTable, UserService, UserUsageDetailModal, UserUsageStats, VideoCard, VideoGridView, VideoPlayer, VideoPreloader, WORKSPACE_POSITIONS, WhatsAppShareButton, WorkspaceCard, WorkspaceDetailView_default as WorkspaceDetailView, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, WorkspaceHealthCard, WorkspaceHealthView_default as WorkspaceHealthView, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, WorkspaceMonthlyDataFetcher, WorkspaceMonthlyHistory, WorkspaceMonthlyPdfGenerator, WorkspacePdfExportButton, WorkspacePdfGenerator, WorkspaceWhatsAppShareButton, actionService, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureSentryException, captureSentryMessage, checkRateLimit2 as checkRateLimit, clearAllRateLimits2 as clearAllRateLimits, clearRateLimit2 as clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, filterDataByDateKeyRange, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, formatDuration2 as formatDuration, formatISTDate, formatIdleTime, formatRangeLabel, formatReasonLabel, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAllWorkspaceDisplayNamesSnapshot, getAnonClient, getAssignableRoles, getAssignmentColumnLabel, getAvailableShiftIds, getAwardBadgeType, getAwardDescription, getAwardTitle, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentShiftForLine, getCurrentTimeInZone, getCurrentWeekFullRange, getCurrentWeekToDateRange, getDashboardHeaderTimeInZone, getDateKeyFromDate, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getInitials, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getMonthKeyBounds, getMonthWeekRanges, getNextUpdateInterval, getOperationalDate, getReasonColor, getRoleAssignmentKind, getRoleDescription, getRoleLabel, getRoleMetadata, getRoleNavPaths, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShiftWorkDurationSeconds, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUniformShiftGroup, getUserThreads, getUserThreadsPaginated, getVisibleRolesForCurrentUser, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, groupLinesByShift, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isEfficiencyOnTrack, isFactoryScopedRole, isFullMonthRange, isLegacyConfiguration, isPrefetchError, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeDateKeyRange, normalizeRoleLevel, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, setSentryUserContext, setSentryWorkspaceContext, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, subscribeWorkspaceDisplayNames, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, transformToChartData, updateThreadTitle, upsertWorkspaceDisplayNameInCache, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useClipsInit, useCompanyClipsCost, useCompanyUsersUsage, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHideMobileHeader, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useIdleTimeClipClassifications, useIdleTimeReasons, useIdleTimeVlmConfig, useKpiTrends, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useLines, useMessages, useMetrics, useMobileMenu, useMonthlyTrend, useMultiLineShiftConfigs, useNavigation, useOperationalShiftKey, useOptionalSupabase, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useSessionTracking, useSessionTrackingContext, useShiftConfig, useShiftGroups, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useSupervisorsByLineIds, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useUserUsage, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthLastSeen, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, useWorkspaceVideoStreams, userService, videoPrefetchManager, videoPreloader, weeklyTopPerformerService, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optifye/dashboard-core",
3
- "version": "6.11.8",
3
+ "version": "6.11.10",
4
4
  "description": "Reusable UI & logic for Optifye dashboard",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",