@zendir/ui 0.5.0 → 0.6.1
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/CHANGELOG.md +419 -386
- package/README.md +640 -631
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/index.js +17 -221
- package/dist/react/3d/CesiumCaptureSource.d.ts +0 -1
- package/dist/react/3d/CesiumCaptureSource.js +364 -283
- package/dist/react/3d/CesiumCaptureSource.js.map +1 -1
- package/dist/react/3d/ZenSpace3D.d.ts +2 -3
- package/dist/react/3d/ZenSpace3D.js +1681 -1237
- package/dist/react/3d/ZenSpace3D.js.map +1 -1
- package/dist/react/3d/ZenSpace3DCesium.d.ts +0 -1
- package/dist/react/3d/ZenSpace3DCesium.js +513 -560
- package/dist/react/3d/ZenSpace3DCesium.js.map +1 -1
- package/dist/react/3d/ZenSpace3DShaders.js +61 -66
- package/dist/react/3d/ZenSpace3DShaders.js.map +1 -1
- package/dist/react/3d/ZenSpace3DTypes.d.ts +19 -20
- package/dist/react/3d/ZenSpace3DUtils.d.ts +0 -1
- package/dist/react/3d/ZenSpace3DUtils.js +37 -24
- package/dist/react/3d/ZenSpace3DUtils.js.map +1 -1
- package/dist/react/3d/capturePngAnalysis.js +42 -36
- package/dist/react/3d/capturePngAnalysis.js.map +1 -1
- package/dist/react/3d/index.d.ts +3 -3
- package/dist/react/3d/index.js +5 -53
- package/dist/react/3d/threeLoader.d.ts +1 -1
- package/dist/react/3d/threeLoader.js +23 -18
- package/dist/react/3d/threeLoader.js.map +1 -1
- package/dist/react/astro/ClassificationBanner.d.ts +2 -3
- package/dist/react/astro/ClassificationBanner.js +95 -79
- package/dist/react/astro/ClassificationBanner.js.map +1 -1
- package/dist/react/astro/GlobalStatusBar.d.ts +0 -1
- package/dist/react/astro/GlobalStatusBar.js +157 -163
- package/dist/react/astro/GlobalStatusBar.js.map +1 -1
- package/dist/react/astro/MissionClock.d.ts +7 -8
- package/dist/react/astro/MissionClock.js +377 -400
- package/dist/react/astro/MissionClock.js.map +1 -1
- package/dist/react/astro/MonitoringIcon.d.ts +1 -2
- package/dist/react/astro/MonitoringIcon.js +422 -358
- package/dist/react/astro/MonitoringIcon.js.map +1 -1
- package/dist/react/astro/Notification.d.ts +1 -2
- package/dist/react/astro/Notification.js +229 -126
- package/dist/react/astro/Notification.js.map +1 -1
- package/dist/react/astro/Progress.d.ts +0 -1
- package/dist/react/astro/Progress.js +199 -141
- package/dist/react/astro/Progress.js.map +1 -1
- package/dist/react/astro/SimulationControls.d.ts +3 -4
- package/dist/react/astro/SimulationControls.js +596 -650
- package/dist/react/astro/SimulationControls.js.map +1 -1
- package/dist/react/astro/StatusIndicator.d.ts +0 -1
- package/dist/react/astro/StatusIndicator.js +236 -170
- package/dist/react/astro/StatusIndicator.js.map +1 -1
- package/dist/react/astro/UnifiedTimeline.d.ts +9 -10
- package/dist/react/astro/UnifiedTimeline.js +2345 -2392
- package/dist/react/astro/UnifiedTimeline.js.map +1 -1
- package/dist/react/astro/index.d.ts +5 -5
- package/dist/react/astro/index.js +1 -25
- package/dist/react/cards/AccessCard.d.ts +0 -1
- package/dist/react/cards/AccessCard.js +471 -405
- package/dist/react/cards/AccessCard.js.map +1 -1
- package/dist/react/cards/OrbitCard.d.ts +0 -1
- package/dist/react/cards/OrbitCard.js +487 -364
- package/dist/react/cards/OrbitCard.js.map +1 -1
- package/dist/react/cards/SpacecraftCard.d.ts +0 -1
- package/dist/react/cards/SpacecraftCard.js +813 -925
- package/dist/react/cards/SpacecraftCard.js.map +1 -1
- package/dist/react/cards/TelemetryCard.d.ts +0 -1
- package/dist/react/cards/TelemetryCard.js +1055 -732
- package/dist/react/cards/TelemetryCard.js.map +1 -1
- package/dist/react/cards/TelemetryStreamCard.d.ts +0 -1
- package/dist/react/cards/TelemetryStreamCard.js +323 -297
- package/dist/react/cards/TelemetryStreamCard.js.map +1 -1
- package/dist/react/cards/index.d.ts +1 -1
- package/dist/react/cards/index.js +1 -8
- package/dist/react/charts/GroundTrackMap.d.ts +6 -7
- package/dist/react/charts/GroundTrackMap.js +1377 -1256
- package/dist/react/charts/GroundTrackMap.js.map +1 -1
- package/dist/react/charts/GroundTrackMapLeaflet.d.ts +1 -2
- package/dist/react/charts/GroundTrackMapLeaflet.js +1065 -987
- package/dist/react/charts/GroundTrackMapLeaflet.js.map +1 -1
- package/dist/react/charts/groundTrackMapLeafletTiles.js +34 -25
- package/dist/react/charts/groundTrackMapLeafletTiles.js.map +1 -1
- package/dist/react/charts/groundTrackMapLeafletUtils.js +70 -61
- package/dist/react/charts/groundTrackMapLeafletUtils.js.map +1 -1
- package/dist/react/charts/index.d.ts +1 -1
- package/dist/react/charts/index.js +7 -100
- package/dist/react/charts/unified/AstroChart.d.ts +1 -2
- package/dist/react/charts/unified/AstroChart.js +1331 -1411
- package/dist/react/charts/unified/AstroChart.js.map +1 -1
- package/dist/react/charts/unified/PowerOverviewChart.d.ts +3 -3
- package/dist/react/charts/unified/PowerOverviewChart.js +495 -478
- package/dist/react/charts/unified/PowerOverviewChart.js.map +1 -1
- package/dist/react/charts/unified/domain.d.ts +12 -13
- package/dist/react/charts/unified/domain.js +3999 -3145
- package/dist/react/charts/unified/domain.js.map +1 -1
- package/dist/react/charts/unified/generators.d.ts +3 -4
- package/dist/react/charts/unified/generators.js +561 -498
- package/dist/react/charts/unified/generators.js.map +1 -1
- package/dist/react/charts/unified/index.d.ts +1 -1
- package/dist/react/charts/unified/presets.d.ts +14 -15
- package/dist/react/charts/unified/presets.js +857 -994
- package/dist/react/charts/unified/presets.js.map +1 -1
- package/dist/react/charts/unified/sync.d.ts +2 -3
- package/dist/react/charts/unified/sync.js +229 -195
- package/dist/react/charts/unified/sync.js.map +1 -1
- package/dist/react/charts/unified/theme.d.ts +11 -12
- package/dist/react/charts/unified/theme.js +606 -642
- package/dist/react/charts/unified/theme.js.map +1 -1
- package/dist/react/charts/unified/types.d.ts +32 -33
- package/dist/react/charts/unified/useChartStream.d.ts +1 -2
- package/dist/react/charts/unified/useChartStream.js +203 -216
- package/dist/react/charts/unified/useChartStream.js.map +1 -1
- package/dist/react/chatgpt/AppCard.d.ts +1 -2
- package/dist/react/chatgpt/index.d.ts +7 -7
- package/dist/react/chatgpt/index.js +160 -139
- package/dist/react/chatgpt/index.js.map +1 -1
- package/dist/react/context/CategoryContext.d.ts +0 -1
- package/dist/react/context/CategoryContext.js +78 -29
- package/dist/react/context/CategoryContext.js.map +1 -1
- package/dist/react/context/DisplaySettingsContext.d.ts +1 -2
- package/dist/react/context/DisplaySettingsContext.js +205 -156
- package/dist/react/context/DisplaySettingsContext.js.map +1 -1
- package/dist/react/context/SpatialSelectionContext.d.ts +0 -1
- package/dist/react/context/SpatialSelectionContext.js +36 -7
- package/dist/react/context/SpatialSelectionContext.js.map +1 -1
- package/dist/react/core/data/DataTable.d.ts +3 -4
- package/dist/react/core/data/DataTable.js +473 -440
- package/dist/react/core/data/DataTable.js.map +1 -1
- package/dist/react/core/data/DataValue.d.ts +4 -5
- package/dist/react/core/data/DataValue.js +605 -571
- package/dist/react/core/data/DataValue.js.map +1 -1
- package/dist/react/core/data/propertyConfig.d.ts +1 -2
- package/dist/react/core/data/propertyConfig.js +446 -382
- package/dist/react/core/data/propertyConfig.js.map +1 -1
- package/dist/react/core/display/AstroIcon.d.ts +4 -5
- package/dist/react/core/display/AstroIcon.js +339 -429
- package/dist/react/core/display/AstroIcon.js.map +1 -1
- package/dist/react/core/display/Badge.d.ts +2 -3
- package/dist/react/core/display/Badge.js +131 -131
- package/dist/react/core/display/Badge.js.map +1 -1
- package/dist/react/core/display/CardHeader.d.ts +0 -1
- package/dist/react/core/display/CardHeader.js +398 -311
- package/dist/react/core/display/CardHeader.js.map +1 -1
- package/dist/react/core/display/Container.d.ts +2 -3
- package/dist/react/core/display/Container.js +640 -668
- package/dist/react/core/display/Container.js.map +1 -1
- package/dist/react/core/display/CopyButton.d.ts +1 -2
- package/dist/react/core/display/CopyButton.js +158 -101
- package/dist/react/core/display/CopyButton.js.map +1 -1
- package/dist/react/core/display/GlassCard.d.ts +3 -4
- package/dist/react/core/display/GlassCard.js +416 -369
- package/dist/react/core/display/GlassCard.js.map +1 -1
- package/dist/react/core/display/HeaderIconWithStatus.d.ts +0 -1
- package/dist/react/core/display/HeaderIconWithStatus.js +152 -152
- package/dist/react/core/display/HeaderIconWithStatus.js.map +1 -1
- package/dist/react/core/display/Icon.d.ts +2 -3
- package/dist/react/core/display/Icon.js +172 -143
- package/dist/react/core/display/Icon.js.map +1 -1
- package/dist/react/core/display/Typography.d.ts +24 -25
- package/dist/react/core/display/Typography.js +360 -178
- package/dist/react/core/display/Typography.js.map +1 -1
- package/dist/react/core/feedback/ConfirmDialog.d.ts +1 -2
- package/dist/react/core/feedback/ConfirmDialog.js +343 -304
- package/dist/react/core/feedback/ConfirmDialog.js.map +1 -1
- package/dist/react/core/feedback/Dialog.d.ts +2 -3
- package/dist/react/core/feedback/Dialog.js +189 -197
- package/dist/react/core/feedback/Dialog.js.map +1 -1
- package/dist/react/core/feedback/Toast.d.ts +2 -3
- package/dist/react/core/feedback/Toast.js +346 -207
- package/dist/react/core/feedback/Toast.js.map +1 -1
- package/dist/react/core/index.d.ts +26 -26
- package/dist/react/core/index.js +7 -119
- package/dist/react/core/inputs/Button.d.ts +2 -3
- package/dist/react/core/inputs/Button.js +281 -304
- package/dist/react/core/inputs/Button.js.map +1 -1
- package/dist/react/core/inputs/Checkbox.d.ts +2 -3
- package/dist/react/core/inputs/Checkbox.js +139 -127
- package/dist/react/core/inputs/Checkbox.js.map +1 -1
- package/dist/react/core/inputs/Input.d.ts +3 -4
- package/dist/react/core/inputs/Input.js +277 -285
- package/dist/react/core/inputs/Input.js.map +1 -1
- package/dist/react/core/inputs/LimitsBar.d.ts +1 -2
- package/dist/react/core/inputs/LimitsBar.js +271 -196
- package/dist/react/core/inputs/LimitsBar.js.map +1 -1
- package/dist/react/core/inputs/NumberInput.d.ts +2 -3
- package/dist/react/core/inputs/NumberInput.js +531 -503
- package/dist/react/core/inputs/NumberInput.js.map +1 -1
- package/dist/react/core/inputs/PinInput.d.ts +2 -3
- package/dist/react/core/inputs/PinInput.js +224 -207
- package/dist/react/core/inputs/PinInput.js.map +1 -1
- package/dist/react/core/inputs/Select.d.ts +1 -2
- package/dist/react/core/inputs/Select.js +298 -299
- package/dist/react/core/inputs/Select.js.map +1 -1
- package/dist/react/core/inputs/Toggle.d.ts +2 -3
- package/dist/react/core/inputs/Toggle.js +142 -148
- package/dist/react/core/inputs/Toggle.js.map +1 -1
- package/dist/react/core/layout/Box.d.ts +3 -4
- package/dist/react/core/layout/Box.js +118 -122
- package/dist/react/core/layout/Box.js.map +1 -1
- package/dist/react/core/layout/Center.d.ts +0 -1
- package/dist/react/core/layout/Center.js +45 -32
- package/dist/react/core/layout/Center.js.map +1 -1
- package/dist/react/core/layout/Divider.d.ts +1 -2
- package/dist/react/core/layout/Divider.js +112 -106
- package/dist/react/core/layout/Divider.js.map +1 -1
- package/dist/react/core/layout/Flex.d.ts +4 -5
- package/dist/react/core/layout/Flex.js +120 -124
- package/dist/react/core/layout/Flex.js.map +1 -1
- package/dist/react/core/layout/Grid.d.ts +5 -6
- package/dist/react/core/layout/Grid.js +131 -138
- package/dist/react/core/layout/Grid.js.map +1 -1
- package/dist/react/core/layout/Spacer.d.ts +0 -1
- package/dist/react/core/layout/Spacer.js +36 -29
- package/dist/react/core/layout/Spacer.js.map +1 -1
- package/dist/react/core/layout/Stack.d.ts +4 -5
- package/dist/react/core/layout/Stack.js +127 -70
- package/dist/react/core/layout/Stack.js.map +1 -1
- package/dist/react/core/layout/responsive.d.ts +1 -2
- package/dist/react/core/layout/responsive.js +25 -19
- package/dist/react/core/layout/responsive.js.map +1 -1
- package/dist/react/core/layout/useBreakpoint.d.ts +1 -1
- package/dist/react/core/layout/useBreakpoint.js +119 -66
- package/dist/react/core/layout/useBreakpoint.js.map +1 -1
- package/dist/react/core/navigation/AppBar.d.ts +1 -2
- package/dist/react/core/navigation/AppBar.js +827 -805
- package/dist/react/core/navigation/AppBar.js.map +1 -1
- package/dist/react/core/navigation/Pagination.d.ts +2 -3
- package/dist/react/core/navigation/Pagination.js +207 -187
- package/dist/react/core/navigation/Pagination.js.map +1 -1
- package/dist/react/core/navigation/SideNav.d.ts +5 -6
- package/dist/react/core/navigation/SideNav.js +855 -629
- package/dist/react/core/navigation/SideNav.js.map +1 -1
- package/dist/react/core/navigation/Tabs.d.ts +0 -1
- package/dist/react/core/navigation/Tabs.js +113 -119
- package/dist/react/core/navigation/Tabs.js.map +1 -1
- package/dist/react/core/overlays/Popover.d.ts +2 -3
- package/dist/react/core/overlays/Popover.js +303 -282
- package/dist/react/core/overlays/Popover.js.map +1 -1
- package/dist/react/core/overlays/SidePanel.d.ts +1 -2
- package/dist/react/core/overlays/SidePanel.js +217 -212
- package/dist/react/core/overlays/SidePanel.js.map +1 -1
- package/dist/react/core/overlays/Tooltip.d.ts +1 -2
- package/dist/react/core/overlays/Tooltip.js +170 -176
- package/dist/react/core/overlays/Tooltip.js.map +1 -1
- package/dist/react/core/widgets/ActivityPlanner.d.ts +0 -1
- package/dist/react/core/widgets/ActivityPlanner.js +855 -517
- package/dist/react/core/widgets/ActivityPlanner.js.map +1 -1
- package/dist/react/core/widgets/Capture.d.ts +2 -3
- package/dist/react/core/widgets/Capture.js +965 -779
- package/dist/react/core/widgets/Capture.js.map +1 -1
- package/dist/react/core/widgets/ChatPanel.d.ts +16 -17
- package/dist/react/core/widgets/ChatPanel.js +1734 -1034
- package/dist/react/core/widgets/ChatPanel.js.map +1 -1
- package/dist/react/core/widgets/ColorPickerPanel.d.ts +0 -1
- package/dist/react/core/widgets/ColorPickerPanel.js +298 -287
- package/dist/react/core/widgets/ColorPickerPanel.js.map +1 -1
- package/dist/react/core/widgets/CommandBuilder.d.ts +2 -3
- package/dist/react/core/widgets/CommandBuilder.js +624 -516
- package/dist/react/core/widgets/CommandBuilder.js.map +1 -1
- package/dist/react/core/widgets/ConnectionForm.d.ts +2 -3
- package/dist/react/core/widgets/ConnectionForm.js +528 -492
- package/dist/react/core/widgets/ConnectionForm.js.map +1 -1
- package/dist/react/core/widgets/FileExplorer.d.ts +3 -4
- package/dist/react/core/widgets/FileExplorer.js +617 -505
- package/dist/react/core/widgets/FileExplorer.js.map +1 -1
- package/dist/react/core/widgets/HexViewer.d.ts +2 -3
- package/dist/react/core/widgets/HexViewer.js +1353 -1091
- package/dist/react/core/widgets/HexViewer.js.map +1 -1
- package/dist/react/core/widgets/ImageFrame.d.ts +1 -2
- package/dist/react/core/widgets/ImageFrame.js +230 -193
- package/dist/react/core/widgets/ImageFrame.js.map +1 -1
- package/dist/react/core/widgets/ImageGallery.d.ts +2 -1
- package/dist/react/core/widgets/ImageGallery.js +380 -314
- package/dist/react/core/widgets/ImageGallery.js.map +1 -1
- package/dist/react/core/widgets/ImagePanel.d.ts +0 -1
- package/dist/react/core/widgets/ImagePanel.js +110 -101
- package/dist/react/core/widgets/ImagePanel.js.map +1 -1
- package/dist/react/core/widgets/LogViewer.d.ts +2 -3
- package/dist/react/core/widgets/LogViewer.js +711 -607
- package/dist/react/core/widgets/LogViewer.js.map +1 -1
- package/dist/react/core/widgets/MessageStream.d.ts +3 -4
- package/dist/react/core/widgets/MessageStream.js +514 -444
- package/dist/react/core/widgets/MessageStream.js.map +1 -1
- package/dist/react/core/widgets/MissionCalendar.d.ts +3 -4
- package/dist/react/core/widgets/MissionCalendar.js +1488 -1020
- package/dist/react/core/widgets/MissionCalendar.js.map +1 -1
- package/dist/react/core/widgets/PacketViewer.d.ts +2 -3
- package/dist/react/core/widgets/PacketViewer.js +550 -421
- package/dist/react/core/widgets/PacketViewer.js.map +1 -1
- package/dist/react/core/widgets/capture-placeholder.png.js +6 -5
- package/dist/react/core/widgets/capture-placeholder.png.js.map +1 -1
- package/dist/react/hooks/index.d.ts +5 -5
- package/dist/react/hooks/useAccessWindows.d.ts +0 -1
- package/dist/react/hooks/useCompactMode.d.ts +1 -1
- package/dist/react/hooks/useCompactMode.js +104 -58
- package/dist/react/hooks/useCompactMode.js.map +1 -1
- package/dist/react/hooks/useGroundTrackHistory.d.ts +0 -1
- package/dist/react/hooks/useSimulationScene.d.ts +1 -2
- package/dist/react/hooks/useSimulationScene.js +481 -374
- package/dist/react/hooks/useSimulationScene.js.map +1 -1
- package/dist/react/index.d.ts +3 -3
- package/dist/react/panels/LayerControlPanel.d.ts +1 -2
- package/dist/react/panels/LayerControlPanel.js +223 -180
- package/dist/react/panels/LayerControlPanel.js.map +1 -1
- package/dist/react/panels/ObjectInventoryPanel.d.ts +2 -3
- package/dist/react/panels/ObjectInventoryPanel.js +315 -250
- package/dist/react/panels/ObjectInventoryPanel.js.map +1 -1
- package/dist/react/panels/index.d.ts +1 -1
- package/dist/react/panels/index.js +1 -6
- package/dist/react/shared/ErrorBoundary.d.ts +1 -2
- package/dist/react/shared/ErrorBoundary.js +170 -139
- package/dist/react/shared/ErrorBoundary.js.map +1 -1
- package/dist/react/shared/Skeleton.d.ts +1 -2
- package/dist/react/shared/Skeleton.js +300 -301
- package/dist/react/shared/Skeleton.js.map +1 -1
- package/dist/react/theme/ThemeProvider.d.ts +2 -321
- package/dist/react/theme/ThemeProvider.js +313 -939
- package/dist/react/theme/ThemeProvider.js.map +1 -1
- package/dist/react/theme/cardAccent.d.ts +1 -2
- package/dist/react/theme/cardAccent.js +196 -126
- package/dist/react/theme/cardAccent.js.map +1 -1
- package/dist/react/theme/config.d.ts +0 -1
- package/dist/react/theme/config.js +47 -25
- package/dist/react/theme/config.js.map +1 -1
- package/dist/react/theme/index.d.ts +2 -2
- package/dist/react/theme/index.js +1 -16
- package/dist/react/theme/types.d.ts +332 -0
- package/dist/react/theme/types.js +39 -0
- package/dist/react/theme/types.js.map +1 -0
- package/dist/react/types.d.ts +8 -8
- package/dist/react/types.js +147 -47
- package/dist/react/types.js.map +1 -1
- package/dist/react/utils/categoryPalette.d.ts +0 -1
- package/dist/react/utils/categoryPalette.js +91 -102
- package/dist/react/utils/categoryPalette.js.map +1 -1
- package/dist/react/utils/index.d.ts +5 -5
- package/dist/react/utils/index.js +457 -371
- package/dist/react/utils/index.js.map +1 -1
- package/dist/react/visualizations/EclipseTimerCard.d.ts +0 -1
- package/dist/react/visualizations/LinkBudgetCard.d.ts +0 -1
- package/dist/react/visualizations/NavBallCard.d.ts +0 -1
- package/dist/react/visualizations/PropulsionCard.d.ts +1 -2
- package/dist/react/visualizations/SensorFootprintCard.d.ts +1 -2
- package/dist/react/visualizations/ThermalHeatmapCard.d.ts +0 -1
- package/dist/react/visualizations/index.d.ts +3 -3
- package/dist/react.d.ts +2 -1
- package/dist/react.js +17 -221
- package/dist/shaders/atmosphere.frag.js +6 -5
- package/dist/shaders/atmosphere.frag.js.map +1 -1
- package/dist/shaders/atmosphere.vert.js +6 -5
- package/dist/shaders/atmosphere.vert.js.map +1 -1
- package/dist/shaders/stars.frag.js +6 -5
- package/dist/shaders/stars.frag.js.map +1 -1
- package/dist/shaders/stars.vert.js +6 -5
- package/dist/shaders/stars.vert.js.map +1 -1
- package/dist/style.css +26 -3
- package/dist/tokens/core.d.ts +159 -0
- package/dist/tokens/core.js +144 -0
- package/dist/tokens/core.js.map +1 -0
- package/dist/tokens/css-vars.d.ts +213 -2
- package/dist/tokens/css-vars.js +590 -227
- package/dist/tokens/css-vars.js.map +1 -1
- package/dist/tokens/index.d.ts +31 -228
- package/dist/tokens/index.js +281 -366
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/palettes/astro.d.ts +129 -0
- package/dist/tokens/palettes/astro.js +112 -0
- package/dist/tokens/palettes/astro.js.map +1 -0
- package/dist/tokens/palettes/index.d.ts +288 -0
- package/dist/tokens/palettes/index.js +35 -0
- package/dist/tokens/palettes/index.js.map +1 -0
- package/dist/tokens/palettes/tailwind.d.ts +324 -0
- package/dist/tokens/palettes/tailwind.js +201 -0
- package/dist/tokens/palettes/tailwind.js.map +1 -0
- package/dist/tokens/palettes/zendir.d.ts +126 -0
- package/dist/tokens/palettes/zendir.js +92 -0
- package/dist/tokens/palettes/zendir.js.map +1 -0
- package/dist/tokens/themes.d.ts +30 -0
- package/dist/tokens/themes.js +704 -0
- package/dist/tokens/themes.js.map +1 -0
- package/dist/tokens/tokens.css +533 -155
- package/dist/types/index.d.ts +2 -2
- package/package.json +310 -313
- package/dist/index.js.map +0 -1
- package/dist/react/3d/index.js.map +0 -1
- package/dist/react/astro/index.js.map +0 -1
- package/dist/react/cards/index.js.map +0 -1
- package/dist/react/charts/index.js.map +0 -1
- package/dist/react/core/index.js.map +0 -1
- package/dist/react/panels/index.js.map +0 -1
- package/dist/react/theme/astro-tokens.d.ts +0 -153
- package/dist/react/theme/index.js.map +0 -1
- package/dist/react.js.map +0 -1
|
@@ -1,137 +1,207 @@
|
|
|
1
|
+
import { createContext, useContext, useMemo } from "react";
|
|
1
2
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
//#region src/react/theme/cardAccent.tsx
|
|
4
|
+
/**
|
|
5
|
+
* @zendir/ui - Card Accent System
|
|
6
|
+
*
|
|
7
|
+
* Provides accent color configuration for cards and containers in space operations UIs.
|
|
8
|
+
* Maps space system domains to appropriate accent colors for visual organization.
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Predefined accent colors for common use cases
|
|
12
|
+
* - Space system keyword → color mapping for auto-coloring
|
|
13
|
+
* - Mix mode for automatic per-domain coloring
|
|
14
|
+
* - React context and hook for easy integration
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* import {
|
|
19
|
+
* CardAccentProvider,
|
|
20
|
+
* useCardAccent,
|
|
21
|
+
* getSystemAccentColor
|
|
22
|
+
* } from '@zendir/ui';
|
|
23
|
+
*
|
|
24
|
+
* // Wrap your app with the provider
|
|
25
|
+
* <CardAccentProvider accentMode="mix">
|
|
26
|
+
* <MyApp />
|
|
27
|
+
* </CardAccentProvider>
|
|
28
|
+
*
|
|
29
|
+
* // Use in components
|
|
30
|
+
* const { getAccentColor } = useCardAccent();
|
|
31
|
+
* <Container accentColor={getAccentColor('Power Systems')} />
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* Predefined card accent colors
|
|
36
|
+
* These are optimized for dark themes and space operations UIs
|
|
37
|
+
*/
|
|
38
|
+
var CARD_ACCENT_COLORS = {
|
|
39
|
+
cyan: {
|
|
40
|
+
label: "Cyan",
|
|
41
|
+
value: "#00c8ff"
|
|
42
|
+
},
|
|
43
|
+
electric: {
|
|
44
|
+
label: "Electric",
|
|
45
|
+
value: "#4d7cff"
|
|
46
|
+
},
|
|
47
|
+
purple: {
|
|
48
|
+
label: "Purple",
|
|
49
|
+
value: "#a855f7"
|
|
50
|
+
},
|
|
51
|
+
teal: {
|
|
52
|
+
label: "Teal",
|
|
53
|
+
value: "#14b8a6"
|
|
54
|
+
},
|
|
55
|
+
prussianBlue: {
|
|
56
|
+
label: "Prussian Blue",
|
|
57
|
+
value: "#1e3a5f"
|
|
58
|
+
},
|
|
59
|
+
green: {
|
|
60
|
+
label: "Green",
|
|
61
|
+
value: "#22c55e"
|
|
62
|
+
},
|
|
63
|
+
amber: {
|
|
64
|
+
label: "Amber",
|
|
65
|
+
value: "#f59e0b"
|
|
66
|
+
},
|
|
67
|
+
mix: {
|
|
68
|
+
label: "Mix (Per System)",
|
|
69
|
+
value: "mix"
|
|
70
|
+
}
|
|
12
71
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
"lines3d": "#a855f7",
|
|
84
|
-
"debris": "#f59e0b",
|
|
85
|
-
"constellation": "#4d7cff",
|
|
86
|
-
"collision": "#f59e0b",
|
|
87
|
-
"satellite": "#4d7cff",
|
|
88
|
-
// === Default ===
|
|
89
|
-
"default": "#00c8ff"
|
|
72
|
+
/**
|
|
73
|
+
* Space system keyword → accent color mapping
|
|
74
|
+
* Used in 'mix' mode to automatically assign colors based on content
|
|
75
|
+
*/
|
|
76
|
+
var SPACE_SYSTEM_COLORS = {
|
|
77
|
+
telemetry: "#00c8ff",
|
|
78
|
+
data: "#00c8ff",
|
|
79
|
+
preview: "#00c8ff",
|
|
80
|
+
stream: "#00c8ff",
|
|
81
|
+
power: "#22c55e",
|
|
82
|
+
battery: "#22c55e",
|
|
83
|
+
solar: "#22c55e",
|
|
84
|
+
voltage: "#22c55e",
|
|
85
|
+
energy: "#22c55e",
|
|
86
|
+
thermal: "#f59e0b",
|
|
87
|
+
temperature: "#f59e0b",
|
|
88
|
+
heatmap: "#f59e0b",
|
|
89
|
+
heater: "#f59e0b",
|
|
90
|
+
attitude: "#a855f7",
|
|
91
|
+
control: "#a855f7",
|
|
92
|
+
orientation: "#a855f7",
|
|
93
|
+
pointing: "#a855f7",
|
|
94
|
+
gyro: "#a855f7",
|
|
95
|
+
spectrum: "#4d7cff",
|
|
96
|
+
link: "#4d7cff",
|
|
97
|
+
rf: "#4d7cff",
|
|
98
|
+
downlink: "#4d7cff",
|
|
99
|
+
uplink: "#4d7cff",
|
|
100
|
+
packet: "#4d7cff",
|
|
101
|
+
antenna: "#4d7cff",
|
|
102
|
+
comm: "#4d7cff",
|
|
103
|
+
orbit: "#14b8a6",
|
|
104
|
+
eclipse: "#14b8a6",
|
|
105
|
+
polar: "#14b8a6",
|
|
106
|
+
heliocentric: "#14b8a6",
|
|
107
|
+
maneuver: "#14b8a6",
|
|
108
|
+
contact: "#14b8a6",
|
|
109
|
+
ground: "#14b8a6",
|
|
110
|
+
pass: "#14b8a6",
|
|
111
|
+
sensor: "#00c8ff",
|
|
112
|
+
star: "#00c8ff",
|
|
113
|
+
tracker: "#00c8ff",
|
|
114
|
+
scatter: "#00c8ff",
|
|
115
|
+
payload: "#00c8ff",
|
|
116
|
+
health: "#22c55e",
|
|
117
|
+
gauge: "#22c55e",
|
|
118
|
+
subsystem: "#22c55e",
|
|
119
|
+
status: "#22c55e",
|
|
120
|
+
sankey: "#a855f7",
|
|
121
|
+
treemap: "#4d7cff",
|
|
122
|
+
sunburst: "#14b8a6",
|
|
123
|
+
parallel: "#f59e0b",
|
|
124
|
+
radar: "#00c8ff",
|
|
125
|
+
graph: "#a855f7",
|
|
126
|
+
candlestick: "#f59e0b",
|
|
127
|
+
histogram: "#00c8ff",
|
|
128
|
+
pie: "#a855f7",
|
|
129
|
+
donut: "#a855f7",
|
|
130
|
+
bubble: "#14b8a6",
|
|
131
|
+
rose: "#f59e0b",
|
|
132
|
+
"3d": "#4d7cff",
|
|
133
|
+
scatter3d: "#00c8ff",
|
|
134
|
+
bar3d: "#22c55e",
|
|
135
|
+
surface3d: "#f59e0b",
|
|
136
|
+
lines3d: "#a855f7",
|
|
137
|
+
debris: "#f59e0b",
|
|
138
|
+
constellation: "#4d7cff",
|
|
139
|
+
collision: "#f59e0b",
|
|
140
|
+
satellite: "#4d7cff",
|
|
141
|
+
default: "#00c8ff"
|
|
90
142
|
};
|
|
143
|
+
/**
|
|
144
|
+
* Get accent color based on title/content and accent mode
|
|
145
|
+
*
|
|
146
|
+
* @param title - Content title or description to analyze
|
|
147
|
+
* @param accentMode - Current accent mode (specific color or 'mix')
|
|
148
|
+
* @returns Hex color string or undefined
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```tsx
|
|
152
|
+
* getSystemAccentColor('Power Systems Overview', 'mix') // '#22c55e'
|
|
153
|
+
* getSystemAccentColor('Power Systems', 'purple') // '#a855f7'
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
91
156
|
function getSystemAccentColor(title, accentMode) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
for (const [keyword, color] of Object.entries(SPACE_SYSTEM_COLORS)) {
|
|
97
|
-
if (lowerTitle.includes(keyword)) {
|
|
98
|
-
return color;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return SPACE_SYSTEM_COLORS.default;
|
|
157
|
+
if (accentMode !== "mix") return CARD_ACCENT_COLORS[accentMode].value;
|
|
158
|
+
const lowerTitle = title.toLowerCase();
|
|
159
|
+
for (const [keyword, color] of Object.entries(SPACE_SYSTEM_COLORS)) if (lowerTitle.includes(keyword)) return color;
|
|
160
|
+
return SPACE_SYSTEM_COLORS.default;
|
|
102
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Get all accent color options for building UI selectors
|
|
164
|
+
*/
|
|
103
165
|
function getAccentColorOptions() {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
166
|
+
return Object.entries(CARD_ACCENT_COLORS).map(([key, config]) => ({
|
|
167
|
+
key,
|
|
168
|
+
label: config.label,
|
|
169
|
+
value: config.value
|
|
170
|
+
}));
|
|
109
171
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
172
|
+
var CardAccentContext = createContext({
|
|
173
|
+
accentMode: "mix",
|
|
174
|
+
getAccentColor: () => void 0,
|
|
175
|
+
accentOptions: getAccentColorOptions()
|
|
114
176
|
});
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
177
|
+
/**
|
|
178
|
+
* Provider for card accent context
|
|
179
|
+
* Wrap your app or section to provide consistent accent coloring
|
|
180
|
+
*/
|
|
181
|
+
function CardAccentProvider({ accentMode = "mix", children }) {
|
|
182
|
+
const value = useMemo(() => ({
|
|
183
|
+
accentMode,
|
|
184
|
+
getAccentColor: (title) => getSystemAccentColor(title, accentMode),
|
|
185
|
+
accentOptions: getAccentColorOptions()
|
|
186
|
+
}), [accentMode]);
|
|
187
|
+
return /* @__PURE__ */ jsx(CardAccentContext.Provider, {
|
|
188
|
+
value,
|
|
189
|
+
children
|
|
190
|
+
});
|
|
125
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* Hook to access card accent context
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* ```tsx
|
|
197
|
+
* const { getAccentColor, accentMode } = useCardAccent();
|
|
198
|
+
* <Container accentColor={getAccentColor('Power Chart')} />
|
|
199
|
+
* ```
|
|
200
|
+
*/
|
|
126
201
|
function useCardAccent() {
|
|
127
|
-
|
|
202
|
+
return useContext(CardAccentContext);
|
|
128
203
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
getAccentColorOptions,
|
|
134
|
-
getSystemAccentColor,
|
|
135
|
-
useCardAccent
|
|
136
|
-
};
|
|
137
|
-
//# sourceMappingURL=cardAccent.js.map
|
|
204
|
+
//#endregion
|
|
205
|
+
export { CARD_ACCENT_COLORS, CardAccentProvider, CardAccentProvider as default, SPACE_SYSTEM_COLORS, getAccentColorOptions, getSystemAccentColor, useCardAccent };
|
|
206
|
+
|
|
207
|
+
//# sourceMappingURL=cardAccent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cardAccent.js","sources":["../../../src/react/theme/cardAccent.tsx"],"sourcesContent":["/**\r\n * @zendir/ui - Card Accent System\r\n * \r\n * Provides accent color configuration for cards and containers in space operations UIs.\r\n * Maps space system domains to appropriate accent colors for visual organization.\r\n * \r\n * Features:\r\n * - Predefined accent colors for common use cases\r\n * - Space system keyword → color mapping for auto-coloring\r\n * - Mix mode for automatic per-domain coloring\r\n * - React context and hook for easy integration\r\n * \r\n * @example\r\n * ```tsx\r\n * import { \r\n * CardAccentProvider, \r\n * useCardAccent, \r\n * getSystemAccentColor \r\n * } from '@zendir/ui';\r\n * \r\n * // Wrap your app with the provider\r\n * <CardAccentProvider accentMode=\"mix\">\r\n * <MyApp />\r\n * </CardAccentProvider>\r\n * \r\n * // Use in components\r\n * const { getAccentColor } = useCardAccent();\r\n * <Container accentColor={getAccentColor('Power Systems')} />\r\n * ```\r\n */\r\n\r\nimport React, { createContext, useContext, useMemo, type ReactNode } from 'react';\r\n\r\n// =============================================================================\r\n// Types\r\n// =============================================================================\r\n\r\nexport type CardAccentKey = \r\n | 'cyan'\r\n | 'electric' \r\n | 'purple'\r\n | 'teal'\r\n | 'prussianBlue'\r\n | 'green'\r\n | 'amber'\r\n | 'mix';\r\n\r\nexport interface CardAccentColor {\r\n /** Display label */\r\n label: string;\r\n /** Hex color value (or 'mix' for automatic) */\r\n value: string;\r\n}\r\n\r\n// =============================================================================\r\n// Accent Color Definitions\r\n// =============================================================================\r\n\r\n/**\r\n * Predefined card accent colors\r\n * These are optimized for dark themes and space operations UIs\r\n */\r\nexport const CARD_ACCENT_COLORS: Record<CardAccentKey, CardAccentColor> = {\r\n cyan: { label: 'Cyan', value: '#00c8ff' },\r\n electric: { label: 'Electric', value: '#4d7cff' },\r\n purple: { label: 'Purple', value: '#a855f7' },\r\n teal: { label: 'Teal', value: '#14b8a6' },\r\n prussianBlue: { label: 'Prussian Blue', value: '#1e3a5f' },\r\n green: { label: 'Green', value: '#22c55e' },\r\n amber: { label: 'Amber', value: '#f59e0b' },\r\n mix: { label: 'Mix (Per System)', value: 'mix' },\r\n} as const;\r\n\r\n/**\r\n * Space system keyword → accent color mapping\r\n * Used in 'mix' mode to automatically assign colors based on content\r\n */\r\nexport const SPACE_SYSTEM_COLORS: Record<string, string> = {\r\n // === Telemetry & Data ===\r\n 'telemetry': '#00c8ff',\r\n 'data': '#00c8ff',\r\n 'preview': '#00c8ff',\r\n 'stream': '#00c8ff',\r\n \r\n // === Power Systems ===\r\n 'power': '#22c55e',\r\n 'battery': '#22c55e',\r\n 'solar': '#22c55e',\r\n 'voltage': '#22c55e',\r\n 'energy': '#22c55e',\r\n \r\n // === Thermal Systems ===\r\n 'thermal': '#f59e0b',\r\n 'temperature': '#f59e0b',\r\n 'heatmap': '#f59e0b',\r\n 'heater': '#f59e0b',\r\n \r\n // === Attitude & Control ===\r\n 'attitude': '#a855f7',\r\n 'control': '#a855f7',\r\n 'orientation': '#a855f7',\r\n 'pointing': '#a855f7',\r\n 'gyro': '#a855f7',\r\n \r\n // === Communications ===\r\n 'spectrum': '#4d7cff',\r\n 'link': '#4d7cff',\r\n 'rf': '#4d7cff',\r\n 'downlink': '#4d7cff',\r\n 'uplink': '#4d7cff',\r\n 'packet': '#4d7cff',\r\n 'antenna': '#4d7cff',\r\n 'comm': '#4d7cff',\r\n \r\n // === Navigation & Orbit ===\r\n 'orbit': '#14b8a6',\r\n 'eclipse': '#14b8a6',\r\n 'polar': '#14b8a6',\r\n 'heliocentric': '#14b8a6',\r\n 'maneuver': '#14b8a6',\r\n 'contact': '#14b8a6',\r\n 'ground': '#14b8a6',\r\n 'pass': '#14b8a6',\r\n \r\n // === Sensors & Instruments ===\r\n 'sensor': '#00c8ff',\r\n 'star': '#00c8ff',\r\n 'tracker': '#00c8ff',\r\n 'scatter': '#00c8ff',\r\n 'payload': '#00c8ff',\r\n \r\n // === Health & Status ===\r\n 'health': '#22c55e',\r\n 'gauge': '#22c55e',\r\n 'subsystem': '#22c55e',\r\n 'status': '#22c55e',\r\n \r\n // === Analytics & Visualization ===\r\n 'sankey': '#a855f7',\r\n 'treemap': '#4d7cff',\r\n 'sunburst': '#14b8a6',\r\n 'parallel': '#f59e0b',\r\n 'radar': '#00c8ff',\r\n 'graph': '#a855f7',\r\n 'candlestick': '#f59e0b',\r\n 'histogram': '#00c8ff',\r\n 'pie': '#a855f7',\r\n 'donut': '#a855f7',\r\n 'bubble': '#14b8a6',\r\n 'rose': '#f59e0b',\r\n \r\n // === 3D Visualizations ===\r\n '3d': '#4d7cff',\r\n 'scatter3d': '#00c8ff',\r\n 'bar3d': '#22c55e',\r\n 'surface3d': '#f59e0b',\r\n 'lines3d': '#a855f7',\r\n 'debris': '#f59e0b',\r\n 'constellation': '#4d7cff',\r\n 'collision': '#f59e0b',\r\n 'satellite': '#4d7cff',\r\n \r\n // === Default ===\r\n 'default': '#00c8ff',\r\n} as const;\r\n\r\n// =============================================================================\r\n// Utility Functions\r\n// =============================================================================\r\n\r\n/**\r\n * Get accent color based on title/content and accent mode\r\n * \r\n * @param title - Content title or description to analyze\r\n * @param accentMode - Current accent mode (specific color or 'mix')\r\n * @returns Hex color string or undefined\r\n * \r\n * @example\r\n * ```tsx\r\n * getSystemAccentColor('Power Systems Overview', 'mix') // '#22c55e'\r\n * getSystemAccentColor('Power Systems', 'purple') // '#a855f7'\r\n * ```\r\n */\r\nexport function getSystemAccentColor(\r\n title: string, \r\n accentMode: CardAccentKey\r\n): string | undefined {\r\n if (accentMode !== 'mix') {\r\n return CARD_ACCENT_COLORS[accentMode].value;\r\n }\r\n \r\n const lowerTitle = title.toLowerCase();\r\n for (const [keyword, color] of Object.entries(SPACE_SYSTEM_COLORS)) {\r\n if (lowerTitle.includes(keyword)) {\r\n return color;\r\n }\r\n }\r\n return SPACE_SYSTEM_COLORS.default;\r\n}\r\n\r\n/**\r\n * Get all accent color options for building UI selectors\r\n */\r\nexport function getAccentColorOptions(): Array<{ key: CardAccentKey; label: string; value: string }> {\r\n return Object.entries(CARD_ACCENT_COLORS).map(([key, config]) => ({\r\n key: key as CardAccentKey,\r\n label: config.label,\r\n value: config.value,\r\n }));\r\n}\r\n\r\n// =============================================================================\r\n// React Context & Provider\r\n// =============================================================================\r\n\r\nexport interface CardAccentContextValue {\r\n /** Current accent mode */\r\n accentMode: CardAccentKey;\r\n /** Get accent color for a given title/content */\r\n getAccentColor: (title: string) => string | undefined;\r\n /** All available accent options */\r\n accentOptions: Array<{ key: CardAccentKey; label: string; value: string }>;\r\n}\r\n\r\nconst CardAccentContext = createContext<CardAccentContextValue>({\r\n accentMode: 'mix',\r\n getAccentColor: () => undefined,\r\n accentOptions: getAccentColorOptions(),\r\n});\r\n\r\nexport interface CardAccentProviderProps {\r\n /** Accent mode to use */\r\n accentMode?: CardAccentKey;\r\n /** Children */\r\n children: ReactNode;\r\n}\r\n\r\n/**\r\n * Provider for card accent context\r\n * Wrap your app or section to provide consistent accent coloring\r\n */\r\nexport function CardAccentProvider({\r\n accentMode = 'mix',\r\n children,\r\n}: CardAccentProviderProps): React.ReactElement {\r\n const value = useMemo((): CardAccentContextValue => ({\r\n accentMode,\r\n getAccentColor: (title: string) => getSystemAccentColor(title, accentMode),\r\n accentOptions: getAccentColorOptions(),\r\n }), [accentMode]);\r\n\r\n return (\r\n <CardAccentContext.Provider value={value}>\r\n {children}\r\n </CardAccentContext.Provider>\r\n );\r\n}\r\n\r\n/**\r\n * Hook to access card accent context\r\n * \r\n * @example\r\n * ```tsx\r\n * const { getAccentColor, accentMode } = useCardAccent();\r\n * <Container accentColor={getAccentColor('Power Chart')} />\r\n * ```\r\n */\r\nexport function useCardAccent(): CardAccentContextValue {\r\n return useContext(CardAccentContext);\r\n}\r\n\r\nexport default CardAccentProvider;\r\n"],"names":[],"mappings":";;AA8DO,MAAM,qBAA6D;AAAA,EACxE,MAAM,EAAE,OAAO,QAAQ,OAAO,UAAA;AAAA,EAC9B,UAAU,EAAE,OAAO,YAAY,OAAO,UAAA;AAAA,EACtC,QAAQ,EAAE,OAAO,UAAU,OAAO,UAAA;AAAA,EAClC,MAAM,EAAE,OAAO,QAAQ,OAAO,UAAA;AAAA,EAC9B,cAAc,EAAE,OAAO,iBAAiB,OAAO,UAAA;AAAA,EAC/C,OAAO,EAAE,OAAO,SAAS,OAAO,UAAA;AAAA,EAChC,OAAO,EAAE,OAAO,SAAS,OAAO,UAAA;AAAA,EAChC,KAAK,EAAE,OAAO,oBAAoB,OAAO,MAAA;AAC3C;AAMO,MAAM,sBAA8C;AAAA;AAAA,EAEzD,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,UAAU;AAAA;AAAA,EAGV,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA;AAAA,EAGV,WAAW;AAAA,EACX,eAAe;AAAA,EACf,WAAW;AAAA,EACX,UAAU;AAAA;AAAA,EAGV,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,QAAQ;AAAA;AAAA,EAGR,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,QAAQ;AAAA;AAAA,EAGR,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,UAAU;AAAA,EACV,QAAQ;AAAA;AAAA,EAGR,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA;AAAA,EAGX,UAAU;AAAA,EACV,SAAS;AAAA,EACT,aAAa;AAAA,EACb,UAAU;AAAA;AAAA,EAGV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,eAAe;AAAA,EACf,aAAa;AAAA,EACb,OAAO;AAAA,EACP,SAAS;AAAA,EACT,UAAU;AAAA,EACV,QAAQ;AAAA;AAAA,EAGR,MAAM;AAAA,EACN,aAAa;AAAA,EACb,SAAS;AAAA,EACT,aAAa;AAAA,EACb,WAAW;AAAA,EACX,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,aAAa;AAAA;AAAA,EAGb,WAAW;AACb;AAmBO,SAAS,qBACd,OACA,YACoB;AACpB,MAAI,eAAe,OAAO;AACxB,WAAO,mBAAmB,UAAU,EAAE;AAAA,EACxC;AAEA,QAAM,aAAa,MAAM,YAAA;AACzB,aAAW,CAAC,SAAS,KAAK,KAAK,OAAO,QAAQ,mBAAmB,GAAG;AAClE,QAAI,WAAW,SAAS,OAAO,GAAG;AAChC,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO,oBAAoB;AAC7B;AAKO,SAAS,wBAAqF;AACnG,SAAO,OAAO,QAAQ,kBAAkB,EAAE,IAAI,CAAC,CAAC,KAAK,MAAM,OAAO;AAAA,IAChE;AAAA,IACA,OAAO,OAAO;AAAA,IACd,OAAO,OAAO;AAAA,EAAA,EACd;AACJ;AAeA,MAAM,oBAAoB,cAAsC;AAAA,EAC9D,YAAY;AAAA,EACZ,gBAAgB,MAAM;AAAA,EACtB,eAAe,sBAAA;AACjB,CAAC;AAaM,SAAS,mBAAmB;AAAA,EACjC,aAAa;AAAA,EACb;AACF,GAAgD;AAC9C,QAAM,QAAQ,QAAQ,OAA+B;AAAA,IACnD;AAAA,IACA,gBAAgB,CAAC,UAAkB,qBAAqB,OAAO,UAAU;AAAA,IACzE,eAAe,sBAAA;AAAA,EAAsB,IACnC,CAAC,UAAU,CAAC;AAEhB,SACE,oBAAC,kBAAkB,UAAlB,EAA2B,OACzB,SAAA,CACH;AAEJ;AAWO,SAAS,gBAAwC;AACtD,SAAO,WAAW,iBAAiB;AACrC;"}
|
|
1
|
+
{"version":3,"file":"cardAccent.js","names":[],"sources":["../../../src/react/theme/cardAccent.tsx"],"sourcesContent":["/**\r\n * @zendir/ui - Card Accent System\r\n *\r\n * Provides accent color configuration for cards and containers in space operations UIs.\r\n * Maps space system domains to appropriate accent colors for visual organization.\r\n *\r\n * Features:\r\n * - Predefined accent colors for common use cases\r\n * - Space system keyword → color mapping for auto-coloring\r\n * - Mix mode for automatic per-domain coloring\r\n * - React context and hook for easy integration\r\n *\r\n * @example\r\n * ```tsx\r\n * import {\r\n * CardAccentProvider,\r\n * useCardAccent,\r\n * getSystemAccentColor\r\n * } from '@zendir/ui';\r\n *\r\n * // Wrap your app with the provider\r\n * <CardAccentProvider accentMode=\"mix\">\r\n * <MyApp />\r\n * </CardAccentProvider>\r\n *\r\n * // Use in components\r\n * const { getAccentColor } = useCardAccent();\r\n * <Container accentColor={getAccentColor('Power Systems')} />\r\n * ```\r\n */\r\n\r\nimport React, {\r\n createContext,\r\n useContext,\r\n useMemo,\r\n type ReactNode,\r\n} from \"react\";\r\n\r\n// =============================================================================\r\n// Types\r\n// =============================================================================\r\n\r\nexport type CardAccentKey =\r\n | \"cyan\"\r\n | \"electric\"\r\n | \"purple\"\r\n | \"teal\"\r\n | \"prussianBlue\"\r\n | \"green\"\r\n | \"amber\"\r\n | \"mix\";\r\n\r\nexport interface CardAccentColor {\r\n /** Display label */\r\n label: string;\r\n /** Hex color value (or 'mix' for automatic) */\r\n value: string;\r\n}\r\n\r\n// =============================================================================\r\n// Accent Color Definitions\r\n// =============================================================================\r\n\r\n/**\r\n * Predefined card accent colors\r\n * These are optimized for dark themes and space operations UIs\r\n */\r\nexport const CARD_ACCENT_COLORS: Record<CardAccentKey, CardAccentColor> = {\r\n cyan: { label: \"Cyan\", value: \"#00c8ff\" },\r\n electric: { label: \"Electric\", value: \"#4d7cff\" },\r\n purple: { label: \"Purple\", value: \"#a855f7\" },\r\n teal: { label: \"Teal\", value: \"#14b8a6\" },\r\n prussianBlue: { label: \"Prussian Blue\", value: \"#1e3a5f\" },\r\n green: { label: \"Green\", value: \"#22c55e\" },\r\n amber: { label: \"Amber\", value: \"#f59e0b\" },\r\n mix: { label: \"Mix (Per System)\", value: \"mix\" },\r\n} as const;\r\n\r\n/**\r\n * Space system keyword → accent color mapping\r\n * Used in 'mix' mode to automatically assign colors based on content\r\n */\r\nexport const SPACE_SYSTEM_COLORS: Record<string, string> = {\r\n // === Telemetry & Data ===\r\n telemetry: \"#00c8ff\",\r\n data: \"#00c8ff\",\r\n preview: \"#00c8ff\",\r\n stream: \"#00c8ff\",\r\n\r\n // === Power Systems ===\r\n power: \"#22c55e\",\r\n battery: \"#22c55e\",\r\n solar: \"#22c55e\",\r\n voltage: \"#22c55e\",\r\n energy: \"#22c55e\",\r\n\r\n // === Thermal Systems ===\r\n thermal: \"#f59e0b\",\r\n temperature: \"#f59e0b\",\r\n heatmap: \"#f59e0b\",\r\n heater: \"#f59e0b\",\r\n\r\n // === Attitude & Control ===\r\n attitude: \"#a855f7\",\r\n control: \"#a855f7\",\r\n orientation: \"#a855f7\",\r\n pointing: \"#a855f7\",\r\n gyro: \"#a855f7\",\r\n\r\n // === Communications ===\r\n spectrum: \"#4d7cff\",\r\n link: \"#4d7cff\",\r\n rf: \"#4d7cff\",\r\n downlink: \"#4d7cff\",\r\n uplink: \"#4d7cff\",\r\n packet: \"#4d7cff\",\r\n antenna: \"#4d7cff\",\r\n comm: \"#4d7cff\",\r\n\r\n // === Navigation & Orbit ===\r\n orbit: \"#14b8a6\",\r\n eclipse: \"#14b8a6\",\r\n polar: \"#14b8a6\",\r\n heliocentric: \"#14b8a6\",\r\n maneuver: \"#14b8a6\",\r\n contact: \"#14b8a6\",\r\n ground: \"#14b8a6\",\r\n pass: \"#14b8a6\",\r\n\r\n // === Sensors & Instruments ===\r\n sensor: \"#00c8ff\",\r\n star: \"#00c8ff\",\r\n tracker: \"#00c8ff\",\r\n scatter: \"#00c8ff\",\r\n payload: \"#00c8ff\",\r\n\r\n // === Health & Status ===\r\n health: \"#22c55e\",\r\n gauge: \"#22c55e\",\r\n subsystem: \"#22c55e\",\r\n status: \"#22c55e\",\r\n\r\n // === Analytics & Visualization ===\r\n sankey: \"#a855f7\",\r\n treemap: \"#4d7cff\",\r\n sunburst: \"#14b8a6\",\r\n parallel: \"#f59e0b\",\r\n radar: \"#00c8ff\",\r\n graph: \"#a855f7\",\r\n candlestick: \"#f59e0b\",\r\n histogram: \"#00c8ff\",\r\n pie: \"#a855f7\",\r\n donut: \"#a855f7\",\r\n bubble: \"#14b8a6\",\r\n rose: \"#f59e0b\",\r\n\r\n // === 3D Visualizations ===\r\n \"3d\": \"#4d7cff\",\r\n scatter3d: \"#00c8ff\",\r\n bar3d: \"#22c55e\",\r\n surface3d: \"#f59e0b\",\r\n lines3d: \"#a855f7\",\r\n debris: \"#f59e0b\",\r\n constellation: \"#4d7cff\",\r\n collision: \"#f59e0b\",\r\n satellite: \"#4d7cff\",\r\n\r\n // === Default ===\r\n default: \"#00c8ff\",\r\n} as const;\r\n\r\n// =============================================================================\r\n// Utility Functions\r\n// =============================================================================\r\n\r\n/**\r\n * Get accent color based on title/content and accent mode\r\n *\r\n * @param title - Content title or description to analyze\r\n * @param accentMode - Current accent mode (specific color or 'mix')\r\n * @returns Hex color string or undefined\r\n *\r\n * @example\r\n * ```tsx\r\n * getSystemAccentColor('Power Systems Overview', 'mix') // '#22c55e'\r\n * getSystemAccentColor('Power Systems', 'purple') // '#a855f7'\r\n * ```\r\n */\r\nexport function getSystemAccentColor(\r\n title: string,\r\n accentMode: CardAccentKey,\r\n): string | undefined {\r\n if (accentMode !== \"mix\") {\r\n return CARD_ACCENT_COLORS[accentMode].value;\r\n }\r\n\r\n const lowerTitle = title.toLowerCase();\r\n for (const [keyword, color] of Object.entries(SPACE_SYSTEM_COLORS)) {\r\n if (lowerTitle.includes(keyword)) {\r\n return color;\r\n }\r\n }\r\n return SPACE_SYSTEM_COLORS.default;\r\n}\r\n\r\n/**\r\n * Get all accent color options for building UI selectors\r\n */\r\nexport function getAccentColorOptions(): Array<{\r\n key: CardAccentKey;\r\n label: string;\r\n value: string;\r\n}> {\r\n return Object.entries(CARD_ACCENT_COLORS).map(([key, config]) => ({\r\n key: key as CardAccentKey,\r\n label: config.label,\r\n value: config.value,\r\n }));\r\n}\r\n\r\n// =============================================================================\r\n// React Context & Provider\r\n// =============================================================================\r\n\r\nexport interface CardAccentContextValue {\r\n /** Current accent mode */\r\n accentMode: CardAccentKey;\r\n /** Get accent color for a given title/content */\r\n getAccentColor: (title: string) => string | undefined;\r\n /** All available accent options */\r\n accentOptions: Array<{ key: CardAccentKey; label: string; value: string }>;\r\n}\r\n\r\nconst CardAccentContext = createContext<CardAccentContextValue>({\r\n accentMode: \"mix\",\r\n getAccentColor: () => undefined,\r\n accentOptions: getAccentColorOptions(),\r\n});\r\n\r\nexport interface CardAccentProviderProps {\r\n /** Accent mode to use */\r\n accentMode?: CardAccentKey;\r\n /** Children */\r\n children: ReactNode;\r\n}\r\n\r\n/**\r\n * Provider for card accent context\r\n * Wrap your app or section to provide consistent accent coloring\r\n */\r\nexport function CardAccentProvider({\r\n accentMode = \"mix\",\r\n children,\r\n}: CardAccentProviderProps): React.ReactElement {\r\n const value = useMemo(\r\n (): CardAccentContextValue => ({\r\n accentMode,\r\n getAccentColor: (title: string) =>\r\n getSystemAccentColor(title, accentMode),\r\n accentOptions: getAccentColorOptions(),\r\n }),\r\n [accentMode],\r\n );\r\n\r\n return (\r\n <CardAccentContext.Provider value={value}>\r\n {children}\r\n </CardAccentContext.Provider>\r\n );\r\n}\r\n\r\n/**\r\n * Hook to access card accent context\r\n *\r\n * @example\r\n * ```tsx\r\n * const { getAccentColor, accentMode } = useCardAccent();\r\n * <Container accentColor={getAccentColor('Power Chart')} />\r\n * ```\r\n */\r\nexport function useCardAccent(): CardAccentContextValue {\r\n return useContext(CardAccentContext);\r\n}\r\n\r\nexport default CardAccentProvider;\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEA,IAAa,qBAA6D;CACxE,MAAM;EAAE,OAAO;EAAQ,OAAO;CAAU;CACxC,UAAU;EAAE,OAAO;EAAY,OAAO;CAAU;CAChD,QAAQ;EAAE,OAAO;EAAU,OAAO;CAAU;CAC5C,MAAM;EAAE,OAAO;EAAQ,OAAO;CAAU;CACxC,cAAc;EAAE,OAAO;EAAiB,OAAO;CAAU;CACzD,OAAO;EAAE,OAAO;EAAS,OAAO;CAAU;CAC1C,OAAO;EAAE,OAAO;EAAS,OAAO;CAAU;CAC1C,KAAK;EAAE,OAAO;EAAoB,OAAO;CAAM;AACjD;;;;;AAMA,IAAa,sBAA8C;CAEzD,WAAW;CACX,MAAM;CACN,SAAS;CACT,QAAQ;CAGR,OAAO;CACP,SAAS;CACT,OAAO;CACP,SAAS;CACT,QAAQ;CAGR,SAAS;CACT,aAAa;CACb,SAAS;CACT,QAAQ;CAGR,UAAU;CACV,SAAS;CACT,aAAa;CACb,UAAU;CACV,MAAM;CAGN,UAAU;CACV,MAAM;CACN,IAAI;CACJ,UAAU;CACV,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,MAAM;CAGN,OAAO;CACP,SAAS;CACT,OAAO;CACP,cAAc;CACd,UAAU;CACV,SAAS;CACT,QAAQ;CACR,MAAM;CAGN,QAAQ;CACR,MAAM;CACN,SAAS;CACT,SAAS;CACT,SAAS;CAGT,QAAQ;CACR,OAAO;CACP,WAAW;CACX,QAAQ;CAGR,QAAQ;CACR,SAAS;CACT,UAAU;CACV,UAAU;CACV,OAAO;CACP,OAAO;CACP,aAAa;CACb,WAAW;CACX,KAAK;CACL,OAAO;CACP,QAAQ;CACR,MAAM;CAGN,MAAM;CACN,WAAW;CACX,OAAO;CACP,WAAW;CACX,SAAS;CACT,QAAQ;CACR,eAAe;CACf,WAAW;CACX,WAAW;CAGX,SAAS;AACX;;;;;;;;;;;;;;AAmBA,SAAgB,qBACd,OACA,YACoB;CACpB,IAAI,eAAe,OACjB,OAAO,mBAAmB,WAAW,CAAC;CAGxC,MAAM,aAAa,MAAM,YAAY;CACrC,KAAK,MAAM,CAAC,SAAS,UAAU,OAAO,QAAQ,mBAAmB,GAC/D,IAAI,WAAW,SAAS,OAAO,GAC7B,OAAO;CAGX,OAAO,oBAAoB;AAC7B;;;;AAKA,SAAgB,wBAIb;CACD,OAAO,OAAO,QAAQ,kBAAkB,CAAC,CAAC,KAAK,CAAC,KAAK,aAAa;EAC3D;EACL,OAAO,OAAO;EACd,OAAO,OAAO;CAChB,EAAE;AACJ;AAeA,IAAM,oBAAoB,cAAsC;CAC9D,YAAY;CACZ,sBAAsB,KAAA;CACtB,eAAe,sBAAsB;AACvC,CAAC;;;;;AAaD,SAAgB,mBAAmB,EACjC,aAAa,OACb,YAC8C;CAC9C,MAAM,QAAQ,eACmB;EAC7B;EACA,iBAAiB,UACf,qBAAqB,OAAO,UAAU;EACxC,eAAe,sBAAsB;CACvC,IACA,CAAC,UAAU,CACb;CAEA,OACE,oBAAC,kBAAkB,UAAnB;EAAmC;EAChC;CACyB,CAAA;AAEhC;;;;;;;;;;AAWA,SAAgB,gBAAwC;CACtD,OAAO,WAAW,iBAAiB;AACrC"}
|
|
@@ -1,30 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
//#region src/react/theme/config.ts
|
|
2
|
+
/**
|
|
3
|
+
* Default theme configuration
|
|
4
|
+
*
|
|
5
|
+
* Available themes:
|
|
6
|
+
* - 'hybrid' - Zen (Hybrid): default; Astro status colors with purple accents
|
|
7
|
+
* - 'astro' - Astro UX (U.S. Space Force) compliant theme
|
|
8
|
+
* - 'purple-hue' - Zen (Purple Hue) theme with modern aesthetics
|
|
9
|
+
* - 'transparent' / 'transparent-bold' / 'transparent-minimal' - Glassmorphic themes
|
|
10
|
+
*/
|
|
11
|
+
var DEFAULT_THEME_CONFIG = {
|
|
12
|
+
defaultTheme: "hybrid",
|
|
13
|
+
defaultMode: "dark",
|
|
14
|
+
persist: true
|
|
6
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* Get theme configuration from environment or use defaults
|
|
18
|
+
*/
|
|
7
19
|
function getThemeConfig() {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
return DEFAULT_THEME_CONFIG;
|
|
20
|
+
if (typeof window !== "undefined") {
|
|
21
|
+
const envTheme = window.__ZENDIR_UI_THEME__;
|
|
22
|
+
if (envTheme === "astro" || envTheme === "purple-hue" || envTheme === "hybrid" || envTheme === "nebula") return {
|
|
23
|
+
...DEFAULT_THEME_CONFIG,
|
|
24
|
+
defaultTheme: envTheme
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return DEFAULT_THEME_CONFIG;
|
|
18
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Set default theme at build/runtime
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* // In your app root
|
|
35
|
+
* import { setDefaultTheme } from '@zendir/ui/react/theme/config';
|
|
36
|
+
*
|
|
37
|
+
* // Zen (Hybrid) is the default; override if needed:
|
|
38
|
+
* setDefaultTheme('hybrid');
|
|
39
|
+
* setDefaultTheme('purple-hue');
|
|
40
|
+
* setDefaultTheme('astro');
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
19
43
|
function setDefaultTheme(theme) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
44
|
+
if (typeof window !== "undefined") {
|
|
45
|
+
window.__ZENDIR_UI_THEME__ = theme;
|
|
46
|
+
localStorage.setItem("zendir-ui-theme", theme);
|
|
47
|
+
}
|
|
24
48
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
//# sourceMappingURL=config.js.map
|
|
49
|
+
//#endregion
|
|
50
|
+
export { DEFAULT_THEME_CONFIG, getThemeConfig, setDefaultTheme };
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sources":["../../../src/react/theme/config.ts"],"sourcesContent":["/**\n * @zendir/ui - Theme Configuration\n
|
|
1
|
+
{"version":3,"file":"config.js","names":[],"sources":["../../../src/react/theme/config.ts"],"sourcesContent":["/**\r\n * @zendir/ui - Theme Configuration\r\n *\r\n * Easy configuration for default theme settings.\r\n * Import and use in your app root to set defaults.\r\n */\r\n\r\nimport type { ThemeVariant, ThemeMode } from \"./ThemeProvider\";\r\n\r\nexport interface ThemeConfig {\r\n /** Default theme variant */\r\n defaultTheme?: ThemeVariant;\r\n /** Default theme mode */\r\n defaultMode?: ThemeMode;\r\n /** Persist theme selection to localStorage */\r\n persist?: boolean;\r\n}\r\n\r\n/**\r\n * Default theme configuration\r\n *\r\n * Available themes:\r\n * - 'hybrid' - Zen (Hybrid): default; Astro status colors with purple accents\r\n * - 'astro' - Astro UX (U.S. Space Force) compliant theme\r\n * - 'purple-hue' - Zen (Purple Hue) theme with modern aesthetics\r\n * - 'transparent' / 'transparent-bold' / 'transparent-minimal' - Glassmorphic themes\r\n */\r\nexport const DEFAULT_THEME_CONFIG: ThemeConfig = {\r\n defaultTheme: \"hybrid\", // Zen (Hybrid) is the default\r\n defaultMode: \"dark\",\r\n persist: true,\r\n};\r\n\r\n/**\r\n * Get theme configuration from environment or use defaults\r\n */\r\nexport function getThemeConfig(): ThemeConfig {\r\n // Allow override via environment variable or build-time config\r\n if (typeof window !== \"undefined\") {\r\n const envTheme = (window as any).__ZENDIR_UI_THEME__;\r\n if (\r\n envTheme === \"astro\" ||\r\n envTheme === \"purple-hue\" ||\r\n envTheme === \"hybrid\" ||\r\n envTheme === \"nebula\"\r\n ) {\r\n return {\r\n ...DEFAULT_THEME_CONFIG,\r\n defaultTheme: envTheme,\r\n };\r\n }\r\n }\r\n\r\n return DEFAULT_THEME_CONFIG;\r\n}\r\n\r\n/**\r\n * Set default theme at build/runtime\r\n *\r\n * @example\r\n * ```tsx\r\n * // In your app root\r\n * import { setDefaultTheme } from '@zendir/ui/react/theme/config';\r\n *\r\n * // Zen (Hybrid) is the default; override if needed:\r\n * setDefaultTheme('hybrid');\r\n * setDefaultTheme('purple-hue');\r\n * setDefaultTheme('astro');\r\n * ```\r\n */\r\nexport function setDefaultTheme(theme: ThemeVariant): void {\r\n if (typeof window !== \"undefined\") {\r\n (window as any).__ZENDIR_UI_THEME__ = theme;\r\n // Also update localStorage if persist is enabled\r\n localStorage.setItem(\"zendir-ui-theme\", theme);\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;AA2BA,IAAa,uBAAoC;CAC/C,cAAc;CACd,aAAa;CACb,SAAS;AACX;;;;AAKA,SAAgB,iBAA8B;CAE5C,IAAI,OAAO,WAAW,aAAa;EACjC,MAAM,WAAY,OAAe;EACjC,IACE,aAAa,WACb,aAAa,gBACb,aAAa,YACb,aAAa,UAEb,OAAO;GACL,GAAG;GACH,cAAc;EAChB;CAEJ;CAEA,OAAO;AACT;;;;;;;;;;;;;;;AAgBA,SAAgB,gBAAgB,OAA2B;CACzD,IAAI,OAAO,WAAW,aAAa;EACjC,OAAgB,sBAAsB;EAEtC,aAAa,QAAQ,mBAAmB,KAAK;CAC/C;AACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @zendir/ui - Theme System
|
|
3
3
|
*/
|
|
4
|
-
export { ThemeProvider, useTheme, useThemeTokens, useScrollbarStyles } from './ThemeProvider';
|
|
4
|
+
export { ThemeProvider, useTheme, useThemeTokens, useScrollbarStyles, } from './ThemeProvider';
|
|
5
5
|
export type { ThemeVariant, ThemeMode, ThemeColors, ThemeTokens, ThemeContextValue, ThemeProviderProps, ThemeAnimation, ThemeFocus, LayoutTokens, BorderTokens, } from './ThemeProvider';
|
|
6
|
-
export { DEFAULT_THEME_CONFIG, getThemeConfig, setDefaultTheme } from './config';
|
|
6
|
+
export { DEFAULT_THEME_CONFIG, getThemeConfig, setDefaultTheme, } from './config';
|
|
7
7
|
export type { ThemeConfig } from './config';
|
|
8
8
|
export { CardAccentProvider, useCardAccent, getSystemAccentColor, getAccentColorOptions, CARD_ACCENT_COLORS, SPACE_SYSTEM_COLORS, } from './cardAccent';
|
|
9
9
|
export type { CardAccentKey, CardAccentColor, CardAccentContextValue, CardAccentProviderProps, } from './cardAccent';
|
|
@@ -1,19 +1,4 @@
|
|
|
1
1
|
import { ThemeProvider, useScrollbarStyles, useTheme, useThemeTokens } from "./ThemeProvider.js";
|
|
2
2
|
import { DEFAULT_THEME_CONFIG, getThemeConfig, setDefaultTheme } from "./config.js";
|
|
3
3
|
import { CARD_ACCENT_COLORS, CardAccentProvider, SPACE_SYSTEM_COLORS, getAccentColorOptions, getSystemAccentColor, useCardAccent } from "./cardAccent.js";
|
|
4
|
-
export {
|
|
5
|
-
CARD_ACCENT_COLORS,
|
|
6
|
-
CardAccentProvider,
|
|
7
|
-
DEFAULT_THEME_CONFIG,
|
|
8
|
-
SPACE_SYSTEM_COLORS,
|
|
9
|
-
ThemeProvider,
|
|
10
|
-
getAccentColorOptions,
|
|
11
|
-
getSystemAccentColor,
|
|
12
|
-
getThemeConfig,
|
|
13
|
-
setDefaultTheme,
|
|
14
|
-
useCardAccent,
|
|
15
|
-
useScrollbarStyles,
|
|
16
|
-
useTheme,
|
|
17
|
-
useThemeTokens
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
4
|
+
export { CARD_ACCENT_COLORS, CardAccentProvider, DEFAULT_THEME_CONFIG, SPACE_SYSTEM_COLORS, ThemeProvider, getAccentColorOptions, getSystemAccentColor, getThemeConfig, setDefaultTheme, useCardAccent, useScrollbarStyles, useTheme, useThemeTokens };
|