@zendir/ui 0.1.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 (359) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/LICENSE +21 -0
  3. package/README.md +589 -0
  4. package/dist/index.d.ts +8 -0
  5. package/dist/index.js +421 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/react/3d/EarthViewer.d.ts +46 -0
  8. package/dist/react/3d/EarthViewer.js +836 -0
  9. package/dist/react/3d/EarthViewer.js.map +1 -0
  10. package/dist/react/3d/SolarSystemViewer.d.ts +43 -0
  11. package/dist/react/3d/SolarSystemViewer.js +372 -0
  12. package/dist/react/3d/SolarSystemViewer.js.map +1 -0
  13. package/dist/react/3d/ZenSpace3D.d.ts +16 -0
  14. package/dist/react/3d/ZenSpace3D.js +1253 -0
  15. package/dist/react/3d/ZenSpace3D.js.map +1 -0
  16. package/dist/react/3d/ZenSpace3DCesium.d.ts +9 -0
  17. package/dist/react/3d/ZenSpace3DCesium.js +186 -0
  18. package/dist/react/3d/ZenSpace3DCesium.js.map +1 -0
  19. package/dist/react/3d/ZenSpace3DShaders.d.ts +78 -0
  20. package/dist/react/3d/ZenSpace3DShaders.js +94 -0
  21. package/dist/react/3d/ZenSpace3DShaders.js.map +1 -0
  22. package/dist/react/3d/ZenSpace3DTypes.d.ts +614 -0
  23. package/dist/react/3d/ZenSpace3DUtils.d.ts +183 -0
  24. package/dist/react/3d/ZenSpace3DUtils.js +213 -0
  25. package/dist/react/3d/ZenSpace3DUtils.js.map +1 -0
  26. package/dist/react/3d/index.d.ts +23 -0
  27. package/dist/react/3d/threeLoader.d.ts +22 -0
  28. package/dist/react/3d/threeLoader.js +18 -0
  29. package/dist/react/3d/threeLoader.js.map +1 -0
  30. package/dist/react/astro/ClassificationBanner.d.ts +25 -0
  31. package/dist/react/astro/ClassificationBanner.js +83 -0
  32. package/dist/react/astro/ClassificationBanner.js.map +1 -0
  33. package/dist/react/astro/GlobalStatusBar.d.ts +42 -0
  34. package/dist/react/astro/GlobalStatusBar.js +165 -0
  35. package/dist/react/astro/GlobalStatusBar.js.map +1 -0
  36. package/dist/react/astro/MissionClock.d.ts +169 -0
  37. package/dist/react/astro/MissionClock.js +411 -0
  38. package/dist/react/astro/MissionClock.js.map +1 -0
  39. package/dist/react/astro/MonitoringIcon.d.ts +60 -0
  40. package/dist/react/astro/MonitoringIcon.js +369 -0
  41. package/dist/react/astro/MonitoringIcon.js.map +1 -0
  42. package/dist/react/astro/Notification.d.ts +42 -0
  43. package/dist/react/astro/Notification.js +156 -0
  44. package/dist/react/astro/Notification.js.map +1 -0
  45. package/dist/react/astro/Progress.d.ts +39 -0
  46. package/dist/react/astro/Progress.js +149 -0
  47. package/dist/react/astro/Progress.js.map +1 -0
  48. package/dist/react/astro/SimulationControls.d.ts +136 -0
  49. package/dist/react/astro/SimulationControls.js +668 -0
  50. package/dist/react/astro/SimulationControls.js.map +1 -0
  51. package/dist/react/astro/StatusIndicator.d.ts +34 -0
  52. package/dist/react/astro/StatusIndicator.js +189 -0
  53. package/dist/react/astro/StatusIndicator.js.map +1 -0
  54. package/dist/react/astro/UnifiedTimeline.d.ts +106 -0
  55. package/dist/react/astro/UnifiedTimeline.js +1768 -0
  56. package/dist/react/astro/UnifiedTimeline.js.map +1 -0
  57. package/dist/react/astro/index.d.ts +63 -0
  58. package/dist/react/cards/AccessCard.d.ts +37 -0
  59. package/dist/react/cards/AccessCard.js +410 -0
  60. package/dist/react/cards/AccessCard.js.map +1 -0
  61. package/dist/react/cards/OrbitCard.d.ts +31 -0
  62. package/dist/react/cards/OrbitCard.js +372 -0
  63. package/dist/react/cards/OrbitCard.js.map +1 -0
  64. package/dist/react/cards/SpacecraftCard.d.ts +54 -0
  65. package/dist/react/cards/SpacecraftCard.js +941 -0
  66. package/dist/react/cards/SpacecraftCard.js.map +1 -0
  67. package/dist/react/cards/TelemetryCard.d.ts +40 -0
  68. package/dist/react/cards/TelemetryCard.js +742 -0
  69. package/dist/react/cards/TelemetryCard.js.map +1 -0
  70. package/dist/react/cards/TelemetryStreamCard.d.ts +59 -0
  71. package/dist/react/cards/TelemetryStreamCard.js +309 -0
  72. package/dist/react/cards/TelemetryStreamCard.js.map +1 -0
  73. package/dist/react/cards/index.d.ts +13 -0
  74. package/dist/react/charts/GroundTrackMap.d.ts +112 -0
  75. package/dist/react/charts/GroundTrackMap.js +1123 -0
  76. package/dist/react/charts/GroundTrackMap.js.map +1 -0
  77. package/dist/react/charts/GroundTrackMapLeaflet.d.ts +26 -0
  78. package/dist/react/charts/GroundTrackMapLeaflet.js +571 -0
  79. package/dist/react/charts/GroundTrackMapLeaflet.js.map +1 -0
  80. package/dist/react/charts/groundTrackMapLeafletTiles.d.ts +22 -0
  81. package/dist/react/charts/groundTrackMapLeafletTiles.js +11 -0
  82. package/dist/react/charts/groundTrackMapLeafletTiles.js.map +1 -0
  83. package/dist/react/charts/groundTrackMapLeafletUtils.d.ts +24 -0
  84. package/dist/react/charts/groundTrackMapLeafletUtils.js +109 -0
  85. package/dist/react/charts/groundTrackMapLeafletUtils.js.map +1 -0
  86. package/dist/react/charts/index.d.ts +10 -0
  87. package/dist/react/charts/unified/AstroChart.d.ts +24 -0
  88. package/dist/react/charts/unified/AstroChart.js +1405 -0
  89. package/dist/react/charts/unified/AstroChart.js.map +1 -0
  90. package/dist/react/charts/unified/PowerOverviewChart.d.ts +73 -0
  91. package/dist/react/charts/unified/PowerOverviewChart.js +488 -0
  92. package/dist/react/charts/unified/PowerOverviewChart.js.map +1 -0
  93. package/dist/react/charts/unified/domain.d.ts +845 -0
  94. package/dist/react/charts/unified/domain.js +3168 -0
  95. package/dist/react/charts/unified/domain.js.map +1 -0
  96. package/dist/react/charts/unified/generators.d.ts +276 -0
  97. package/dist/react/charts/unified/generators.js +518 -0
  98. package/dist/react/charts/unified/generators.js.map +1 -0
  99. package/dist/react/charts/unified/index.d.ts +55 -0
  100. package/dist/react/charts/unified/presets.d.ts +290 -0
  101. package/dist/react/charts/unified/presets.js +999 -0
  102. package/dist/react/charts/unified/presets.js.map +1 -0
  103. package/dist/react/charts/unified/sync.d.ts +69 -0
  104. package/dist/react/charts/unified/sync.js +219 -0
  105. package/dist/react/charts/unified/sync.js.map +1 -0
  106. package/dist/react/charts/unified/theme.d.ts +447 -0
  107. package/dist/react/charts/unified/theme.js +562 -0
  108. package/dist/react/charts/unified/theme.js.map +1 -0
  109. package/dist/react/charts/unified/types.d.ts +826 -0
  110. package/dist/react/charts/unified/useChartStream.d.ts +58 -0
  111. package/dist/react/charts/unified/useChartStream.js +226 -0
  112. package/dist/react/charts/unified/useChartStream.js.map +1 -0
  113. package/dist/react/chatgpt/AppCard.d.ts +59 -0
  114. package/dist/react/chatgpt/AppCard.js +306 -0
  115. package/dist/react/chatgpt/AppCard.js.map +1 -0
  116. package/dist/react/chatgpt/ChatGPTCard.d.ts +6 -0
  117. package/dist/react/chatgpt/index.d.ts +167 -0
  118. package/dist/react/chatgpt/index.js +166 -0
  119. package/dist/react/chatgpt/index.js.map +1 -0
  120. package/dist/react/context/DisplaySettingsContext.d.ts +107 -0
  121. package/dist/react/context/DisplaySettingsContext.js +169 -0
  122. package/dist/react/context/DisplaySettingsContext.js.map +1 -0
  123. package/dist/react/context/index.d.ts +5 -0
  124. package/dist/react/core/ActivityPlanner.d.ts +45 -0
  125. package/dist/react/core/ActivityPlanner.js +532 -0
  126. package/dist/react/core/ActivityPlanner.js.map +1 -0
  127. package/dist/react/core/AppBar.d.ts +71 -0
  128. package/dist/react/core/AppBar.js +817 -0
  129. package/dist/react/core/AppBar.js.map +1 -0
  130. package/dist/react/core/AstroIcon.d.ts +84 -0
  131. package/dist/react/core/AstroIcon.js +1243 -0
  132. package/dist/react/core/AstroIcon.js.map +1 -0
  133. package/dist/react/core/Badge.d.ts +27 -0
  134. package/dist/react/core/Badge.js +134 -0
  135. package/dist/react/core/Badge.js.map +1 -0
  136. package/dist/react/core/Button.d.ts +26 -0
  137. package/dist/react/core/Button.js +306 -0
  138. package/dist/react/core/Button.js.map +1 -0
  139. package/dist/react/core/CardHeader.d.ts +34 -0
  140. package/dist/react/core/CardHeader.js +316 -0
  141. package/dist/react/core/CardHeader.js.map +1 -0
  142. package/dist/react/core/ChatPanel.d.ts +627 -0
  143. package/dist/react/core/ChatPanel.js +1144 -0
  144. package/dist/react/core/ChatPanel.js.map +1 -0
  145. package/dist/react/core/Checkbox.d.ts +26 -0
  146. package/dist/react/core/Checkbox.js +130 -0
  147. package/dist/react/core/Checkbox.js.map +1 -0
  148. package/dist/react/core/ColorPickerPanel.d.ts +25 -0
  149. package/dist/react/core/ColorPickerPanel.js +293 -0
  150. package/dist/react/core/ColorPickerPanel.js.map +1 -0
  151. package/dist/react/core/CommandBuilder.d.ts +74 -0
  152. package/dist/react/core/CommandBuilder.js +518 -0
  153. package/dist/react/core/CommandBuilder.js.map +1 -0
  154. package/dist/react/core/ConfirmDialog.d.ts +45 -0
  155. package/dist/react/core/ConfirmDialog.js +315 -0
  156. package/dist/react/core/ConfirmDialog.js.map +1 -0
  157. package/dist/react/core/ConnectionForm.d.ts +57 -0
  158. package/dist/react/core/ConnectionForm.js +496 -0
  159. package/dist/react/core/ConnectionForm.js.map +1 -0
  160. package/dist/react/core/Container.d.ts +51 -0
  161. package/dist/react/core/Container.js +670 -0
  162. package/dist/react/core/Container.js.map +1 -0
  163. package/dist/react/core/CopyButton.d.ts +39 -0
  164. package/dist/react/core/CopyButton.js +105 -0
  165. package/dist/react/core/CopyButton.js.map +1 -0
  166. package/dist/react/core/DataTable.d.ts +113 -0
  167. package/dist/react/core/DataTable.js +446 -0
  168. package/dist/react/core/DataTable.js.map +1 -0
  169. package/dist/react/core/DataValue.d.ts +64 -0
  170. package/dist/react/core/DataValue.js +545 -0
  171. package/dist/react/core/DataValue.js.map +1 -0
  172. package/dist/react/core/Dialog.d.ts +32 -0
  173. package/dist/react/core/Dialog.js +201 -0
  174. package/dist/react/core/Dialog.js.map +1 -0
  175. package/dist/react/core/FileExplorer.d.ts +65 -0
  176. package/dist/react/core/FileExplorer.js +520 -0
  177. package/dist/react/core/FileExplorer.js.map +1 -0
  178. package/dist/react/core/GlassCard.d.ts +129 -0
  179. package/dist/react/core/GlassCard.js +375 -0
  180. package/dist/react/core/GlassCard.js.map +1 -0
  181. package/dist/react/core/HeaderIconWithStatus.d.ts +39 -0
  182. package/dist/react/core/HeaderIconWithStatus.js +157 -0
  183. package/dist/react/core/HeaderIconWithStatus.js.map +1 -0
  184. package/dist/react/core/HexViewer.d.ts +143 -0
  185. package/dist/react/core/HexViewer.js +1106 -0
  186. package/dist/react/core/HexViewer.js.map +1 -0
  187. package/dist/react/core/Icon.d.ts +32 -0
  188. package/dist/react/core/Icon.js +142 -0
  189. package/dist/react/core/Icon.js.map +1 -0
  190. package/dist/react/core/ImageGallery.d.ts +41 -0
  191. package/dist/react/core/ImageGallery.js +320 -0
  192. package/dist/react/core/ImageGallery.js.map +1 -0
  193. package/dist/react/core/Input.d.ts +38 -0
  194. package/dist/react/core/Input.js +288 -0
  195. package/dist/react/core/Input.js.map +1 -0
  196. package/dist/react/core/LimitsBar.d.ts +51 -0
  197. package/dist/react/core/LimitsBar.js +200 -0
  198. package/dist/react/core/LimitsBar.js.map +1 -0
  199. package/dist/react/core/LogViewer.d.ts +61 -0
  200. package/dist/react/core/LogViewer.js +599 -0
  201. package/dist/react/core/LogViewer.js.map +1 -0
  202. package/dist/react/core/MessageStream.d.ts +58 -0
  203. package/dist/react/core/MessageStream.js +455 -0
  204. package/dist/react/core/MessageStream.js.map +1 -0
  205. package/dist/react/core/MissionCalendar.d.ts +81 -0
  206. package/dist/react/core/MissionCalendar.js +1049 -0
  207. package/dist/react/core/MissionCalendar.js.map +1 -0
  208. package/dist/react/core/NumberInput.d.ts +85 -0
  209. package/dist/react/core/NumberInput.js +507 -0
  210. package/dist/react/core/NumberInput.js.map +1 -0
  211. package/dist/react/core/PacketViewer.d.ts +73 -0
  212. package/dist/react/core/PacketViewer.js +431 -0
  213. package/dist/react/core/PacketViewer.js.map +1 -0
  214. package/dist/react/core/Pagination.d.ts +30 -0
  215. package/dist/react/core/Pagination.js +190 -0
  216. package/dist/react/core/Pagination.js.map +1 -0
  217. package/dist/react/core/PinInput.d.ts +41 -0
  218. package/dist/react/core/PinInput.js +210 -0
  219. package/dist/react/core/PinInput.js.map +1 -0
  220. package/dist/react/core/Popover.d.ts +55 -0
  221. package/dist/react/core/Popover.js +288 -0
  222. package/dist/react/core/Popover.js.map +1 -0
  223. package/dist/react/core/Select.d.ts +42 -0
  224. package/dist/react/core/Select.js +303 -0
  225. package/dist/react/core/Select.js.map +1 -0
  226. package/dist/react/core/SideNav.d.ts +103 -0
  227. package/dist/react/core/SideNav.js +551 -0
  228. package/dist/react/core/SideNav.js.map +1 -0
  229. package/dist/react/core/SidePanel.d.ts +33 -0
  230. package/dist/react/core/SidePanel.js +199 -0
  231. package/dist/react/core/SidePanel.js.map +1 -0
  232. package/dist/react/core/Tabs.d.ts +47 -0
  233. package/dist/react/core/Tabs.js +129 -0
  234. package/dist/react/core/Tabs.js.map +1 -0
  235. package/dist/react/core/Toast.d.ts +56 -0
  236. package/dist/react/core/Toast.js +229 -0
  237. package/dist/react/core/Toast.js.map +1 -0
  238. package/dist/react/core/Toggle.d.ts +22 -0
  239. package/dist/react/core/Toggle.js +151 -0
  240. package/dist/react/core/Toggle.js.map +1 -0
  241. package/dist/react/core/Tooltip.d.ts +19 -0
  242. package/dist/react/core/Tooltip.js +179 -0
  243. package/dist/react/core/Tooltip.js.map +1 -0
  244. package/dist/react/core/Typography.d.ts +127 -0
  245. package/dist/react/core/Typography.js +187 -0
  246. package/dist/react/core/Typography.js.map +1 -0
  247. package/dist/react/core/index.d.ts +108 -0
  248. package/dist/react/core/layout/Box.d.ts +77 -0
  249. package/dist/react/core/layout/Box.js +126 -0
  250. package/dist/react/core/layout/Box.js.map +1 -0
  251. package/dist/react/core/layout/Center.d.ts +20 -0
  252. package/dist/react/core/layout/Center.js +34 -0
  253. package/dist/react/core/layout/Center.js.map +1 -0
  254. package/dist/react/core/layout/Divider.d.ts +16 -0
  255. package/dist/react/core/layout/Divider.js +108 -0
  256. package/dist/react/core/layout/Divider.js.map +1 -0
  257. package/dist/react/core/layout/Flex.d.ts +30 -0
  258. package/dist/react/core/layout/Flex.js +128 -0
  259. package/dist/react/core/layout/Flex.js.map +1 -0
  260. package/dist/react/core/layout/Grid.d.ts +36 -0
  261. package/dist/react/core/layout/Grid.js +142 -0
  262. package/dist/react/core/layout/Grid.js.map +1 -0
  263. package/dist/react/core/layout/Spacer.d.ts +8 -0
  264. package/dist/react/core/layout/Spacer.js +31 -0
  265. package/dist/react/core/layout/Spacer.js.map +1 -0
  266. package/dist/react/core/layout/Stack.d.ts +54 -0
  267. package/dist/react/core/layout/Stack.js +74 -0
  268. package/dist/react/core/layout/Stack.js.map +1 -0
  269. package/dist/react/core/layout/index.d.ts +38 -0
  270. package/dist/react/core/layout/responsive.d.ts +23 -0
  271. package/dist/react/core/layout/responsive.js +26 -0
  272. package/dist/react/core/layout/responsive.js.map +1 -0
  273. package/dist/react/core/layout/useBreakpoint.d.ts +77 -0
  274. package/dist/react/core/layout/useBreakpoint.js +73 -0
  275. package/dist/react/core/layout/useBreakpoint.js.map +1 -0
  276. package/dist/react/core/propertyConfig.d.ts +443 -0
  277. package/dist/react/core/propertyConfig.js +399 -0
  278. package/dist/react/core/propertyConfig.js.map +1 -0
  279. package/dist/react/hooks/index.d.ts +21 -0
  280. package/dist/react/hooks/useAccessWindows.d.ts +66 -0
  281. package/dist/react/hooks/useCompactMode.d.ts +82 -0
  282. package/dist/react/hooks/useCompactMode.js +62 -0
  283. package/dist/react/hooks/useCompactMode.js.map +1 -0
  284. package/dist/react/hooks/useLiveSelection.d.ts +57 -0
  285. package/dist/react/hooks/useSimulationPlayback.d.ts +97 -0
  286. package/dist/react/hooks/useSimulationTime.d.ts +61 -0
  287. package/dist/react/hooks/useSpacecraftPosition.d.ts +50 -0
  288. package/dist/react/hooks/useSpacecraftPosition.js +89 -0
  289. package/dist/react/hooks/useSpacecraftPosition.js.map +1 -0
  290. package/dist/react/hooks/useTelemetry.d.ts +55 -0
  291. package/dist/react/hooks/useTelemetry.js +73 -0
  292. package/dist/react/hooks/useTelemetry.js.map +1 -0
  293. package/dist/react/hooks/useZendirSession.d.ts +109 -0
  294. package/dist/react/hooks/useZendirSession.js +148 -0
  295. package/dist/react/hooks/useZendirSession.js.map +1 -0
  296. package/dist/react/index.d.ts +74 -0
  297. package/dist/react/shared/ErrorBoundary.d.ts +63 -0
  298. package/dist/react/shared/ErrorBoundary.js +142 -0
  299. package/dist/react/shared/ErrorBoundary.js.map +1 -0
  300. package/dist/react/shared/Skeleton.d.ts +110 -0
  301. package/dist/react/shared/Skeleton.js +324 -0
  302. package/dist/react/shared/Skeleton.js.map +1 -0
  303. package/dist/react/shared/index.d.ts +12 -0
  304. package/dist/react/theme/ThemeProvider.d.ts +385 -0
  305. package/dist/react/theme/ThemeProvider.js +1096 -0
  306. package/dist/react/theme/ThemeProvider.js.map +1 -0
  307. package/dist/react/theme/astro-tokens.d.ts +153 -0
  308. package/dist/react/theme/cardAccent.d.ts +75 -0
  309. package/dist/react/theme/cardAccent.js +137 -0
  310. package/dist/react/theme/cardAccent.js.map +1 -0
  311. package/dist/react/theme/config.d.ts +39 -0
  312. package/dist/react/theme/index.d.ts +9 -0
  313. package/dist/react/types.d.ts +360 -0
  314. package/dist/react/types.js +58 -0
  315. package/dist/react/types.js.map +1 -0
  316. package/dist/react/utils/index.d.ts +247 -0
  317. package/dist/react/utils/index.js +423 -0
  318. package/dist/react/utils/index.js.map +1 -0
  319. package/dist/react/visualizations/EclipseTimerCard.d.ts +17 -0
  320. package/dist/react/visualizations/EclipseTimerCard.js +250 -0
  321. package/dist/react/visualizations/EclipseTimerCard.js.map +1 -0
  322. package/dist/react/visualizations/LinkBudgetCard.d.ts +50 -0
  323. package/dist/react/visualizations/LinkBudgetCard.js +444 -0
  324. package/dist/react/visualizations/LinkBudgetCard.js.map +1 -0
  325. package/dist/react/visualizations/NavBallCard.d.ts +17 -0
  326. package/dist/react/visualizations/NavBallCard.js +243 -0
  327. package/dist/react/visualizations/NavBallCard.js.map +1 -0
  328. package/dist/react/visualizations/PropulsionCard.d.ts +37 -0
  329. package/dist/react/visualizations/PropulsionCard.js +298 -0
  330. package/dist/react/visualizations/PropulsionCard.js.map +1 -0
  331. package/dist/react/visualizations/SensorFootprintCard.d.ts +33 -0
  332. package/dist/react/visualizations/SensorFootprintCard.js +326 -0
  333. package/dist/react/visualizations/SensorFootprintCard.js.map +1 -0
  334. package/dist/react/visualizations/ThermalHeatmapCard.d.ts +38 -0
  335. package/dist/react/visualizations/ThermalHeatmapCard.js +372 -0
  336. package/dist/react/visualizations/ThermalHeatmapCard.js.map +1 -0
  337. package/dist/react/visualizations/index.d.ts +17 -0
  338. package/dist/react.d.ts +1 -0
  339. package/dist/react.js +421 -0
  340. package/dist/react.js.map +1 -0
  341. package/dist/shaders/atmosphere.frag.js +5 -0
  342. package/dist/shaders/atmosphere.frag.js.map +1 -0
  343. package/dist/shaders/atmosphere.vert.js +5 -0
  344. package/dist/shaders/atmosphere.vert.js.map +1 -0
  345. package/dist/shaders/stars.frag.js +5 -0
  346. package/dist/shaders/stars.frag.js.map +1 -0
  347. package/dist/shaders/stars.vert.js +5 -0
  348. package/dist/shaders/stars.vert.js.map +1 -0
  349. package/dist/style.css +143 -0
  350. package/dist/tokens/index.d.ts +296 -0
  351. package/dist/tokens/index.js +263 -0
  352. package/dist/tokens/index.js.map +1 -0
  353. package/dist/tokens/tokens.css +155 -0
  354. package/dist/types/index.d.ts +23 -0
  355. package/dist/types.d.ts +1 -0
  356. package/dist/types.js +2 -0
  357. package/dist/types.js.map +1 -0
  358. package/package.json +220 -0
  359. package/sdk-stub.js +22 -0
