@zendir/ui 0.4.1 → 0.6.0

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 +34 -0
  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 -538
  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 +11 -5
  229. package/dist/react/core/navigation/SideNav.js +857 -602
  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 +312 -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 +217 -194
  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 +419 -41
  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
@@ -1,374 +1,289 @@
1
- const colors = {
2
- // Status Colors (Dark Theme)
3
- status: {
4
- critical: "#ff3838",
5
- serious: "#ffb302",
6
- caution: "#fce83a",
7
- normal: "#56f000",
8
- standby: "#2dccff",
9
- off: "#a4abb6"
10
- },
11
- // Status Colors (Light Theme - Fill)
12
- statusLightFill: {
13
- critical: "#ff2a04",
14
- serious: "#ffaf3d",
15
- caution: "#fad800",
16
- normal: "#00e200",
17
- standby: "#64d9ff",
18
- off: "#7b8089"
19
- },
20
- // Status Colors (Light Theme - Border)
21
- statusLightBorder: {
22
- critical: "#661102",
23
- serious: "#664618",
24
- caution: "#645600",
25
- normal: "#005a00",
26
- standby: "#285766",
27
- off: "#3c3e42"
28
- },
29
- // Background Colors
30
- background: {
31
- dark: {
32
- base: "#101923",
33
- surface: "#1b2d3e",
34
- elevated: "#243647",
35
- overlay: "rgba(0, 0, 0, 0.7)"
36
- },
37
- light: {
38
- base: "#f5f6f9",
39
- surface: "#ffffff",
40
- elevated: "#ffffff",
41
- overlay: "rgba(0, 0, 0, 0.5)"
42
- }
43
- },
44
- // Text Colors
45
- text: {
46
- dark: {
47
- primary: "#ffffff",
48
- secondary: "#9ea7ad",
49
- tertiary: "#6b7175",
50
- muted: "#52595f"
51
- },
52
- light: {
53
- primary: "#1b2d3e",
54
- secondary: "#4c5a67",
55
- tertiary: "#7a8891",
56
- muted: "#a4adb5"
57
- }
58
- },
59
- // Accent Colors
60
- accent: {
61
- primary: "#4dacff",
62
- secondary: "#3d8ddb",
63
- tertiary: "#2e6eb3"
64
- },
65
- // Border Colors
66
- border: {
67
- dark: {
68
- default: "#3c4b5a",
69
- muted: "#2b3d4e",
70
- focus: "#4dacff"
71
- },
72
- light: {
73
- default: "#c4c8cc",
74
- muted: "#e1e4e8",
75
- focus: "#4dacff"
76
- }
77
- }
78
- };
79
- const spacing = {
80
- xxs: "2px",
81
- xs: "4px",
82
- sm: "8px",
83
- smd: "12px",
84
- md: "16px",
85
- mdl: "20px",
86
- lg: "24px",
87
- xl: "32px",
88
- xxl: "48px"
89
- };
90
- const borderRadius = {
91
- none: "0",
92
- xs: "1px",
93
- sm: "2px",
94
- md: "4px",
95
- lg: "8px",
96
- /**
97
- * 12px. Sized for surfaces (Container, Card, SidePanel). Matches the
98
- * value already in use across zendir-ui components and the operator's
99
- * LandingPage. Was 16px in earlier docs — corrected here so the JS
100
- * tokens and the auto-generated CSS variables agree.
101
- */
102
- xl: "12px",
103
- full: "9999px"
104
- };
105
- const typography = {
106
- fontFamily: {
107
- /** Heading font: Sora (Zendir Brand Standard) */
108
- heading: '"Sora", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif',
109
- /** Primary font: Public Sans (Zendir Brand Standard) */
110
- primary: '"Public Sans", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif',
111
- /** Monospace font: Roboto Mono for data/code */
112
- mono: '"Roboto Mono", "SF Mono", "Consolas", "Liberation Mono", monospace'
113
- },
114
- /**
115
- * Convenience numeric scale used by ~300+ existing zendir-ui components
116
- * via `tokens.typography.fontSize.*`. Density-tuned for data-rich UIs.
117
- *
118
- * For semantically-named typographic styles (display1/2, h1-h6, body1-3,
119
- * control1) use the `display` / `heading` / `body` / `control` preset
120
- * objects on `<ThemeProvider>` instead — those follow the canonical
121
- * AstroUXDS scale.
122
- */
123
- fontSize: {
124
- // Compact sizes for dense UIs (cards, badges, data labels)
125
- micro: "0.5625rem",
126
- // 9px - very tight spaces
127
- xxs: "0.625rem",
128
- // 10px - compact labels
129
- xs: "0.625rem",
130
- // 10px - compact (alias of xxs, kept for back-compat)
131
- sm: "0.75rem",
132
- // 12px - body 3
133
- base: "0.875rem",
134
- // 14px - body 2
135
- md: "0.875rem",
136
- // 14px - body 2 (alias of base)
137
- lg: "1rem",
138
- // 16px - body 1
139
- xl: "1.25rem",
140
- // 20px - heading 3/4
141
- xxl: "1.5rem",
142
- // 24px - heading 2
143
- xxxl: "2.125rem",
144
- // 34px - heading 1
145
- display: "3.75rem"
146
- // 60px - display 1
147
- },
148
- /**
149
- * Font weights per AstroUXDS specification
150
- * Only 300, 400, 500, 700 are officially supported
151
- */
152
- fontWeight: {
153
- light: 300,
154
- normal: 400,
155
- regular: 400,
156
- // Alias for normal
157
- medium: 500,
158
- bold: 700,
159
- // DEPRECATED: semibold is not in Astro spec, use medium (500) instead
160
- /** @deprecated Use medium (500) instead - Astro spec only supports 300, 400, 500, 700 */
161
- semibold: 500
162
- },
163
- lineHeight: {
164
- tight: 1.25,
165
- normal: 1.5,
166
- relaxed: 1.75
167
- }
168
- };
169
- const shadows = {
170
- none: "none",
171
- sm: "0 1px 2px rgba(0, 0, 0, 0.3)",
172
- md: "0 2px 8px rgba(0, 0, 0, 0.3)",
173
- lg: "0 4px 16px rgba(0, 0, 0, 0.3)",
174
- xl: "0 8px 32px rgba(0, 0, 0, 0.4)",
175
- glow: "0 0 20px rgba(77, 172, 255, 0.4)"
176
- };
177
- const animation = {
178
- fast: "150ms ease",
179
- normal: "250ms ease",
180
- slow: "400ms ease"
181
- };
1
+ import { base, electricBlue, neutral, prussianBlue, ultraviolet, zendirScales, zendir_exports } from "./palettes/zendir.js";
2
+ import { amber, astroScales, astroStatus, astroStatusLightBorder, astroStatusLightFill, astro_exports, cyan, green, red, yellow } from "./palettes/astro.js";
3
+ import { tailwindScales, tailwind_exports } from "./palettes/tailwind.js";
4
+ import { allPalettes } from "./palettes/index.js";
5
+ import { astroThemeDark, astroThemeLight, hybridTheme, nebulaTheme, purpleHueTheme, transparentMinimalTheme, transparentTheme } from "./themes.js";
6
+ import { animation, borderRadius, colors, shadows, spacing, typography } from "./core.js";
7
+ //#region src/tokens/index.ts
8
+ /**
9
+ * Build a CSS rule body for the mode-invariant tokens (status, spacing,
10
+ * radius, typography, shadows, animation). These don't change between
11
+ * light/dark or across themes they're shared.
12
+ */
182
13
  function buildInvariantBlock() {
183
- return [
184
- " /* ============================================================",
185
- " * STATUS COLORS (Astro UX Compliant)",
186
- " * ============================================================ */",
187
- ` --zendir-status-critical: ${colors.status.critical};`,
188
- ` --zendir-status-serious: ${colors.status.serious};`,
189
- ` --zendir-status-caution: ${colors.status.caution};`,
190
- ` --zendir-status-normal: ${colors.status.normal};`,
191
- ` --zendir-status-standby: ${colors.status.standby};`,
192
- ` --zendir-status-off: ${colors.status.off};`,
193
- "",
194
- " /* Light-theme status fill colors */",
195
- ` --zendir-status-critical-light: ${colors.statusLightFill.critical};`,
196
- ` --zendir-status-serious-light: ${colors.statusLightFill.serious};`,
197
- ` --zendir-status-caution-light: ${colors.statusLightFill.caution};`,
198
- ` --zendir-status-normal-light: ${colors.statusLightFill.normal};`,
199
- ` --zendir-status-standby-light: ${colors.statusLightFill.standby};`,
200
- ` --zendir-status-off-light: ${colors.statusLightFill.off};`,
201
- "",
202
- " /* Light-theme status border colors */",
203
- ` --zendir-status-critical-border: ${colors.statusLightBorder.critical};`,
204
- ` --zendir-status-serious-border: ${colors.statusLightBorder.serious};`,
205
- ` --zendir-status-caution-border: ${colors.statusLightBorder.caution};`,
206
- ` --zendir-status-normal-border: ${colors.statusLightBorder.normal};`,
207
- ` --zendir-status-standby-border: ${colors.statusLightBorder.standby};`,
208
- ` --zendir-status-off-border: ${colors.statusLightBorder.off};`,
209
- "",
210
- " /* ============================================================",
211
- " * ACCENT COLORS",
212
- " * ============================================================ */",
213
- ` --zendir-accent-primary: ${colors.accent.primary};`,
214
- ` --zendir-accent-secondary: ${colors.accent.secondary};`,
215
- ` --zendir-accent-tertiary: ${colors.accent.tertiary};`,
216
- "",
217
- " /* ============================================================",
218
- " * SPACING",
219
- " * ============================================================ */",
220
- ` --zendir-spacing-xs: ${spacing.xs};`,
221
- ` --zendir-spacing-sm: ${spacing.sm};`,
222
- ` --zendir-spacing-md: ${spacing.md};`,
223
- ` --zendir-spacing-lg: ${spacing.lg};`,
224
- ` --zendir-spacing-xl: ${spacing.xl};`,
225
- ` --zendir-spacing-xxl: ${spacing.xxl};`,
226
- "",
227
- " /* ============================================================",
228
- " * BORDER RADIUS",
229
- " * ============================================================ */",
230
- ` --zendir-radius-none: ${borderRadius.none};`,
231
- ` --zendir-radius-sm: ${borderRadius.sm};`,
232
- ` --zendir-radius-md: ${borderRadius.md};`,
233
- ` --zendir-radius-lg: ${borderRadius.lg};`,
234
- ` --zendir-radius-xl: ${borderRadius.xl};`,
235
- ` --zendir-radius-full: ${borderRadius.full};`,
236
- "",
237
- " /* ============================================================",
238
- " * TYPOGRAPHY",
239
- " * Public Sans leads body, Sora leads headings, Roboto is the",
240
- " * AstroUXDS-compliant fallback. OS-native fonts complete the chain.",
241
- " * @see https://www.astrouxds.com/foundations/typography/",
242
- " * ============================================================ */",
243
- ` --zendir-font-primary: ${typography.fontFamily.primary};`,
244
- ` --zendir-font-heading: ${typography.fontFamily.heading};`,
245
- ` --zendir-font-mono: ${typography.fontFamily.mono};`,
246
- "",
247
- " /* Font sizes (rem-based, AstroUXDS scale) */",
248
- ` --zendir-font-size-micro: ${typography.fontSize.micro};`,
249
- ` --zendir-font-size-xxs: ${typography.fontSize.xxs};`,
250
- ` --zendir-font-size-xs: ${typography.fontSize.xs};`,
251
- ` --zendir-font-size-sm: ${typography.fontSize.sm};`,
252
- ` --zendir-font-size-base: ${typography.fontSize.base};`,
253
- ` --zendir-font-size-md: ${typography.fontSize.md};`,
254
- ` --zendir-font-size-lg: ${typography.fontSize.lg};`,
255
- ` --zendir-font-size-xl: ${typography.fontSize.xl};`,
256
- ` --zendir-font-size-xxl: ${typography.fontSize.xxl};`,
257
- ` --zendir-font-size-xxxl: ${typography.fontSize.xxxl};`,
258
- ` --zendir-font-size-display: ${typography.fontSize.display};`,
259
- "",
260
- " /* Font weights — AstroUXDS supports only 300/400/500/700 */",
261
- ` --zendir-font-weight-light: ${typography.fontWeight.light};`,
262
- ` --zendir-font-weight-normal: ${typography.fontWeight.normal};`,
263
- ` --zendir-font-weight-medium: ${typography.fontWeight.medium};`,
264
- ` --zendir-font-weight-bold: ${typography.fontWeight.bold};`,
265
- "",
266
- " /* Line heights */",
267
- ` --zendir-line-height-tight: ${typography.lineHeight.tight};`,
268
- ` --zendir-line-height-normal: ${typography.lineHeight.normal};`,
269
- ` --zendir-line-height-relaxed: ${typography.lineHeight.relaxed};`,
270
- "",
271
- " /* ============================================================",
272
- " * SHADOWS",
273
- " * ============================================================ */",
274
- ` --zendir-shadow-none: ${shadows.none};`,
275
- ` --zendir-shadow-sm: ${shadows.sm};`,
276
- ` --zendir-shadow-md: ${shadows.md};`,
277
- ` --zendir-shadow-lg: ${shadows.lg};`,
278
- ` --zendir-shadow-xl: ${shadows.xl};`,
279
- ` --zendir-shadow-glow: ${shadows.glow};`,
280
- "",
281
- " /* ============================================================",
282
- " * ANIMATION",
283
- " * ============================================================ */",
284
- ` --zendir-animation-fast: ${animation.fast};`,
285
- ` --zendir-animation-normal: ${animation.normal};`,
286
- ` --zendir-animation-slow: ${animation.slow};`
287
- ].join("\n");
14
+ return [
15
+ " /* ============================================================",
16
+ " * STATUS COLORS (Astro UX Compliant)",
17
+ " * ============================================================ */",
18
+ ` --zendir-status-critical: ${colors.status.critical};`,
19
+ ` --zendir-status-serious: ${colors.status.serious};`,
20
+ ` --zendir-status-caution: ${colors.status.caution};`,
21
+ ` --zendir-status-normal: ${colors.status.normal};`,
22
+ ` --zendir-status-standby: ${colors.status.standby};`,
23
+ ` --zendir-status-off: ${colors.status.off};`,
24
+ "",
25
+ " /* Light-theme status fill colors */",
26
+ ` --zendir-status-critical-light: ${colors.statusLightFill.critical};`,
27
+ ` --zendir-status-serious-light: ${colors.statusLightFill.serious};`,
28
+ ` --zendir-status-caution-light: ${colors.statusLightFill.caution};`,
29
+ ` --zendir-status-normal-light: ${colors.statusLightFill.normal};`,
30
+ ` --zendir-status-standby-light: ${colors.statusLightFill.standby};`,
31
+ ` --zendir-status-off-light: ${colors.statusLightFill.off};`,
32
+ "",
33
+ " /* Light-theme status border colors */",
34
+ ` --zendir-status-critical-border: ${colors.statusLightBorder.critical};`,
35
+ ` --zendir-status-serious-border: ${colors.statusLightBorder.serious};`,
36
+ ` --zendir-status-caution-border: ${colors.statusLightBorder.caution};`,
37
+ ` --zendir-status-normal-border: ${colors.statusLightBorder.normal};`,
38
+ ` --zendir-status-standby-border: ${colors.statusLightBorder.standby};`,
39
+ ` --zendir-status-off-border: ${colors.statusLightBorder.off};`,
40
+ "",
41
+ " /* ============================================================",
42
+ " * SPACING",
43
+ " * ============================================================ */",
44
+ ` --zendir-spacing-xs: ${spacing.xs};`,
45
+ ` --zendir-spacing-sm: ${spacing.sm};`,
46
+ ` --zendir-spacing-md: ${spacing.md};`,
47
+ ` --zendir-spacing-lg: ${spacing.lg};`,
48
+ ` --zendir-spacing-xl: ${spacing.xl};`,
49
+ ` --zendir-spacing-xxl: ${spacing.xxl};`,
50
+ "",
51
+ " /* ============================================================",
52
+ " * BORDER RADIUS",
53
+ " * ============================================================ */",
54
+ ` --zendir-radius-none: ${borderRadius.none};`,
55
+ ` --zendir-radius-sm: ${borderRadius.sm};`,
56
+ ` --zendir-radius-md: ${borderRadius.md};`,
57
+ ` --zendir-radius-lg: ${borderRadius.lg};`,
58
+ ` --zendir-radius-xl: ${borderRadius.xl};`,
59
+ ` --zendir-radius-full: ${borderRadius.full};`,
60
+ "",
61
+ " /* ============================================================",
62
+ " * TYPOGRAPHY",
63
+ " * Public Sans leads body, Sora leads headings, Roboto is the",
64
+ " * AstroUXDS-compliant fallback. OS-native fonts complete the chain.",
65
+ " * @see https://www.astrouxds.com/foundations/typography/",
66
+ " * ============================================================ */",
67
+ ` --zendir-font-primary: ${typography.fontFamily.primary};`,
68
+ ` --zendir-font-heading: ${typography.fontFamily.heading};`,
69
+ ` --zendir-font-mono: ${typography.fontFamily.mono};`,
70
+ "",
71
+ " /* Font sizes (rem-based, AstroUXDS scale) */",
72
+ ` --zendir-font-size-micro: ${typography.fontSize.micro};`,
73
+ ` --zendir-font-size-xxs: ${typography.fontSize.xxs};`,
74
+ ` --zendir-font-size-xs: ${typography.fontSize.xs};`,
75
+ ` --zendir-font-size-sm: ${typography.fontSize.sm};`,
76
+ ` --zendir-font-size-base: ${typography.fontSize.base};`,
77
+ ` --zendir-font-size-md: ${typography.fontSize.md};`,
78
+ ` --zendir-font-size-lg: ${typography.fontSize.lg};`,
79
+ ` --zendir-font-size-xl: ${typography.fontSize.xl};`,
80
+ ` --zendir-font-size-xxl: ${typography.fontSize.xxl};`,
81
+ ` --zendir-font-size-xxxl: ${typography.fontSize.xxxl};`,
82
+ ` --zendir-font-size-display: ${typography.fontSize.display};`,
83
+ "",
84
+ " /* Font weights — AstroUXDS supports only 300/400/500/700 */",
85
+ ` --zendir-font-weight-light: ${typography.fontWeight.light};`,
86
+ ` --zendir-font-weight-normal: ${typography.fontWeight.normal};`,
87
+ ` --zendir-font-weight-medium: ${typography.fontWeight.medium};`,
88
+ ` --zendir-font-weight-semibold: ${typography.fontWeight.semibold};`,
89
+ ` --zendir-font-weight-bold: ${typography.fontWeight.bold};`,
90
+ "",
91
+ " /* Line heights */",
92
+ ` --zendir-line-height-tight: ${typography.lineHeight.tight};`,
93
+ ` --zendir-line-height-normal: ${typography.lineHeight.normal};`,
94
+ ` --zendir-line-height-relaxed: ${typography.lineHeight.relaxed};`,
95
+ "",
96
+ " /* ============================================================",
97
+ " * SHADOWS",
98
+ " * ============================================================ */",
99
+ ` --zendir-shadow-none: ${shadows.none};`,
100
+ ` --zendir-shadow-sm: ${shadows.sm};`,
101
+ ` --zendir-shadow-md: ${shadows.md};`,
102
+ ` --zendir-shadow-lg: ${shadows.lg};`,
103
+ ` --zendir-shadow-xl: ${shadows.xl};`,
104
+ ` --zendir-shadow-glow: ${shadows.glow};`,
105
+ "",
106
+ " /* ============================================================",
107
+ " * ANIMATION",
108
+ " * ============================================================ */",
109
+ ` --zendir-animation-fast: ${animation.fast};`,
110
+ ` --zendir-animation-normal: ${animation.normal};`,
111
+ ` --zendir-animation-slow: ${animation.slow};`
112
+ ].join("\n");
288
113
  }
