@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.
Files changed (391) hide show
  1. package/CHANGELOG.md +419 -386
  2. package/README.md +640 -631
  3. package/dist/_virtual/_rolldown/runtime.js +13 -0
  4. package/dist/index.js +17 -221
  5. package/dist/react/3d/CesiumCaptureSource.d.ts +0 -1
  6. package/dist/react/3d/CesiumCaptureSource.js +364 -283
  7. package/dist/react/3d/CesiumCaptureSource.js.map +1 -1
  8. package/dist/react/3d/ZenSpace3D.d.ts +2 -3
  9. package/dist/react/3d/ZenSpace3D.js +1681 -1237
  10. package/dist/react/3d/ZenSpace3D.js.map +1 -1
  11. package/dist/react/3d/ZenSpace3DCesium.d.ts +0 -1
  12. package/dist/react/3d/ZenSpace3DCesium.js +513 -560
  13. package/dist/react/3d/ZenSpace3DCesium.js.map +1 -1
  14. package/dist/react/3d/ZenSpace3DShaders.js +61 -66
  15. package/dist/react/3d/ZenSpace3DShaders.js.map +1 -1
  16. package/dist/react/3d/ZenSpace3DTypes.d.ts +19 -20
  17. package/dist/react/3d/ZenSpace3DUtils.d.ts +0 -1
  18. package/dist/react/3d/ZenSpace3DUtils.js +37 -24
  19. package/dist/react/3d/ZenSpace3DUtils.js.map +1 -1
  20. package/dist/react/3d/capturePngAnalysis.js +42 -36
  21. package/dist/react/3d/capturePngAnalysis.js.map +1 -1
  22. package/dist/react/3d/index.d.ts +3 -3
  23. package/dist/react/3d/index.js +5 -53
  24. package/dist/react/3d/threeLoader.d.ts +1 -1
  25. package/dist/react/3d/threeLoader.js +23 -18
  26. package/dist/react/3d/threeLoader.js.map +1 -1
  27. package/dist/react/astro/ClassificationBanner.d.ts +2 -3
  28. package/dist/react/astro/ClassificationBanner.js +95 -79
  29. package/dist/react/astro/ClassificationBanner.js.map +1 -1
  30. package/dist/react/astro/GlobalStatusBar.d.ts +0 -1
  31. package/dist/react/astro/GlobalStatusBar.js +157 -163
  32. package/dist/react/astro/GlobalStatusBar.js.map +1 -1
  33. package/dist/react/astro/MissionClock.d.ts +7 -8
  34. package/dist/react/astro/MissionClock.js +377 -400
  35. package/dist/react/astro/MissionClock.js.map +1 -1
  36. package/dist/react/astro/MonitoringIcon.d.ts +1 -2
  37. package/dist/react/astro/MonitoringIcon.js +422 -358
  38. package/dist/react/astro/MonitoringIcon.js.map +1 -1
  39. package/dist/react/astro/Notification.d.ts +1 -2
  40. package/dist/react/astro/Notification.js +229 -126
  41. package/dist/react/astro/Notification.js.map +1 -1
  42. package/dist/react/astro/Progress.d.ts +0 -1
  43. package/dist/react/astro/Progress.js +199 -141
  44. package/dist/react/astro/Progress.js.map +1 -1
  45. package/dist/react/astro/SimulationControls.d.ts +3 -4
  46. package/dist/react/astro/SimulationControls.js +596 -650
  47. package/dist/react/astro/SimulationControls.js.map +1 -1
  48. package/dist/react/astro/StatusIndicator.d.ts +0 -1
  49. package/dist/react/astro/StatusIndicator.js +236 -170
  50. package/dist/react/astro/StatusIndicator.js.map +1 -1
  51. package/dist/react/astro/UnifiedTimeline.d.ts +9 -10
  52. package/dist/react/astro/UnifiedTimeline.js +2345 -2392
  53. package/dist/react/astro/UnifiedTimeline.js.map +1 -1
  54. package/dist/react/astro/index.d.ts +5 -5
  55. package/dist/react/astro/index.js +1 -25
  56. package/dist/react/cards/AccessCard.d.ts +0 -1
  57. package/dist/react/cards/AccessCard.js +471 -405
  58. package/dist/react/cards/AccessCard.js.map +1 -1
  59. package/dist/react/cards/OrbitCard.d.ts +0 -1
  60. package/dist/react/cards/OrbitCard.js +487 -364
  61. package/dist/react/cards/OrbitCard.js.map +1 -1
  62. package/dist/react/cards/SpacecraftCard.d.ts +0 -1
  63. package/dist/react/cards/SpacecraftCard.js +813 -925
  64. package/dist/react/cards/SpacecraftCard.js.map +1 -1
  65. package/dist/react/cards/TelemetryCard.d.ts +0 -1
  66. package/dist/react/cards/TelemetryCard.js +1055 -732
  67. package/dist/react/cards/TelemetryCard.js.map +1 -1
  68. package/dist/react/cards/TelemetryStreamCard.d.ts +0 -1
  69. package/dist/react/cards/TelemetryStreamCard.js +323 -297
  70. package/dist/react/cards/TelemetryStreamCard.js.map +1 -1
  71. package/dist/react/cards/index.d.ts +1 -1
  72. package/dist/react/cards/index.js +1 -8
  73. package/dist/react/charts/GroundTrackMap.d.ts +6 -7
  74. package/dist/react/charts/GroundTrackMap.js +1377 -1256
  75. package/dist/react/charts/GroundTrackMap.js.map +1 -1
  76. package/dist/react/charts/GroundTrackMapLeaflet.d.ts +1 -2
  77. package/dist/react/charts/GroundTrackMapLeaflet.js +1065 -987
  78. package/dist/react/charts/GroundTrackMapLeaflet.js.map +1 -1
  79. package/dist/react/charts/groundTrackMapLeafletTiles.js +34 -25
  80. package/dist/react/charts/groundTrackMapLeafletTiles.js.map +1 -1
  81. package/dist/react/charts/groundTrackMapLeafletUtils.js +70 -61
  82. package/dist/react/charts/groundTrackMapLeafletUtils.js.map +1 -1
  83. package/dist/react/charts/index.d.ts +1 -1
  84. package/dist/react/charts/index.js +7 -100
  85. package/dist/react/charts/unified/AstroChart.d.ts +1 -2
  86. package/dist/react/charts/unified/AstroChart.js +1331 -1411
  87. package/dist/react/charts/unified/AstroChart.js.map +1 -1
  88. package/dist/react/charts/unified/PowerOverviewChart.d.ts +3 -3
  89. package/dist/react/charts/unified/PowerOverviewChart.js +495 -478
  90. package/dist/react/charts/unified/PowerOverviewChart.js.map +1 -1
  91. package/dist/react/charts/unified/domain.d.ts +12 -13
  92. package/dist/react/charts/unified/domain.js +3999 -3145
  93. package/dist/react/charts/unified/domain.js.map +1 -1
  94. package/dist/react/charts/unified/generators.d.ts +3 -4
  95. package/dist/react/charts/unified/generators.js +561 -498
  96. package/dist/react/charts/unified/generators.js.map +1 -1
  97. package/dist/react/charts/unified/index.d.ts +1 -1
  98. package/dist/react/charts/unified/presets.d.ts +14 -15
  99. package/dist/react/charts/unified/presets.js +857 -994
  100. package/dist/react/charts/unified/presets.js.map +1 -1
  101. package/dist/react/charts/unified/sync.d.ts +2 -3
  102. package/dist/react/charts/unified/sync.js +229 -195
  103. package/dist/react/charts/unified/sync.js.map +1 -1
  104. package/dist/react/charts/unified/theme.d.ts +11 -12
  105. package/dist/react/charts/unified/theme.js +606 -642
  106. package/dist/react/charts/unified/theme.js.map +1 -1
  107. package/dist/react/charts/unified/types.d.ts +32 -33
  108. package/dist/react/charts/unified/useChartStream.d.ts +1 -2
  109. package/dist/react/charts/unified/useChartStream.js +203 -216
  110. package/dist/react/charts/unified/useChartStream.js.map +1 -1
  111. package/dist/react/chatgpt/AppCard.d.ts +1 -2
  112. package/dist/react/chatgpt/index.d.ts +7 -7
  113. package/dist/react/chatgpt/index.js +160 -139
  114. package/dist/react/chatgpt/index.js.map +1 -1
  115. package/dist/react/context/CategoryContext.d.ts +0 -1
  116. package/dist/react/context/CategoryContext.js +78 -29
  117. package/dist/react/context/CategoryContext.js.map +1 -1
  118. package/dist/react/context/DisplaySettingsContext.d.ts +1 -2
  119. package/dist/react/context/DisplaySettingsContext.js +205 -156
  120. package/dist/react/context/DisplaySettingsContext.js.map +1 -1
  121. package/dist/react/context/SpatialSelectionContext.d.ts +0 -1
  122. package/dist/react/context/SpatialSelectionContext.js +36 -7
  123. package/dist/react/context/SpatialSelectionContext.js.map +1 -1
  124. package/dist/react/core/data/DataTable.d.ts +3 -4
  125. package/dist/react/core/data/DataTable.js +473 -440
  126. package/dist/react/core/data/DataTable.js.map +1 -1
  127. package/dist/react/core/data/DataValue.d.ts +4 -5
  128. package/dist/react/core/data/DataValue.js +605 -571
  129. package/dist/react/core/data/DataValue.js.map +1 -1
  130. package/dist/react/core/data/propertyConfig.d.ts +1 -2
  131. package/dist/react/core/data/propertyConfig.js +446 -382
  132. package/dist/react/core/data/propertyConfig.js.map +1 -1
  133. package/dist/react/core/display/AstroIcon.d.ts +4 -5
  134. package/dist/react/core/display/AstroIcon.js +339 -429
  135. package/dist/react/core/display/AstroIcon.js.map +1 -1
  136. package/dist/react/core/display/Badge.d.ts +2 -3
  137. package/dist/react/core/display/Badge.js +131 -131
  138. package/dist/react/core/display/Badge.js.map +1 -1
  139. package/dist/react/core/display/CardHeader.d.ts +0 -1
  140. package/dist/react/core/display/CardHeader.js +398 -311
  141. package/dist/react/core/display/CardHeader.js.map +1 -1
  142. package/dist/react/core/display/Container.d.ts +2 -3
  143. package/dist/react/core/display/Container.js +640 -668
  144. package/dist/react/core/display/Container.js.map +1 -1
  145. package/dist/react/core/display/CopyButton.d.ts +1 -2
  146. package/dist/react/core/display/CopyButton.js +158 -101
  147. package/dist/react/core/display/CopyButton.js.map +1 -1
  148. package/dist/react/core/display/GlassCard.d.ts +3 -4
  149. package/dist/react/core/display/GlassCard.js +416 -369
  150. package/dist/react/core/display/GlassCard.js.map +1 -1
  151. package/dist/react/core/display/HeaderIconWithStatus.d.ts +0 -1
  152. package/dist/react/core/display/HeaderIconWithStatus.js +152 -152
  153. package/dist/react/core/display/HeaderIconWithStatus.js.map +1 -1
  154. package/dist/react/core/display/Icon.d.ts +2 -3
  155. package/dist/react/core/display/Icon.js +172 -143
  156. package/dist/react/core/display/Icon.js.map +1 -1
  157. package/dist/react/core/display/Typography.d.ts +24 -25
  158. package/dist/react/core/display/Typography.js +360 -178
  159. package/dist/react/core/display/Typography.js.map +1 -1
  160. package/dist/react/core/feedback/ConfirmDialog.d.ts +1 -2
  161. package/dist/react/core/feedback/ConfirmDialog.js +343 -304
  162. package/dist/react/core/feedback/ConfirmDialog.js.map +1 -1
  163. package/dist/react/core/feedback/Dialog.d.ts +2 -3
  164. package/dist/react/core/feedback/Dialog.js +189 -197
  165. package/dist/react/core/feedback/Dialog.js.map +1 -1
  166. package/dist/react/core/feedback/Toast.d.ts +2 -3
  167. package/dist/react/core/feedback/Toast.js +346 -207
  168. package/dist/react/core/feedback/Toast.js.map +1 -1
  169. package/dist/react/core/index.d.ts +26 -26
  170. package/dist/react/core/index.js +7 -119
  171. package/dist/react/core/inputs/Button.d.ts +2 -3
  172. package/dist/react/core/inputs/Button.js +281 -304
  173. package/dist/react/core/inputs/Button.js.map +1 -1
  174. package/dist/react/core/inputs/Checkbox.d.ts +2 -3
  175. package/dist/react/core/inputs/Checkbox.js +139 -127
  176. package/dist/react/core/inputs/Checkbox.js.map +1 -1
  177. package/dist/react/core/inputs/Input.d.ts +3 -4
  178. package/dist/react/core/inputs/Input.js +277 -285
  179. package/dist/react/core/inputs/Input.js.map +1 -1
  180. package/dist/react/core/inputs/LimitsBar.d.ts +1 -2
  181. package/dist/react/core/inputs/LimitsBar.js +271 -196
  182. package/dist/react/core/inputs/LimitsBar.js.map +1 -1
  183. package/dist/react/core/inputs/NumberInput.d.ts +2 -3
  184. package/dist/react/core/inputs/NumberInput.js +531 -503
  185. package/dist/react/core/inputs/NumberInput.js.map +1 -1
  186. package/dist/react/core/inputs/PinInput.d.ts +2 -3
  187. package/dist/react/core/inputs/PinInput.js +224 -207
  188. package/dist/react/core/inputs/PinInput.js.map +1 -1
  189. package/dist/react/core/inputs/Select.d.ts +1 -2
  190. package/dist/react/core/inputs/Select.js +298 -299
  191. package/dist/react/core/inputs/Select.js.map +1 -1
  192. package/dist/react/core/inputs/Toggle.d.ts +2 -3
  193. package/dist/react/core/inputs/Toggle.js +142 -148
  194. package/dist/react/core/inputs/Toggle.js.map +1 -1
  195. package/dist/react/core/layout/Box.d.ts +3 -4
  196. package/dist/react/core/layout/Box.js +118 -122
  197. package/dist/react/core/layout/Box.js.map +1 -1
  198. package/dist/react/core/layout/Center.d.ts +0 -1
  199. package/dist/react/core/layout/Center.js +45 -32
  200. package/dist/react/core/layout/Center.js.map +1 -1
  201. package/dist/react/core/layout/Divider.d.ts +1 -2
  202. package/dist/react/core/layout/Divider.js +112 -106
  203. package/dist/react/core/layout/Divider.js.map +1 -1
  204. package/dist/react/core/layout/Flex.d.ts +4 -5
  205. package/dist/react/core/layout/Flex.js +120 -124
  206. package/dist/react/core/layout/Flex.js.map +1 -1
  207. package/dist/react/core/layout/Grid.d.ts +5 -6
  208. package/dist/react/core/layout/Grid.js +131 -138
  209. package/dist/react/core/layout/Grid.js.map +1 -1
  210. package/dist/react/core/layout/Spacer.d.ts +0 -1
  211. package/dist/react/core/layout/Spacer.js +36 -29
  212. package/dist/react/core/layout/Spacer.js.map +1 -1
  213. package/dist/react/core/layout/Stack.d.ts +4 -5
  214. package/dist/react/core/layout/Stack.js +127 -70
  215. package/dist/react/core/layout/Stack.js.map +1 -1
  216. package/dist/react/core/layout/responsive.d.ts +1 -2
  217. package/dist/react/core/layout/responsive.js +25 -19
  218. package/dist/react/core/layout/responsive.js.map +1 -1
  219. package/dist/react/core/layout/useBreakpoint.d.ts +1 -1
  220. package/dist/react/core/layout/useBreakpoint.js +119 -66
  221. package/dist/react/core/layout/useBreakpoint.js.map +1 -1
  222. package/dist/react/core/navigation/AppBar.d.ts +1 -2
  223. package/dist/react/core/navigation/AppBar.js +827 -805
  224. package/dist/react/core/navigation/AppBar.js.map +1 -1
  225. package/dist/react/core/navigation/Pagination.d.ts +2 -3
  226. package/dist/react/core/navigation/Pagination.js +207 -187
  227. package/dist/react/core/navigation/Pagination.js.map +1 -1
  228. package/dist/react/core/navigation/SideNav.d.ts +5 -6
  229. package/dist/react/core/navigation/SideNav.js +855 -629
  230. package/dist/react/core/navigation/SideNav.js.map +1 -1
  231. package/dist/react/core/navigation/Tabs.d.ts +0 -1
  232. package/dist/react/core/navigation/Tabs.js +113 -119
  233. package/dist/react/core/navigation/Tabs.js.map +1 -1
  234. package/dist/react/core/overlays/Popover.d.ts +2 -3
  235. package/dist/react/core/overlays/Popover.js +303 -282
  236. package/dist/react/core/overlays/Popover.js.map +1 -1
  237. package/dist/react/core/overlays/SidePanel.d.ts +1 -2
  238. package/dist/react/core/overlays/SidePanel.js +217 -212
  239. package/dist/react/core/overlays/SidePanel.js.map +1 -1
  240. package/dist/react/core/overlays/Tooltip.d.ts +1 -2
  241. package/dist/react/core/overlays/Tooltip.js +170 -176
  242. package/dist/react/core/overlays/Tooltip.js.map +1 -1
  243. package/dist/react/core/widgets/ActivityPlanner.d.ts +0 -1
  244. package/dist/react/core/widgets/ActivityPlanner.js +855 -517
  245. package/dist/react/core/widgets/ActivityPlanner.js.map +1 -1
  246. package/dist/react/core/widgets/Capture.d.ts +2 -3
  247. package/dist/react/core/widgets/Capture.js +965 -779
  248. package/dist/react/core/widgets/Capture.js.map +1 -1
  249. package/dist/react/core/widgets/ChatPanel.d.ts +16 -17
  250. package/dist/react/core/widgets/ChatPanel.js +1734 -1034
  251. package/dist/react/core/widgets/ChatPanel.js.map +1 -1
  252. package/dist/react/core/widgets/ColorPickerPanel.d.ts +0 -1
  253. package/dist/react/core/widgets/ColorPickerPanel.js +298 -287
  254. package/dist/react/core/widgets/ColorPickerPanel.js.map +1 -1
  255. package/dist/react/core/widgets/CommandBuilder.d.ts +2 -3
  256. package/dist/react/core/widgets/CommandBuilder.js +624 -516
  257. package/dist/react/core/widgets/CommandBuilder.js.map +1 -1
  258. package/dist/react/core/widgets/ConnectionForm.d.ts +2 -3
  259. package/dist/react/core/widgets/ConnectionForm.js +528 -492
  260. package/dist/react/core/widgets/ConnectionForm.js.map +1 -1
  261. package/dist/react/core/widgets/FileExplorer.d.ts +3 -4
  262. package/dist/react/core/widgets/FileExplorer.js +617 -505
  263. package/dist/react/core/widgets/FileExplorer.js.map +1 -1
  264. package/dist/react/core/widgets/HexViewer.d.ts +2 -3
  265. package/dist/react/core/widgets/HexViewer.js +1353 -1091
  266. package/dist/react/core/widgets/HexViewer.js.map +1 -1
  267. package/dist/react/core/widgets/ImageFrame.d.ts +1 -2
  268. package/dist/react/core/widgets/ImageFrame.js +230 -193
  269. package/dist/react/core/widgets/ImageFrame.js.map +1 -1
  270. package/dist/react/core/widgets/ImageGallery.d.ts +2 -1
  271. package/dist/react/core/widgets/ImageGallery.js +380 -314
  272. package/dist/react/core/widgets/ImageGallery.js.map +1 -1
  273. package/dist/react/core/widgets/ImagePanel.d.ts +0 -1
  274. package/dist/react/core/widgets/ImagePanel.js +110 -101
  275. package/dist/react/core/widgets/ImagePanel.js.map +1 -1
  276. package/dist/react/core/widgets/LogViewer.d.ts +2 -3
  277. package/dist/react/core/widgets/LogViewer.js +711 -607
  278. package/dist/react/core/widgets/LogViewer.js.map +1 -1
  279. package/dist/react/core/widgets/MessageStream.d.ts +3 -4
  280. package/dist/react/core/widgets/MessageStream.js +514 -444
  281. package/dist/react/core/widgets/MessageStream.js.map +1 -1
  282. package/dist/react/core/widgets/MissionCalendar.d.ts +3 -4
  283. package/dist/react/core/widgets/MissionCalendar.js +1488 -1020
  284. package/dist/react/core/widgets/MissionCalendar.js.map +1 -1
  285. package/dist/react/core/widgets/PacketViewer.d.ts +2 -3
  286. package/dist/react/core/widgets/PacketViewer.js +550 -421
  287. package/dist/react/core/widgets/PacketViewer.js.map +1 -1
  288. package/dist/react/core/widgets/capture-placeholder.png.js +6 -5
  289. package/dist/react/core/widgets/capture-placeholder.png.js.map +1 -1
  290. package/dist/react/hooks/index.d.ts +5 -5
  291. package/dist/react/hooks/useAccessWindows.d.ts +0 -1
  292. package/dist/react/hooks/useCompactMode.d.ts +1 -1
  293. package/dist/react/hooks/useCompactMode.js +104 -58
  294. package/dist/react/hooks/useCompactMode.js.map +1 -1
  295. package/dist/react/hooks/useGroundTrackHistory.d.ts +0 -1
  296. package/dist/react/hooks/useSimulationScene.d.ts +1 -2
  297. package/dist/react/hooks/useSimulationScene.js +481 -374
  298. package/dist/react/hooks/useSimulationScene.js.map +1 -1
  299. package/dist/react/index.d.ts +3 -3
  300. package/dist/react/panels/LayerControlPanel.d.ts +1 -2
  301. package/dist/react/panels/LayerControlPanel.js +223 -180
  302. package/dist/react/panels/LayerControlPanel.js.map +1 -1
  303. package/dist/react/panels/ObjectInventoryPanel.d.ts +2 -3
  304. package/dist/react/panels/ObjectInventoryPanel.js +315 -250
  305. package/dist/react/panels/ObjectInventoryPanel.js.map +1 -1
  306. package/dist/react/panels/index.d.ts +1 -1
  307. package/dist/react/panels/index.js +1 -6
  308. package/dist/react/shared/ErrorBoundary.d.ts +1 -2
  309. package/dist/react/shared/ErrorBoundary.js +170 -139
  310. package/dist/react/shared/ErrorBoundary.js.map +1 -1
  311. package/dist/react/shared/Skeleton.d.ts +1 -2
  312. package/dist/react/shared/Skeleton.js +300 -301
  313. package/dist/react/shared/Skeleton.js.map +1 -1
  314. package/dist/react/theme/ThemeProvider.d.ts +2 -321
  315. package/dist/react/theme/ThemeProvider.js +313 -939
  316. package/dist/react/theme/ThemeProvider.js.map +1 -1
  317. package/dist/react/theme/cardAccent.d.ts +1 -2
  318. package/dist/react/theme/cardAccent.js +196 -126
  319. package/dist/react/theme/cardAccent.js.map +1 -1
  320. package/dist/react/theme/config.d.ts +0 -1
  321. package/dist/react/theme/config.js +47 -25
  322. package/dist/react/theme/config.js.map +1 -1
  323. package/dist/react/theme/index.d.ts +2 -2
  324. package/dist/react/theme/index.js +1 -16
  325. package/dist/react/theme/types.d.ts +332 -0
  326. package/dist/react/theme/types.js +39 -0
  327. package/dist/react/theme/types.js.map +1 -0
  328. package/dist/react/types.d.ts +8 -8
  329. package/dist/react/types.js +147 -47
  330. package/dist/react/types.js.map +1 -1
  331. package/dist/react/utils/categoryPalette.d.ts +0 -1
  332. package/dist/react/utils/categoryPalette.js +91 -102
  333. package/dist/react/utils/categoryPalette.js.map +1 -1
  334. package/dist/react/utils/index.d.ts +5 -5
  335. package/dist/react/utils/index.js +457 -371
  336. package/dist/react/utils/index.js.map +1 -1
  337. package/dist/react/visualizations/EclipseTimerCard.d.ts +0 -1
  338. package/dist/react/visualizations/LinkBudgetCard.d.ts +0 -1
  339. package/dist/react/visualizations/NavBallCard.d.ts +0 -1
  340. package/dist/react/visualizations/PropulsionCard.d.ts +1 -2
  341. package/dist/react/visualizations/SensorFootprintCard.d.ts +1 -2
  342. package/dist/react/visualizations/ThermalHeatmapCard.d.ts +0 -1
  343. package/dist/react/visualizations/index.d.ts +3 -3
  344. package/dist/react.d.ts +2 -1
  345. package/dist/react.js +17 -221
  346. package/dist/shaders/atmosphere.frag.js +6 -5
  347. package/dist/shaders/atmosphere.frag.js.map +1 -1
  348. package/dist/shaders/atmosphere.vert.js +6 -5
  349. package/dist/shaders/atmosphere.vert.js.map +1 -1
  350. package/dist/shaders/stars.frag.js +6 -5
  351. package/dist/shaders/stars.frag.js.map +1 -1
  352. package/dist/shaders/stars.vert.js +6 -5
  353. package/dist/shaders/stars.vert.js.map +1 -1
  354. package/dist/style.css +26 -3
  355. package/dist/tokens/core.d.ts +159 -0
  356. package/dist/tokens/core.js +144 -0
  357. package/dist/tokens/core.js.map +1 -0
  358. package/dist/tokens/css-vars.d.ts +213 -2
  359. package/dist/tokens/css-vars.js +590 -227
  360. package/dist/tokens/css-vars.js.map +1 -1
  361. package/dist/tokens/index.d.ts +31 -228
  362. package/dist/tokens/index.js +281 -366
  363. package/dist/tokens/index.js.map +1 -1
  364. package/dist/tokens/palettes/astro.d.ts +129 -0
  365. package/dist/tokens/palettes/astro.js +112 -0
  366. package/dist/tokens/palettes/astro.js.map +1 -0
  367. package/dist/tokens/palettes/index.d.ts +288 -0
  368. package/dist/tokens/palettes/index.js +35 -0
  369. package/dist/tokens/palettes/index.js.map +1 -0
  370. package/dist/tokens/palettes/tailwind.d.ts +324 -0
  371. package/dist/tokens/palettes/tailwind.js +201 -0
  372. package/dist/tokens/palettes/tailwind.js.map +1 -0
  373. package/dist/tokens/palettes/zendir.d.ts +126 -0
  374. package/dist/tokens/palettes/zendir.js +92 -0
  375. package/dist/tokens/palettes/zendir.js.map +1 -0
  376. package/dist/tokens/themes.d.ts +30 -0
  377. package/dist/tokens/themes.js +704 -0
  378. package/dist/tokens/themes.js.map +1 -0
  379. package/dist/tokens/tokens.css +533 -155
  380. package/dist/types/index.d.ts +2 -2
  381. package/package.json +310 -313
  382. package/dist/index.js.map +0 -1
  383. package/dist/react/3d/index.js.map +0 -1
  384. package/dist/react/astro/index.js.map +0 -1
  385. package/dist/react/cards/index.js.map +0 -1
  386. package/dist/react/charts/index.js.map +0 -1
  387. package/dist/react/core/index.js.map +0 -1
  388. package/dist/react/panels/index.js.map +0 -1
  389. package/dist/react/theme/astro-tokens.d.ts +0 -153
  390. package/dist/react/theme/index.js.map +0 -1
  391. package/dist/react.js.map +0 -1
@@ -0,0 +1 @@
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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"}