@optifye/dashboard-core 6.5.10 → 6.5.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +225 -97
- package/dist/index.mjs +225 -98
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -4899,6 +4899,7 @@ interface WorkspaceMetricCardsProps {
|
|
|
4899
4899
|
workspace: WorkspaceDetailedMetrics;
|
|
4900
4900
|
className?: string;
|
|
4901
4901
|
}
|
|
4902
|
+
declare const WorkspaceMetricCardsImpl: React__default.FC<WorkspaceMetricCardsProps>;
|
|
4902
4903
|
declare const WorkspaceMetricCards: React__default.FC<WorkspaceMetricCardsProps>;
|
|
4903
4904
|
|
|
4904
4905
|
/**
|
|
@@ -5987,6 +5988,7 @@ type CoreComponents = {
|
|
|
5987
5988
|
Button: any;
|
|
5988
5989
|
HourlyOutputChart: any;
|
|
5989
5990
|
VideoGridView: any;
|
|
5991
|
+
WorkspaceMetricCards: any;
|
|
5990
5992
|
};
|
|
5991
5993
|
declare const useRegistry: () => CoreComponents;
|
|
5992
5994
|
interface RegistryProviderProps {
|
|
@@ -6193,4 +6195,4 @@ interface ThreadSidebarProps {
|
|
|
6193
6195
|
}
|
|
6194
6196
|
declare const ThreadSidebar: React__default.FC<ThreadSidebarProps>;
|
|
6195
6197
|
|
|
6196
|
-
export { ACTION_NAMES, AIAgentView, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, type AnalyticsConfig, AudioService, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, type AuthUser, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedWorkspaceHealthView, BackButton, BackButtonMinimal, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseHistoryCalendarProps, type BaseLineMetric, type BasePerformanceMetric, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, BreakNotificationPopup, type BreakNotificationPopupProps, type BreakRowProps, type CacheEntryWithPrefetch, CachePrefetchStatus, type CachePrefetchStatusCallback, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, CompactWorkspaceHealthCard, type ComponentOverride, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, 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_SHIFT_CONFIG, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DatabaseConfig, DateDisplay, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type FactoryOverviewData, FactoryView, type FactoryViewProps, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoryCalendarProps, HomeView, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, InlineEditableText, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineChart, type LineChartDataItem, type LineChartProps, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineShiftConfig, type LineSnapshot, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, MainLayout, type MainLayoutProps, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NoWorkspaceData, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OptifyeLogoLoader, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, PieChart, type PieChartProps, type PoorPerformingWorkspace, PrefetchConfigurationError, PrefetchError, PrefetchEvents, type PrefetchKey, type PrefetchManagerConfig, type PrefetchManagerStats, type PrefetchOptions, type PrefetchParams$1 as PrefetchParams, type PrefetchRequest, type PrefetchResult, PrefetchStatus$1 as PrefetchStatus, type PrefetchStatusResult, type PrefetchSubscriptionCallbacks, PrefetchTimeoutError, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, type RateLimitOptions, type RateLimitResult, type RealtimeService, RegistryProvider, type RenderReadyCallback$1 as RenderReadyCallback, type RoutePath, type S3ClipsAPIParams, 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, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData$2 as ShiftData, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, type SimpleLine, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type StatusChangeCallback$1 as StatusChangeCallback, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, TimeDisplay, TimePickerDropdown, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UptimeDetails, type UseActiveBreaksResult, type UseDashboardMetricsProps, type UseFactoryOverviewOptions, type UseFormatNumberResult, type UseMessagesResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseWorkspaceOperatorsOptions, type UserProfileConfig, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, VideoGridView, type VideoIndex, type VideoIndexEntry, type VideoMetadata, VideoPlayer, type VideoPlayerEventData, type VideoPlayerProps, type VideoPlayerRef, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, type WorkspaceHealth, WorkspaceHealthCard, type WorkspaceHealthInfo, _default as WorkspaceHealthView, type WorkspaceHealthWithStatus, WorkspaceHistoryCalendar, WorkspaceMetricCards, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUrlMapping, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, apiUtils, authCoreService, authOTPService, authRateLimitService, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearWorkspaceDisplayNamesCache, cn, createStreamProxyHandler, createSupabaseClient, createThrottledReload, dashboardService, deleteThread, forceRefreshWorkspaceDisplayNames, formatDateInZone, formatDateTimeInZone, formatISTDate, formatIdleTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAnonClient, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentTimeInZone, getDashboardHeaderTimeInZone, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getOperationalDate, getS3SignedUrl, getS3VideoSrc, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUserThreads, getUserThreadsPaginated, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, identifyCoreUser, initializeCoreMixpanel, isLegacyConfiguration, isPrefetchError, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, mergeWithDefaultConfig, migrateLegacyConfiguration, optifyeAgentClient, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, shuffleArray, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, updateThreadTitle, useActiveBreaks, useAllWorkspaceMetrics, useAnalyticsConfig, useAudioService, useAuth, useAuthConfig, useCanSaveTargets, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineWorkspaceMetrics, useMessages, useMetrics, useNavigation, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useShiftConfig, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useTargets, useTheme, useThemeConfig, useThreads, useTicketHistory, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealth, useWorkspaceHealthById, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, videoPrefetchManager, videoPreloader, whatsappService, withAuth, withRegistry, workspaceHealthService, workspaceService };
|
|
6198
|
+
export { ACTION_NAMES, AIAgentView, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, type AnalyticsConfig, AudioService, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, type AuthUser, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedWorkspaceHealthView, BackButton, BackButtonMinimal, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseHistoryCalendarProps, type BaseLineMetric, type BasePerformanceMetric, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, BreakNotificationPopup, type BreakNotificationPopupProps, type BreakRowProps, type CacheEntryWithPrefetch, CachePrefetchStatus, type CachePrefetchStatusCallback, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, CompactWorkspaceHealthCard, type ComponentOverride, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, 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_SHIFT_CONFIG, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DatabaseConfig, DateDisplay, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type FactoryOverviewData, FactoryView, type FactoryViewProps, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoryCalendarProps, HomeView, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, InlineEditableText, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineChart, type LineChartDataItem, type LineChartProps, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineShiftConfig, type LineSnapshot, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, MainLayout, type MainLayoutProps, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NoWorkspaceData, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OptifyeLogoLoader, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, PieChart, type PieChartProps, type PoorPerformingWorkspace, PrefetchConfigurationError, PrefetchError, PrefetchEvents, type PrefetchKey, type PrefetchManagerConfig, type PrefetchManagerStats, type PrefetchOptions, type PrefetchParams$1 as PrefetchParams, type PrefetchRequest, type PrefetchResult, PrefetchStatus$1 as PrefetchStatus, type PrefetchStatusResult, type PrefetchSubscriptionCallbacks, PrefetchTimeoutError, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, type RateLimitOptions, type RateLimitResult, type RealtimeService, RegistryProvider, type RenderReadyCallback$1 as RenderReadyCallback, type RoutePath, type S3ClipsAPIParams, 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, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData$2 as ShiftData, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, type SimpleLine, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type StatusChangeCallback$1 as StatusChangeCallback, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, TimeDisplay, TimePickerDropdown, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UptimeDetails, type UseActiveBreaksResult, type UseDashboardMetricsProps, type UseFactoryOverviewOptions, type UseFormatNumberResult, type UseMessagesResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseWorkspaceOperatorsOptions, type UserProfileConfig, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, VideoGridView, type VideoIndex, type VideoIndexEntry, type VideoMetadata, VideoPlayer, type VideoPlayerEventData, type VideoPlayerProps, type VideoPlayerRef, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, type WorkspaceHealth, WorkspaceHealthCard, type WorkspaceHealthInfo, _default as WorkspaceHealthView, type WorkspaceHealthWithStatus, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUrlMapping, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, apiUtils, authCoreService, authOTPService, authRateLimitService, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearWorkspaceDisplayNamesCache, cn, createStreamProxyHandler, createSupabaseClient, createThrottledReload, dashboardService, deleteThread, forceRefreshWorkspaceDisplayNames, formatDateInZone, formatDateTimeInZone, formatISTDate, formatIdleTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAnonClient, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentTimeInZone, getDashboardHeaderTimeInZone, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getOperationalDate, getS3SignedUrl, getS3VideoSrc, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUserThreads, getUserThreadsPaginated, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, identifyCoreUser, initializeCoreMixpanel, isLegacyConfiguration, isPrefetchError, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, mergeWithDefaultConfig, migrateLegacyConfiguration, optifyeAgentClient, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, shuffleArray, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, updateThreadTitle, useActiveBreaks, useAllWorkspaceMetrics, useAnalyticsConfig, useAudioService, useAuth, useAuthConfig, useCanSaveTargets, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineWorkspaceMetrics, useMessages, useMetrics, useNavigation, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useShiftConfig, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useTargets, useTheme, useThemeConfig, useThreads, useTicketHistory, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealth, useWorkspaceHealthById, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, videoPrefetchManager, videoPreloader, whatsappService, withAuth, withRegistry, workspaceHealthService, workspaceService };
|
package/dist/index.d.ts
CHANGED
|
@@ -4899,6 +4899,7 @@ interface WorkspaceMetricCardsProps {
|
|
|
4899
4899
|
workspace: WorkspaceDetailedMetrics;
|
|
4900
4900
|
className?: string;
|
|
4901
4901
|
}
|
|
4902
|
+
declare const WorkspaceMetricCardsImpl: React__default.FC<WorkspaceMetricCardsProps>;
|
|
4902
4903
|
declare const WorkspaceMetricCards: React__default.FC<WorkspaceMetricCardsProps>;
|
|
4903
4904
|
|
|
4904
4905
|
/**
|
|
@@ -5987,6 +5988,7 @@ type CoreComponents = {
|
|
|
5987
5988
|
Button: any;
|
|
5988
5989
|
HourlyOutputChart: any;
|
|
5989
5990
|
VideoGridView: any;
|
|
5991
|
+
WorkspaceMetricCards: any;
|
|
5990
5992
|
};
|
|
5991
5993
|
declare const useRegistry: () => CoreComponents;
|
|
5992
5994
|
interface RegistryProviderProps {
|
|
@@ -6193,4 +6195,4 @@ interface ThreadSidebarProps {
|
|
|
6193
6195
|
}
|
|
6194
6196
|
declare const ThreadSidebar: React__default.FC<ThreadSidebarProps>;
|
|
6195
6197
|
|
|
6196
|
-
export { ACTION_NAMES, AIAgentView, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, type AnalyticsConfig, AudioService, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, type AuthUser, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedWorkspaceHealthView, BackButton, BackButtonMinimal, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseHistoryCalendarProps, type BaseLineMetric, type BasePerformanceMetric, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, BreakNotificationPopup, type BreakNotificationPopupProps, type BreakRowProps, type CacheEntryWithPrefetch, CachePrefetchStatus, type CachePrefetchStatusCallback, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, CompactWorkspaceHealthCard, type ComponentOverride, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, 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_SHIFT_CONFIG, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DatabaseConfig, DateDisplay, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type FactoryOverviewData, FactoryView, type FactoryViewProps, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoryCalendarProps, HomeView, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, InlineEditableText, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineChart, type LineChartDataItem, type LineChartProps, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineShiftConfig, type LineSnapshot, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, MainLayout, type MainLayoutProps, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NoWorkspaceData, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OptifyeLogoLoader, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, PieChart, type PieChartProps, type PoorPerformingWorkspace, PrefetchConfigurationError, PrefetchError, PrefetchEvents, type PrefetchKey, type PrefetchManagerConfig, type PrefetchManagerStats, type PrefetchOptions, type PrefetchParams$1 as PrefetchParams, type PrefetchRequest, type PrefetchResult, PrefetchStatus$1 as PrefetchStatus, type PrefetchStatusResult, type PrefetchSubscriptionCallbacks, PrefetchTimeoutError, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, type RateLimitOptions, type RateLimitResult, type RealtimeService, RegistryProvider, type RenderReadyCallback$1 as RenderReadyCallback, type RoutePath, type S3ClipsAPIParams, 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, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData$2 as ShiftData, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, type SimpleLine, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type StatusChangeCallback$1 as StatusChangeCallback, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, TimeDisplay, TimePickerDropdown, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UptimeDetails, type UseActiveBreaksResult, type UseDashboardMetricsProps, type UseFactoryOverviewOptions, type UseFormatNumberResult, type UseMessagesResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseWorkspaceOperatorsOptions, type UserProfileConfig, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, VideoGridView, type VideoIndex, type VideoIndexEntry, type VideoMetadata, VideoPlayer, type VideoPlayerEventData, type VideoPlayerProps, type VideoPlayerRef, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, type WorkspaceHealth, WorkspaceHealthCard, type WorkspaceHealthInfo, _default as WorkspaceHealthView, type WorkspaceHealthWithStatus, WorkspaceHistoryCalendar, WorkspaceMetricCards, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUrlMapping, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, apiUtils, authCoreService, authOTPService, authRateLimitService, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearWorkspaceDisplayNamesCache, cn, createStreamProxyHandler, createSupabaseClient, createThrottledReload, dashboardService, deleteThread, forceRefreshWorkspaceDisplayNames, formatDateInZone, formatDateTimeInZone, formatISTDate, formatIdleTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAnonClient, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentTimeInZone, getDashboardHeaderTimeInZone, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getOperationalDate, getS3SignedUrl, getS3VideoSrc, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUserThreads, getUserThreadsPaginated, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, identifyCoreUser, initializeCoreMixpanel, isLegacyConfiguration, isPrefetchError, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, mergeWithDefaultConfig, migrateLegacyConfiguration, optifyeAgentClient, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, shuffleArray, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, updateThreadTitle, useActiveBreaks, useAllWorkspaceMetrics, useAnalyticsConfig, useAudioService, useAuth, useAuthConfig, useCanSaveTargets, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineWorkspaceMetrics, useMessages, useMetrics, useNavigation, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useShiftConfig, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useTargets, useTheme, useThemeConfig, useThreads, useTicketHistory, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealth, useWorkspaceHealthById, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, videoPrefetchManager, videoPreloader, whatsappService, withAuth, withRegistry, workspaceHealthService, workspaceService };
|
|
6198
|
+
export { ACTION_NAMES, AIAgentView, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, type AnalyticsConfig, AudioService, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, type AuthUser, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedWorkspaceHealthView, BackButton, BackButtonMinimal, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseHistoryCalendarProps, type BaseLineMetric, type BasePerformanceMetric, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, BreakNotificationPopup, type BreakNotificationPopupProps, type BreakRowProps, type CacheEntryWithPrefetch, CachePrefetchStatus, type CachePrefetchStatusCallback, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, CompactWorkspaceHealthCard, type ComponentOverride, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, 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_SHIFT_CONFIG, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DatabaseConfig, DateDisplay, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type FactoryOverviewData, FactoryView, type FactoryViewProps, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoryCalendarProps, HomeView, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, InlineEditableText, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineChart, type LineChartDataItem, type LineChartProps, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineShiftConfig, type LineSnapshot, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, MainLayout, type MainLayoutProps, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NoWorkspaceData, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OptifyeLogoLoader, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, PieChart, type PieChartProps, type PoorPerformingWorkspace, PrefetchConfigurationError, PrefetchError, PrefetchEvents, type PrefetchKey, type PrefetchManagerConfig, type PrefetchManagerStats, type PrefetchOptions, type PrefetchParams$1 as PrefetchParams, type PrefetchRequest, type PrefetchResult, PrefetchStatus$1 as PrefetchStatus, type PrefetchStatusResult, type PrefetchSubscriptionCallbacks, PrefetchTimeoutError, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, type RateLimitOptions, type RateLimitResult, type RealtimeService, RegistryProvider, type RenderReadyCallback$1 as RenderReadyCallback, type RoutePath, type S3ClipsAPIParams, 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, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData$2 as ShiftData, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, type SimpleLine, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type StatusChangeCallback$1 as StatusChangeCallback, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, TimeDisplay, TimePickerDropdown, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UptimeDetails, type UseActiveBreaksResult, type UseDashboardMetricsProps, type UseFactoryOverviewOptions, type UseFormatNumberResult, type UseMessagesResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseWorkspaceOperatorsOptions, type UserProfileConfig, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, VideoGridView, type VideoIndex, type VideoIndexEntry, type VideoMetadata, VideoPlayer, type VideoPlayerEventData, type VideoPlayerProps, type VideoPlayerRef, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, type WorkspaceHealth, WorkspaceHealthCard, type WorkspaceHealthInfo, _default as WorkspaceHealthView, type WorkspaceHealthWithStatus, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUrlMapping, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, apiUtils, authCoreService, authOTPService, authRateLimitService, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearWorkspaceDisplayNamesCache, cn, createStreamProxyHandler, createSupabaseClient, createThrottledReload, dashboardService, deleteThread, forceRefreshWorkspaceDisplayNames, formatDateInZone, formatDateTimeInZone, formatISTDate, formatIdleTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAnonClient, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentTimeInZone, getDashboardHeaderTimeInZone, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getOperationalDate, getS3SignedUrl, getS3VideoSrc, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUserThreads, getUserThreadsPaginated, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, identifyCoreUser, initializeCoreMixpanel, isLegacyConfiguration, isPrefetchError, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, mergeWithDefaultConfig, migrateLegacyConfiguration, optifyeAgentClient, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, shuffleArray, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, updateThreadTitle, useActiveBreaks, useAllWorkspaceMetrics, useAnalyticsConfig, useAudioService, useAuth, useAuthConfig, useCanSaveTargets, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineWorkspaceMetrics, useMessages, useMetrics, useNavigation, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useShiftConfig, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useTargets, useTheme, useThemeConfig, useThreads, useTicketHistory, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealth, useWorkspaceHealthById, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, videoPrefetchManager, videoPreloader, whatsappService, withAuth, withRegistry, workspaceHealthService, workspaceService };
|
package/dist/index.js
CHANGED
|
@@ -22602,6 +22602,89 @@ var VideoGridView = React19__namespace.default.memo(({
|
|
|
22602
22602
|
) }) });
|
|
22603
22603
|
});
|
|
22604
22604
|
VideoGridView.displayName = "VideoGridView";
|
|
22605
|
+
var Card2 = (props) => {
|
|
22606
|
+
const { Card: RegisteredCard } = useRegistry();
|
|
22607
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RegisteredCard, { ...props });
|
|
22608
|
+
};
|
|
22609
|
+
var CardHeader2 = (props) => {
|
|
22610
|
+
const { CardHeader: RegisteredCardHeader } = useRegistry();
|
|
22611
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RegisteredCardHeader, { ...props });
|
|
22612
|
+
};
|
|
22613
|
+
var CardTitle2 = (props) => {
|
|
22614
|
+
const { CardTitle: RegisteredCardTitle } = useRegistry();
|
|
22615
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RegisteredCardTitle, { ...props });
|
|
22616
|
+
};
|
|
22617
|
+
var CardDescription2 = (props) => {
|
|
22618
|
+
const { CardDescription: RegisteredCardDescription } = useRegistry();
|
|
22619
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RegisteredCardDescription, { ...props });
|
|
22620
|
+
};
|
|
22621
|
+
var CardContent2 = (props) => {
|
|
22622
|
+
const { CardContent: RegisteredCardContent } = useRegistry();
|
|
22623
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RegisteredCardContent, { ...props });
|
|
22624
|
+
};
|
|
22625
|
+
var CardFooter2 = (props) => {
|
|
22626
|
+
const { CardFooter: RegisteredCardFooter } = useRegistry();
|
|
22627
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RegisteredCardFooter, { ...props });
|
|
22628
|
+
};
|
|
22629
|
+
var WorkspaceMetricCardsImpl = ({
|
|
22630
|
+
workspace,
|
|
22631
|
+
className
|
|
22632
|
+
}) => {
|
|
22633
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `grid grid-cols-1 gap-4 sm:gap-3 sm:grid-cols-2 lg:grid-cols-5 w-full h-full ${className || ""}`, children: [
|
|
22634
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
22635
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle2, { className: "text-lg text-center", children: "Pieces Lost" }) }),
|
|
22636
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
22637
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-5xl font-bold ${workspace.output_difference >= 0 ? "text-green-500" : "text-red-500"}`, children: workspace.output_difference >= 0 ? `+${workspace.output_difference}` : `-${Math.abs(workspace.output_difference)}` }),
|
|
22638
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-500 mt-2", children: workspace.output_difference >= 0 ? `pieces ahead of ideal output: ${workspace.ideal_output_until_now}` : `pieces behind ideal output: ${workspace.ideal_output_until_now}` })
|
|
22639
|
+
] }) })
|
|
22640
|
+
] }),
|
|
22641
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
22642
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle2, { className: "text-lg text-center", children: "Efficiency" }) }),
|
|
22643
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
22644
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: `text-5xl font-bold ${workspace.avg_efficiency >= 80 ? "text-green-500" : "text-red-500"}`, children: [
|
|
22645
|
+
workspace.avg_efficiency.toFixed(1),
|
|
22646
|
+
"%"
|
|
22647
|
+
] }),
|
|
22648
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-500 mt-2", children: "Target: 80%" })
|
|
22649
|
+
] }) })
|
|
22650
|
+
] }),
|
|
22651
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
22652
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle2, { className: "text-lg text-center", children: "PPH" }) }),
|
|
22653
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
22654
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-5xl font-bold ${workspace.avg_pph >= workspace.pph_threshold ? "text-green-500" : "text-red-500"}`, children: workspace.avg_pph.toFixed(1) }),
|
|
22655
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm text-gray-500 mt-2", children: [
|
|
22656
|
+
"Standard: ",
|
|
22657
|
+
workspace.pph_threshold.toFixed(1)
|
|
22658
|
+
] })
|
|
22659
|
+
] }) })
|
|
22660
|
+
] }),
|
|
22661
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
22662
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle2, { className: "text-lg text-center", children: "Cycle Time (s)" }) }),
|
|
22663
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
22664
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-5xl font-bold text-green-500`, children: workspace.avg_cycle_time.toFixed(1) }),
|
|
22665
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm text-gray-500 mt-2", children: [
|
|
22666
|
+
"Standard: ",
|
|
22667
|
+
workspace.ideal_cycle_time?.toFixed(1) || 0,
|
|
22668
|
+
"s"
|
|
22669
|
+
] })
|
|
22670
|
+
] }) })
|
|
22671
|
+
] }),
|
|
22672
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
22673
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle2, { className: "text-lg text-center", children: "Idle Time" }) }),
|
|
22674
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
22675
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-4xl font-bold ${!workspace.idle_time || workspace.idle_time <= 0 ? "text-green-500" : workspace.idle_time <= 300 ? "text-yellow-500" : (
|
|
22676
|
+
// 5 minutes or less
|
|
22677
|
+
"text-red-500"
|
|
22678
|
+
)}`, children: formatIdleTime(workspace.idle_time) }),
|
|
22679
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-500 mt-2", children: "Total idle time" })
|
|
22680
|
+
] }) })
|
|
22681
|
+
] })
|
|
22682
|
+
] });
|
|
22683
|
+
};
|
|
22684
|
+
var WorkspaceMetricCards = (props) => {
|
|
22685
|
+
const { WorkspaceMetricCards: RegisteredComponent } = useRegistry();
|
|
22686
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RegisteredComponent, { ...props });
|
|
22687
|
+
};
|
|
22605
22688
|
var defaults = {
|
|
22606
22689
|
Card,
|
|
22607
22690
|
CardHeader,
|
|
@@ -22611,7 +22694,8 @@ var defaults = {
|
|
|
22611
22694
|
CardFooter,
|
|
22612
22695
|
Button,
|
|
22613
22696
|
HourlyOutputChart,
|
|
22614
|
-
VideoGridView
|
|
22697
|
+
VideoGridView,
|
|
22698
|
+
WorkspaceMetricCards: WorkspaceMetricCardsImpl
|
|
22615
22699
|
};
|
|
22616
22700
|
var RegistryCtx = React19.createContext(defaults);
|
|
22617
22701
|
var useRegistry = () => {
|
|
@@ -24083,30 +24167,6 @@ var ISTTimer = React19.memo(() => {
|
|
|
24083
24167
|
});
|
|
24084
24168
|
ISTTimer.displayName = "ISTTimer";
|
|
24085
24169
|
var ISTTimer_default = ISTTimer;
|
|
24086
|
-
var Card2 = (props) => {
|
|
24087
|
-
const { Card: RegisteredCard } = useRegistry();
|
|
24088
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RegisteredCard, { ...props });
|
|
24089
|
-
};
|
|
24090
|
-
var CardHeader2 = (props) => {
|
|
24091
|
-
const { CardHeader: RegisteredCardHeader } = useRegistry();
|
|
24092
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RegisteredCardHeader, { ...props });
|
|
24093
|
-
};
|
|
24094
|
-
var CardTitle2 = (props) => {
|
|
24095
|
-
const { CardTitle: RegisteredCardTitle } = useRegistry();
|
|
24096
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RegisteredCardTitle, { ...props });
|
|
24097
|
-
};
|
|
24098
|
-
var CardDescription2 = (props) => {
|
|
24099
|
-
const { CardDescription: RegisteredCardDescription } = useRegistry();
|
|
24100
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RegisteredCardDescription, { ...props });
|
|
24101
|
-
};
|
|
24102
|
-
var CardContent2 = (props) => {
|
|
24103
|
-
const { CardContent: RegisteredCardContent } = useRegistry();
|
|
24104
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RegisteredCardContent, { ...props });
|
|
24105
|
-
};
|
|
24106
|
-
var CardFooter2 = (props) => {
|
|
24107
|
-
const { CardFooter: RegisteredCardFooter } = useRegistry();
|
|
24108
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RegisteredCardFooter, { ...props });
|
|
24109
|
-
};
|
|
24110
24170
|
var TicketHistory = ({ companyId }) => {
|
|
24111
24171
|
const { tickets, loading, error } = useTicketHistory(companyId);
|
|
24112
24172
|
const [expandedTickets, setExpandedTickets] = React19.useState(/* @__PURE__ */ new Set());
|
|
@@ -25339,29 +25399,36 @@ var LinePdfGenerator = ({
|
|
|
25339
25399
|
const startHour = parseInt(hours);
|
|
25340
25400
|
const startMinute = parseInt(minutes || "0");
|
|
25341
25401
|
let SHIFT_DURATION = 11;
|
|
25402
|
+
let endHour = startHour + 11;
|
|
25403
|
+
let endMinute = startMinute;
|
|
25342
25404
|
if (endTimeStr) {
|
|
25343
25405
|
const [endHours, endMinutes] = endTimeStr.split(":");
|
|
25344
|
-
|
|
25345
|
-
|
|
25406
|
+
endHour = parseInt(endHours);
|
|
25407
|
+
endMinute = parseInt(endMinutes || "0");
|
|
25346
25408
|
let duration = endHour - startHour;
|
|
25347
25409
|
if (duration <= 0) {
|
|
25348
25410
|
duration += 24;
|
|
25349
25411
|
}
|
|
25350
|
-
const
|
|
25351
|
-
|
|
25352
|
-
duration += minuteDiff / 60;
|
|
25353
|
-
}
|
|
25354
|
-
SHIFT_DURATION = Math.round(duration);
|
|
25412
|
+
const hasPartialLastHour = endMinute > 0 && endMinute < 60;
|
|
25413
|
+
SHIFT_DURATION = hasPartialLastHour ? Math.ceil(duration) : Math.round(duration);
|
|
25355
25414
|
}
|
|
25356
25415
|
return Array.from({ length: SHIFT_DURATION }, (_, i) => {
|
|
25416
|
+
const isLastHour = i === SHIFT_DURATION - 1;
|
|
25357
25417
|
const hourStartTime = /* @__PURE__ */ new Date();
|
|
25358
|
-
hourStartTime.setHours(startHour);
|
|
25418
|
+
hourStartTime.setHours((startHour + i) % 24);
|
|
25359
25419
|
hourStartTime.setMinutes(startMinute);
|
|
25360
25420
|
hourStartTime.setSeconds(0);
|
|
25361
25421
|
hourStartTime.setMilliseconds(0);
|
|
25362
|
-
|
|
25363
|
-
|
|
25364
|
-
|
|
25422
|
+
let hourEndTime = /* @__PURE__ */ new Date();
|
|
25423
|
+
if (isLastHour && endTimeStr) {
|
|
25424
|
+
hourEndTime.setHours(endHour % 24);
|
|
25425
|
+
hourEndTime.setMinutes(endMinute);
|
|
25426
|
+
} else {
|
|
25427
|
+
hourEndTime.setHours((startHour + i + 1) % 24);
|
|
25428
|
+
hourEndTime.setMinutes(startMinute);
|
|
25429
|
+
}
|
|
25430
|
+
hourEndTime.setSeconds(0);
|
|
25431
|
+
hourEndTime.setMilliseconds(0);
|
|
25365
25432
|
const formatTime3 = (date2) => {
|
|
25366
25433
|
return date2.toLocaleTimeString("en-IN", {
|
|
25367
25434
|
hour: "2-digit",
|
|
@@ -25378,17 +25445,132 @@ var LinePdfGenerator = ({
|
|
|
25378
25445
|
const targetOutputPerHour = Math.round(lineInfo.metrics.line_threshold / shiftDuration);
|
|
25379
25446
|
let hourlyActualOutput = [];
|
|
25380
25447
|
if (lineInfo.metrics.output_hourly && Object.keys(lineInfo.metrics.output_hourly).length > 0) {
|
|
25381
|
-
const
|
|
25448
|
+
const [startHourStr, startMinuteStr] = (lineInfo.metrics.shift_start || "6:00").split(":");
|
|
25449
|
+
const startHour = parseInt(startHourStr);
|
|
25450
|
+
const startMinute = parseInt(startMinuteStr || "0");
|
|
25451
|
+
const [endHourStr, endMinuteStr] = (lineInfo.metrics.shift_end || "18:00").split(":");
|
|
25452
|
+
const endMinute = parseInt(endMinuteStr || "0");
|
|
25453
|
+
const hasPartialLastHour = endMinute > 0 && endMinute < 60;
|
|
25382
25454
|
const expectedHours = [];
|
|
25383
25455
|
for (let i = 0; i < shiftDuration; i++) {
|
|
25384
25456
|
expectedHours.push((startHour + i) % 24);
|
|
25385
25457
|
}
|
|
25386
|
-
hourlyActualOutput = expectedHours.map((
|
|
25387
|
-
|
|
25388
|
-
|
|
25389
|
-
|
|
25458
|
+
hourlyActualOutput = expectedHours.map((expectedHour, index) => {
|
|
25459
|
+
let hourSum = 0;
|
|
25460
|
+
const outputHourly = lineInfo.metrics.output_hourly;
|
|
25461
|
+
const hourData = outputHourly[expectedHour.toString()] || [];
|
|
25462
|
+
if (startMinute > 0) {
|
|
25463
|
+
if (index === 0) {
|
|
25464
|
+
if (Array.isArray(hourData)) {
|
|
25465
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25466
|
+
const val = hourData[i];
|
|
25467
|
+
if (val !== "x" && typeof val === "number") {
|
|
25468
|
+
hourSum += val;
|
|
25469
|
+
}
|
|
25470
|
+
}
|
|
25471
|
+
}
|
|
25472
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25473
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25474
|
+
if (Array.isArray(nextHourData)) {
|
|
25475
|
+
for (let i = 0; i < startMinute && i < nextHourData.length; i++) {
|
|
25476
|
+
const val = nextHourData[i];
|
|
25477
|
+
if (val !== "x" && typeof val === "number") {
|
|
25478
|
+
hourSum += val;
|
|
25479
|
+
}
|
|
25480
|
+
}
|
|
25481
|
+
}
|
|
25482
|
+
} else if (index < expectedHours.length - 1) {
|
|
25483
|
+
if (Array.isArray(hourData)) {
|
|
25484
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25485
|
+
const val = hourData[i];
|
|
25486
|
+
if (val !== "x" && typeof val === "number") {
|
|
25487
|
+
hourSum += val;
|
|
25488
|
+
}
|
|
25489
|
+
}
|
|
25490
|
+
}
|
|
25491
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25492
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25493
|
+
if (Array.isArray(nextHourData)) {
|
|
25494
|
+
for (let i = 0; i < startMinute && i < nextHourData.length; i++) {
|
|
25495
|
+
const val = nextHourData[i];
|
|
25496
|
+
if (val !== "x" && typeof val === "number") {
|
|
25497
|
+
hourSum += val;
|
|
25498
|
+
}
|
|
25499
|
+
}
|
|
25500
|
+
}
|
|
25501
|
+
} else {
|
|
25502
|
+
if (hasPartialLastHour && endMinute > 0) {
|
|
25503
|
+
if (startMinute > 0) {
|
|
25504
|
+
if (Array.isArray(hourData)) {
|
|
25505
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25506
|
+
const val = hourData[i];
|
|
25507
|
+
if (val !== "x" && typeof val === "number") {
|
|
25508
|
+
hourSum += val;
|
|
25509
|
+
}
|
|
25510
|
+
}
|
|
25511
|
+
}
|
|
25512
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25513
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25514
|
+
if (Array.isArray(nextHourData)) {
|
|
25515
|
+
for (let i = 0; i < endMinute && i < nextHourData.length; i++) {
|
|
25516
|
+
const val = nextHourData[i];
|
|
25517
|
+
if (val !== "x" && typeof val === "number") {
|
|
25518
|
+
hourSum += val;
|
|
25519
|
+
}
|
|
25520
|
+
}
|
|
25521
|
+
}
|
|
25522
|
+
} else {
|
|
25523
|
+
if (Array.isArray(hourData)) {
|
|
25524
|
+
for (let i = 0; i < endMinute && i < hourData.length; i++) {
|
|
25525
|
+
const val = hourData[i];
|
|
25526
|
+
if (val !== "x" && typeof val === "number") {
|
|
25527
|
+
hourSum += val;
|
|
25528
|
+
}
|
|
25529
|
+
}
|
|
25530
|
+
}
|
|
25531
|
+
}
|
|
25532
|
+
} else {
|
|
25533
|
+
if (Array.isArray(hourData)) {
|
|
25534
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25535
|
+
const val = hourData[i];
|
|
25536
|
+
if (val !== "x" && typeof val === "number") {
|
|
25537
|
+
hourSum += val;
|
|
25538
|
+
}
|
|
25539
|
+
}
|
|
25540
|
+
}
|
|
25541
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25542
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25543
|
+
if (Array.isArray(nextHourData)) {
|
|
25544
|
+
for (let i = 0; i < startMinute && i < nextHourData.length; i++) {
|
|
25545
|
+
const val = nextHourData[i];
|
|
25546
|
+
if (val !== "x" && typeof val === "number") {
|
|
25547
|
+
hourSum += val;
|
|
25548
|
+
}
|
|
25549
|
+
}
|
|
25550
|
+
}
|
|
25551
|
+
}
|
|
25552
|
+
}
|
|
25553
|
+
} else {
|
|
25554
|
+
if (Array.isArray(hourData)) {
|
|
25555
|
+
hourData.forEach((val) => {
|
|
25556
|
+
if (val !== "x" && typeof val === "number") {
|
|
25557
|
+
hourSum += val;
|
|
25558
|
+
}
|
|
25559
|
+
});
|
|
25560
|
+
}
|
|
25561
|
+
if (index === expectedHours.length - 1 && hasPartialLastHour && endMinute > 0) {
|
|
25562
|
+
hourSum = 0;
|
|
25563
|
+
if (Array.isArray(hourData)) {
|
|
25564
|
+
for (let i = 0; i < endMinute && i < hourData.length; i++) {
|
|
25565
|
+
const val = hourData[i];
|
|
25566
|
+
if (val !== "x" && typeof val === "number") {
|
|
25567
|
+
hourSum += val;
|
|
25568
|
+
}
|
|
25569
|
+
}
|
|
25570
|
+
}
|
|
25571
|
+
}
|
|
25390
25572
|
}
|
|
25391
|
-
return
|
|
25573
|
+
return hourSum;
|
|
25392
25574
|
});
|
|
25393
25575
|
} else if (lineInfo.metrics.output_array && lineInfo.metrics.output_array.length > 0) {
|
|
25394
25576
|
hourlyActualOutput = lineInfo.metrics.output_array.reduce((acc, val, i) => {
|
|
@@ -26555,61 +26737,6 @@ var WorkspaceMonthlyPdfGenerator = ({
|
|
|
26555
26737
|
}
|
|
26556
26738
|
);
|
|
26557
26739
|
};
|
|
26558
|
-
var WorkspaceMetricCards = ({
|
|
26559
|
-
workspace,
|
|
26560
|
-
className
|
|
26561
|
-
}) => {
|
|
26562
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `grid grid-cols-1 gap-4 sm:gap-3 sm:grid-cols-2 lg:grid-cols-5 w-full h-full ${className || ""}`, children: [
|
|
26563
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
26564
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle2, { className: "text-lg text-center", children: "Pieces Lost" }) }),
|
|
26565
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
26566
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-5xl font-bold ${workspace.output_difference >= 0 ? "text-green-500" : "text-red-500"}`, children: workspace.output_difference >= 0 ? `+${workspace.output_difference}` : `-${Math.abs(workspace.output_difference)}` }),
|
|
26567
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-500 mt-2", children: workspace.output_difference >= 0 ? `pieces ahead of ideal output: ${workspace.ideal_output_until_now}` : `pieces behind ideal output: ${workspace.ideal_output_until_now}` })
|
|
26568
|
-
] }) })
|
|
26569
|
-
] }),
|
|
26570
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
26571
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle2, { className: "text-lg text-center", children: "Efficiency" }) }),
|
|
26572
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
26573
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: `text-5xl font-bold ${workspace.avg_efficiency >= 80 ? "text-green-500" : "text-red-500"}`, children: [
|
|
26574
|
-
workspace.avg_efficiency.toFixed(1),
|
|
26575
|
-
"%"
|
|
26576
|
-
] }),
|
|
26577
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-500 mt-2", children: "Target: 80%" })
|
|
26578
|
-
] }) })
|
|
26579
|
-
] }),
|
|
26580
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
26581
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle2, { className: "text-lg text-center", children: "PPH" }) }),
|
|
26582
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
26583
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-5xl font-bold ${workspace.avg_pph >= workspace.pph_threshold ? "text-green-500" : "text-red-500"}`, children: workspace.avg_pph.toFixed(1) }),
|
|
26584
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm text-gray-500 mt-2", children: [
|
|
26585
|
-
"Standard: ",
|
|
26586
|
-
workspace.pph_threshold.toFixed(1)
|
|
26587
|
-
] })
|
|
26588
|
-
] }) })
|
|
26589
|
-
] }),
|
|
26590
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
26591
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle2, { className: "text-lg text-center", children: "Cycle Time (s)" }) }),
|
|
26592
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
26593
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-5xl font-bold text-green-500`, children: workspace.avg_cycle_time.toFixed(1) }),
|
|
26594
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm text-gray-500 mt-2", children: [
|
|
26595
|
-
"Standard: ",
|
|
26596
|
-
workspace.ideal_cycle_time?.toFixed(1) || 0,
|
|
26597
|
-
"s"
|
|
26598
|
-
] })
|
|
26599
|
-
] }) })
|
|
26600
|
-
] }),
|
|
26601
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
26602
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle2, { className: "text-lg text-center", children: "Idle Time" }) }),
|
|
26603
|
-
/* @__PURE__ */ jsxRuntime.jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
26604
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-4xl font-bold ${!workspace.idle_time || workspace.idle_time <= 0 ? "text-green-500" : workspace.idle_time <= 300 ? "text-yellow-500" : (
|
|
26605
|
-
// 5 minutes or less
|
|
26606
|
-
"text-red-500"
|
|
26607
|
-
)}`, children: formatIdleTime(workspace.idle_time) }),
|
|
26608
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-500 mt-2", children: "Total idle time" })
|
|
26609
|
-
] }) })
|
|
26610
|
-
] })
|
|
26611
|
-
] });
|
|
26612
|
-
};
|
|
26613
26740
|
var LiveTimer = () => {
|
|
26614
26741
|
const [time2, setTime] = React19.useState(/* @__PURE__ */ new Date());
|
|
26615
26742
|
React19.useEffect(() => {
|
|
@@ -40644,6 +40771,7 @@ exports.WorkspaceHealthCard = WorkspaceHealthCard;
|
|
|
40644
40771
|
exports.WorkspaceHealthView = WorkspaceHealthView_default;
|
|
40645
40772
|
exports.WorkspaceHistoryCalendar = WorkspaceHistoryCalendar;
|
|
40646
40773
|
exports.WorkspaceMetricCards = WorkspaceMetricCards;
|
|
40774
|
+
exports.WorkspaceMetricCardsImpl = WorkspaceMetricCardsImpl;
|
|
40647
40775
|
exports.WorkspaceMonthlyDataFetcher = WorkspaceMonthlyDataFetcher;
|
|
40648
40776
|
exports.WorkspaceMonthlyPdfGenerator = WorkspaceMonthlyPdfGenerator;
|
|
40649
40777
|
exports.WorkspacePdfExportButton = WorkspacePdfExportButton;
|
package/dist/index.mjs
CHANGED
|
@@ -22572,6 +22572,89 @@ var VideoGridView = React19__default.memo(({
|
|
|
22572
22572
|
) }) });
|
|
22573
22573
|
});
|
|
22574
22574
|
VideoGridView.displayName = "VideoGridView";
|
|
22575
|
+
var Card2 = (props) => {
|
|
22576
|
+
const { Card: RegisteredCard } = useRegistry();
|
|
22577
|
+
return /* @__PURE__ */ jsx(RegisteredCard, { ...props });
|
|
22578
|
+
};
|
|
22579
|
+
var CardHeader2 = (props) => {
|
|
22580
|
+
const { CardHeader: RegisteredCardHeader } = useRegistry();
|
|
22581
|
+
return /* @__PURE__ */ jsx(RegisteredCardHeader, { ...props });
|
|
22582
|
+
};
|
|
22583
|
+
var CardTitle2 = (props) => {
|
|
22584
|
+
const { CardTitle: RegisteredCardTitle } = useRegistry();
|
|
22585
|
+
return /* @__PURE__ */ jsx(RegisteredCardTitle, { ...props });
|
|
22586
|
+
};
|
|
22587
|
+
var CardDescription2 = (props) => {
|
|
22588
|
+
const { CardDescription: RegisteredCardDescription } = useRegistry();
|
|
22589
|
+
return /* @__PURE__ */ jsx(RegisteredCardDescription, { ...props });
|
|
22590
|
+
};
|
|
22591
|
+
var CardContent2 = (props) => {
|
|
22592
|
+
const { CardContent: RegisteredCardContent } = useRegistry();
|
|
22593
|
+
return /* @__PURE__ */ jsx(RegisteredCardContent, { ...props });
|
|
22594
|
+
};
|
|
22595
|
+
var CardFooter2 = (props) => {
|
|
22596
|
+
const { CardFooter: RegisteredCardFooter } = useRegistry();
|
|
22597
|
+
return /* @__PURE__ */ jsx(RegisteredCardFooter, { ...props });
|
|
22598
|
+
};
|
|
22599
|
+
var WorkspaceMetricCardsImpl = ({
|
|
22600
|
+
workspace,
|
|
22601
|
+
className
|
|
22602
|
+
}) => {
|
|
22603
|
+
return /* @__PURE__ */ jsxs("div", { className: `grid grid-cols-1 gap-4 sm:gap-3 sm:grid-cols-2 lg:grid-cols-5 w-full h-full ${className || ""}`, children: [
|
|
22604
|
+
/* @__PURE__ */ jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
22605
|
+
/* @__PURE__ */ jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsx(CardTitle2, { className: "text-lg text-center", children: "Pieces Lost" }) }),
|
|
22606
|
+
/* @__PURE__ */ jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
22607
|
+
/* @__PURE__ */ jsx("p", { className: `text-5xl font-bold ${workspace.output_difference >= 0 ? "text-green-500" : "text-red-500"}`, children: workspace.output_difference >= 0 ? `+${workspace.output_difference}` : `-${Math.abs(workspace.output_difference)}` }),
|
|
22608
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-gray-500 mt-2", children: workspace.output_difference >= 0 ? `pieces ahead of ideal output: ${workspace.ideal_output_until_now}` : `pieces behind ideal output: ${workspace.ideal_output_until_now}` })
|
|
22609
|
+
] }) })
|
|
22610
|
+
] }),
|
|
22611
|
+
/* @__PURE__ */ jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
22612
|
+
/* @__PURE__ */ jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsx(CardTitle2, { className: "text-lg text-center", children: "Efficiency" }) }),
|
|
22613
|
+
/* @__PURE__ */ jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
22614
|
+
/* @__PURE__ */ jsxs("p", { className: `text-5xl font-bold ${workspace.avg_efficiency >= 80 ? "text-green-500" : "text-red-500"}`, children: [
|
|
22615
|
+
workspace.avg_efficiency.toFixed(1),
|
|
22616
|
+
"%"
|
|
22617
|
+
] }),
|
|
22618
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-gray-500 mt-2", children: "Target: 80%" })
|
|
22619
|
+
] }) })
|
|
22620
|
+
] }),
|
|
22621
|
+
/* @__PURE__ */ jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
22622
|
+
/* @__PURE__ */ jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsx(CardTitle2, { className: "text-lg text-center", children: "PPH" }) }),
|
|
22623
|
+
/* @__PURE__ */ jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
22624
|
+
/* @__PURE__ */ jsx("p", { className: `text-5xl font-bold ${workspace.avg_pph >= workspace.pph_threshold ? "text-green-500" : "text-red-500"}`, children: workspace.avg_pph.toFixed(1) }),
|
|
22625
|
+
/* @__PURE__ */ jsxs("p", { className: "text-sm text-gray-500 mt-2", children: [
|
|
22626
|
+
"Standard: ",
|
|
22627
|
+
workspace.pph_threshold.toFixed(1)
|
|
22628
|
+
] })
|
|
22629
|
+
] }) })
|
|
22630
|
+
] }),
|
|
22631
|
+
/* @__PURE__ */ jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
22632
|
+
/* @__PURE__ */ jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsx(CardTitle2, { className: "text-lg text-center", children: "Cycle Time (s)" }) }),
|
|
22633
|
+
/* @__PURE__ */ jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
22634
|
+
/* @__PURE__ */ jsx("p", { className: `text-5xl font-bold text-green-500`, children: workspace.avg_cycle_time.toFixed(1) }),
|
|
22635
|
+
/* @__PURE__ */ jsxs("p", { className: "text-sm text-gray-500 mt-2", children: [
|
|
22636
|
+
"Standard: ",
|
|
22637
|
+
workspace.ideal_cycle_time?.toFixed(1) || 0,
|
|
22638
|
+
"s"
|
|
22639
|
+
] })
|
|
22640
|
+
] }) })
|
|
22641
|
+
] }),
|
|
22642
|
+
/* @__PURE__ */ jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
22643
|
+
/* @__PURE__ */ jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsx(CardTitle2, { className: "text-lg text-center", children: "Idle Time" }) }),
|
|
22644
|
+
/* @__PURE__ */ jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
22645
|
+
/* @__PURE__ */ jsx("p", { className: `text-4xl font-bold ${!workspace.idle_time || workspace.idle_time <= 0 ? "text-green-500" : workspace.idle_time <= 300 ? "text-yellow-500" : (
|
|
22646
|
+
// 5 minutes or less
|
|
22647
|
+
"text-red-500"
|
|
22648
|
+
)}`, children: formatIdleTime(workspace.idle_time) }),
|
|
22649
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-gray-500 mt-2", children: "Total idle time" })
|
|
22650
|
+
] }) })
|
|
22651
|
+
] })
|
|
22652
|
+
] });
|
|
22653
|
+
};
|
|
22654
|
+
var WorkspaceMetricCards = (props) => {
|
|
22655
|
+
const { WorkspaceMetricCards: RegisteredComponent } = useRegistry();
|
|
22656
|
+
return /* @__PURE__ */ jsx(RegisteredComponent, { ...props });
|
|
22657
|
+
};
|
|
22575
22658
|
var defaults = {
|
|
22576
22659
|
Card,
|
|
22577
22660
|
CardHeader,
|
|
@@ -22581,7 +22664,8 @@ var defaults = {
|
|
|
22581
22664
|
CardFooter,
|
|
22582
22665
|
Button,
|
|
22583
22666
|
HourlyOutputChart,
|
|
22584
|
-
VideoGridView
|
|
22667
|
+
VideoGridView,
|
|
22668
|
+
WorkspaceMetricCards: WorkspaceMetricCardsImpl
|
|
22585
22669
|
};
|
|
22586
22670
|
var RegistryCtx = createContext(defaults);
|
|
22587
22671
|
var useRegistry = () => {
|
|
@@ -24053,30 +24137,6 @@ var ISTTimer = memo(() => {
|
|
|
24053
24137
|
});
|
|
24054
24138
|
ISTTimer.displayName = "ISTTimer";
|
|
24055
24139
|
var ISTTimer_default = ISTTimer;
|
|
24056
|
-
var Card2 = (props) => {
|
|
24057
|
-
const { Card: RegisteredCard } = useRegistry();
|
|
24058
|
-
return /* @__PURE__ */ jsx(RegisteredCard, { ...props });
|
|
24059
|
-
};
|
|
24060
|
-
var CardHeader2 = (props) => {
|
|
24061
|
-
const { CardHeader: RegisteredCardHeader } = useRegistry();
|
|
24062
|
-
return /* @__PURE__ */ jsx(RegisteredCardHeader, { ...props });
|
|
24063
|
-
};
|
|
24064
|
-
var CardTitle2 = (props) => {
|
|
24065
|
-
const { CardTitle: RegisteredCardTitle } = useRegistry();
|
|
24066
|
-
return /* @__PURE__ */ jsx(RegisteredCardTitle, { ...props });
|
|
24067
|
-
};
|
|
24068
|
-
var CardDescription2 = (props) => {
|
|
24069
|
-
const { CardDescription: RegisteredCardDescription } = useRegistry();
|
|
24070
|
-
return /* @__PURE__ */ jsx(RegisteredCardDescription, { ...props });
|
|
24071
|
-
};
|
|
24072
|
-
var CardContent2 = (props) => {
|
|
24073
|
-
const { CardContent: RegisteredCardContent } = useRegistry();
|
|
24074
|
-
return /* @__PURE__ */ jsx(RegisteredCardContent, { ...props });
|
|
24075
|
-
};
|
|
24076
|
-
var CardFooter2 = (props) => {
|
|
24077
|
-
const { CardFooter: RegisteredCardFooter } = useRegistry();
|
|
24078
|
-
return /* @__PURE__ */ jsx(RegisteredCardFooter, { ...props });
|
|
24079
|
-
};
|
|
24080
24140
|
var TicketHistory = ({ companyId }) => {
|
|
24081
24141
|
const { tickets, loading, error } = useTicketHistory(companyId);
|
|
24082
24142
|
const [expandedTickets, setExpandedTickets] = useState(/* @__PURE__ */ new Set());
|
|
@@ -25309,29 +25369,36 @@ var LinePdfGenerator = ({
|
|
|
25309
25369
|
const startHour = parseInt(hours);
|
|
25310
25370
|
const startMinute = parseInt(minutes || "0");
|
|
25311
25371
|
let SHIFT_DURATION = 11;
|
|
25372
|
+
let endHour = startHour + 11;
|
|
25373
|
+
let endMinute = startMinute;
|
|
25312
25374
|
if (endTimeStr) {
|
|
25313
25375
|
const [endHours, endMinutes] = endTimeStr.split(":");
|
|
25314
|
-
|
|
25315
|
-
|
|
25376
|
+
endHour = parseInt(endHours);
|
|
25377
|
+
endMinute = parseInt(endMinutes || "0");
|
|
25316
25378
|
let duration = endHour - startHour;
|
|
25317
25379
|
if (duration <= 0) {
|
|
25318
25380
|
duration += 24;
|
|
25319
25381
|
}
|
|
25320
|
-
const
|
|
25321
|
-
|
|
25322
|
-
duration += minuteDiff / 60;
|
|
25323
|
-
}
|
|
25324
|
-
SHIFT_DURATION = Math.round(duration);
|
|
25382
|
+
const hasPartialLastHour = endMinute > 0 && endMinute < 60;
|
|
25383
|
+
SHIFT_DURATION = hasPartialLastHour ? Math.ceil(duration) : Math.round(duration);
|
|
25325
25384
|
}
|
|
25326
25385
|
return Array.from({ length: SHIFT_DURATION }, (_, i) => {
|
|
25386
|
+
const isLastHour = i === SHIFT_DURATION - 1;
|
|
25327
25387
|
const hourStartTime = /* @__PURE__ */ new Date();
|
|
25328
|
-
hourStartTime.setHours(startHour);
|
|
25388
|
+
hourStartTime.setHours((startHour + i) % 24);
|
|
25329
25389
|
hourStartTime.setMinutes(startMinute);
|
|
25330
25390
|
hourStartTime.setSeconds(0);
|
|
25331
25391
|
hourStartTime.setMilliseconds(0);
|
|
25332
|
-
|
|
25333
|
-
|
|
25334
|
-
|
|
25392
|
+
let hourEndTime = /* @__PURE__ */ new Date();
|
|
25393
|
+
if (isLastHour && endTimeStr) {
|
|
25394
|
+
hourEndTime.setHours(endHour % 24);
|
|
25395
|
+
hourEndTime.setMinutes(endMinute);
|
|
25396
|
+
} else {
|
|
25397
|
+
hourEndTime.setHours((startHour + i + 1) % 24);
|
|
25398
|
+
hourEndTime.setMinutes(startMinute);
|
|
25399
|
+
}
|
|
25400
|
+
hourEndTime.setSeconds(0);
|
|
25401
|
+
hourEndTime.setMilliseconds(0);
|
|
25335
25402
|
const formatTime3 = (date2) => {
|
|
25336
25403
|
return date2.toLocaleTimeString("en-IN", {
|
|
25337
25404
|
hour: "2-digit",
|
|
@@ -25348,17 +25415,132 @@ var LinePdfGenerator = ({
|
|
|
25348
25415
|
const targetOutputPerHour = Math.round(lineInfo.metrics.line_threshold / shiftDuration);
|
|
25349
25416
|
let hourlyActualOutput = [];
|
|
25350
25417
|
if (lineInfo.metrics.output_hourly && Object.keys(lineInfo.metrics.output_hourly).length > 0) {
|
|
25351
|
-
const
|
|
25418
|
+
const [startHourStr, startMinuteStr] = (lineInfo.metrics.shift_start || "6:00").split(":");
|
|
25419
|
+
const startHour = parseInt(startHourStr);
|
|
25420
|
+
const startMinute = parseInt(startMinuteStr || "0");
|
|
25421
|
+
const [endHourStr, endMinuteStr] = (lineInfo.metrics.shift_end || "18:00").split(":");
|
|
25422
|
+
const endMinute = parseInt(endMinuteStr || "0");
|
|
25423
|
+
const hasPartialLastHour = endMinute > 0 && endMinute < 60;
|
|
25352
25424
|
const expectedHours = [];
|
|
25353
25425
|
for (let i = 0; i < shiftDuration; i++) {
|
|
25354
25426
|
expectedHours.push((startHour + i) % 24);
|
|
25355
25427
|
}
|
|
25356
|
-
hourlyActualOutput = expectedHours.map((
|
|
25357
|
-
|
|
25358
|
-
|
|
25359
|
-
|
|
25428
|
+
hourlyActualOutput = expectedHours.map((expectedHour, index) => {
|
|
25429
|
+
let hourSum = 0;
|
|
25430
|
+
const outputHourly = lineInfo.metrics.output_hourly;
|
|
25431
|
+
const hourData = outputHourly[expectedHour.toString()] || [];
|
|
25432
|
+
if (startMinute > 0) {
|
|
25433
|
+
if (index === 0) {
|
|
25434
|
+
if (Array.isArray(hourData)) {
|
|
25435
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25436
|
+
const val = hourData[i];
|
|
25437
|
+
if (val !== "x" && typeof val === "number") {
|
|
25438
|
+
hourSum += val;
|
|
25439
|
+
}
|
|
25440
|
+
}
|
|
25441
|
+
}
|
|
25442
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25443
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25444
|
+
if (Array.isArray(nextHourData)) {
|
|
25445
|
+
for (let i = 0; i < startMinute && i < nextHourData.length; i++) {
|
|
25446
|
+
const val = nextHourData[i];
|
|
25447
|
+
if (val !== "x" && typeof val === "number") {
|
|
25448
|
+
hourSum += val;
|
|
25449
|
+
}
|
|
25450
|
+
}
|
|
25451
|
+
}
|
|
25452
|
+
} else if (index < expectedHours.length - 1) {
|
|
25453
|
+
if (Array.isArray(hourData)) {
|
|
25454
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25455
|
+
const val = hourData[i];
|
|
25456
|
+
if (val !== "x" && typeof val === "number") {
|
|
25457
|
+
hourSum += val;
|
|
25458
|
+
}
|
|
25459
|
+
}
|
|
25460
|
+
}
|
|
25461
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25462
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25463
|
+
if (Array.isArray(nextHourData)) {
|
|
25464
|
+
for (let i = 0; i < startMinute && i < nextHourData.length; i++) {
|
|
25465
|
+
const val = nextHourData[i];
|
|
25466
|
+
if (val !== "x" && typeof val === "number") {
|
|
25467
|
+
hourSum += val;
|
|
25468
|
+
}
|
|
25469
|
+
}
|
|
25470
|
+
}
|
|
25471
|
+
} else {
|
|
25472
|
+
if (hasPartialLastHour && endMinute > 0) {
|
|
25473
|
+
if (startMinute > 0) {
|
|
25474
|
+
if (Array.isArray(hourData)) {
|
|
25475
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25476
|
+
const val = hourData[i];
|
|
25477
|
+
if (val !== "x" && typeof val === "number") {
|
|
25478
|
+
hourSum += val;
|
|
25479
|
+
}
|
|
25480
|
+
}
|
|
25481
|
+
}
|
|
25482
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25483
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25484
|
+
if (Array.isArray(nextHourData)) {
|
|
25485
|
+
for (let i = 0; i < endMinute && i < nextHourData.length; i++) {
|
|
25486
|
+
const val = nextHourData[i];
|
|
25487
|
+
if (val !== "x" && typeof val === "number") {
|
|
25488
|
+
hourSum += val;
|
|
25489
|
+
}
|
|
25490
|
+
}
|
|
25491
|
+
}
|
|
25492
|
+
} else {
|
|
25493
|
+
if (Array.isArray(hourData)) {
|
|
25494
|
+
for (let i = 0; i < endMinute && i < hourData.length; i++) {
|
|
25495
|
+
const val = hourData[i];
|
|
25496
|
+
if (val !== "x" && typeof val === "number") {
|
|
25497
|
+
hourSum += val;
|
|
25498
|
+
}
|
|
25499
|
+
}
|
|
25500
|
+
}
|
|
25501
|
+
}
|
|
25502
|
+
} else {
|
|
25503
|
+
if (Array.isArray(hourData)) {
|
|
25504
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25505
|
+
const val = hourData[i];
|
|
25506
|
+
if (val !== "x" && typeof val === "number") {
|
|
25507
|
+
hourSum += val;
|
|
25508
|
+
}
|
|
25509
|
+
}
|
|
25510
|
+
}
|
|
25511
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25512
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25513
|
+
if (Array.isArray(nextHourData)) {
|
|
25514
|
+
for (let i = 0; i < startMinute && i < nextHourData.length; i++) {
|
|
25515
|
+
const val = nextHourData[i];
|
|
25516
|
+
if (val !== "x" && typeof val === "number") {
|
|
25517
|
+
hourSum += val;
|
|
25518
|
+
}
|
|
25519
|
+
}
|
|
25520
|
+
}
|
|
25521
|
+
}
|
|
25522
|
+
}
|
|
25523
|
+
} else {
|
|
25524
|
+
if (Array.isArray(hourData)) {
|
|
25525
|
+
hourData.forEach((val) => {
|
|
25526
|
+
if (val !== "x" && typeof val === "number") {
|
|
25527
|
+
hourSum += val;
|
|
25528
|
+
}
|
|
25529
|
+
});
|
|
25530
|
+
}
|
|
25531
|
+
if (index === expectedHours.length - 1 && hasPartialLastHour && endMinute > 0) {
|
|
25532
|
+
hourSum = 0;
|
|
25533
|
+
if (Array.isArray(hourData)) {
|
|
25534
|
+
for (let i = 0; i < endMinute && i < hourData.length; i++) {
|
|
25535
|
+
const val = hourData[i];
|
|
25536
|
+
if (val !== "x" && typeof val === "number") {
|
|
25537
|
+
hourSum += val;
|
|
25538
|
+
}
|
|
25539
|
+
}
|
|
25540
|
+
}
|
|
25541
|
+
}
|
|
25360
25542
|
}
|
|
25361
|
-
return
|
|
25543
|
+
return hourSum;
|
|
25362
25544
|
});
|
|
25363
25545
|
} else if (lineInfo.metrics.output_array && lineInfo.metrics.output_array.length > 0) {
|
|
25364
25546
|
hourlyActualOutput = lineInfo.metrics.output_array.reduce((acc, val, i) => {
|
|
@@ -26525,61 +26707,6 @@ var WorkspaceMonthlyPdfGenerator = ({
|
|
|
26525
26707
|
}
|
|
26526
26708
|
);
|
|
26527
26709
|
};
|
|
26528
|
-
var WorkspaceMetricCards = ({
|
|
26529
|
-
workspace,
|
|
26530
|
-
className
|
|
26531
|
-
}) => {
|
|
26532
|
-
return /* @__PURE__ */ jsxs("div", { className: `grid grid-cols-1 gap-4 sm:gap-3 sm:grid-cols-2 lg:grid-cols-5 w-full h-full ${className || ""}`, children: [
|
|
26533
|
-
/* @__PURE__ */ jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
26534
|
-
/* @__PURE__ */ jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsx(CardTitle2, { className: "text-lg text-center", children: "Pieces Lost" }) }),
|
|
26535
|
-
/* @__PURE__ */ jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
26536
|
-
/* @__PURE__ */ jsx("p", { className: `text-5xl font-bold ${workspace.output_difference >= 0 ? "text-green-500" : "text-red-500"}`, children: workspace.output_difference >= 0 ? `+${workspace.output_difference}` : `-${Math.abs(workspace.output_difference)}` }),
|
|
26537
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-gray-500 mt-2", children: workspace.output_difference >= 0 ? `pieces ahead of ideal output: ${workspace.ideal_output_until_now}` : `pieces behind ideal output: ${workspace.ideal_output_until_now}` })
|
|
26538
|
-
] }) })
|
|
26539
|
-
] }),
|
|
26540
|
-
/* @__PURE__ */ jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
26541
|
-
/* @__PURE__ */ jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsx(CardTitle2, { className: "text-lg text-center", children: "Efficiency" }) }),
|
|
26542
|
-
/* @__PURE__ */ jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
26543
|
-
/* @__PURE__ */ jsxs("p", { className: `text-5xl font-bold ${workspace.avg_efficiency >= 80 ? "text-green-500" : "text-red-500"}`, children: [
|
|
26544
|
-
workspace.avg_efficiency.toFixed(1),
|
|
26545
|
-
"%"
|
|
26546
|
-
] }),
|
|
26547
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-gray-500 mt-2", children: "Target: 80%" })
|
|
26548
|
-
] }) })
|
|
26549
|
-
] }),
|
|
26550
|
-
/* @__PURE__ */ jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
26551
|
-
/* @__PURE__ */ jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsx(CardTitle2, { className: "text-lg text-center", children: "PPH" }) }),
|
|
26552
|
-
/* @__PURE__ */ jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
26553
|
-
/* @__PURE__ */ jsx("p", { className: `text-5xl font-bold ${workspace.avg_pph >= workspace.pph_threshold ? "text-green-500" : "text-red-500"}`, children: workspace.avg_pph.toFixed(1) }),
|
|
26554
|
-
/* @__PURE__ */ jsxs("p", { className: "text-sm text-gray-500 mt-2", children: [
|
|
26555
|
-
"Standard: ",
|
|
26556
|
-
workspace.pph_threshold.toFixed(1)
|
|
26557
|
-
] })
|
|
26558
|
-
] }) })
|
|
26559
|
-
] }),
|
|
26560
|
-
/* @__PURE__ */ jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
26561
|
-
/* @__PURE__ */ jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsx(CardTitle2, { className: "text-lg text-center", children: "Cycle Time (s)" }) }),
|
|
26562
|
-
/* @__PURE__ */ jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
26563
|
-
/* @__PURE__ */ jsx("p", { className: `text-5xl font-bold text-green-500`, children: workspace.avg_cycle_time.toFixed(1) }),
|
|
26564
|
-
/* @__PURE__ */ jsxs("p", { className: "text-sm text-gray-500 mt-2", children: [
|
|
26565
|
-
"Standard: ",
|
|
26566
|
-
workspace.ideal_cycle_time?.toFixed(1) || 0,
|
|
26567
|
-
"s"
|
|
26568
|
-
] })
|
|
26569
|
-
] }) })
|
|
26570
|
-
] }),
|
|
26571
|
-
/* @__PURE__ */ jsxs(Card2, { className: "flex flex-col bg-white shadow-sm h-full min-h-[150px] sm:min-h-0", children: [
|
|
26572
|
-
/* @__PURE__ */ jsx(CardHeader2, { className: "pb-2 flex-none", children: /* @__PURE__ */ jsx(CardTitle2, { className: "text-lg text-center", children: "Idle Time" }) }),
|
|
26573
|
-
/* @__PURE__ */ jsx(CardContent2, { className: "flex-1 flex items-center justify-center py-6 sm:py-3", children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
26574
|
-
/* @__PURE__ */ jsx("p", { className: `text-4xl font-bold ${!workspace.idle_time || workspace.idle_time <= 0 ? "text-green-500" : workspace.idle_time <= 300 ? "text-yellow-500" : (
|
|
26575
|
-
// 5 minutes or less
|
|
26576
|
-
"text-red-500"
|
|
26577
|
-
)}`, children: formatIdleTime(workspace.idle_time) }),
|
|
26578
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-gray-500 mt-2", children: "Total idle time" })
|
|
26579
|
-
] }) })
|
|
26580
|
-
] })
|
|
26581
|
-
] });
|
|
26582
|
-
};
|
|
26583
26710
|
var LiveTimer = () => {
|
|
26584
26711
|
const [time2, setTime] = useState(/* @__PURE__ */ new Date());
|
|
26585
26712
|
useEffect(() => {
|
|
@@ -40464,4 +40591,4 @@ var streamProxyConfig = {
|
|
|
40464
40591
|
}
|
|
40465
40592
|
};
|
|
40466
40593
|
|
|
40467
|
-
export { ACTION_NAMES, AIAgentView_default as AIAgentView, AudioService, AuthCallback, AuthCallbackView_default as AuthCallbackView, AuthProvider, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedWorkspaceHealthView, BackButton, BackButtonMinimal, BarChart, BaseHistoryCalendar, BottlenecksContent, BreakNotificationPopup, CachePrefetchStatus, Card2 as Card, CardContent2 as CardContent, CardDescription2 as CardDescription, CardFooter2 as CardFooter, CardHeader2 as CardHeader, CardTitle2 as CardTitle, CompactWorkspaceHealthCard, CongratulationsOverlay, CycleTimeChart, CycleTimeOverTimeChart, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_SHIFT_CONFIG, 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, EmptyStateMessage, EncouragementOverlay, FactoryView_default as FactoryView, GaugeChart, GridComponentsPlaceholder, HamburgerButton, Header, HealthStatusGrid, HealthStatusIndicator, HelpView_default as HelpView, HomeView_default as HomeView, HourlyOutputChart2 as HourlyOutputChart, ISTTimer_default as ISTTimer, InlineEditableText, 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, LineChart, LineHistoryCalendar, LineMonthlyHistory, LineMonthlyPdfGenerator, LinePdfExportButton, LinePdfGenerator, LineWhatsAppShareButton, LiveTimer, LoadingInline, LoadingOverlay_default as LoadingOverlay, LoadingPage_default as LoadingPage, LoadingSkeleton, LoadingState, LoginPage, LoginView_default as LoginView, MainLayout, MetricCard_default as MetricCard, NoWorkspaceData, OptifyeAgentClient, OptifyeLogoLoader_default as OptifyeLogoLoader, OutputProgressChart, PageHeader, PieChart4 as PieChart, PrefetchConfigurationError, PrefetchError, PrefetchEvents, PrefetchStatus, PrefetchTimeoutError, ProfileView_default as ProfileView, RegistryProvider, S3ClipsService, S3Service, SKUManagementView, SOPComplianceChart, SSEChatClient, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, ShiftDisplay_default as ShiftDisplay, ShiftsView_default as ShiftsView, SideNavBar, SingleVideoStream_default as SingleVideoStream, Skeleton, SubscriptionManager, SubscriptionManagerProvider, SupabaseProvider, TargetWorkspaceGrid, TargetsView_default as TargetsView, ThreadSidebar, TicketHistory_default as TicketHistory, TicketHistoryService, TimeDisplay_default as TimeDisplay, TimePickerDropdown, VideoCard, VideoGridView, VideoPlayer, VideoPreloader, WORKSPACE_POSITIONS, WhatsAppShareButton, WorkspaceCard, WorkspaceDetailView_default as WorkspaceDetailView, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, WorkspaceHealthCard, WorkspaceHealthView_default as WorkspaceHealthView, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMonthlyDataFetcher, WorkspaceMonthlyPdfGenerator, WorkspacePdfExportButton, WorkspacePdfGenerator, WorkspaceWhatsAppShareButton, actionService, apiUtils, authCoreService, authOTPService, authRateLimitService, checkRateLimit2 as checkRateLimit, clearAllRateLimits2 as clearAllRateLimits, clearRateLimit2 as clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearWorkspaceDisplayNamesCache, cn, createStreamProxyHandler, createSupabaseClient, createThrottledReload, dashboardService, deleteThread, forceRefreshWorkspaceDisplayNames, formatDateInZone, formatDateTimeInZone, formatISTDate, formatIdleTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAnonClient, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentTimeInZone, getDashboardHeaderTimeInZone, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getOperationalDate, getS3SignedUrl, getS3VideoSrc, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUserThreads, getUserThreadsPaginated, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, identifyCoreUser, initializeCoreMixpanel, isLegacyConfiguration, isPrefetchError, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, mergeWithDefaultConfig, migrateLegacyConfiguration, optifyeAgentClient, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, shuffleArray, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, updateThreadTitle, useActiveBreaks, useAllWorkspaceMetrics, useAnalyticsConfig, useAudioService, useAuth, useAuthConfig, useCanSaveTargets, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineWorkspaceMetrics, useMessages, useMetrics, useNavigation, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useShiftConfig, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useTargets, useTheme, useThemeConfig, useThreads, useTicketHistory, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealth, useWorkspaceHealthById, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, videoPrefetchManager, videoPreloader, whatsappService, withAuth, withRegistry, workspaceHealthService, workspaceService };
|
|
40594
|
+
export { ACTION_NAMES, AIAgentView_default as AIAgentView, AudioService, AuthCallback, AuthCallbackView_default as AuthCallbackView, AuthProvider, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedWorkspaceHealthView, BackButton, BackButtonMinimal, BarChart, BaseHistoryCalendar, BottlenecksContent, BreakNotificationPopup, CachePrefetchStatus, Card2 as Card, CardContent2 as CardContent, CardDescription2 as CardDescription, CardFooter2 as CardFooter, CardHeader2 as CardHeader, CardTitle2 as CardTitle, CompactWorkspaceHealthCard, CongratulationsOverlay, CycleTimeChart, CycleTimeOverTimeChart, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_SHIFT_CONFIG, 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, EmptyStateMessage, EncouragementOverlay, FactoryView_default as FactoryView, GaugeChart, GridComponentsPlaceholder, HamburgerButton, Header, HealthStatusGrid, HealthStatusIndicator, HelpView_default as HelpView, HomeView_default as HomeView, HourlyOutputChart2 as HourlyOutputChart, ISTTimer_default as ISTTimer, InlineEditableText, 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, LineChart, LineHistoryCalendar, LineMonthlyHistory, LineMonthlyPdfGenerator, LinePdfExportButton, LinePdfGenerator, LineWhatsAppShareButton, LiveTimer, LoadingInline, LoadingOverlay_default as LoadingOverlay, LoadingPage_default as LoadingPage, LoadingSkeleton, LoadingState, LoginPage, LoginView_default as LoginView, MainLayout, MetricCard_default as MetricCard, NoWorkspaceData, OptifyeAgentClient, OptifyeLogoLoader_default as OptifyeLogoLoader, OutputProgressChart, PageHeader, PieChart4 as PieChart, PrefetchConfigurationError, PrefetchError, PrefetchEvents, PrefetchStatus, PrefetchTimeoutError, ProfileView_default as ProfileView, RegistryProvider, S3ClipsService, S3Service, SKUManagementView, SOPComplianceChart, SSEChatClient, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, ShiftDisplay_default as ShiftDisplay, ShiftsView_default as ShiftsView, SideNavBar, SingleVideoStream_default as SingleVideoStream, Skeleton, SubscriptionManager, SubscriptionManagerProvider, SupabaseProvider, TargetWorkspaceGrid, TargetsView_default as TargetsView, ThreadSidebar, TicketHistory_default as TicketHistory, TicketHistoryService, TimeDisplay_default as TimeDisplay, TimePickerDropdown, VideoCard, VideoGridView, VideoPlayer, VideoPreloader, WORKSPACE_POSITIONS, WhatsAppShareButton, WorkspaceCard, WorkspaceDetailView_default as WorkspaceDetailView, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, WorkspaceHealthCard, WorkspaceHealthView_default as WorkspaceHealthView, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, WorkspaceMonthlyDataFetcher, WorkspaceMonthlyPdfGenerator, WorkspacePdfExportButton, WorkspacePdfGenerator, WorkspaceWhatsAppShareButton, actionService, apiUtils, authCoreService, authOTPService, authRateLimitService, checkRateLimit2 as checkRateLimit, clearAllRateLimits2 as clearAllRateLimits, clearRateLimit2 as clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearWorkspaceDisplayNamesCache, cn, createStreamProxyHandler, createSupabaseClient, createThrottledReload, dashboardService, deleteThread, forceRefreshWorkspaceDisplayNames, formatDateInZone, formatDateTimeInZone, formatISTDate, formatIdleTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAnonClient, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentTimeInZone, getDashboardHeaderTimeInZone, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getOperationalDate, getS3SignedUrl, getS3VideoSrc, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUserThreads, getUserThreadsPaginated, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, identifyCoreUser, initializeCoreMixpanel, isLegacyConfiguration, isPrefetchError, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, mergeWithDefaultConfig, migrateLegacyConfiguration, optifyeAgentClient, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, shuffleArray, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, updateThreadTitle, useActiveBreaks, useAllWorkspaceMetrics, useAnalyticsConfig, useAudioService, useAuth, useAuthConfig, useCanSaveTargets, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineWorkspaceMetrics, useMessages, useMetrics, useNavigation, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useShiftConfig, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useTargets, useTheme, useThemeConfig, useThreads, useTicketHistory, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealth, useWorkspaceHealthById, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, videoPrefetchManager, videoPreloader, whatsappService, withAuth, withRegistry, workspaceHealthService, workspaceService };
|