@zendir/ui 0.6.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 -406
- package/dist/react/3d/CesiumCaptureSource.js.map +1 -1
- package/dist/react/3d/ZenSpace3D.js.map +1 -1
- package/dist/react/3d/ZenSpace3DCesium.js.map +1 -1
- package/dist/react/3d/ZenSpace3DShaders.js.map +1 -1
- package/dist/react/3d/ZenSpace3DUtils.js.map +1 -1
- package/dist/react/3d/capturePngAnalysis.js.map +1 -1
- package/dist/react/3d/threeLoader.js.map +1 -1
- package/dist/react/astro/ClassificationBanner.js.map +1 -1
- package/dist/react/astro/GlobalStatusBar.js.map +1 -1
- package/dist/react/astro/MissionClock.js.map +1 -1
- package/dist/react/astro/MonitoringIcon.js.map +1 -1
- package/dist/react/astro/Notification.js.map +1 -1
- package/dist/react/astro/Progress.js.map +1 -1
- package/dist/react/astro/SimulationControls.js.map +1 -1
- package/dist/react/astro/StatusIndicator.js.map +1 -1
- package/dist/react/astro/UnifiedTimeline.js.map +1 -1
- package/dist/react/cards/AccessCard.js.map +1 -1
- package/dist/react/cards/OrbitCard.js.map +1 -1
- package/dist/react/cards/SpacecraftCard.js.map +1 -1
- package/dist/react/cards/TelemetryCard.js.map +1 -1
- package/dist/react/cards/TelemetryStreamCard.js.map +1 -1
- package/dist/react/charts/GroundTrackMap.js.map +1 -1
- package/dist/react/charts/GroundTrackMapLeaflet.js.map +1 -1
- package/dist/react/charts/groundTrackMapLeafletTiles.js.map +1 -1
- package/dist/react/charts/groundTrackMapLeafletUtils.js.map +1 -1
- package/dist/react/charts/unified/AstroChart.js.map +1 -1
- package/dist/react/charts/unified/PowerOverviewChart.js.map +1 -1
- package/dist/react/charts/unified/domain.js.map +1 -1
- package/dist/react/charts/unified/generators.js.map +1 -1
- package/dist/react/charts/unified/presets.js.map +1 -1
- package/dist/react/charts/unified/sync.js.map +1 -1
- package/dist/react/charts/unified/theme.js.map +1 -1
- package/dist/react/charts/unified/useChartStream.js.map +1 -1
- package/dist/react/chatgpt/index.js.map +1 -1
- package/dist/react/context/CategoryContext.js.map +1 -1
- package/dist/react/context/DisplaySettingsContext.js.map +1 -1
- package/dist/react/context/SpatialSelectionContext.js.map +1 -1
- package/dist/react/core/data/DataTable.js.map +1 -1
- package/dist/react/core/data/DataValue.js.map +1 -1
- package/dist/react/core/data/propertyConfig.js.map +1 -1
- package/dist/react/core/display/AstroIcon.js.map +1 -1
- package/dist/react/core/display/Badge.js.map +1 -1
- package/dist/react/core/display/CardHeader.js.map +1 -1
- package/dist/react/core/display/Container.js.map +1 -1
- package/dist/react/core/display/CopyButton.js.map +1 -1
- package/dist/react/core/display/GlassCard.js.map +1 -1
- package/dist/react/core/display/HeaderIconWithStatus.js.map +1 -1
- package/dist/react/core/display/Icon.js.map +1 -1
- package/dist/react/core/display/Typography.js.map +1 -1
- package/dist/react/core/feedback/ConfirmDialog.js.map +1 -1
- package/dist/react/core/feedback/Dialog.js.map +1 -1
- package/dist/react/core/feedback/Toast.js.map +1 -1
- package/dist/react/core/inputs/Button.js.map +1 -1
- package/dist/react/core/inputs/Checkbox.js.map +1 -1
- package/dist/react/core/inputs/Input.js.map +1 -1
- package/dist/react/core/inputs/LimitsBar.js.map +1 -1
- package/dist/react/core/inputs/NumberInput.js.map +1 -1
- package/dist/react/core/inputs/PinInput.js.map +1 -1
- package/dist/react/core/inputs/Select.js.map +1 -1
- package/dist/react/core/inputs/Toggle.js.map +1 -1
- package/dist/react/core/layout/Box.js.map +1 -1
- package/dist/react/core/layout/Center.js.map +1 -1
- package/dist/react/core/layout/Divider.js.map +1 -1
- package/dist/react/core/layout/Flex.js.map +1 -1
- package/dist/react/core/layout/Grid.js.map +1 -1
- package/dist/react/core/layout/Spacer.js.map +1 -1
- package/dist/react/core/layout/Stack.js.map +1 -1
- package/dist/react/core/layout/responsive.js.map +1 -1
- package/dist/react/core/layout/useBreakpoint.js.map +1 -1
- package/dist/react/core/navigation/AppBar.js.map +1 -1
- package/dist/react/core/navigation/Pagination.js.map +1 -1
- package/dist/react/core/navigation/SideNav.js.map +1 -1
- package/dist/react/core/navigation/Tabs.js.map +1 -1
- package/dist/react/core/overlays/Popover.js.map +1 -1
- package/dist/react/core/overlays/SidePanel.js.map +1 -1
- package/dist/react/core/overlays/Tooltip.js.map +1 -1
- package/dist/react/core/widgets/ActivityPlanner.js.map +1 -1
- package/dist/react/core/widgets/Capture.js.map +1 -1
- package/dist/react/core/widgets/ChatPanel.js.map +1 -1
- package/dist/react/core/widgets/ColorPickerPanel.js.map +1 -1
- package/dist/react/core/widgets/CommandBuilder.js.map +1 -1
- package/dist/react/core/widgets/ConnectionForm.js.map +1 -1
- package/dist/react/core/widgets/FileExplorer.js.map +1 -1
- package/dist/react/core/widgets/HexViewer.js.map +1 -1
- package/dist/react/core/widgets/ImageFrame.js.map +1 -1
- package/dist/react/core/widgets/ImageGallery.js.map +1 -1
- package/dist/react/core/widgets/ImagePanel.js.map +1 -1
- package/dist/react/core/widgets/LogViewer.js.map +1 -1
- package/dist/react/core/widgets/MessageStream.js.map +1 -1
- package/dist/react/core/widgets/MissionCalendar.js.map +1 -1
- package/dist/react/core/widgets/PacketViewer.js.map +1 -1
- package/dist/react/hooks/useCompactMode.js.map +1 -1
- package/dist/react/hooks/useSimulationScene.js.map +1 -1
- package/dist/react/panels/LayerControlPanel.js.map +1 -1
- package/dist/react/panels/ObjectInventoryPanel.js.map +1 -1
- package/dist/react/shared/ErrorBoundary.js.map +1 -1
- package/dist/react/shared/Skeleton.js.map +1 -1
- package/dist/react/theme/ThemeProvider.js +2 -1
- package/dist/react/theme/ThemeProvider.js.map +1 -1
- package/dist/react/theme/cardAccent.js.map +1 -1
- package/dist/react/theme/config.js.map +1 -1
- package/dist/react/theme/types.js.map +1 -1
- package/dist/react/types.js.map +1 -1
- package/dist/react/utils/categoryPalette.js.map +1 -1
- package/dist/react/utils/index.js.map +1 -1
- package/dist/style.css +216 -216
- package/dist/tokens/core.js.map +1 -1
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/palettes/astro.js.map +1 -1
- package/dist/tokens/palettes/index.js.map +1 -1
- package/dist/tokens/palettes/tailwind.js.map +1 -1
- package/dist/tokens/palettes/zendir.js.map +1 -1
- package/dist/tokens/themes.js.map +1 -1
- package/dist/tokens/tokens.css +533 -533
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tailwind.js","names":[],"sources":["../../../src/tokens/palettes/tailwind.ts"],"sourcesContent":["/**\n * @zendir/ui — Tailwind CSS v4.2 palette (primitive)\n *\n * Endorsed general-purpose scales for product design use where the Zendir\n * and Astro systems have no opinion (e.g. data-viz categorical colors,\n * semantic success/warning/error). These are the real v4.2 values converted\n * from Tailwind's OKLCH definitions — Figma's copy is still the stale v3\n * hex palette; when the two disagree, this file wins.\n */\n\nexport const red = {\n 50: \"#FEF2F2\",\n 100: \"#FFE2E2\",\n 200: \"#FFCACA\",\n 300: \"#FFA3A4\",\n 400: \"#FF6568\",\n 500: \"#FB2C36\",\n 600: \"#E40016\",\n 700: \"#BF000F\",\n 800: \"#9F0712\",\n 900: \"#82181A\",\n 950: \"#460809\",\n} as const;\n\nexport const orange = {\n 50: \"#FFF7ED\",\n 100: \"#FFEDD5\",\n 200: \"#FFD7A8\",\n 300: \"#FFB970\",\n 400: \"#FF8B1F\",\n 500: \"#FC7100\",\n 600: \"#EC5600\",\n 700: \"#C43E00\",\n 800: \"#9F2D00\",\n 900: \"#7E2A0C\",\n 950: \"#441306\",\n} as const;\n\nexport const yellow = {\n 50: \"#FEFCE8\",\n 100: \"#FEF9C2\",\n 200: \"#FFF085\",\n 300: \"#FFE030\",\n 400: \"#F7C900\",\n 500: \"#EAB300\",\n 600: \"#CA8A00\",\n 700: \"#A26200\",\n 800: \"#874C00\",\n 900: \"#733E0A\",\n 950: \"#432004\",\n} as const;\n\nexport const green = {\n 50: \"#F0FDF4\",\n 100: \"#DCFCE7\",\n 200: \"#B9F8CF\",\n 300: \"#7BF1A8\",\n 400: \"#05DF72\",\n 500: \"#00C65A\",\n 600: \"#00A447\",\n 700: \"#00813A\",\n 800: \"#016630\",\n 900: \"#0D542B\",\n 950: \"#032E15\",\n} as const;\n\nexport const sky = {\n 50: \"#F0F9FF\",\n 100: \"#DFF2FE\",\n 200: \"#B8E6FE\",\n 300: \"#78D4FF\",\n 400: \"#00BBFD\",\n 500: \"#00A5EA\",\n 600: \"#0084C7\",\n 700: \"#0069A2\",\n 800: \"#005986\",\n 900: \"#024A70\",\n 950: \"#052F4A\",\n} as const;\n\nexport const blue = {\n 50: \"#EFF6FF\",\n 100: \"#DBEAFE\",\n 200: \"#BEDBFF\",\n 300: \"#91C5FF\",\n 400: \"#56A2FF\",\n 500: \"#3280FF\",\n 600: \"#155DFC\",\n 700: \"#1447E6\",\n 800: \"#193CB8\",\n 900: \"#1C398E\",\n 950: \"#162456\",\n} as const;\n\nexport const indigo = {\n 50: \"#EEF2FF\",\n 100: \"#E0E7FF\",\n 200: \"#C7D2FF\",\n 300: \"#A4B4FF\",\n 400: \"#7D87FF\",\n 500: \"#6260FF\",\n 600: \"#4F39F6\",\n 700: \"#432DD7\",\n 800: \"#372AAC\",\n 900: \"#312C85\",\n 950: \"#1E1A4D\",\n} as const;\n\nexport const purple = {\n 50: \"#FAF5FF\",\n 100: \"#F3E8FF\",\n 200: \"#E9D5FF\",\n 300: \"#D8B4FF\",\n 400: \"#BF7EFF\",\n 500: \"#AB4EFF\",\n 600: \"#9810FA\",\n 700: \"#8200D9\",\n 800: \"#6E11B0\",\n 900: \"#59168B\",\n 950: \"#3C0366\",\n} as const;\n\nexport const pink = {\n 50: \"#FDF2F8\",\n 100: \"#FCE7F3\",\n 200: \"#FCCEE8\",\n 300: \"#FDA5D5\",\n 400: \"#FB64B6\",\n 500: \"#F6339A\",\n 600: \"#E30076\",\n 700: \"#C2005C\",\n 800: \"#A2004C\",\n 900: \"#861043\",\n 950: \"#510424\",\n} as const;\n\nexport const rose = {\n 50: \"#FFF1F2\",\n 100: \"#FFE4E6\",\n 200: \"#FFCCD3\",\n 300: \"#FFA3AE\",\n 400: \"#FF6880\",\n 500: \"#FF2357\",\n 600: \"#E60045\",\n 700: \"#C1003A\",\n 800: \"#A30037\",\n 900: \"#8B0836\",\n 950: \"#4D0218\",\n} as const;\n\nexport const slate = {\n 50: \"#F8FAFC\",\n 100: \"#F1F5F9\",\n 200: \"#E2E8F0\",\n 300: \"#CAD5E2\",\n 400: \"#90A1B9\",\n 500: \"#62748E\",\n 600: \"#45556C\",\n 700: \"#314158\",\n 800: \"#1D293D\",\n 900: \"#0F172B\",\n 950: \"#020618\",\n} as const;\n\nexport const neutral = {\n 50: \"#FAFAFA\",\n 100: \"#F5F5F5\",\n 200: \"#E5E5E5\",\n 300: \"#D4D4D4\",\n 400: \"#A1A1A1\",\n 500: \"#737373\",\n 600: \"#525252\",\n 700: \"#404040\",\n 800: \"#262626\",\n 900: \"#171717\",\n 950: \"#0A0A0A\",\n} as const;\n\n/** All Tailwind scales keyed by display name (drives Foundation/Palette). */\nexport const tailwindScales = {\n Red: red,\n Orange: orange,\n Yellow: yellow,\n Green: green,\n Sky: sky,\n Blue: blue,\n Indigo: indigo,\n Purple: purple,\n Pink: pink,\n Rose: rose,\n Slate: slate,\n Neutral: neutral,\n} as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAa,MAAM;CACjB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,SAAS;CACpB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,SAAS;CACpB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,QAAQ;CACnB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,MAAM;CACjB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,OAAO;CAClB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,SAAS;CACpB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,SAAS;CACpB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,OAAO;CAClB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,OAAO;CAClB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,QAAQ;CACnB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,UAAU;CACrB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;;AAGA,IAAa,iBAAiB;CAC5B,KAAK;CACL,QAAQ;CACR,QAAQ;CACR,OAAO;CACP,KAAK;CACL,MAAM;CACN,QAAQ;CACR,QAAQ;CACR,MAAM;CACN,MAAM;CACN,OAAO;CACP,SAAS;AACX"}
|
|
1
|
+
{"version":3,"file":"tailwind.js","names":[],"sources":["../../../src/tokens/palettes/tailwind.ts"],"sourcesContent":["/**\r\n * @zendir/ui — Tailwind CSS v4.2 palette (primitive)\r\n *\r\n * Endorsed general-purpose scales for product design use where the Zendir\r\n * and Astro systems have no opinion (e.g. data-viz categorical colors,\r\n * semantic success/warning/error). These are the real v4.2 values converted\r\n * from Tailwind's OKLCH definitions — Figma's copy is still the stale v3\r\n * hex palette; when the two disagree, this file wins.\r\n */\r\n\r\nexport const red = {\r\n 50: \"#FEF2F2\",\r\n 100: \"#FFE2E2\",\r\n 200: \"#FFCACA\",\r\n 300: \"#FFA3A4\",\r\n 400: \"#FF6568\",\r\n 500: \"#FB2C36\",\r\n 600: \"#E40016\",\r\n 700: \"#BF000F\",\r\n 800: \"#9F0712\",\r\n 900: \"#82181A\",\r\n 950: \"#460809\",\r\n} as const;\r\n\r\nexport const orange = {\r\n 50: \"#FFF7ED\",\r\n 100: \"#FFEDD5\",\r\n 200: \"#FFD7A8\",\r\n 300: \"#FFB970\",\r\n 400: \"#FF8B1F\",\r\n 500: \"#FC7100\",\r\n 600: \"#EC5600\",\r\n 700: \"#C43E00\",\r\n 800: \"#9F2D00\",\r\n 900: \"#7E2A0C\",\r\n 950: \"#441306\",\r\n} as const;\r\n\r\nexport const yellow = {\r\n 50: \"#FEFCE8\",\r\n 100: \"#FEF9C2\",\r\n 200: \"#FFF085\",\r\n 300: \"#FFE030\",\r\n 400: \"#F7C900\",\r\n 500: \"#EAB300\",\r\n 600: \"#CA8A00\",\r\n 700: \"#A26200\",\r\n 800: \"#874C00\",\r\n 900: \"#733E0A\",\r\n 950: \"#432004\",\r\n} as const;\r\n\r\nexport const green = {\r\n 50: \"#F0FDF4\",\r\n 100: \"#DCFCE7\",\r\n 200: \"#B9F8CF\",\r\n 300: \"#7BF1A8\",\r\n 400: \"#05DF72\",\r\n 500: \"#00C65A\",\r\n 600: \"#00A447\",\r\n 700: \"#00813A\",\r\n 800: \"#016630\",\r\n 900: \"#0D542B\",\r\n 950: \"#032E15\",\r\n} as const;\r\n\r\nexport const sky = {\r\n 50: \"#F0F9FF\",\r\n 100: \"#DFF2FE\",\r\n 200: \"#B8E6FE\",\r\n 300: \"#78D4FF\",\r\n 400: \"#00BBFD\",\r\n 500: \"#00A5EA\",\r\n 600: \"#0084C7\",\r\n 700: \"#0069A2\",\r\n 800: \"#005986\",\r\n 900: \"#024A70\",\r\n 950: \"#052F4A\",\r\n} as const;\r\n\r\nexport const blue = {\r\n 50: \"#EFF6FF\",\r\n 100: \"#DBEAFE\",\r\n 200: \"#BEDBFF\",\r\n 300: \"#91C5FF\",\r\n 400: \"#56A2FF\",\r\n 500: \"#3280FF\",\r\n 600: \"#155DFC\",\r\n 700: \"#1447E6\",\r\n 800: \"#193CB8\",\r\n 900: \"#1C398E\",\r\n 950: \"#162456\",\r\n} as const;\r\n\r\nexport const indigo = {\r\n 50: \"#EEF2FF\",\r\n 100: \"#E0E7FF\",\r\n 200: \"#C7D2FF\",\r\n 300: \"#A4B4FF\",\r\n 400: \"#7D87FF\",\r\n 500: \"#6260FF\",\r\n 600: \"#4F39F6\",\r\n 700: \"#432DD7\",\r\n 800: \"#372AAC\",\r\n 900: \"#312C85\",\r\n 950: \"#1E1A4D\",\r\n} as const;\r\n\r\nexport const purple = {\r\n 50: \"#FAF5FF\",\r\n 100: \"#F3E8FF\",\r\n 200: \"#E9D5FF\",\r\n 300: \"#D8B4FF\",\r\n 400: \"#BF7EFF\",\r\n 500: \"#AB4EFF\",\r\n 600: \"#9810FA\",\r\n 700: \"#8200D9\",\r\n 800: \"#6E11B0\",\r\n 900: \"#59168B\",\r\n 950: \"#3C0366\",\r\n} as const;\r\n\r\nexport const pink = {\r\n 50: \"#FDF2F8\",\r\n 100: \"#FCE7F3\",\r\n 200: \"#FCCEE8\",\r\n 300: \"#FDA5D5\",\r\n 400: \"#FB64B6\",\r\n 500: \"#F6339A\",\r\n 600: \"#E30076\",\r\n 700: \"#C2005C\",\r\n 800: \"#A2004C\",\r\n 900: \"#861043\",\r\n 950: \"#510424\",\r\n} as const;\r\n\r\nexport const rose = {\r\n 50: \"#FFF1F2\",\r\n 100: \"#FFE4E6\",\r\n 200: \"#FFCCD3\",\r\n 300: \"#FFA3AE\",\r\n 400: \"#FF6880\",\r\n 500: \"#FF2357\",\r\n 600: \"#E60045\",\r\n 700: \"#C1003A\",\r\n 800: \"#A30037\",\r\n 900: \"#8B0836\",\r\n 950: \"#4D0218\",\r\n} as const;\r\n\r\nexport const slate = {\r\n 50: \"#F8FAFC\",\r\n 100: \"#F1F5F9\",\r\n 200: \"#E2E8F0\",\r\n 300: \"#CAD5E2\",\r\n 400: \"#90A1B9\",\r\n 500: \"#62748E\",\r\n 600: \"#45556C\",\r\n 700: \"#314158\",\r\n 800: \"#1D293D\",\r\n 900: \"#0F172B\",\r\n 950: \"#020618\",\r\n} as const;\r\n\r\nexport const neutral = {\r\n 50: \"#FAFAFA\",\r\n 100: \"#F5F5F5\",\r\n 200: \"#E5E5E5\",\r\n 300: \"#D4D4D4\",\r\n 400: \"#A1A1A1\",\r\n 500: \"#737373\",\r\n 600: \"#525252\",\r\n 700: \"#404040\",\r\n 800: \"#262626\",\r\n 900: \"#171717\",\r\n 950: \"#0A0A0A\",\r\n} as const;\r\n\r\n/** All Tailwind scales keyed by display name (drives Foundation/Palette). */\r\nexport const tailwindScales = {\r\n Red: red,\r\n Orange: orange,\r\n Yellow: yellow,\r\n Green: green,\r\n Sky: sky,\r\n Blue: blue,\r\n Indigo: indigo,\r\n Purple: purple,\r\n Pink: pink,\r\n Rose: rose,\r\n Slate: slate,\r\n Neutral: neutral,\r\n} as const;\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAa,MAAM;CACjB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,SAAS;CACpB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,SAAS;CACpB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,QAAQ;CACnB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,MAAM;CACjB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,OAAO;CAClB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,SAAS;CACpB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,SAAS;CACpB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,OAAO;CAClB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,OAAO;CAClB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,QAAQ;CACnB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,UAAU;CACrB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;;AAGA,IAAa,iBAAiB;CAC5B,KAAK;CACL,QAAQ;CACR,QAAQ;CACR,OAAO;CACP,KAAK;CACL,MAAM;CACN,QAAQ;CACR,QAAQ;CACR,MAAM;CACN,MAAM;CACN,OAAO;CACP,SAAS;AACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zendir.js","names":[],"sources":["../../../src/tokens/palettes/zendir.ts"],"sourcesContent":["/**\n * @zendir/ui — Zendir Colour System (primitive palette)\n *\n * The raw Zendir brand scales, mirroring the Zendir Color System doc and\n * Figma exactly (same names, same order). These are Layer 0 primitives:\n * themes (src/tokens/themes.ts) and data-viz palettes reference these stops;\n * product code should consume semantic theme tokens, not these directly.\n *\n * \"Neutral\" is still labelled \"Prussian Slate\" in Figma — known naming\n * inconsistency, not fixed here.\n */\n\nexport const base = {\n white: \"#FFFFFF\",\n black: \"#000000\",\n} as const;\n\nexport const electricBlue = {\n 50: \"#EEF2FF\",\n 100: \"#E0E7FF\",\n 200: \"#C4D2FF\",\n 300: \"#9EB4FF\",\n 400: \"#6F89FF\",\n 500: \"#5061FF\",\n 600: \"#3E3CFF\",\n 700: \"#352EDF\",\n 800: \"#2A2BB2\",\n 900: \"#252E8A\",\n 950: \"#151C50\",\n} as const;\n\nexport const prussianBlue = {\n 50: \"#EEF2FF\",\n 100: \"#DEE7FE\",\n 200: \"#C3D4FE\",\n 300: \"#9BB6FF\",\n 400: \"#698EFF\",\n 500: \"#466AFC\",\n 600: \"#2F4AF0\",\n 700: \"#263DD3\",\n 800: \"#1B2DA0\",\n 900: \"#192B7A\",\n 950: \"#0D1945\",\n} as const;\n\nexport const ultraviolet = {\n 50: \"#F5F3FD\",\n 100: \"#EAE6FA\",\n 200: \"#D8CFF9\",\n 300: \"#C6B4FF\",\n 400: \"#9D70FF\",\n 500: \"#8744F3\",\n 600: \"#7515E2\",\n 700: \"#6600CD\",\n 800: \"#5400AB\",\n 900: \"#421182\",\n 950: \"#251048\",\n} as const;\n\nexport const neutral = {\n 50: \"#F6F7FD\",\n 100: \"#EDF2FC\",\n 200: \"#DDE5F4\",\n 300: \"#C8D1E6\",\n 400: \"#8899BC\",\n 500: \"#596B8E\",\n 600: \"#445272\",\n 700: \"#303C58\",\n 800: \"#1B243D\",\n 900: \"#0D1429\",\n 950: \"#030414\",\n} as const;\n\n/** All Zendir scales keyed by display name (drives Foundation/Palette). */\nexport const zendirScales = {\n Base: { White: base.white, Black: base.black },\n \"Electric Blue\": electricBlue,\n \"Prussian Blue\": prussianBlue,\n Ultraviolet: ultraviolet,\n // Labelled \"Prussian Slate\" to match Figma, where the Neutral ramp still\n // carries that name (known naming inconsistency, tracked in the palette doc).\n \"Prussian Slate\": neutral,\n} as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYA,IAAa,OAAO;CAClB,OAAO;CACP,OAAO;AACT;AAEA,IAAa,eAAe;CAC1B,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,eAAe;CAC1B,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,cAAc;CACzB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,UAAU;CACrB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;;AAGA,IAAa,eAAe;CAC1B,MAAM;EAAE,OAAO,KAAK;EAAO,OAAO,KAAK;CAAM;CAC7C,iBAAiB;CACjB,iBAAiB;CACjB,aAAa;CAGb,kBAAkB;AACpB"}
|
|
1
|
+
{"version":3,"file":"zendir.js","names":[],"sources":["../../../src/tokens/palettes/zendir.ts"],"sourcesContent":["/**\r\n * @zendir/ui — Zendir Colour System (primitive palette)\r\n *\r\n * The raw Zendir brand scales, mirroring the Zendir Color System doc and\r\n * Figma exactly (same names, same order). These are Layer 0 primitives:\r\n * themes (src/tokens/themes.ts) and data-viz palettes reference these stops;\r\n * product code should consume semantic theme tokens, not these directly.\r\n *\r\n * \"Neutral\" is still labelled \"Prussian Slate\" in Figma — known naming\r\n * inconsistency, not fixed here.\r\n */\r\n\r\nexport const base = {\r\n white: \"#FFFFFF\",\r\n black: \"#000000\",\r\n} as const;\r\n\r\nexport const electricBlue = {\r\n 50: \"#EEF2FF\",\r\n 100: \"#E0E7FF\",\r\n 200: \"#C4D2FF\",\r\n 300: \"#9EB4FF\",\r\n 400: \"#6F89FF\",\r\n 500: \"#5061FF\",\r\n 600: \"#3E3CFF\",\r\n 700: \"#352EDF\",\r\n 800: \"#2A2BB2\",\r\n 900: \"#252E8A\",\r\n 950: \"#151C50\",\r\n} as const;\r\n\r\nexport const prussianBlue = {\r\n 50: \"#EEF2FF\",\r\n 100: \"#DEE7FE\",\r\n 200: \"#C3D4FE\",\r\n 300: \"#9BB6FF\",\r\n 400: \"#698EFF\",\r\n 500: \"#466AFC\",\r\n 600: \"#2F4AF0\",\r\n 700: \"#263DD3\",\r\n 800: \"#1B2DA0\",\r\n 900: \"#192B7A\",\r\n 950: \"#0D1945\",\r\n} as const;\r\n\r\nexport const ultraviolet = {\r\n 50: \"#F5F3FD\",\r\n 100: \"#EAE6FA\",\r\n 200: \"#D8CFF9\",\r\n 300: \"#C6B4FF\",\r\n 400: \"#9D70FF\",\r\n 500: \"#8744F3\",\r\n 600: \"#7515E2\",\r\n 700: \"#6600CD\",\r\n 800: \"#5400AB\",\r\n 900: \"#421182\",\r\n 950: \"#251048\",\r\n} as const;\r\n\r\nexport const neutral = {\r\n 50: \"#F6F7FD\",\r\n 100: \"#EDF2FC\",\r\n 200: \"#DDE5F4\",\r\n 300: \"#C8D1E6\",\r\n 400: \"#8899BC\",\r\n 500: \"#596B8E\",\r\n 600: \"#445272\",\r\n 700: \"#303C58\",\r\n 800: \"#1B243D\",\r\n 900: \"#0D1429\",\r\n 950: \"#030414\",\r\n} as const;\r\n\r\n/** All Zendir scales keyed by display name (drives Foundation/Palette). */\r\nexport const zendirScales = {\r\n Base: { White: base.white, Black: base.black },\r\n \"Electric Blue\": electricBlue,\r\n \"Prussian Blue\": prussianBlue,\r\n Ultraviolet: ultraviolet,\r\n // Labelled \"Prussian Slate\" to match Figma, where the Neutral ramp still\r\n // carries that name (known naming inconsistency, tracked in the palette doc).\r\n \"Prussian Slate\": neutral,\r\n} as const;\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYA,IAAa,OAAO;CAClB,OAAO;CACP,OAAO;AACT;AAEA,IAAa,eAAe;CAC1B,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,eAAe;CAC1B,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,cAAc;CACzB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;AAEA,IAAa,UAAU;CACrB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;AACP;;AAGA,IAAa,eAAe;CAC1B,MAAM;EAAE,OAAO,KAAK;EAAO,OAAO,KAAK;CAAM;CAC7C,iBAAiB;CACjB,iBAAiB;CACjB,aAAa;CAGb,kBAAkB;AACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themes.js","names":[],"sources":["../../src/tokens/themes.ts"],"sourcesContent":["/**\n * @zendir/ui — Semantic themes (Layer 1).\n *\n * Each theme maps semantic roles (background, text, border, accent, status,\n * semantic, interactive) onto concrete values. The nebula theme is fully\n * palette-aligned — it references the Layer 0 primitives in\n * src/tokens/palettes. The astro / hybrid / purple-hue / transparent themes\n * predate the palette system and keep their original literal values until\n * design migrates them onto endorsed scales.\n *\n * Status colors are immutable across every theme — always `astroStatus`\n * (operator-grade severity must never shift with the visual theme).\n *\n * These definitions are consumed by two surfaces:\n * • ThemeProvider (runtime) — resolves the active variant into CSS vars.\n * • src/tokens/index.ts (build) — emits the static tokens.css stylesheet.\n * The shared token shapes live in ../react/theme/types so neither surface\n * has to pull in the other.\n */\n\nimport type {\n ThemeTokensBase,\n ThemeFocus,\n ThemeAnimation,\n LayoutTokens,\n} from \"../react/theme/types\";\nimport {\n ultraviolet,\n electricBlue,\n zendirNeutral,\n astroStatus,\n} from \"./palettes\";\nimport {\n green as twGreen,\n yellow as twYellow,\n red as twRed,\n} from \"./palettes/tailwind\";\n\n// ============================================================================\n// Animation Tokens (Shared)\n// ============================================================================\n\nexport const animationTokens: ThemeAnimation = {\n fast: \"all 150ms cubic-bezier(0.4, 0, 0.2, 1)\",\n normal: \"all 250ms cubic-bezier(0.4, 0, 0.2, 1)\",\n slow: \"all 400ms cubic-bezier(0.4, 0, 0.2, 1)\",\n spring: \"all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)\",\n easing: {\n default: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n in: \"ease-in\",\n out: \"ease-out\",\n inOut: \"ease-in-out\",\n },\n duration: {\n instant: 0,\n fast: 150,\n normal: 250,\n slow: 400,\n },\n};\n\nexport const animationTokensReduced: ThemeAnimation = {\n fast: \"all 0.01ms linear\",\n normal: \"all 0.01ms linear\",\n slow: \"all 0.01ms linear\",\n spring: \"all 0.01ms linear\",\n easing: animationTokens.easing,\n duration: { instant: 0, fast: 0, normal: 0, slow: 0 },\n};\n\n// ============================================================================\n// Focus Tokens\n// ============================================================================\n\nexport const focusTokensDark: ThemeFocus = {\n color: \"#4dacff\",\n width: \"2px\",\n offset: \"2px\",\n ring: \"0 0 0 2px #4dacff\",\n style: {\n outline: \"2px solid #4dacff\",\n outlineOffset: \"2px\",\n },\n};\n\nexport const focusTokensLight: ThemeFocus = {\n color: \"#0066cc\",\n width: \"2px\",\n offset: \"2px\",\n ring: \"0 0 0 2px #0066cc\",\n style: {\n outline: \"2px solid #0066cc\",\n outlineOffset: \"2px\",\n },\n};\n\nexport const focusTokensPurpleHue: ThemeFocus = {\n color: \"#8b5cf6\",\n width: \"2px\",\n offset: \"2px\",\n ring: \"0 0 0 2px #8b5cf6\",\n style: {\n outline: \"2px solid #8b5cf6\",\n outlineOffset: \"2px\",\n },\n};\n\n// ============================================================================\n// Shadow Tokens\n// ============================================================================\n\nexport const shadowsDark = {\n none: \"none\",\n sm: \"0 1px 2px rgba(0, 0, 0, 0.3)\",\n md: \"0 4px 8px rgba(0, 0, 0, 0.4)\",\n lg: \"0 8px 16px rgba(0, 0, 0, 0.5)\",\n xl: \"0 16px 32px rgba(0, 0, 0, 0.6)\",\n glow: (color: string) => `0 0 20px ${color}40, 0 0 40px ${color}20`,\n};\n\nexport const shadowsLight = {\n none: \"none\",\n sm: \"0 1px 2px rgba(0, 0, 0, 0.1)\",\n md: \"0 4px 8px rgba(0, 0, 0, 0.15)\",\n lg: \"0 8px 16px rgba(0, 0, 0, 0.2)\",\n xl: \"0 16px 32px rgba(0, 0, 0, 0.25)\",\n glow: (color: string) => `0 0 20px ${color}30, 0 0 40px ${color}15`,\n};\n\n// ============================================================================\n// Layout Tokens (Shared)\n// Semantic layout spacing based on 4px grid. Shared across all themes.\n// ============================================================================\n\nexport const layoutTokens: LayoutTokens = {\n card: {\n padding: \"16px\", // 4 × 4px\n gap: \"24px\", // 6 × 4px — desktop grid gap (matches outer padding)\n gapCompact: \"16px\", // 4 × 4px — mobile grid gap\n heading: {\n iconSize: 18, // default card header icon (px) — matches ISS/Telemetry card header size\n iconSizeCompact: 16, // compact (e.g. chart inline header)\n titleFontSize: \"1rem\", // card titles (ISS, Telemetry, Mission) — reduced from 1.125rem\n titleFontSizeChart: \"0.875rem\", // chart titles (Power Trends) — slightly smaller\n titleFontWeight: 500,\n gap: 8, // gap between icon and title (px)\n },\n },\n section: {\n headerPaddingBottom: \"8px\", // 2 × 4px\n headerMarginBottom: \"0px\",\n contentPaddingTop: \"8px\", // 2 × 4px\n },\n form: {\n fieldGap: \"12px\", // 3 × 4px — between stacked fields\n inlineGap: \"12px\", // 3 × 4px — between side-by-side fields\n groupPadding: \"12px\", // 3 × 4px — inside grouped containers\n groupGap: \"12px\", // 3 × 4px — within group items\n labelGap: \"3px\", // label text ↔ tooltip icon\n },\n surface: {\n padding: \"12px\", // 3 × 4px\n borderRadius: \"12px\", // 3 × 4px\n gap: \"8px\", // 2 × 4px\n },\n};\n\n// ============================================================================\n// Astro UX Dark Theme\n// ============================================================================\n\nexport const astroThemeDark: ThemeTokensBase = {\n colors: {\n background: {\n base: \"#101923\",\n surface: \"#1b2d3e\",\n elevated: \"#243b53\",\n overlay: \"rgba(16, 25, 35, 0.95)\",\n },\n border: {\n default: \"#2b659b\",\n muted: \"#172635\",\n focus: \"#4dacff\",\n },\n text: {\n primary: \"#ffffff\",\n secondary: \"#b7c5d3\",\n tertiary: \"#8fa4b7\",\n muted: \"#8fa4b7\",\n inverse: \"#1b2d3e\",\n },\n status: { ...astroStatus },\n semantic: {\n success: \"#56f000\",\n warning: \"#fce83a\",\n error: \"#ff3838\",\n info: \"#4dacff\",\n },\n accent: {\n primary: \"#4dacff\",\n secondary: \"#56f000\",\n tertiary: \"#a371f7\",\n },\n interactive: {\n default: \"#4dacff\",\n hover: \"#92cbff\",\n active: \"#0066cc\",\n disabled: \"#6b7280\",\n },\n },\n spacing: {\n xxs: \"2px\",\n xs: \"4px\",\n sm: \"8px\",\n smd: \"12px\",\n md: \"16px\",\n mdl: \"20px\",\n lg: \"24px\",\n xl: \"32px\",\n xxl: \"48px\",\n },\n borderRadius: {\n none: \"0\",\n xs: \"1px\",\n sm: \"2px\",\n md: \"4px\",\n lg: \"8px\",\n xl: \"12px\",\n full: \"9999px\",\n },\n elementSize: {\n sm: \"28px\",\n md: \"36px\",\n lg: \"44px\",\n },\n typography: {\n /**\n * Font families per AstroUXDS specification\n * @see https://www.astrouxds.com/foundations/typography/\n */\n fontFamily: {\n /** Primary font: Roboto with comprehensive system fallbacks */\n primary:\n '\"Roboto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif',\n /** Heading font: Roboto per AstroUXDS (matches primary). */\n heading:\n '\"Roboto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif',\n /** Monospace font: Roboto Mono for data/code with system fallbacks */\n mono: '\"Roboto Mono\", \"SF Mono\", \"Consolas\", \"Liberation Mono\", monospace',\n },\n // Astro UX Display Styles\n // https://www.astrouxds.com/foundations/typography/\n display: {\n 1: {\n fontSize: \"3.75rem\",\n fontWeight: 300,\n letterSpacing: \"-0.5px\",\n lineHeight: \"4.375rem\",\n },\n 2: {\n fontSize: \"3rem\",\n fontWeight: 400,\n letterSpacing: \"0\",\n lineHeight: \"3.5rem\",\n },\n },\n // Astro UX Heading Styles\n heading: {\n 1: {\n fontSize: \"2.125rem\",\n fontWeight: 400,\n letterSpacing: \"0.25px\",\n lineHeight: \"2.5rem\",\n },\n \"1Bold\": {\n fontSize: \"2.125rem\",\n fontWeight: 700,\n letterSpacing: \"0.25px\",\n lineHeight: \"2rem\",\n },\n 2: {\n fontSize: \"1.5rem\",\n fontWeight: 400,\n letterSpacing: \"0\",\n lineHeight: \"1.75rem\",\n },\n 3: {\n fontSize: \"1.25rem\",\n fontWeight: 500,\n letterSpacing: \"0.15px\",\n lineHeight: \"1.5rem\",\n },\n 4: {\n fontSize: \"1.25rem\",\n fontWeight: 300,\n letterSpacing: \"0.15px\",\n lineHeight: \"1.5rem\",\n },\n 5: {\n fontSize: \"1.125rem\",\n fontWeight: 400,\n letterSpacing: \"0\",\n lineHeight: \"1.5rem\",\n },\n 6: {\n fontSize: \"1.125rem\",\n fontWeight: 300,\n letterSpacing: \"0\",\n lineHeight: \"1.5rem\",\n },\n },\n // Astro UX Body Styles\n body: {\n 1: {\n fontSize: \"1rem\",\n fontWeight: 400,\n letterSpacing: \"0.5px\",\n lineHeight: \"1.5rem\",\n },\n \"1Bold\": {\n fontSize: \"1rem\",\n fontWeight: 700,\n letterSpacing: \"0.5px\",\n lineHeight: \"1.5rem\",\n },\n 2: {\n fontSize: \"0.875rem\",\n fontWeight: 400,\n letterSpacing: \"0.5px\",\n lineHeight: \"1.25rem\",\n },\n \"2Bold\": {\n fontSize: \"0.875rem\",\n fontWeight: 700,\n letterSpacing: \"0.5px\",\n lineHeight: \"1.25rem\",\n },\n 3: {\n fontSize: \"0.75rem\",\n fontWeight: 400,\n letterSpacing: \"0\",\n lineHeight: \"1rem\",\n },\n \"3Bold\": {\n fontSize: \"0.75rem\",\n fontWeight: 700,\n letterSpacing: \"0\",\n lineHeight: \"1rem\",\n },\n },\n // Astro UX Control Body Styles\n control: {\n 1: {\n fontSize: \"1rem\",\n fontWeight: 400,\n letterSpacing: \"0.5px\",\n lineHeight: \"1.25rem\",\n },\n \"1Bold\": {\n fontSize: \"1rem\",\n fontWeight: 700,\n letterSpacing: \"0.5px\",\n lineHeight: \"1.25rem\",\n },\n },\n // Legacy convenience tokens (rem-based for Astro compliance)\n // Note: Use Typography component for new code\n fontSize: {\n micro: \"0.5625rem\", // 9px - very tight spaces\n xxs: \"0.625rem\", // 10px - compact labels (xs in old system)\n xs: \"0.625rem\", // 10px - compact (kept for backward compatibility)\n sm: \"0.75rem\", // 12px (Body 3)\n base: \"0.875rem\", // 14px (Body 2)\n md: \"0.875rem\", // 14px (Body 2)\n lg: \"1rem\", // 16px (Body 1)\n xl: \"1.25rem\", // 20px (Heading 3/4)\n xxl: \"1.5rem\", // 24px (Heading 2)\n xxxl: \"2.125rem\", // 34px (Heading 1)\n },\n /**\n * Font weights per AstroUXDS specification\n * Only 300, 400, 500, 700 are officially supported\n * @see https://www.astrouxds.com/foundations/typography/\n */\n fontWeight: {\n light: 300,\n normal: 400,\n medium: 500,\n /** @deprecated Use medium (500) instead - Astro spec only supports 300, 400, 500, 700 */\n semibold: 500, // Changed from 600 to 500 for Astro compliance\n bold: 700,\n },\n lineHeight: {\n tight: \"1.25rem\",\n normal: \"1.5rem\",\n relaxed: \"1.75rem\",\n },\n letterSpacing: {\n tight: \"-0.5px\",\n normal: \"0\",\n wide: \"0.5px\",\n },\n },\n shadows: shadowsDark,\n animation: animationTokens,\n focus: focusTokensDark,\n layout: layoutTokens,\n};\n\n// ============================================================================\n// Astro UX Light Theme\n// ============================================================================\n\nexport const astroThemeLight: ThemeTokensBase = {\n colors: {\n background: {\n base: \"#eaeef4\",\n surface: \"#f5f8fc\",\n elevated: \"#ffffff\",\n overlay: \"rgba(234, 238, 244, 0.95)\",\n },\n border: {\n default: \"#2b659b\",\n muted: \"#d1d5db\",\n focus: \"#0066cc\",\n },\n text: {\n primary: \"#1b2d3e\",\n secondary: \"#51667c\",\n tertiary: \"#556a7c\", // WCAG AA: 4.81:1 on #eaeef4, 5.24:1 on #f5f8fc, 5.61:1 on #fff (was #8fa4b7 → 2.25:1 FAIL)\n muted: \"#556a7c\", // WCAG AA compliant (was #8fa4b7)\n inverse: \"#ffffff\",\n },\n status: { ...astroStatus },\n semantic: {\n success: \"#56f000\",\n warning: \"#fce83a\",\n error: \"#ff3838\",\n info: \"#4dacff\",\n },\n accent: {\n primary: \"#0066cc\",\n secondary: \"#56f000\",\n tertiary: \"#7c3aed\",\n },\n interactive: {\n default: \"#0066cc\",\n hover: \"#0052a3\",\n active: \"#003d7a\",\n disabled: \"#a4abb6\",\n },\n },\n spacing: astroThemeDark.spacing,\n borderRadius: astroThemeDark.borderRadius,\n elementSize: astroThemeDark.elementSize,\n typography: astroThemeDark.typography,\n shadows: shadowsLight,\n animation: animationTokens,\n focus: focusTokensLight,\n layout: layoutTokens,\n};\n\n// ============================================================================\n// Hybrid Theme (Zendir Background + Astro Status + Purple Accents)\n// Modern, award-winning design with Zendir purple personality\n// ============================================================================\n\nexport const hybridTheme: ThemeTokensBase = {\n colors: {\n background: {\n base: \"#09090b\",\n surface: \"rgba(24, 24, 27, 0.98)\",\n elevated: \"rgba(39, 39, 42, 0.98)\",\n overlay: \"rgba(0, 0, 0, 0.85)\",\n },\n border: {\n default: \"rgba(139, 92, 246, 0.3)\", // Purple tint\n muted: \"rgba(63, 63, 70, 0.5)\",\n focus: \"#8b5cf6\", // Zendir purple\n },\n text: {\n primary: \"#ffffff\",\n secondary: \"#a1a1aa\",\n tertiary: \"#8e8e96\", // WCAG AA: 6.12:1 on #09090b, 5.45:1 on #18181b, 4.58:1 on #27272a (was #71717a → 4.07:1 FAIL)\n muted: \"#8e8e96\", // WCAG AA compliant (was #71717a)\n inverse: \"#09090b\",\n },\n // Astro UXD Status Colors (unchanged for compliance)\n status: { ...astroStatus },\n semantic: {\n success: \"#56f000\",\n warning: \"#fce83a\",\n error: \"#ff3838\",\n info: \"#8b5cf6\", // Purple for info\n },\n // Zendir Purple Accent Palette\n accent: {\n primary: \"#8b5cf6\", // Vibrant purple\n secondary: \"#a78bfa\", // Light purple\n tertiary: \"#7c3aed\", // Deep purple\n },\n interactive: {\n default: \"#8b5cf6\",\n hover: \"#a78bfa\",\n active: \"#7c3aed\",\n disabled: \"#52525b\",\n },\n },\n spacing: astroThemeDark.spacing,\n borderRadius: {\n none: \"0\",\n xs: \"2px\",\n sm: \"4px\",\n md: \"6px\",\n lg: \"10px\",\n xl: \"14px\",\n full: \"9999px\",\n },\n elementSize: astroThemeDark.elementSize,\n typography: astroThemeDark.typography,\n shadows: {\n ...shadowsDark,\n glow: (color: string) =>\n `0 0 20px ${color}50, 0 0 40px ${color}25, 0 4px 12px ${color}20`,\n },\n animation: animationTokens,\n focus: focusTokensPurpleHue,\n layout: layoutTokens,\n};\n\n// ============================================================================\n// Purple-Hue Theme - Full Purple Personality\n// Award-winning dark theme with purple accents\n// ============================================================================\n\nexport const purpleHueTheme: ThemeTokensBase = {\n colors: {\n background: {\n base: \"#0a0a0f\",\n surface: \"rgba(18, 18, 28, 0.98)\",\n elevated: \"rgba(28, 28, 42, 0.98)\",\n overlay: \"rgba(0, 0, 0, 0.9)\",\n },\n border: {\n default: \"rgba(139, 92, 246, 0.25)\",\n muted: \"rgba(55, 48, 82, 0.5)\",\n focus: \"#8b5cf6\",\n },\n text: {\n primary: \"#fafafa\",\n secondary: \"#a1a1aa\",\n tertiary: \"#8e8e96\", // WCAG AA: 6.08:1 on #0a0a0f, 5.02:1 on elevated (was #71717a → 4.05:1 FAIL)\n muted: \"#8e8e96\", // WCAG AA compliant (was #71717a)\n inverse: \"#0a0a0f\",\n },\n // Astro UXD Status Colors (for compliance)\n status: { ...astroStatus },\n semantic: {\n success: \"#56f000\",\n warning: \"#fce83a\",\n error: \"#ff3838\",\n info: \"#a78bfa\",\n },\n // Zendir Purple Accent Palette\n accent: {\n primary: \"#8b5cf6\", // Vibrant purple\n secondary: \"#a78bfa\", // Light purple\n tertiary: \"#7c3aed\", // Deep purple\n },\n interactive: {\n default: \"#8b5cf6\",\n hover: \"#a78bfa\",\n active: \"#7c3aed\",\n disabled: \"#52525b\",\n },\n },\n spacing: astroThemeDark.spacing,\n borderRadius: {\n none: \"0\",\n xs: \"2px\",\n sm: \"4px\",\n md: \"6px\",\n lg: \"10px\",\n xl: \"14px\",\n full: \"9999px\",\n },\n elementSize: astroThemeDark.elementSize,\n // Same typography as hybrid (Astro UX font stack with full fallbacks) for consistent card font across themes\n typography: astroThemeDark.typography,\n shadows: {\n ...shadowsDark,\n glow: (color: string) =>\n `0 0 25px ${color}60, 0 0 50px ${color}30, 0 4px 16px ${color}25`,\n },\n animation: animationTokens,\n focus: {\n ...focusTokensPurpleHue,\n },\n layout: layoutTokens,\n};\n\n// ============================================================================\n// Nebula Theme — palette-native dark theme.\n//\n// The first theme wired end-to-end onto the Layer 0 primitives: Prussian\n// Slate (zendirNeutral) surfaces + text, Ultraviolet accent/interactive,\n// Astro UXDS status, and Tailwind + Electric Blue semantic colors.\n// ============================================================================\n\n// The nebula surface spec defines two stops that sit between Neutral ramp\n// values (deeper than neutral-950 reads on OLED, between 900 and 800 for\n// elevation). They are part of the Nebula surface spec, not the ramp.\nconst nebulaBase = \"#070A18\"; // --bg\nconst nebulaElevated = \"#121B36\"; // --surface-2 / --border-subtle\n\nexport const nebulaTheme: ThemeTokensBase = {\n colors: {\n background: {\n base: nebulaBase,\n surface: zendirNeutral[900], // --surface-1\n elevated: nebulaElevated,\n overlay: \"rgba(7, 10, 24, 0.9)\", // nebulaBase @ 90%\n },\n border: {\n default: zendirNeutral[800], // --border / --surface-3\n muted: nebulaElevated, // --border-subtle\n focus: ultraviolet[500],\n },\n text: {\n primary: zendirNeutral[50], // --text\n secondary: zendirNeutral[300], // --text-2\n tertiary: zendirNeutral[400], // --text-3\n muted: zendirNeutral[500], // --text-4\n inverse: nebulaBase,\n },\n // Astro UXDS status colors — operator-grade severity, kept immutable.\n status: { ...astroStatus },\n semantic: {\n success: twGreen[500],\n warning: twYellow[500],\n error: twRed[500],\n info: electricBlue[500],\n },\n // Ultraviolet accent ramp.\n accent: {\n primary: ultraviolet[500],\n secondary: ultraviolet[400],\n tertiary: ultraviolet[600],\n },\n interactive: {\n default: ultraviolet[500],\n hover: ultraviolet[400],\n active: ultraviolet[700],\n disabled: zendirNeutral[600], // --text-5\n },\n },\n spacing: astroThemeDark.spacing,\n borderRadius: {\n none: \"0\",\n xs: \"2px\",\n sm: \"4px\",\n md: \"7px\",\n lg: \"10px\",\n xl: \"14px\",\n full: \"9999px\",\n },\n elementSize: astroThemeDark.elementSize,\n typography: astroThemeDark.typography,\n shadows: {\n ...shadowsDark,\n glow: (color: string) =>\n `0 0 25px ${color}60, 0 0 50px ${color}30, 0 4px 16px ${color}25`,\n },\n animation: animationTokens,\n focus: {\n ...focusTokensPurpleHue,\n },\n layout: layoutTokens,\n};\n\n// ============================================================================\n// Transparent Purple-Hue Theme - Glassmorphic Panels\n// Optimized for glass card overlays with transparent backgrounds\n// ============================================================================\n\nexport const transparentTheme: ThemeTokensBase = {\n colors: {\n background: {\n // Highly transparent backgrounds for glass effect\n base: \"rgba(8, 12, 20, 0.95)\",\n surface: \"rgba(15, 20, 35, 0.85)\",\n elevated: \"rgba(25, 35, 55, 0.80)\",\n overlay: \"rgba(0, 0, 0, 0.75)\",\n },\n border: {\n // Purple accent borders (Zendir brand)\n default: \"rgba(139, 92, 246, 0.25)\",\n muted: \"rgba(139, 92, 246, 0.15)\",\n focus: \"#8b5cf6\",\n // Thin faded card border with purple hint\n fadedBoxShadow:\n \"inset 0 1px 0 rgba(139, 92, 246, 0.12), inset 0 -1px 0 rgba(0, 0, 0, 0.05), inset 1px 0 0 rgba(139, 92, 246, 0.06), inset -1px 0 0 rgba(139, 92, 246, 0.06)\",\n },\n text: {\n primary: \"#f0f4f8\",\n secondary: \"#94a3b8\",\n tertiary: \"#7b8da1\", // WCAG AA: 5.71:1 on base, 5.34:1 on elevated (was #64748b → 3.66:1 FAIL)\n muted: \"#7b8da1\", // WCAG AA compliant (was #64748b)\n inverse: \"#0f172a\",\n },\n // Astro UXD Status Colors\n status: { ...astroStatus },\n semantic: {\n success: \"#56f000\",\n warning: \"#fce83a\",\n error: \"#ff3838\",\n info: \"#8b5cf6\",\n },\n // Purple accent (matching hybrid theme for consistency)\n accent: {\n primary: \"#8b5cf6\", // Vibrant purple\n secondary: \"#a78bfa\", // Light purple\n tertiary: \"#7c3aed\", // Deep purple\n },\n interactive: {\n default: \"#8b5cf6\", // Purple for interactive elements\n hover: \"#a78bfa\", // Light purple on hover\n active: \"#7c3aed\", // Deep purple on active\n disabled: \"#475569\",\n // Purple-hue transparent backgrounds for buttons/inputs (transparent + transparent-bold)\n transparentDefault: \"rgba(139, 92, 246, 0.12)\",\n transparentHover: \"rgba(139, 92, 246, 0.32)\",\n transparentInputBg: \"rgba(139, 92, 246, 0.08)\",\n },\n },\n spacing: astroThemeDark.spacing,\n borderRadius: {\n none: \"0\",\n xs: \"2px\",\n sm: \"4px\",\n md: \"8px\",\n lg: \"12px\",\n xl: \"16px\",\n full: \"9999px\",\n },\n elementSize: astroThemeDark.elementSize,\n // Same typography as hybrid for consistent card font across themes\n typography: astroThemeDark.typography,\n shadows: {\n ...shadowsDark,\n // Enhanced glow shadows for glass effect\n glow: (color: string) =>\n `0 0 30px ${color}50, 0 0 60px ${color}25, 0 4px 20px rgba(0,0,0,0.4)`,\n },\n animation: animationTokens,\n focus: {\n color: \"#8b5cf6\", // Purple focus ring\n width: \"2px\",\n offset: \"2px\",\n ring: \"0 0 0 2px #8b5cf6\",\n style: {\n outline: \"2px solid #8b5cf6\",\n outlineOffset: \"2px\",\n },\n },\n layout: layoutTokens,\n};\n\n// ============================================================================\n// Transparent Minimal Theme - Ultra-clean glassmorphic panels\n// Extremely subtle borders, minimal visual noise, clean dark surfaces\n// ============================================================================\n\nexport const transparentMinimalTheme: ThemeTokensBase = {\n colors: {\n background: {\n // Same as transparent theme\n base: \"rgba(8, 12, 20, 0.95)\",\n surface: \"rgba(15, 20, 35, 0.85)\",\n elevated: \"rgba(25, 35, 55, 0.80)\",\n overlay: \"rgba(0, 0, 0, 0.75)\",\n },\n border: {\n // Accent-colored borders for minimal theme (Zendir purple)\n default: \"rgba(139, 92, 246, 0.25)\",\n muted: \"rgba(139, 92, 246, 0.15)\",\n focus: \"#8b5cf6\",\n // Subtle card border using accent color\n fadedBoxShadow:\n \"inset 0 1px 0 rgba(139, 92, 246, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.1), inset 1px 0 0 rgba(139, 92, 246, 0.05), inset -1px 0 0 rgba(139, 92, 246, 0.05)\",\n },\n text: {\n primary: \"#f0f4f8\",\n secondary: \"#94a3b8\",\n tertiary: \"#7b8da1\", // WCAG AA: 5.71:1 on base, 5.34:1 on elevated (was #64748b → 3.66:1 FAIL)\n muted: \"#7b8da1\", // WCAG AA compliant (was #64748b)\n inverse: \"#0f172a\",\n },\n // Astro UXD Status Colors\n status: { ...astroStatus },\n semantic: {\n success: \"#56f000\",\n warning: \"#fce83a\",\n error: \"#ff3838\",\n info: \"#8b5cf6\",\n },\n // Purple accent (matching transparent theme for consistency)\n accent: {\n primary: \"#8b5cf6\", // Vibrant purple\n secondary: \"#a78bfa\", // Light purple\n tertiary: \"#7c3aed\", // Deep purple\n },\n interactive: {\n default: \"#8b5cf6\", // Purple for interactive elements\n hover: \"#a78bfa\", // Light purple on hover\n active: \"#7c3aed\", // Deep purple on active\n disabled: \"#475569\",\n // Purple-hue transparent backgrounds for buttons/inputs (same as transparent theme)\n transparentDefault: \"rgba(139, 92, 246, 0.12)\",\n transparentHover: \"rgba(139, 92, 246, 0.32)\",\n transparentInputBg: \"rgba(139, 92, 246, 0.08)\",\n },\n },\n spacing: astroThemeDark.spacing,\n borderRadius: {\n none: \"0\",\n xs: \"2px\",\n sm: \"4px\",\n md: \"8px\",\n lg: \"12px\",\n xl: \"16px\",\n full: \"9999px\",\n },\n elementSize: astroThemeDark.elementSize,\n // Same typography as hybrid for consistent card font across themes\n typography: astroThemeDark.typography,\n shadows: {\n ...shadowsDark,\n // Same glow as transparent theme\n glow: (color: string) =>\n `0 0 30px ${color}50, 0 0 60px ${color}25, 0 4px 20px rgba(0,0,0,0.4)`,\n },\n animation: animationTokens,\n focus: {\n color: \"#8b5cf6\", // Purple focus ring\n width: \"2px\",\n offset: \"2px\",\n ring: \"0 0 0 2px #8b5cf6\",\n style: {\n outline: \"2px solid #8b5cf6\",\n outlineOffset: \"2px\",\n },\n },\n layout: layoutTokens,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"themes.js","names":[],"sources":["../../src/tokens/themes.ts"],"sourcesContent":["/**\r\n * @zendir/ui — Semantic themes (Layer 1).\r\n *\r\n * Each theme maps semantic roles (background, text, border, accent, status,\r\n * semantic, interactive) onto concrete values. The nebula theme is fully\r\n * palette-aligned — it references the Layer 0 primitives in\r\n * src/tokens/palettes. The astro / hybrid / purple-hue / transparent themes\r\n * predate the palette system and keep their original literal values until\r\n * design migrates them onto endorsed scales.\r\n *\r\n * Status colors are immutable across every theme — always `astroStatus`\r\n * (operator-grade severity must never shift with the visual theme).\r\n *\r\n * These definitions are consumed by two surfaces:\r\n * • ThemeProvider (runtime) — resolves the active variant into CSS vars.\r\n * • src/tokens/index.ts (build) — emits the static tokens.css stylesheet.\r\n * The shared token shapes live in ../react/theme/types so neither surface\r\n * has to pull in the other.\r\n */\r\n\r\nimport type {\r\n ThemeTokensBase,\r\n ThemeFocus,\r\n ThemeAnimation,\r\n LayoutTokens,\r\n} from \"../react/theme/types\";\r\nimport {\r\n ultraviolet,\r\n electricBlue,\r\n zendirNeutral,\r\n astroStatus,\r\n} from \"./palettes\";\r\nimport {\r\n green as twGreen,\r\n yellow as twYellow,\r\n red as twRed,\r\n} from \"./palettes/tailwind\";\r\n\r\n// ============================================================================\r\n// Animation Tokens (Shared)\r\n// ============================================================================\r\n\r\nexport const animationTokens: ThemeAnimation = {\r\n fast: \"all 150ms cubic-bezier(0.4, 0, 0.2, 1)\",\r\n normal: \"all 250ms cubic-bezier(0.4, 0, 0.2, 1)\",\r\n slow: \"all 400ms cubic-bezier(0.4, 0, 0.2, 1)\",\r\n spring: \"all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)\",\r\n easing: {\r\n default: \"cubic-bezier(0.4, 0, 0.2, 1)\",\r\n in: \"ease-in\",\r\n out: \"ease-out\",\r\n inOut: \"ease-in-out\",\r\n },\r\n duration: {\r\n instant: 0,\r\n fast: 150,\r\n normal: 250,\r\n slow: 400,\r\n },\r\n};\r\n\r\nexport const animationTokensReduced: ThemeAnimation = {\r\n fast: \"all 0.01ms linear\",\r\n normal: \"all 0.01ms linear\",\r\n slow: \"all 0.01ms linear\",\r\n spring: \"all 0.01ms linear\",\r\n easing: animationTokens.easing,\r\n duration: { instant: 0, fast: 0, normal: 0, slow: 0 },\r\n};\r\n\r\n// ============================================================================\r\n// Focus Tokens\r\n// ============================================================================\r\n\r\nexport const focusTokensDark: ThemeFocus = {\r\n color: \"#4dacff\",\r\n width: \"2px\",\r\n offset: \"2px\",\r\n ring: \"0 0 0 2px #4dacff\",\r\n style: {\r\n outline: \"2px solid #4dacff\",\r\n outlineOffset: \"2px\",\r\n },\r\n};\r\n\r\nexport const focusTokensLight: ThemeFocus = {\r\n color: \"#0066cc\",\r\n width: \"2px\",\r\n offset: \"2px\",\r\n ring: \"0 0 0 2px #0066cc\",\r\n style: {\r\n outline: \"2px solid #0066cc\",\r\n outlineOffset: \"2px\",\r\n },\r\n};\r\n\r\nexport const focusTokensPurpleHue: ThemeFocus = {\r\n color: \"#8b5cf6\",\r\n width: \"2px\",\r\n offset: \"2px\",\r\n ring: \"0 0 0 2px #8b5cf6\",\r\n style: {\r\n outline: \"2px solid #8b5cf6\",\r\n outlineOffset: \"2px\",\r\n },\r\n};\r\n\r\n// ============================================================================\r\n// Shadow Tokens\r\n// ============================================================================\r\n\r\nexport const shadowsDark = {\r\n none: \"none\",\r\n sm: \"0 1px 2px rgba(0, 0, 0, 0.3)\",\r\n md: \"0 4px 8px rgba(0, 0, 0, 0.4)\",\r\n lg: \"0 8px 16px rgba(0, 0, 0, 0.5)\",\r\n xl: \"0 16px 32px rgba(0, 0, 0, 0.6)\",\r\n glow: (color: string) => `0 0 20px ${color}40, 0 0 40px ${color}20`,\r\n};\r\n\r\nexport const shadowsLight = {\r\n none: \"none\",\r\n sm: \"0 1px 2px rgba(0, 0, 0, 0.1)\",\r\n md: \"0 4px 8px rgba(0, 0, 0, 0.15)\",\r\n lg: \"0 8px 16px rgba(0, 0, 0, 0.2)\",\r\n xl: \"0 16px 32px rgba(0, 0, 0, 0.25)\",\r\n glow: (color: string) => `0 0 20px ${color}30, 0 0 40px ${color}15`,\r\n};\r\n\r\n// ============================================================================\r\n// Layout Tokens (Shared)\r\n// Semantic layout spacing based on 4px grid. Shared across all themes.\r\n// ============================================================================\r\n\r\nexport const layoutTokens: LayoutTokens = {\r\n card: {\r\n padding: \"16px\", // 4 × 4px\r\n gap: \"24px\", // 6 × 4px — desktop grid gap (matches outer padding)\r\n gapCompact: \"16px\", // 4 × 4px — mobile grid gap\r\n heading: {\r\n iconSize: 18, // default card header icon (px) — matches ISS/Telemetry card header size\r\n iconSizeCompact: 16, // compact (e.g. chart inline header)\r\n titleFontSize: \"1rem\", // card titles (ISS, Telemetry, Mission) — reduced from 1.125rem\r\n titleFontSizeChart: \"0.875rem\", // chart titles (Power Trends) — slightly smaller\r\n titleFontWeight: 500,\r\n gap: 8, // gap between icon and title (px)\r\n },\r\n },\r\n section: {\r\n headerPaddingBottom: \"8px\", // 2 × 4px\r\n headerMarginBottom: \"0px\",\r\n contentPaddingTop: \"8px\", // 2 × 4px\r\n },\r\n form: {\r\n fieldGap: \"12px\", // 3 × 4px — between stacked fields\r\n inlineGap: \"12px\", // 3 × 4px — between side-by-side fields\r\n groupPadding: \"12px\", // 3 × 4px — inside grouped containers\r\n groupGap: \"12px\", // 3 × 4px — within group items\r\n labelGap: \"3px\", // label text ↔ tooltip icon\r\n },\r\n surface: {\r\n padding: \"12px\", // 3 × 4px\r\n borderRadius: \"12px\", // 3 × 4px\r\n gap: \"8px\", // 2 × 4px\r\n },\r\n};\r\n\r\n// ============================================================================\r\n// Astro UX Dark Theme\r\n// ============================================================================\r\n\r\nexport const astroThemeDark: ThemeTokensBase = {\r\n colors: {\r\n background: {\r\n base: \"#101923\",\r\n surface: \"#1b2d3e\",\r\n elevated: \"#243b53\",\r\n overlay: \"rgba(16, 25, 35, 0.95)\",\r\n },\r\n border: {\r\n default: \"#2b659b\",\r\n muted: \"#172635\",\r\n focus: \"#4dacff\",\r\n },\r\n text: {\r\n primary: \"#ffffff\",\r\n secondary: \"#b7c5d3\",\r\n tertiary: \"#8fa4b7\",\r\n muted: \"#8fa4b7\",\r\n inverse: \"#1b2d3e\",\r\n },\r\n status: { ...astroStatus },\r\n semantic: {\r\n success: \"#56f000\",\r\n warning: \"#fce83a\",\r\n error: \"#ff3838\",\r\n info: \"#4dacff\",\r\n },\r\n accent: {\r\n primary: \"#4dacff\",\r\n secondary: \"#56f000\",\r\n tertiary: \"#a371f7\",\r\n },\r\n interactive: {\r\n default: \"#4dacff\",\r\n hover: \"#92cbff\",\r\n active: \"#0066cc\",\r\n disabled: \"#6b7280\",\r\n },\r\n },\r\n spacing: {\r\n xxs: \"2px\",\r\n xs: \"4px\",\r\n sm: \"8px\",\r\n smd: \"12px\",\r\n md: \"16px\",\r\n mdl: \"20px\",\r\n lg: \"24px\",\r\n xl: \"32px\",\r\n xxl: \"48px\",\r\n },\r\n borderRadius: {\r\n none: \"0\",\r\n xs: \"1px\",\r\n sm: \"2px\",\r\n md: \"4px\",\r\n lg: \"8px\",\r\n xl: \"12px\",\r\n full: \"9999px\",\r\n },\r\n elementSize: {\r\n sm: \"28px\",\r\n md: \"36px\",\r\n lg: \"44px\",\r\n },\r\n typography: {\r\n /**\r\n * Font families per AstroUXDS specification\r\n * @see https://www.astrouxds.com/foundations/typography/\r\n */\r\n fontFamily: {\r\n /** Primary font: Roboto with comprehensive system fallbacks */\r\n primary:\r\n '\"Roboto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif',\r\n /** Heading font: Roboto per AstroUXDS (matches primary). */\r\n heading:\r\n '\"Roboto\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif',\r\n /** Monospace font: Roboto Mono for data/code with system fallbacks */\r\n mono: '\"Roboto Mono\", \"SF Mono\", \"Consolas\", \"Liberation Mono\", monospace',\r\n },\r\n // Astro UX Display Styles\r\n // https://www.astrouxds.com/foundations/typography/\r\n display: {\r\n 1: {\r\n fontSize: \"3.75rem\",\r\n fontWeight: 300,\r\n letterSpacing: \"-0.5px\",\r\n lineHeight: \"4.375rem\",\r\n },\r\n 2: {\r\n fontSize: \"3rem\",\r\n fontWeight: 400,\r\n letterSpacing: \"0\",\r\n lineHeight: \"3.5rem\",\r\n },\r\n },\r\n // Astro UX Heading Styles\r\n heading: {\r\n 1: {\r\n fontSize: \"2.125rem\",\r\n fontWeight: 400,\r\n letterSpacing: \"0.25px\",\r\n lineHeight: \"2.5rem\",\r\n },\r\n \"1Bold\": {\r\n fontSize: \"2.125rem\",\r\n fontWeight: 700,\r\n letterSpacing: \"0.25px\",\r\n lineHeight: \"2rem\",\r\n },\r\n 2: {\r\n fontSize: \"1.5rem\",\r\n fontWeight: 400,\r\n letterSpacing: \"0\",\r\n lineHeight: \"1.75rem\",\r\n },\r\n 3: {\r\n fontSize: \"1.25rem\",\r\n fontWeight: 500,\r\n letterSpacing: \"0.15px\",\r\n lineHeight: \"1.5rem\",\r\n },\r\n 4: {\r\n fontSize: \"1.25rem\",\r\n fontWeight: 300,\r\n letterSpacing: \"0.15px\",\r\n lineHeight: \"1.5rem\",\r\n },\r\n 5: {\r\n fontSize: \"1.125rem\",\r\n fontWeight: 400,\r\n letterSpacing: \"0\",\r\n lineHeight: \"1.5rem\",\r\n },\r\n 6: {\r\n fontSize: \"1.125rem\",\r\n fontWeight: 300,\r\n letterSpacing: \"0\",\r\n lineHeight: \"1.5rem\",\r\n },\r\n },\r\n // Astro UX Body Styles\r\n body: {\r\n 1: {\r\n fontSize: \"1rem\",\r\n fontWeight: 400,\r\n letterSpacing: \"0.5px\",\r\n lineHeight: \"1.5rem\",\r\n },\r\n \"1Bold\": {\r\n fontSize: \"1rem\",\r\n fontWeight: 700,\r\n letterSpacing: \"0.5px\",\r\n lineHeight: \"1.5rem\",\r\n },\r\n 2: {\r\n fontSize: \"0.875rem\",\r\n fontWeight: 400,\r\n letterSpacing: \"0.5px\",\r\n lineHeight: \"1.25rem\",\r\n },\r\n \"2Bold\": {\r\n fontSize: \"0.875rem\",\r\n fontWeight: 700,\r\n letterSpacing: \"0.5px\",\r\n lineHeight: \"1.25rem\",\r\n },\r\n 3: {\r\n fontSize: \"0.75rem\",\r\n fontWeight: 400,\r\n letterSpacing: \"0\",\r\n lineHeight: \"1rem\",\r\n },\r\n \"3Bold\": {\r\n fontSize: \"0.75rem\",\r\n fontWeight: 700,\r\n letterSpacing: \"0\",\r\n lineHeight: \"1rem\",\r\n },\r\n },\r\n // Astro UX Control Body Styles\r\n control: {\r\n 1: {\r\n fontSize: \"1rem\",\r\n fontWeight: 400,\r\n letterSpacing: \"0.5px\",\r\n lineHeight: \"1.25rem\",\r\n },\r\n \"1Bold\": {\r\n fontSize: \"1rem\",\r\n fontWeight: 700,\r\n letterSpacing: \"0.5px\",\r\n lineHeight: \"1.25rem\",\r\n },\r\n },\r\n // Legacy convenience tokens (rem-based for Astro compliance)\r\n // Note: Use Typography component for new code\r\n fontSize: {\r\n micro: \"0.5625rem\", // 9px - very tight spaces\r\n xxs: \"0.625rem\", // 10px - compact labels (xs in old system)\r\n xs: \"0.625rem\", // 10px - compact (kept for backward compatibility)\r\n sm: \"0.75rem\", // 12px (Body 3)\r\n base: \"0.875rem\", // 14px (Body 2)\r\n md: \"0.875rem\", // 14px (Body 2)\r\n lg: \"1rem\", // 16px (Body 1)\r\n xl: \"1.25rem\", // 20px (Heading 3/4)\r\n xxl: \"1.5rem\", // 24px (Heading 2)\r\n xxxl: \"2.125rem\", // 34px (Heading 1)\r\n },\r\n /**\r\n * Font weights per AstroUXDS specification\r\n * Only 300, 400, 500, 700 are officially supported\r\n * @see https://www.astrouxds.com/foundations/typography/\r\n */\r\n fontWeight: {\r\n light: 300,\r\n normal: 400,\r\n medium: 500,\r\n /** @deprecated Use medium (500) instead - Astro spec only supports 300, 400, 500, 700 */\r\n semibold: 500, // Changed from 600 to 500 for Astro compliance\r\n bold: 700,\r\n },\r\n lineHeight: {\r\n tight: \"1.25rem\",\r\n normal: \"1.5rem\",\r\n relaxed: \"1.75rem\",\r\n },\r\n letterSpacing: {\r\n tight: \"-0.5px\",\r\n normal: \"0\",\r\n wide: \"0.5px\",\r\n },\r\n },\r\n shadows: shadowsDark,\r\n animation: animationTokens,\r\n focus: focusTokensDark,\r\n layout: layoutTokens,\r\n};\r\n\r\n// ============================================================================\r\n// Astro UX Light Theme\r\n// ============================================================================\r\n\r\nexport const astroThemeLight: ThemeTokensBase = {\r\n colors: {\r\n background: {\r\n base: \"#eaeef4\",\r\n surface: \"#f5f8fc\",\r\n elevated: \"#ffffff\",\r\n overlay: \"rgba(234, 238, 244, 0.95)\",\r\n },\r\n border: {\r\n default: \"#2b659b\",\r\n muted: \"#d1d5db\",\r\n focus: \"#0066cc\",\r\n },\r\n text: {\r\n primary: \"#1b2d3e\",\r\n secondary: \"#51667c\",\r\n tertiary: \"#556a7c\", // WCAG AA: 4.81:1 on #eaeef4, 5.24:1 on #f5f8fc, 5.61:1 on #fff (was #8fa4b7 → 2.25:1 FAIL)\r\n muted: \"#556a7c\", // WCAG AA compliant (was #8fa4b7)\r\n inverse: \"#ffffff\",\r\n },\r\n status: { ...astroStatus },\r\n semantic: {\r\n success: \"#56f000\",\r\n warning: \"#fce83a\",\r\n error: \"#ff3838\",\r\n info: \"#4dacff\",\r\n },\r\n accent: {\r\n primary: \"#0066cc\",\r\n secondary: \"#56f000\",\r\n tertiary: \"#7c3aed\",\r\n },\r\n interactive: {\r\n default: \"#0066cc\",\r\n hover: \"#0052a3\",\r\n active: \"#003d7a\",\r\n disabled: \"#a4abb6\",\r\n },\r\n },\r\n spacing: astroThemeDark.spacing,\r\n borderRadius: astroThemeDark.borderRadius,\r\n elementSize: astroThemeDark.elementSize,\r\n typography: astroThemeDark.typography,\r\n shadows: shadowsLight,\r\n animation: animationTokens,\r\n focus: focusTokensLight,\r\n layout: layoutTokens,\r\n};\r\n\r\n// ============================================================================\r\n// Hybrid Theme (Zendir Background + Astro Status + Purple Accents)\r\n// Modern, award-winning design with Zendir purple personality\r\n// ============================================================================\r\n\r\nexport const hybridTheme: ThemeTokensBase = {\r\n colors: {\r\n background: {\r\n base: \"#09090b\",\r\n surface: \"rgba(24, 24, 27, 0.98)\",\r\n elevated: \"rgba(39, 39, 42, 0.98)\",\r\n overlay: \"rgba(0, 0, 0, 0.85)\",\r\n },\r\n border: {\r\n default: \"rgba(139, 92, 246, 0.3)\", // Purple tint\r\n muted: \"rgba(63, 63, 70, 0.5)\",\r\n focus: \"#8b5cf6\", // Zendir purple\r\n },\r\n text: {\r\n primary: \"#ffffff\",\r\n secondary: \"#a1a1aa\",\r\n tertiary: \"#8e8e96\", // WCAG AA: 6.12:1 on #09090b, 5.45:1 on #18181b, 4.58:1 on #27272a (was #71717a → 4.07:1 FAIL)\r\n muted: \"#8e8e96\", // WCAG AA compliant (was #71717a)\r\n inverse: \"#09090b\",\r\n },\r\n // Astro UXD Status Colors (unchanged for compliance)\r\n status: { ...astroStatus },\r\n semantic: {\r\n success: \"#56f000\",\r\n warning: \"#fce83a\",\r\n error: \"#ff3838\",\r\n info: \"#8b5cf6\", // Purple for info\r\n },\r\n // Zendir Purple Accent Palette\r\n accent: {\r\n primary: \"#8b5cf6\", // Vibrant purple\r\n secondary: \"#a78bfa\", // Light purple\r\n tertiary: \"#7c3aed\", // Deep purple\r\n },\r\n interactive: {\r\n default: \"#8b5cf6\",\r\n hover: \"#a78bfa\",\r\n active: \"#7c3aed\",\r\n disabled: \"#52525b\",\r\n },\r\n },\r\n spacing: astroThemeDark.spacing,\r\n borderRadius: {\r\n none: \"0\",\r\n xs: \"2px\",\r\n sm: \"4px\",\r\n md: \"6px\",\r\n lg: \"10px\",\r\n xl: \"14px\",\r\n full: \"9999px\",\r\n },\r\n elementSize: astroThemeDark.elementSize,\r\n typography: astroThemeDark.typography,\r\n shadows: {\r\n ...shadowsDark,\r\n glow: (color: string) =>\r\n `0 0 20px ${color}50, 0 0 40px ${color}25, 0 4px 12px ${color}20`,\r\n },\r\n animation: animationTokens,\r\n focus: focusTokensPurpleHue,\r\n layout: layoutTokens,\r\n};\r\n\r\n// ============================================================================\r\n// Purple-Hue Theme - Full Purple Personality\r\n// Award-winning dark theme with purple accents\r\n// ============================================================================\r\n\r\nexport const purpleHueTheme: ThemeTokensBase = {\r\n colors: {\r\n background: {\r\n base: \"#0a0a0f\",\r\n surface: \"rgba(18, 18, 28, 0.98)\",\r\n elevated: \"rgba(28, 28, 42, 0.98)\",\r\n overlay: \"rgba(0, 0, 0, 0.9)\",\r\n },\r\n border: {\r\n default: \"rgba(139, 92, 246, 0.25)\",\r\n muted: \"rgba(55, 48, 82, 0.5)\",\r\n focus: \"#8b5cf6\",\r\n },\r\n text: {\r\n primary: \"#fafafa\",\r\n secondary: \"#a1a1aa\",\r\n tertiary: \"#8e8e96\", // WCAG AA: 6.08:1 on #0a0a0f, 5.02:1 on elevated (was #71717a → 4.05:1 FAIL)\r\n muted: \"#8e8e96\", // WCAG AA compliant (was #71717a)\r\n inverse: \"#0a0a0f\",\r\n },\r\n // Astro UXD Status Colors (for compliance)\r\n status: { ...astroStatus },\r\n semantic: {\r\n success: \"#56f000\",\r\n warning: \"#fce83a\",\r\n error: \"#ff3838\",\r\n info: \"#a78bfa\",\r\n },\r\n // Zendir Purple Accent Palette\r\n accent: {\r\n primary: \"#8b5cf6\", // Vibrant purple\r\n secondary: \"#a78bfa\", // Light purple\r\n tertiary: \"#7c3aed\", // Deep purple\r\n },\r\n interactive: {\r\n default: \"#8b5cf6\",\r\n hover: \"#a78bfa\",\r\n active: \"#7c3aed\",\r\n disabled: \"#52525b\",\r\n },\r\n },\r\n spacing: astroThemeDark.spacing,\r\n borderRadius: {\r\n none: \"0\",\r\n xs: \"2px\",\r\n sm: \"4px\",\r\n md: \"6px\",\r\n lg: \"10px\",\r\n xl: \"14px\",\r\n full: \"9999px\",\r\n },\r\n elementSize: astroThemeDark.elementSize,\r\n // Same typography as hybrid (Astro UX font stack with full fallbacks) for consistent card font across themes\r\n typography: astroThemeDark.typography,\r\n shadows: {\r\n ...shadowsDark,\r\n glow: (color: string) =>\r\n `0 0 25px ${color}60, 0 0 50px ${color}30, 0 4px 16px ${color}25`,\r\n },\r\n animation: animationTokens,\r\n focus: {\r\n ...focusTokensPurpleHue,\r\n },\r\n layout: layoutTokens,\r\n};\r\n\r\n// ============================================================================\r\n// Nebula Theme — palette-native dark theme.\r\n//\r\n// The first theme wired end-to-end onto the Layer 0 primitives: Prussian\r\n// Slate (zendirNeutral) surfaces + text, Ultraviolet accent/interactive,\r\n// Astro UXDS status, and Tailwind + Electric Blue semantic colors.\r\n// ============================================================================\r\n\r\n// The nebula surface spec defines two stops that sit between Neutral ramp\r\n// values (deeper than neutral-950 reads on OLED, between 900 and 800 for\r\n// elevation). They are part of the Nebula surface spec, not the ramp.\r\nconst nebulaBase = \"#070A18\"; // --bg\r\nconst nebulaElevated = \"#121B36\"; // --surface-2 / --border-subtle\r\n\r\nexport const nebulaTheme: ThemeTokensBase = {\r\n colors: {\r\n background: {\r\n base: nebulaBase,\r\n surface: zendirNeutral[900], // --surface-1\r\n elevated: nebulaElevated,\r\n overlay: \"rgba(7, 10, 24, 0.9)\", // nebulaBase @ 90%\r\n },\r\n border: {\r\n default: zendirNeutral[800], // --border / --surface-3\r\n muted: nebulaElevated, // --border-subtle\r\n focus: ultraviolet[500],\r\n },\r\n text: {\r\n primary: zendirNeutral[50], // --text\r\n secondary: zendirNeutral[300], // --text-2\r\n tertiary: zendirNeutral[400], // --text-3\r\n muted: zendirNeutral[500], // --text-4\r\n inverse: nebulaBase,\r\n },\r\n // Astro UXDS status colors — operator-grade severity, kept immutable.\r\n status: { ...astroStatus },\r\n semantic: {\r\n success: twGreen[500],\r\n warning: twYellow[500],\r\n error: twRed[500],\r\n info: electricBlue[500],\r\n },\r\n // Ultraviolet accent ramp.\r\n accent: {\r\n primary: ultraviolet[500],\r\n secondary: ultraviolet[400],\r\n tertiary: ultraviolet[600],\r\n },\r\n interactive: {\r\n default: ultraviolet[500],\r\n hover: ultraviolet[400],\r\n active: ultraviolet[700],\r\n disabled: zendirNeutral[600], // --text-5\r\n },\r\n },\r\n spacing: astroThemeDark.spacing,\r\n borderRadius: {\r\n none: \"0\",\r\n xs: \"2px\",\r\n sm: \"4px\",\r\n md: \"7px\",\r\n lg: \"10px\",\r\n xl: \"14px\",\r\n full: \"9999px\",\r\n },\r\n elementSize: astroThemeDark.elementSize,\r\n typography: astroThemeDark.typography,\r\n shadows: {\r\n ...shadowsDark,\r\n glow: (color: string) =>\r\n `0 0 25px ${color}60, 0 0 50px ${color}30, 0 4px 16px ${color}25`,\r\n },\r\n animation: animationTokens,\r\n focus: {\r\n ...focusTokensPurpleHue,\r\n },\r\n layout: layoutTokens,\r\n};\r\n\r\n// ============================================================================\r\n// Transparent Purple-Hue Theme - Glassmorphic Panels\r\n// Optimized for glass card overlays with transparent backgrounds\r\n// ============================================================================\r\n\r\nexport const transparentTheme: ThemeTokensBase = {\r\n colors: {\r\n background: {\r\n // Highly transparent backgrounds for glass effect\r\n base: \"rgba(8, 12, 20, 0.95)\",\r\n surface: \"rgba(15, 20, 35, 0.85)\",\r\n elevated: \"rgba(25, 35, 55, 0.80)\",\r\n overlay: \"rgba(0, 0, 0, 0.75)\",\r\n },\r\n border: {\r\n // Purple accent borders (Zendir brand)\r\n default: \"rgba(139, 92, 246, 0.25)\",\r\n muted: \"rgba(139, 92, 246, 0.15)\",\r\n focus: \"#8b5cf6\",\r\n // Thin faded card border with purple hint\r\n fadedBoxShadow:\r\n \"inset 0 1px 0 rgba(139, 92, 246, 0.12), inset 0 -1px 0 rgba(0, 0, 0, 0.05), inset 1px 0 0 rgba(139, 92, 246, 0.06), inset -1px 0 0 rgba(139, 92, 246, 0.06)\",\r\n },\r\n text: {\r\n primary: \"#f0f4f8\",\r\n secondary: \"#94a3b8\",\r\n tertiary: \"#7b8da1\", // WCAG AA: 5.71:1 on base, 5.34:1 on elevated (was #64748b → 3.66:1 FAIL)\r\n muted: \"#7b8da1\", // WCAG AA compliant (was #64748b)\r\n inverse: \"#0f172a\",\r\n },\r\n // Astro UXD Status Colors\r\n status: { ...astroStatus },\r\n semantic: {\r\n success: \"#56f000\",\r\n warning: \"#fce83a\",\r\n error: \"#ff3838\",\r\n info: \"#8b5cf6\",\r\n },\r\n // Purple accent (matching hybrid theme for consistency)\r\n accent: {\r\n primary: \"#8b5cf6\", // Vibrant purple\r\n secondary: \"#a78bfa\", // Light purple\r\n tertiary: \"#7c3aed\", // Deep purple\r\n },\r\n interactive: {\r\n default: \"#8b5cf6\", // Purple for interactive elements\r\n hover: \"#a78bfa\", // Light purple on hover\r\n active: \"#7c3aed\", // Deep purple on active\r\n disabled: \"#475569\",\r\n // Purple-hue transparent backgrounds for buttons/inputs (transparent + transparent-bold)\r\n transparentDefault: \"rgba(139, 92, 246, 0.12)\",\r\n transparentHover: \"rgba(139, 92, 246, 0.32)\",\r\n transparentInputBg: \"rgba(139, 92, 246, 0.08)\",\r\n },\r\n },\r\n spacing: astroThemeDark.spacing,\r\n borderRadius: {\r\n none: \"0\",\r\n xs: \"2px\",\r\n sm: \"4px\",\r\n md: \"8px\",\r\n lg: \"12px\",\r\n xl: \"16px\",\r\n full: \"9999px\",\r\n },\r\n elementSize: astroThemeDark.elementSize,\r\n // Same typography as hybrid for consistent card font across themes\r\n typography: astroThemeDark.typography,\r\n shadows: {\r\n ...shadowsDark,\r\n // Enhanced glow shadows for glass effect\r\n glow: (color: string) =>\r\n `0 0 30px ${color}50, 0 0 60px ${color}25, 0 4px 20px rgba(0,0,0,0.4)`,\r\n },\r\n animation: animationTokens,\r\n focus: {\r\n color: \"#8b5cf6\", // Purple focus ring\r\n width: \"2px\",\r\n offset: \"2px\",\r\n ring: \"0 0 0 2px #8b5cf6\",\r\n style: {\r\n outline: \"2px solid #8b5cf6\",\r\n outlineOffset: \"2px\",\r\n },\r\n },\r\n layout: layoutTokens,\r\n};\r\n\r\n// ============================================================================\r\n// Transparent Minimal Theme - Ultra-clean glassmorphic panels\r\n// Extremely subtle borders, minimal visual noise, clean dark surfaces\r\n// ============================================================================\r\n\r\nexport const transparentMinimalTheme: ThemeTokensBase = {\r\n colors: {\r\n background: {\r\n // Same as transparent theme\r\n base: \"rgba(8, 12, 20, 0.95)\",\r\n surface: \"rgba(15, 20, 35, 0.85)\",\r\n elevated: \"rgba(25, 35, 55, 0.80)\",\r\n overlay: \"rgba(0, 0, 0, 0.75)\",\r\n },\r\n border: {\r\n // Accent-colored borders for minimal theme (Zendir purple)\r\n default: \"rgba(139, 92, 246, 0.25)\",\r\n muted: \"rgba(139, 92, 246, 0.15)\",\r\n focus: \"#8b5cf6\",\r\n // Subtle card border using accent color\r\n fadedBoxShadow:\r\n \"inset 0 1px 0 rgba(139, 92, 246, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.1), inset 1px 0 0 rgba(139, 92, 246, 0.05), inset -1px 0 0 rgba(139, 92, 246, 0.05)\",\r\n },\r\n text: {\r\n primary: \"#f0f4f8\",\r\n secondary: \"#94a3b8\",\r\n tertiary: \"#7b8da1\", // WCAG AA: 5.71:1 on base, 5.34:1 on elevated (was #64748b → 3.66:1 FAIL)\r\n muted: \"#7b8da1\", // WCAG AA compliant (was #64748b)\r\n inverse: \"#0f172a\",\r\n },\r\n // Astro UXD Status Colors\r\n status: { ...astroStatus },\r\n semantic: {\r\n success: \"#56f000\",\r\n warning: \"#fce83a\",\r\n error: \"#ff3838\",\r\n info: \"#8b5cf6\",\r\n },\r\n // Purple accent (matching transparent theme for consistency)\r\n accent: {\r\n primary: \"#8b5cf6\", // Vibrant purple\r\n secondary: \"#a78bfa\", // Light purple\r\n tertiary: \"#7c3aed\", // Deep purple\r\n },\r\n interactive: {\r\n default: \"#8b5cf6\", // Purple for interactive elements\r\n hover: \"#a78bfa\", // Light purple on hover\r\n active: \"#7c3aed\", // Deep purple on active\r\n disabled: \"#475569\",\r\n // Purple-hue transparent backgrounds for buttons/inputs (same as transparent theme)\r\n transparentDefault: \"rgba(139, 92, 246, 0.12)\",\r\n transparentHover: \"rgba(139, 92, 246, 0.32)\",\r\n transparentInputBg: \"rgba(139, 92, 246, 0.08)\",\r\n },\r\n },\r\n spacing: astroThemeDark.spacing,\r\n borderRadius: {\r\n none: \"0\",\r\n xs: \"2px\",\r\n sm: \"4px\",\r\n md: \"8px\",\r\n lg: \"12px\",\r\n xl: \"16px\",\r\n full: \"9999px\",\r\n },\r\n elementSize: astroThemeDark.elementSize,\r\n // Same typography as hybrid for consistent card font across themes\r\n typography: astroThemeDark.typography,\r\n shadows: {\r\n ...shadowsDark,\r\n // Same glow as transparent theme\r\n glow: (color: string) =>\r\n `0 0 30px ${color}50, 0 0 60px ${color}25, 0 4px 20px rgba(0,0,0,0.4)`,\r\n },\r\n animation: animationTokens,\r\n focus: {\r\n color: \"#8b5cf6\", // Purple focus ring\r\n width: \"2px\",\r\n offset: \"2px\",\r\n ring: \"0 0 0 2px #8b5cf6\",\r\n style: {\r\n outline: \"2px solid #8b5cf6\",\r\n outlineOffset: \"2px\",\r\n },\r\n },\r\n layout: layoutTokens,\r\n};\r\n"],"mappings":"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"}
|