289
- function buildModeBlock(mode) {
290
- const bg = colors.background[mode];
291
- const txt = colors.text[mode];
292
- const bdr = colors.border[mode];
293
- return [
294
- ` --zendir-bg-base: ${bg.base};`,
295
- ` --zendir-bg-surface: ${bg.surface};`,
296
- ` --zendir-bg-elevated: ${bg.elevated};`,
297
- ` --zendir-bg-overlay: ${bg.overlay};`,
298
- "",
299
- ` --zendir-text-primary: ${txt.primary};`,
300
- ` --zendir-text-secondary: ${txt.secondary};`,
301
- ` --zendir-text-tertiary: ${txt.tertiary};`,
302
- ` --zendir-text-muted: ${txt.muted};`,
303
- "",
304
- ` --zendir-border-default: ${bdr.default};`,
305
- ` --zendir-border-muted: ${bdr.muted};`,
306
- ` --zendir-border-focus: ${bdr.focus};`
307
- ].join("\n");
114
+ /** Build the mode-specific block (background + text + border + accent + semantic). */
115
+ function buildModeBlock(theme) {
116
+ const bg = theme.colors.background;
117
+ const txt = theme.colors.text;
118
+ const bdr = theme.colors.border;
119
+ const accent = theme.colors.accent;
120
+ const semantic = theme.colors.semantic;
121
+ return [
122
+ ` --zendir-bg-base: ${bg.base};`,
123
+ ` --zendir-bg-surface: ${bg.surface};`,
124
+ ` --zendir-bg-elevated: ${bg.elevated};`,
125
+ ` --zendir-bg-overlay: ${bg.overlay};`,
126
+ "",
127
+ ` --zendir-text-primary: ${txt.primary};`,
128
+ ` --zendir-text-secondary: ${txt.secondary};`,
129
+ ` --zendir-text-tertiary: ${txt.tertiary};`,
130
+ ` --zendir-text-muted: ${txt.muted || txt.tertiary};`,
131
+ "",
132
+ ` --zendir-border-default: ${bdr.default};`,
133
+ ` --zendir-border-muted: ${bdr.muted};`,
134
+ ` --zendir-border-focus: ${bdr.focus};`,
135
+ "",
136
+ ` --zendir-accent-primary: ${accent.primary};`,
137
+ ` --zendir-accent-secondary: ${accent.secondary};`,
138
+ ` --zendir-accent-tertiary: ${accent.tertiary};`,
139
+ "",
140
+ ` --zendir-semantic-success: ${semantic.success};`,
141
+ ` --zendir-semantic-warning: ${semantic.warning};`,
142
+ ` --zendir-semantic-error: ${semantic.error};`,
143
+ ` --zendir-semantic-info: ${semantic.info};`
144
+ ].join("\n");
308
145
  }
146
+ /**
147
+ * Emit every primitive palette stop as a CSS variable. Mode-invariant by
148
+ * definition — primitives never change with theme. Naming:
149
+ * Zendir scales --zendir-eb-500 / --zendir-pb-500 / --zendir-uv-500 /
150
+ * --zendir-neutral-500
151
+ * Astro ramps --zendir-astro-red-500 … --zendir-astro-cyan-900
152
+ * Tailwind v4.2 --zendir-tw-red-500 … --zendir-tw-neutral-950
153
+ */
154
+ function buildPaletteBlock() {
155
+ const lines = [];
156
+ const emit = (prefix, scale) => {
157
+ for (const [stop, hex] of Object.entries(scale)) lines.push(` --zendir-${prefix}-${stop}: ${hex};`);
158
+ };
159
+ lines.push(" /* Zendir Colour System */");
160
+ emit("eb", electricBlue);
161
+ emit("pb", prussianBlue);
162
+ emit("uv", ultraviolet);
163
+ emit("neutral", neutral);
164
+ lines.push("");
165
+ lines.push(" /* Astro UXDS status ramps */");
166
+ emit("astro-red", red);
167
+ emit("astro-amber", amber);
168
+ emit("astro-yellow", yellow);
169
+ emit("astro-green", green);
170
+ emit("astro-cyan", cyan);
171
+ lines.push("");
172
+ lines.push(" /* Tailwind CSS v4.2 */");
173
+ for (const [name, scale] of Object.entries(tailwindScales)) emit(`tw-${name.toLowerCase()}`, scale);
174
+ return lines.join("\n");
175
+ }
176
+ /**
177
+ * Single-mode generator. Emits one `:root { … }` block with the
178
+ * mode-invariant tokens AND the chosen mode's bg/text/border.
179
+ *
180
+ * Useful for runtime injection — `<style>` tags written by SSR helpers
181
+ * that target a single mode. The full stylesheet generator below is what
182
+ * ships to consumers.
183
+ */
309
184
  function generateCSSVariables(mode = "dark") {
310
- return [
311
- ":root {",
312
- buildInvariantBlock(),
313
- "",
314
- ` /* ${mode === "dark" ? "Dark" : "Light"}-theme color overrides */`,
315
- buildModeBlock(mode),
316
- "}"
317
- ].join("\n");
185
+ return [
186
+ ":root {",
187
+ buildInvariantBlock(),
188
+ "",
189
+ ` /* ${mode === "dark" ? "Dark" : "Light"}-theme color overrides */`,
190
+ buildModeBlock(mode === "dark" ? hybridTheme : astroThemeLight),
191
+ "}"
192
+ ].join("\n");
318
193
  }
194
+ /**
195
+ * Full stylesheet generator. Emits the complete tokens.css equivalent —
196
+ * mode-invariant `:root` block, the primitive palette block, plus per-theme
197
+ * `[data-theme="…"]` overrides. This is what scripts/build-tokens.ts writes
198
+ * to src/tokens/tokens.css.
199
+ */
319
200
  function generateCSSStylesheet() {
320
- return [
321
- "/**",
322
- " * @zendir/ui — CSS Design Tokens",
323
- " *",
324
- " * AUTO-GENERATED from src/tokens/index.ts. DO NOT EDIT BY HAND.",
325
- " * Regenerate with: npm run build:tokens",
326
- " *",
327
- " * Usage:",
328
- " * @import '@zendir/ui/tokens/css';",
329
- " * .my-component { background: var(--zendir-bg-surface); }",
330
- " */",
331
- "",
332
- ":root {",
333
- buildInvariantBlock(),
334
- "}",
335
- "",
336
- "/* ============================================================",
337
- " * DARK THEME (default)",
338
- " * ============================================================ */",
339
- ":root,",
340
- '[data-theme="dark"] {',
341
- buildModeBlock("dark"),
342
- "}",
343
- "",
344
- "/* ============================================================",
345
- " * LIGHT THEME",
346
- " * ============================================================ */",
347
- '[data-theme="light"] {',
348
- buildModeBlock("light"),
349
- "}",
350
- ""
351
- ].join("\n");
201
+ return [
202
+ "/**",
203
+ " * @zendir/ui — CSS Design Tokens",
204
+ " *",
205
+ " * AUTO-GENERATED from src/tokens/index.ts. DO NOT EDIT BY HAND.",
206
+ " * Regenerate with: npm run build:tokens",
207
+ " *",
208
+ " * Usage:",
209
+ " * @import '@zendir/ui/tokens/css';",
210
+ " * .my-component { background: var(--zendir-bg-surface); }",
211
+ " */",
212
+ "",
213
+ ":root {",
214
+ buildInvariantBlock(),
215
+ "}",
216
+ "",
217
+ "/* ============================================================",
218
+ " * PRIMITIVE PALETTES (Layer 0 — src/tokens/palettes)",
219
+ " * Raw scales; prefer the semantic tokens above for UI surfaces.",
220
+ " * ============================================================ */",
221
+ ":root {",
222
+ buildPaletteBlock(),
223
+ "}",
224
+ "",
225
+ "/* ============================================================",
226
+ " * ZEN (HYBRID) THEME (default)",
227
+ " * ============================================================ */",
228
+ ":root,",
229
+ "[data-theme=\"hybrid\"],",
230
+ "[data-theme=\"dark\"] {",
231
+ buildModeBlock(hybridTheme),
232
+ "}",
233
+ "",
234
+ "/* ============================================================",
235
+ " * ASTRO THEME",
236
+ " * ============================================================ */",
237
+ "[data-theme=\"astro\"] {",
238
+ buildModeBlock(astroThemeDark),
239
+ "}",
240
+ "",
241
+ "[data-theme=\"astro\"][data-mode=\"light\"],",
242
+ "[data-theme=\"hybrid\"][data-mode=\"light\"],",
243
+ "[data-theme=\"nebula\"][data-mode=\"light\"],",
244
+ "[data-theme=\"purple-hue\"][data-mode=\"light\"],",
245
+ "[data-theme=\"light\"] {",
246
+ buildModeBlock(astroThemeLight),
247
+ "}",
248
+ "",
249
+ "/* ============================================================",
250
+ " * NEBULA THEME",
251
+ " * ============================================================ */",
252
+ "[data-theme=\"nebula\"] {",
253
+ buildModeBlock(nebulaTheme),
254
+ "}",
255
+ "",
256
+ "/* ============================================================",
257
+ " * PURPLE HUE THEME",
258
+ " * ============================================================ */",
259
+ "[data-theme=\"purple-hue\"] {",
260
+ buildModeBlock(purpleHueTheme),
261
+ "}",
262
+ "",
263
+ "/* ============================================================",
264
+ " * TRANSPARENT THEMES",
265
+ " * ============================================================ */",
266
+ "[data-theme=\"transparent\"], [data-theme=\"transparent-bold\"] {",
267
+ buildModeBlock(transparentTheme),
268
+ "}",
269
+ "",
270
+ "[data-theme=\"transparent-minimal\"] {",
271
+ buildModeBlock(transparentMinimalTheme),
272
+ "}",
273
+ ""
274
+ ].join("\n");
352
275
  }
353
- const index = {
354
- colors,
355
- spacing,
356
- borderRadius,
357
- typography,
358
- shadows,
359
- animation,
360
- generateCSSVariables,
361
- generateCSSStylesheet
362
- };
363
- export {
364
- animation,
365
- borderRadius,
366
- colors,
367
- index as default,
368
- generateCSSStylesheet,
369
- generateCSSVariables,
370
- shadows,
371
- spacing,
372
- typography
276
+ var tokens_default = {
277
+ colors,
278
+ spacing,
279
+ borderRadius,
280
+ typography,
281
+ shadows,
282
+ animation,
283
+ generateCSSVariables,
284
+ generateCSSStylesheet
373
285
  };
374
- //# sourceMappingURL=index.js.map
286
+ //#endregion
287
+ export { allPalettes, animation, astroScales, astroStatus, astroStatusLightBorder, astroStatusLightFill, astro_exports as astroUxds, borderRadius, colors, tokens_default as default, electricBlue, generateCSSStylesheet, generateCSSVariables, prussianBlue, shadows, spacing, tailwind_exports as tailwind, tailwindScales, typography, ultraviolet, zendir_exports as zendir, base as zendirBase, neutral as zendirNeutral, zendirScales };
288
+
289
+ //# sourceMappingURL=index.js.map