@@ -0,0 +1,385 @@
1
+ import { default as React, ReactNode } from 'react';
2
+
3
+ export type ThemeVariant = 'astro' | 'purple-hue' | 'hybrid' | 'transparent' | 'transparent-bold' | 'transparent-minimal';
4
+ export type ThemeMode = 'light' | 'dark';
5
+ export interface ThemeColors {
6
+ background: {
7
+ base: string;
8
+ surface: string;
9
+ elevated: string;
10
+ overlay: string;
11
+ };
12
+ border: {
13
+ default: string;
14
+ muted: string;
15
+ focus: string;
16
+ /** Transparent theme: thin faded top-to-bottom border (box-shadow, use with border: 'none') */
17
+ fadedBoxShadow?: string;
18
+ /** Card border style (computed from theme – solid or transparent faded). Use ...tokens.colors.border.cardStyle */
19
+ cardStyle?: React.CSSProperties;
20
+ /** Card border for dashed/empty state. Use ...tokens.colors.border.cardStyleDashed */
21
+ cardStyleDashed?: React.CSSProperties;
22
+ /** Card border using default color (e.g. NavBall, EclipseTimer). Use ...tokens.colors.border.cardStyleDefault */
23
+ cardStyleDefault?: React.CSSProperties;
24
+ };
25
+ text: {
26
+ primary: string;
27
+ secondary: string;
28
+ tertiary: string;
29
+ /** Muted/placeholder text (alias for tertiary when not set) */
30
+ muted?: string;
31
+ inverse: string;
32
+ };
33
+ status: {
34
+ normal: string;
35
+ standby: string;
36
+ caution: string;
37
+ serious: string;
38
+ critical: string;
39
+ off: string;
40
+ };
41
+ semantic: {
42
+ success: string;
43
+ warning: string;
44
+ error: string;
45
+ info: string;
46
+ };
47
+ accent: {
48
+ primary: string;
49
+ secondary: string;
50
+ tertiary: string;
51
+ };
52
+ interactive: {
53
+ default: string;
54
+ hover: string;
55
+ active: string;
56
+ disabled: string;
57
+ /** Transparent theme: button/control bg (low opacity purple) when not hovered */
58
+ transparentDefault?: string;
59
+ /** Transparent theme: button/control bg on hover (higher opacity purple) */
60
+ transparentHover?: string;
61
+ /** Transparent theme: input field bg (semi-transparent purple tint) */
62
+ transparentInputBg?: string;
63
+ };
64
+ }
65
+ export interface ThemeAnimation {
66
+ /** Fast transitions (hover states) - 150ms */
67
+ fast: string;
68
+ /** Normal transitions (most interactions) - 250ms */
69
+ normal: string;
70
+ /** Slow transitions (page/mode changes) - 400ms */
71
+ slow: string;
72
+ /** Spring animation for playful interactions */
73
+ spring: string;
74
+ /** Easing function */
75
+ easing: {
76
+ default: string;
77
+ in: string;
78
+ out: string;
79
+ inOut: string;
80
+ };
81
+ /** Duration values in milliseconds */
82
+ duration: {
83
+ instant: number;
84
+ fast: number;
85
+ normal: number;
86
+ slow: number;
87
+ };
88
+ }
89
+ export interface ThemeFocus {
90
+ /** Focus ring color */
91
+ color: string;
92
+ /** Focus ring width */
93
+ width: string;
94
+ /** Focus ring offset */
95
+ offset: string;
96
+ /** Full focus ring CSS */
97
+ ring: string;
98
+ /** Focus ring style object */
99
+ style: React.CSSProperties;
100
+ }
101
+ /**
102
+ * Astro UX Typography Style Token
103
+ * Based on https://www.astrouxds.com/foundations/typography/
104
+ */
105
+ export interface TypographyStyle {
106
+ fontSize: string;
107
+ fontWeight: number;
108
+ letterSpacing: string;
109
+ lineHeight: string;
110
+ }
111
+ export interface ThemeTokens {
112
+ colors: ThemeColors;
113
+ spacing: {
114
+ /** 2px — micro adjustments, decorative offsets */
115
+ xxs: string;
116
+ /** 4px — tight gaps, icon padding */
117
+ xs: string;
118
+ /** 8px — compact spacing, small gaps */
119
+ sm: string;
120
+ /** 12px — form fields, compact cards (between sm and md) */
121
+ smd: string;
122
+ /** 16px — default card padding, section gaps */
123
+ md: string;
124
+ /** 20px — slightly generous spacing */
125
+ mdl: string;
126
+ /** 24px — generous spacing, content area padding */
127
+ lg: string;
128
+ /** 32px — large section gaps */
129
+ xl: string;
130
+ /** 48px — extra large spacing */
131
+ xxl: string;
132
+ };
133
+ borderRadius: {
134
+ none: string;
135
+ /** 1px — very subtle rounding */
136
+ xs: string;
137
+ /** 2px — small elements, badges, tooltips */
138
+ sm: string;
139
+ /** 4px — inputs, selects, standard controls */
140
+ md: string;
141
+ /** 8px — cards, containers */
142
+ lg: string;
143
+ /** 12px — prominent surfaces, modals */
144
+ xl: string;
145
+ /** 9999px — pills, fully rounded */
146
+ full: string;
147
+ };
148
+ /** Standardised element heights for interactive controls */
149
+ elementSize: {
150
+ /** 28px — compact controls */
151
+ sm: string;
152
+ /** 36px — default controls */
153
+ md: string;
154
+ /** 44px — prominent controls, touch targets */
155
+ lg: string;
156
+ };
157
+ typography: {
158
+ fontFamily: {
159
+ primary: string;
160
+ mono: string;
161
+ };
162
+ display: {
163
+ 1: TypographyStyle;
164
+ 2: TypographyStyle;
165
+ };
166
+ heading: {
167
+ 1: TypographyStyle;
168
+ '1Bold': TypographyStyle;
169
+ 2: TypographyStyle;
170
+ 3: TypographyStyle;
171
+ 4: TypographyStyle;
172
+ 5: TypographyStyle;
173
+ 6: TypographyStyle;
174
+ };
175
+ body: {
176
+ 1: TypographyStyle;
177
+ '1Bold': TypographyStyle;
178
+ 2: TypographyStyle;
179
+ '2Bold': TypographyStyle;
180
+ 3: TypographyStyle;
181
+ '3Bold': TypographyStyle;
182
+ };
183
+ control: {
184
+ 1: TypographyStyle;
185
+ '1Bold': TypographyStyle;
186
+ };
187
+ fontSize: {
188
+ micro: string;
189
+ xxs: string;
190
+ xs: string;
191
+ sm: string;
192
+ base: string;
193
+ md: string;
194
+ lg: string;
195
+ xl: string;
196
+ xxl: string;
197
+ xxxl: string;
198
+ };
199
+ fontWeight: {
200
+ light: number;
201
+ normal: number;
202
+ medium: number;
203
+ semibold: number;
204
+ bold: number;
205
+ };
206
+ lineHeight: {
207
+ tight: string;
208
+ normal: string;
209
+ relaxed: string;
210
+ };
211
+ letterSpacing: {
212
+ tight: string;
213
+ normal: string;
214
+ wide: string;
215
+ };
216
+ };
217
+ shadows: {
218
+ none: string;
219
+ sm: string;
220
+ md: string;
221
+ lg: string;
222
+ xl: string;
223
+ glow: (color: string) => string;
224
+ };
225
+ animation: ThemeAnimation;
226
+ focus: ThemeFocus;
227
+ /** Semantic layout tokens for consistent spacing across cards, forms, and sections */
228
+ layout: LayoutTokens;
229
+ /** Semantic border tokens for consistent element styling (derived from theme colors) */
230
+ borders: BorderTokens;
231
+ }
232
+ export interface LayoutTokens {
233
+ /** Card / panel container spacing */
234
+ card: {
235
+ /** Internal padding of card containers */
236
+ padding: string;
237
+ /** Gap between cards in grid layouts (desktop) */
238
+ gap: string;
239
+ /** Gap between cards in grid layouts (mobile / compact) */
240
+ gapCompact: string;
241
+ /** Card heading: icon size, title typography, gap — single system for all cards/charts */
242
+ heading: {
243
+ iconSize: number;
244
+ iconSizeCompact: number;
245
+ titleFontSize: string;
246
+ /** Smaller title for chart headers (e.g. Power Trends) so they match card visual weight */
247
+ titleFontSizeChart: string;
248
+ titleFontWeight: number;
249
+ gap: number;
250
+ };
251
+ };
252
+ /** Section heading spacing (heading + divider + content) */
253
+ section: {
254
+ /** Padding below heading text, above the divider border */
255
+ headerPaddingBottom: string;
256
+ /** Margin below the divider border, before content */
257
+ headerMarginBottom: string;
258
+ /** Padding above the first content element after heading */
259
+ contentPaddingTop: string;
260
+ };
261
+ /** Form and input field spacing */
262
+ form: {
263
+ /** Vertical gap between stacked form fields */
264
+ fieldGap: string;
265
+ /** Horizontal gap between side-by-side inline fields */
266
+ inlineGap: string;
267
+ /** Padding inside grouped / nested field containers */
268
+ groupPadding: string;
269
+ /** Gap between items within a field group */
270
+ groupGap: string;
271
+ /** Gap between label text and helper icons (e.g. tooltip) */
272
+ labelGap: string;
273
+ };
274
+ /** Nested surface / panel spacing (e.g. grouped fields within a card) */
275
+ surface: {
276
+ /** Internal padding of nested surfaces */
277
+ padding: string;
278
+ /** Border radius of nested surfaces */
279
+ borderRadius: string;
280
+ /** Gap between items in compact nested surfaces */
281
+ gap: string;
282
+ };
283
+ }
284
+ export interface BorderTokens {
285
+ /** Border widths — standardised across all interactive elements */
286
+ width: {
287
+ /** Thin (1px) — inputs, cards, dividers, dropdowns */
288
+ thin: string;
289
+ /** Medium (1.5px) — secondary buttons, emphasised inputs */
290
+ medium: string;
291
+ /** Thick (2px) — checkboxes, accent borders, active tabs */
292
+ thick: string;
293
+ };
294
+ /** Pre-computed input / control borders (width + style + color) */
295
+ input: {
296
+ /** Default resting state */
297
+ default: string;
298
+ /** Hover state (accent at 50% opacity) */
299
+ hover: string;
300
+ /** Focused state (full accent) */
301
+ focus: string;
302
+ /** Error / critical state */
303
+ error: string;
304
+ };
305
+ /** Focus ring box-shadow values for interactive elements */
306
+ focusRing: {
307
+ /** Standard ring for inputs and selects */
308
+ default: string;
309
+ /** Ring for buttons (double-ring pattern) */
310
+ button: string;
311
+ /** Subtle ring for checkboxes, tabs, toggles */
312
+ subtle: string;
313
+ };
314
+ /** Section divider border (headings, dialog headers/footers, tab bars) */
315
+ divider: string;
316
+ /** Dropdown / popover container border */
317
+ dropdown: string;
318
+ /** Separator line inside elements (unit separators, table rows) */
319
+ separator: string;
320
+ }
321
+ export interface ThemeContextValue {
322
+ theme: ThemeVariant;
323
+ mode: ThemeMode;
324
+ tokens: ThemeTokens;
325
+ prefersReducedMotion: boolean;
326
+ /** Custom accent color override (null = use theme default) */
327
+ accentColor: string | null;
328
+ setTheme: (theme: ThemeVariant) => void;
329
+ setMode: (mode: ThemeMode) => void;
330
+ toggleMode: () => void;
331
+ /** Override the accent color for the current theme */
332
+ setAccentColor: (color: string | null) => void;
333
+ }
334
+ export interface ThemeProviderProps {
335
+ children: ReactNode;
336
+ /** Default theme variant */
337
+ theme?: ThemeVariant;
338
+ /** Default color mode */
339
+ mode?: ThemeMode;
340
+ /** Persist preferences to localStorage */
341
+ persist?: boolean;
342
+ }
343
+ /**
344
+ * useScrollbarStyles — returns inline React.CSSProperties for a
345
+ * scrollable container that matches the current Zendir theme.
346
+ *
347
+ * Use when you need programmatic control rather than the
348
+ * `zendir-scroll` CSS class.
349
+ *
350
+ * @example
351
+ * ```tsx
352
+ * const scrollStyle = useScrollbarStyles();
353
+ * <div style={{ maxHeight: 400, ...scrollStyle }}>…</div>
354
+ * ```
355
+ */
356
+ export declare function useScrollbarStyles(): React.CSSProperties;
357
+ /**
358
+ * ThemeProvider - Enterprise theme context provider
359
+ *
360
+ * Provides theme tokens, mode switching, and accessibility features
361
+ * to all child components.
362
+ *
363
+ * @example
364
+ * ```tsx
365
+ * <ThemeProvider theme="hybrid" mode="dark"> // Zen (Hybrid) is the default
366
+ * <App />
367
+ * </ThemeProvider>
368
+ * ```
369
+ */
370
+ export declare function ThemeProvider({ children, theme: defaultTheme, mode: defaultMode, persist, }: ThemeProviderProps): React.ReactElement;
371
+ /**
372
+ * useTheme - Access theme context
373
+ *
374
+ * @throws Error if used outside ThemeProvider
375
+ *
376
+ * @example
377
+ * ```tsx
378
+ * const { tokens, mode, toggleMode } = useTheme();
379
+ * ```
380
+ */
381
+ export declare function useTheme(): ThemeContextValue;
382
+ /**
383
+ * useThemeTokens - Access only theme tokens (for memoization)
384
+ */
385
+ export declare function useThemeTokens(): ThemeTokens;