@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
package/dist/react.js ADDED
@@ -0,0 +1,421 @@
1
+ import { ErrorBoundary, withErrorBoundary } from "./react/shared/ErrorBoundary.js";
2
+ import { Skeleton3D, SkeletonBox, SkeletonCard, SkeletonChart, SkeletonCircle, SkeletonText } from "./react/shared/Skeleton.js";
3
+ import { STATUS_COLORS, addAlpha, clamp, classNames, focusRingStyle, formatAltitude, formatCoordinate, formatCountdown, formatDataRate, formatDecibels, formatDegrees, formatDistance, formatDuration, formatFrequency, formatLatLon, formatNumber, formatPercentage, formatPower, formatTabular, formatTemperature, formatTime, formatUTC, formatVelocity, getStatusColor, getStatusFromValue, getStatusSeverity, getWorstStatus, isStatusLevel, isValidNumber, lerp, mapRange, normalizeStatus, safeAccentText, safeNumber, tabularNumsStyle, transitions, withNullSafety } from "./react/utils/index.js";
4
+ import { SpacecraftCard } from "./react/cards/SpacecraftCard.js";
5
+ import { TelemetryCard } from "./react/cards/TelemetryCard.js";
6
+ import { AccessCard } from "./react/cards/AccessCard.js";
7
+ import { OrbitCard } from "./react/cards/OrbitCard.js";
8
+ import { TelemetryStreamCard } from "./react/cards/TelemetryStreamCard.js";
9
+ import { EclipseTimerCard } from "./react/visualizations/EclipseTimerCard.js";
10
+ import { NavBallCard } from "./react/visualizations/NavBallCard.js";
11
+ import { LinkBudgetCard } from "./react/visualizations/LinkBudgetCard.js";
12
+ import { ThermalHeatmapCard } from "./react/visualizations/ThermalHeatmapCard.js";
13
+ import { PropulsionCard } from "./react/visualizations/PropulsionCard.js";
14
+ import { SensorFootprintCard } from "./react/visualizations/SensorFootprintCard.js";
15
+ import { EarthViewer } from "./react/3d/EarthViewer.js";
16
+ import { SolarSystemViewer } from "./react/3d/SolarSystemViewer.js";
17
+ import { useZendirSession } from "./react/hooks/useZendirSession.js";
18
+ import { useTelemetry } from "./react/hooks/useTelemetry.js";
19
+ import { useSpacecraftPosition } from "./react/hooks/useSpacecraftPosition.js";
20
+ import { useCompactMode } from "./react/hooks/useCompactMode.js";
21
+ import { isInChatGPT, useCallTool, useChatGPTTheme, useDisplayMode, useIntrinsicHeight, useLocale, useMaxHeight, useOpenAiGlobal, useOpenExternal, useSendMessage, useToolInput, useToolOutput, useWidgetState } from "./react/chatgpt/index.js";
22
+ import { AppCard, ChatGPTCard } from "./react/chatgpt/AppCard.js";
23
+ import { PLANETS, auToKm, estimateOrbitalPeriod, estimateOrbitalVelocity, getPlanet, normalizePlanetName } from "./react/types.js";
24
+ import { ASTRO_DATA_VIZ_COLORS, STATUS_COLORS as STATUS_COLORS2, calculateAxisBounds, createAreaGradient, createAstroEChartsTheme, formatTimeLabel, formatValueWithUnit, getSeriesColor } from "./react/charts/unified/theme.js";
25
+ import { ASTRO_ICON_NAMES, AstroIcon, getAllIconNames, getAstroIconNames, getIconAliases, isAstroIconsAvailable, isIconAlias, preloadAstroIcons } from "./react/core/AstroIcon.js";
26
+ import { ActivityPlanner } from "./react/core/ActivityPlanner.js";
27
+ import { AntennaPattern3DChart, AttitudeChart, AttitudeHistory3DChart, Bar3DChart, ConjunctionAssessment3DChart, ConjunctionChart, ConstellationCoverageChart, ContactWindowChart, DopplerTrackChart, EclipseTimelineChart, HeliocentricOrbitPlot, LaunchCorridor3DChart, Lines3DChart, LinkBudgetChart, LinkMarginChart, ManeuverBudgetChart, OrbitChart, PowerChart, RoseDiagram, Scatter3DChart, SpectrumChart, SphericalRadar3DChart, SubsystemGauge, Surface3DChart, ThermalHeatmapChart, TransferOrbit3DChart, WaterfallChart } from "./react/charts/unified/domain.js";
28
+ import { AppBar } from "./react/core/AppBar.js";
29
+ import { AreaChart, BarChart, BubbleChart, CandlestickChart, DonutChart, DualAxisChart, GaugeChart, GraphChart, HeatmapChart, HistogramChart, LineChart, ParallelChart, PieChart, RadarChart, SankeyChart, ScatterChart, StackedAreaChart, StackedBarChart, SunburstChart, TimeSeriesChart, TreemapChart } from "./react/charts/unified/presets.js";
30
+ import { AstroChart } from "./react/charts/unified/AstroChart.js";
31
+ import { BREAKPOINTS, useBreakpoint } from "./react/core/layout/useBreakpoint.js";
32
+ import { Badge } from "./react/core/Badge.js";
33
+ import { Body1, Body2, Body3, Compact, DataText, Display1, Display2, FONT_FAMILY_MONO, FONT_FAMILY_PRIMARY, FONT_WEIGHTS, H1, H2, H3, H4, H5, H6, Label, Micro, Mono, Typography } from "./react/core/Typography.js";
34
+ import { Box } from "./react/core/layout/Box.js";
35
+ import { Button } from "./react/core/Button.js";
36
+ import { CARD_ACCENT_COLORS, CardAccentProvider, SPACE_SYSTEM_COLORS, getAccentColorOptions, getSystemAccentColor, useCardAccent } from "./react/theme/cardAccent.js";
37
+ import { CATEGORY_ICONS, CATEGORY_LABELS, PROPERTY_PRESETS, createPropertyConfig, deriveBatteryStatus, deriveStatus, formatPropertyLabel, formatPropertyValue, getPropertiesByCategory, getPropertyConfig } from "./react/core/propertyConfig.js";
38
+ import { CHAT_RESPONSE_JSON_PROMPT, CHAT_RESPONSE_MCP_TOOL, CHAT_RESPONSE_TOOL_SCHEMA, CHAT_RESPONSE_YAML_PROMPT, CHAT_STATUS_RULES_PROMPT, ChatPanel, createChatResponseParser, parseChatResponse, parseMcpToolResult } from "./react/core/ChatPanel.js";
39
+ import { CardHeader } from "./react/core/CardHeader.js";
40
+ import { Center } from "./react/core/layout/Center.js";
41
+ import { Checkbox } from "./react/core/Checkbox.js";
42
+ import { ClassificationBanner } from "./react/astro/ClassificationBanner.js";
43
+ import { ColorPickerPanel } from "./react/core/ColorPickerPanel.js";
44
+ import { CommandBuilder } from "./react/core/CommandBuilder.js";
45
+ import { ConfirmDialog, ConfirmProvider, useConfirm } from "./react/core/ConfirmDialog.js";
46
+ import { ConnectionForm } from "./react/core/ConnectionForm.js";
47
+ import { Container } from "./react/core/Container.js";
48
+ import { CopyButton, useCopyToClipboard } from "./react/core/CopyButton.js";
49
+ import { DataTable, DataTableRowDetail } from "./react/core/DataTable.js";
50
+ import { DataValue, DataValueGroup } from "./react/core/DataValue.js";
51
+ import { Dialog } from "./react/core/Dialog.js";
52
+ import { DisplaySettingsProvider, GLASS_TINTS, PRESET_COLORS, getEffectiveCompactMode, useDisplaySettings, useDisplaySettingsOptional } from "./react/context/DisplaySettingsContext.js";
53
+ import { Divider } from "./react/core/layout/Divider.js";
54
+ import { EARTH_RADIUS_KM, KM_TO_SCENE, SCENE_EARTH_RADIUS, calculateVisibilityConeGeometry, cartesianToLatLonAlt, generateHexGrid, generateOrbitPath, latLonAltToCartesian, parseTLE, propagateSGP4Simple, propagateSatellite } from "./react/3d/ZenSpace3DUtils.js";
55
+ import { FileExplorer } from "./react/core/FileExplorer.js";
56
+ import { Flex } from "./react/core/layout/Flex.js";
57
+ import { GLASS_COLOR_OVERLAYS, GlassCard } from "./react/core/GlassCard.js";
58
+ import { GlobalStatusBar } from "./react/astro/GlobalStatusBar.js";
59
+ import { Grid } from "./react/core/layout/Grid.js";
60
+ import { GroundTrackMap } from "./react/charts/GroundTrackMap.js";
61
+ import { HStack, Stack, VStack } from "./react/core/layout/Stack.js";
62
+ import { HeaderIconWithStatus } from "./react/core/HeaderIconWithStatus.js";
63
+ import { HexViewer, REGION_BORDER_COLORS, REGION_COLORS } from "./react/core/HexViewer.js";
64
+ import { Icon, getIconNames, isValidIconName } from "./react/core/Icon.js";
65
+ import { ImageGallery } from "./react/core/ImageGallery.js";
66
+ import { Input } from "./react/core/Input.js";
67
+ import { LimitsBar } from "./react/core/LimitsBar.js";
68
+ import { LogViewer } from "./react/core/LogViewer.js";
69
+ import { Menu, Popover } from "./react/core/Popover.js";
70
+ import { MessageStream } from "./react/core/MessageStream.js";
71
+ import { MiniSimulationControls, SimulationControls, SimulationControlsWithClock } from "./react/astro/SimulationControls.js";
72
+ import { MissionCalendar } from "./react/core/MissionCalendar.js";
73
+ import { MissionClock } from "./react/astro/MissionClock.js";
74
+ import { MonitoringIcon } from "./react/astro/MonitoringIcon.js";
75
+ import { Notification } from "./react/astro/Notification.js";
76
+ import { NumberInput } from "./react/core/NumberInput.js";
77
+ import { PacketViewer } from "./react/core/PacketViewer.js";
78
+ import { Pagination } from "./react/core/Pagination.js";
79
+ import { PinInput } from "./react/core/PinInput.js";
80
+ import { PowerOverviewChart, generateSamplePowerData } from "./react/charts/unified/PowerOverviewChart.js";
81
+ import { Progress } from "./react/astro/Progress.js";
82
+ import { Select } from "./react/core/Select.js";
83
+ import { SideNav } from "./react/core/SideNav.js";
84
+ import { SidePanel } from "./react/core/SidePanel.js";
85
+ import { Spacer } from "./react/core/layout/Spacer.js";
86
+ import { StatusIndicator } from "./react/astro/StatusIndicator.js";
87
+ import { Tabs } from "./react/core/Tabs.js";
88
+ import { ThemeProvider, useScrollbarStyles, useTheme, useThemeTokens } from "./react/theme/ThemeProvider.js";
89
+ import { UnifiedTimeline } from "./react/astro/UnifiedTimeline.js";
90
+ import { ToastProvider, useToast, useToastManager } from "./react/core/Toast.js";
91
+ import { Toggle } from "./react/core/Toggle.js";
92
+ import { Tooltip } from "./react/core/Tooltip.js";
93
+ import { ZenSpace3D } from "./react/3d/ZenSpace3D.js";
94
+ import { ZenSpace3DCesium } from "./react/3d/ZenSpace3DCesium.js";
95
+ import { atmosphereFragmentShader, atmosphereVertexShader, starsFragmentShader, starsVertexShader } from "./react/3d/ZenSpace3DShaders.js";
96
+ import { dispatchToGroup, exportGroupAsCSV, exportGroupAsImages, getGroupCharts, hideGroupTooltip, resetGroupZoom, showGroupTooltip, syncZoomRange, useChartSync } from "./react/charts/unified/sync.js";
97
+ import { generateAttitudeData, generateConjunctionEvents, generateConstellationCoverage, generateContactWindows, generateDopplerData, generateEclipseTimeline, generateHeliocentricOrbits, generatePowerData, generateSpectrum, generateWaterfallData } from "./react/charts/unified/generators.js";
98
+ import { resolveResponsive, resolveSpacing } from "./react/core/layout/responsive.js";
99
+ import { useChartStream, useWebSocketStream } from "./react/charts/unified/useChartStream.js";
100
+ export {
101
+ ASTRO_DATA_VIZ_COLORS,
102
+ ASTRO_ICON_NAMES,
103
+ AccessCard,
104
+ ActivityPlanner,
105
+ AntennaPattern3DChart,
106
+ AppBar,
107
+ AppCard,
108
+ AreaChart,
109
+ AstroChart,
110
+ AstroIcon,
111
+ AttitudeChart,
112
+ AttitudeHistory3DChart,
113
+ BREAKPOINTS,
114
+ Badge,
115
+ Bar3DChart,
116
+ BarChart,
117
+ Body1,
118
+ Body2,
119
+ Body3,
120
+ Box,
121
+ BubbleChart,
122
+ Button,
123
+ CARD_ACCENT_COLORS,
124
+ CATEGORY_ICONS,
125
+ CATEGORY_LABELS,
126
+ STATUS_COLORS2 as CHART_STATUS_COLORS,
127
+ CHAT_RESPONSE_JSON_PROMPT,
128
+ CHAT_RESPONSE_MCP_TOOL,
129
+ CHAT_RESPONSE_TOOL_SCHEMA,
130
+ CHAT_RESPONSE_YAML_PROMPT,
131
+ CHAT_STATUS_RULES_PROMPT,
132
+ CandlestickChart,
133
+ CardAccentProvider,
134
+ CardHeader,
135
+ Center,
136
+ ChatGPTCard,
137
+ ChatPanel,
138
+ Checkbox,
139
+ ClassificationBanner,
140
+ ColorPickerPanel,
141
+ CommandBuilder,
142
+ Compact,
143
+ ConfirmDialog,
144
+ ConfirmProvider,
145
+ ConjunctionAssessment3DChart,
146
+ ConjunctionChart,
147
+ ConnectionForm,
148
+ ConstellationCoverageChart,
149
+ ContactWindowChart,
150
+ Container,
151
+ CopyButton,
152
+ DataTable,
153
+ DataTableRowDetail,
154
+ DataText,
155
+ DataValue,
156
+ DataValueGroup,
157
+ Dialog,
158
+ Display1,
159
+ Display2,
160
+ DisplaySettingsProvider,
161
+ Divider,
162
+ DonutChart,
163
+ DopplerTrackChart,
164
+ DualAxisChart,
165
+ EARTH_RADIUS_KM,
166
+ EarthViewer,
167
+ EclipseTimelineChart,
168
+ EclipseTimerCard,
169
+ ErrorBoundary,
170
+ FONT_FAMILY_MONO,
171
+ FONT_FAMILY_PRIMARY,
172
+ FONT_WEIGHTS,
173
+ FileExplorer,
174
+ Flex,
175
+ GLASS_COLOR_OVERLAYS,
176
+ GLASS_TINTS,
177
+ GaugeChart,
178
+ GlassCard,
179
+ GlobalStatusBar,
180
+ GraphChart,
181
+ Grid,
182
+ GroundTrackMap,
183
+ H1,
184
+ H2,
185
+ H3,
186
+ H4,
187
+ H5,
188
+ H6,
189
+ HStack,
190
+ HeaderIconWithStatus,
191
+ HeatmapChart,
192
+ HeliocentricOrbitPlot,
193
+ HexViewer,
194
+ HistogramChart,
195
+ Icon,
196
+ ImageGallery,
197
+ Input,
198
+ KM_TO_SCENE,
199
+ Label,
200
+ LaunchCorridor3DChart,
201
+ LimitsBar,
202
+ LineChart,
203
+ Lines3DChart,
204
+ LinkBudgetCard,
205
+ LinkBudgetChart,
206
+ LinkMarginChart,
207
+ LogViewer,
208
+ ManeuverBudgetChart,
209
+ Menu,
210
+ MessageStream,
211
+ Micro,
212
+ MiniSimulationControls,
213
+ MissionCalendar,
214
+ MissionClock,
215
+ MonitoringIcon,
216
+ Mono,
217
+ NavBallCard,
218
+ Notification,
219
+ NumberInput,
220
+ OrbitCard,
221
+ OrbitChart,
222
+ PLANETS,
223
+ PRESET_COLORS,
224
+ PROPERTY_PRESETS,
225
+ PacketViewer,
226
+ Pagination,
227
+ ParallelChart,
228
+ PieChart,
229
+ PinInput,
230
+ Popover,
231
+ PowerChart,
232
+ PowerOverviewChart,
233
+ Progress,
234
+ PropulsionCard,
235
+ REGION_BORDER_COLORS,
236
+ REGION_COLORS,
237
+ RadarChart,
238
+ RoseDiagram,
239
+ SCENE_EARTH_RADIUS,
240
+ SPACE_SYSTEM_COLORS,
241
+ STATUS_COLORS,
242
+ SankeyChart,
243
+ Scatter3DChart,
244
+ ScatterChart,
245
+ Select,
246
+ SensorFootprintCard,
247
+ SideNav,
248
+ SidePanel,
249
+ SimulationControls,
250
+ SimulationControlsWithClock,
251
+ Skeleton3D,
252
+ SkeletonBox,
253
+ SkeletonCard,
254
+ SkeletonChart,
255
+ SkeletonCircle,
256
+ SkeletonText,
257
+ SolarSystemViewer,
258
+ SpacecraftCard,
259
+ Spacer,
260
+ SpectrumChart,
261
+ SphericalRadar3DChart,
262
+ Stack,
263
+ StackedAreaChart,
264
+ StackedBarChart,
265
+ StatusIndicator,
266
+ SubsystemGauge,
267
+ SunburstChart,
268
+ Surface3DChart,
269
+ Tabs,
270
+ TelemetryCard,
271
+ TelemetryStreamCard,
272
+ ThemeProvider,
273
+ ThermalHeatmapCard,
274
+ ThermalHeatmapChart,
275
+ TimeSeriesChart,
276
+ UnifiedTimeline as Timeline,
277
+ ToastProvider,
278
+ Toggle,
279
+ Tooltip,
280
+ TransferOrbit3DChart,
281
+ TreemapChart,
282
+ Typography,
283
+ VStack,
284
+ WaterfallChart,
285
+ ZenSpace3D,
286
+ ZenSpace3DCesium,
287
+ addAlpha,
288
+ atmosphereFragmentShader,
289
+ atmosphereVertexShader,
290
+ auToKm,
291
+ calculateAxisBounds,
292
+ calculateVisibilityConeGeometry,
293
+ cartesianToLatLonAlt,
294
+ clamp,
295
+ classNames,
296
+ createAreaGradient,
297
+ createAstroEChartsTheme,
298
+ createChatResponseParser,
299
+ createPropertyConfig,
300
+ deriveBatteryStatus,
301
+ deriveStatus,
302
+ dispatchToGroup,
303
+ estimateOrbitalPeriod,
304
+ estimateOrbitalVelocity,
305
+ exportGroupAsCSV,
306
+ exportGroupAsImages,
307
+ focusRingStyle,
308
+ formatAltitude,
309
+ formatCoordinate,
310
+ formatCountdown,
311
+ formatDataRate,
312
+ formatDecibels,
313
+ formatDegrees,
314
+ formatDistance,
315
+ formatDuration,
316
+ formatFrequency,
317
+ formatLatLon,
318
+ formatNumber,
319
+ formatPercentage,
320
+ formatPower,
321
+ formatPropertyLabel,
322
+ formatPropertyValue,
323
+ formatTabular,
324
+ formatTemperature,
325
+ formatTime,
326
+ formatTimeLabel,
327
+ formatUTC,
328
+ formatValueWithUnit,
329
+ formatVelocity,
330
+ generateAttitudeData,
331
+ generateConjunctionEvents,
332
+ generateConstellationCoverage,
333
+ generateContactWindows,
334
+ generateDopplerData,
335
+ generateEclipseTimeline,
336
+ generateHeliocentricOrbits,
337
+ generateHexGrid,
338
+ generateOrbitPath,
339
+ generatePowerData,
340
+ generateSamplePowerData,
341
+ generateSpectrum,
342
+ generateWaterfallData,
343
+ getAccentColorOptions,
344
+ getAllIconNames,
345
+ getAstroIconNames,
346
+ getEffectiveCompactMode,
347
+ getGroupCharts,
348
+ getIconAliases,
349
+ getIconNames,
350
+ getPlanet,
351
+ getPropertiesByCategory,
352
+ getPropertyConfig,
353
+ getSeriesColor,
354
+ getStatusColor,
355
+ getStatusFromValue,
356
+ getStatusSeverity,
357
+ getSystemAccentColor,
358
+ getWorstStatus,
359
+ hideGroupTooltip,
360
+ isAstroIconsAvailable,
361
+ isIconAlias,
362
+ isInChatGPT,
363
+ isStatusLevel,
364
+ isValidIconName,
365
+ isValidNumber,
366
+ latLonAltToCartesian,
367
+ lerp,
368
+ mapRange,
369
+ normalizePlanetName,
370
+ normalizeStatus,
371
+ parseChatResponse,
372
+ parseMcpToolResult,
373
+ parseTLE,
374
+ preloadAstroIcons,
375
+ propagateSGP4Simple,
376
+ propagateSatellite,
377
+ resetGroupZoom,
378
+ resolveResponsive,
379
+ resolveSpacing,
380
+ safeAccentText,
381
+ safeNumber,
382
+ showGroupTooltip,
383
+ starsFragmentShader,
384
+ starsVertexShader,
385
+ syncZoomRange,
386
+ tabularNumsStyle,
387
+ transitions,
388
+ useBreakpoint,
389
+ useCallTool,
390
+ useCardAccent,
391
+ useChartStream,
392
+ useChartSync,
393
+ useChatGPTTheme,
394
+ useCompactMode,
395
+ useConfirm,
396
+ useCopyToClipboard,
397
+ useDisplayMode,
398
+ useDisplaySettings,
399
+ useDisplaySettingsOptional,
400
+ useIntrinsicHeight,
401
+ useLocale,
402
+ useMaxHeight,
403
+ useOpenAiGlobal,
404
+ useOpenExternal,
405
+ useScrollbarStyles,
406
+ useSendMessage,
407
+ useSpacecraftPosition,
408
+ useTelemetry,
409
+ useTheme,
410
+ useThemeTokens,
411
+ useToast,
412
+ useToastManager,
413
+ useToolInput,
414
+ useToolOutput,
415
+ useWebSocketStream,
416
+ useWidgetState,
417
+ useZendirSession,
418
+ withErrorBoundary,
419
+ withNullSafety
420
+ };
421
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ const atmosphereFragmentShader = "uniform vec3 uSunDirection;\n\nvarying vec3 vNormal;\nvarying vec3 vPosition;\nvarying vec3 vWorldPosition;\n\nvoid main() {\n // Base atmospheric scattering\n float viewIntensity = pow(0.65 - dot(vNormal, vec3(0.0, 0.0, 1.0)), 2.0);\n \n // Sun-facing glow (brighter on the side facing the sun)\n vec3 worldNormal = normalize(vWorldPosition);\n float sunFacing = dot(worldNormal, normalize(uSunDirection));\n float sunGlow = max(0.0, sunFacing) * 0.6 + 0.4; // 0.4-1.0 range\n \n // Terminator enhancement (glow at day/night boundary)\n float terminator = 1.0 - abs(sunFacing);\n float terminatorGlow = pow(terminator, 3.0) * 0.3;\n \n // Combine effects\n float totalIntensity = viewIntensity * sunGlow + terminatorGlow;\n \n // Atmosphere color (blue with slight orange on sun side)\n vec3 dayColor = vec3(0.3, 0.6, 1.0);\n vec3 sunsetColor = vec3(1.0, 0.5, 0.2);\n vec3 atmosphereColor = mix(dayColor, sunsetColor, pow(max(0.0, terminator), 4.0) * 0.3);\n \n gl_FragColor = vec4(atmosphereColor, 1.0) * totalIntensity;\n}\n";
2
+ export {
3
+ atmosphereFragmentShader as default
4
+ };
5
+ //# sourceMappingURL=atmosphere.frag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atmosphere.frag.js","sources":["../../src/shaders/atmosphere.frag?raw"],"sourcesContent":["export default \"uniform vec3 uSunDirection;\\n\\nvarying vec3 vNormal;\\nvarying vec3 vPosition;\\nvarying vec3 vWorldPosition;\\n\\nvoid main() {\\n // Base atmospheric scattering\\n float viewIntensity = pow(0.65 - dot(vNormal, vec3(0.0, 0.0, 1.0)), 2.0);\\n \\n // Sun-facing glow (brighter on the side facing the sun)\\n vec3 worldNormal = normalize(vWorldPosition);\\n float sunFacing = dot(worldNormal, normalize(uSunDirection));\\n float sunGlow = max(0.0, sunFacing) * 0.6 + 0.4; // 0.4-1.0 range\\n \\n // Terminator enhancement (glow at day/night boundary)\\n float terminator = 1.0 - abs(sunFacing);\\n float terminatorGlow = pow(terminator, 3.0) * 0.3;\\n \\n // Combine effects\\n float totalIntensity = viewIntensity * sunGlow + terminatorGlow;\\n \\n // Atmosphere color (blue with slight orange on sun side)\\n vec3 dayColor = vec3(0.3, 0.6, 1.0);\\n vec3 sunsetColor = vec3(1.0, 0.5, 0.2);\\n vec3 atmosphereColor = mix(dayColor, sunsetColor, pow(max(0.0, terminator), 4.0) * 0.3);\\n \\n gl_FragColor = vec4(atmosphereColor, 1.0) * totalIntensity;\\n}\\n\""],"names":[],"mappings":"AAAA,MAAA,2BAAe;"}
@@ -0,0 +1,5 @@
1
+ const atmosphereVertexShader = "varying vec3 vNormal;\nvarying vec3 vPosition;\nvarying vec3 vWorldPosition;\n\nvoid main() {\n vNormal = normalize(mat3(modelViewMatrix) * normal);\n vPosition = position;\n vWorldPosition = (modelMatrix * vec4(position, 1.0)).xyz;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n";
2
+ export {
3
+ atmosphereVertexShader as default
4
+ };
5
+ //# sourceMappingURL=atmosphere.vert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atmosphere.vert.js","sources":["../../src/shaders/atmosphere.vert?raw"],"sourcesContent":["export default \"varying vec3 vNormal;\\nvarying vec3 vPosition;\\nvarying vec3 vWorldPosition;\\n\\nvoid main() {\\n vNormal = normalize(mat3(modelViewMatrix) * normal);\\n vPosition = position;\\n vWorldPosition = (modelMatrix * vec4(position, 1.0)).xyz;\\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\\n}\\n\""],"names":[],"mappings":"AAAA,MAAA,yBAAe;"}
@@ -0,0 +1,5 @@
1
+ const starsFragmentShader = "uniform float time;\r\nvarying float vOpacity;\r\n\r\nvoid main() {\r\n float dist = length(gl_PointCoord - vec2(0.5));\r\n if (dist > 0.5) discard;\r\n\r\n float twinkle = sin(time * vOpacity * 3.0 + vOpacity * 10.0) * 0.3 + 0.7;\r\n float alpha = (1.0 - dist * 2.0) * twinkle;\r\n\r\n gl_FragColor = vec4(1.0, 1.0, 1.0, alpha);\r\n}\r\n\r\n\r\n\r\n\r\n";
2
+ export {
3
+ starsFragmentShader as default
4
+ };
5
+ //# sourceMappingURL=stars.frag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stars.frag.js","sources":["../../src/shaders/stars.frag?raw"],"sourcesContent":["export default \"uniform float time;\\r\\nvarying float vOpacity;\\r\\n\\r\\nvoid main() {\\r\\n float dist = length(gl_PointCoord - vec2(0.5));\\r\\n if (dist > 0.5) discard;\\r\\n\\r\\n float twinkle = sin(time * vOpacity * 3.0 + vOpacity * 10.0) * 0.3 + 0.7;\\r\\n float alpha = (1.0 - dist * 2.0) * twinkle;\\r\\n\\r\\n gl_FragColor = vec4(1.0, 1.0, 1.0, alpha);\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\""],"names":[],"mappings":"AAAA,MAAA,sBAAe;"}
@@ -0,0 +1,5 @@
1
+ const starsVertexShader = "attribute float opacity;\r\nvarying float vOpacity;\r\n\r\nvoid main() {\r\n vOpacity = opacity;\r\n vec4 mvPosition = modelViewMatrix * vec4(position, 1.0);\r\n gl_PointSize = 3.0;\r\n gl_Position = projectionMatrix * mvPosition;\r\n}\r\n\r\n\r\n\r\n\r\n";
2
+ export {
3
+ starsVertexShader as default
4
+ };
5
+ //# sourceMappingURL=stars.vert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stars.vert.js","sources":["../../src/shaders/stars.vert?raw"],"sourcesContent":["export default \"attribute float opacity;\\r\\nvarying float vOpacity;\\r\\n\\r\\nvoid main() {\\r\\n vOpacity = opacity;\\r\\n vec4 mvPosition = modelViewMatrix * vec4(position, 1.0);\\r\\n gl_PointSize = 3.0;\\r\\n gl_Position = projectionMatrix * mvPosition;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\""],"names":[],"mappings":"AAAA,MAAA,oBAAe;"}
package/dist/style.css ADDED
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Zendir UI — Leaflet theme (hybrid / purple-hue)
3
+ * Use with GroundTrackMap when mapProvider="leaflet".
4
+ * Keeps map controls on-brand and minimizes third-party branding on the frontend.
5
+ */
6
+
7
+ /* Container: match SDK background and radius */
8
+ .zendir-ground-track-map .leaflet-container {
9
+ background: #0f1520;
10
+ font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
11
+ cursor: grab;
12
+ }
13
+
14
+ /* Zoom controls: visible and above overlays so scroll/zoom work */
15
+ .zendir-ground-track-map .leaflet-control-zoom {
16
+ z-index: 1000 !important;
17
+ border: 1px solid rgba(157, 112, 255, 0.35) !important;
18
+ border-radius: 8px;
19
+ overflow: hidden;
20
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
21
+ }
22
+
23
+ .zendir-ground-track-map .leaflet-control-zoom a,
24
+ .zendir-ground-track-map .leaflet-control-zoom a:hover {
25
+ background: #181d2e !important;
26
+ color: #e4e0f0 !important;
27
+ width: 36px !important;
28
+ height: 36px !important;
29
+ line-height: 36px !important;
30
+ font-size: 20px !important;
31
+ font-weight: bold !important;
32
+ border: none !important;
33
+ cursor: pointer !important;
34
+ }
35
+
36
+ .zendir-ground-track-map .leaflet-control-zoom a:hover {
37
+ background: rgba(157, 112, 255, 0.15) !important;
38
+ color: #b794ff !important;
39
+ }
40
+
41
+ .zendir-ground-track-map .leaflet-control-zoom-in {
42
+ border-bottom: 1px solid rgba(157, 112, 255, 0.15) !important;
43
+ }
44
+
45
+ /* Attribution: minimal, no Leaflet branding on frontend */
46
+ .zendir-ground-track-map .leaflet-control-attribution {
47
+ background: rgba(15, 21, 32, 0.85) !important;
48
+ color: rgba(148, 163, 184, 0.7) !important;
49
+ font-size: 10px !important;
50
+ padding: 2px 6px !important;
51
+ border-radius: 4px 0 0 0;
52
+ border: none;
53
+ margin: 0 !important;
54
+ }
55
+
56
+ /* Hide "Leaflet" link in attribution so only tile provider is shown */
57
+ .zendir-ground-track-map .leaflet-control-attribution a[href*="leaflet"] {
58
+ display: none !important;
59
+ }
60
+
61
+ .zendir-ground-track-map .leaflet-control-attribution a {
62
+ color: rgba(157, 112, 255, 0.8) !important;
63
+ }
64
+
65
+ .zendir-ground-track-map .leaflet-control-attribution a:hover {
66
+ color: #b794ff !important;
67
+ }
68
+
69
+ /* Popup / tooltip styling */
70
+ .zendir-ground-track-map .leaflet-popup-content-wrapper {
71
+ background: #181d2e;
72
+ border: 1px solid rgba(157, 112, 255, 0.2);
73
+ border-radius: 8px;
74
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
75
+ }
76
+
77
+ .zendir-ground-track-map .leaflet-popup-tip {
78
+ background: #181d2e;
79
+ }
80
+
81
+ .zendir-ground-track-map .leaflet-popup-content {
82
+ margin: 8px 12px;
83
+ color: #e4e0f0;
84
+ font-size: 12px;
85
+ }
86
+
87
+ /* Ensure map is interactive (scroll zoom, drag) */
88
+ .zendir-ground-track-map-leaflet .leaflet-container {
89
+ touch-action: none;
90
+ }
91
+ .zendir-ground-track-map .leaflet-pane,
92
+ .zendir-ground-track-map .leaflet-tile-pane {
93
+ pointer-events: auto;
94
+ }
95
+
96
+ /* Dragging cursor */
97
+ .zendir-ground-track-map .leaflet-grab {
98
+ cursor: grab;
99
+ }
100
+
101
+ .zendir-ground-track-map .leaflet-dragging .leaflet-grab {
102
+ cursor: grabbing;
103
+ }
104
+
105
+ /* ── Custom SVG div icons ──────────────────────────────────────────────────── */
106
+ .zendir-sat-icon,
107
+ .zendir-station-icon {
108
+ background: none !important;
109
+ border: none !important;
110
+ /* Let the inline SVG size itself naturally */
111
+ overflow: visible;
112
+ pointer-events: auto;
113
+ cursor: pointer;
114
+ }
115
+
116
+ .zendir-sat-icon:hover svg,
117
+ .zendir-station-icon:hover svg {
118
+ filter: drop-shadow(0 0 6px currentColor);
119
+ }
120
+
121
+ /* Leaflet default icon reset (avoid blue pin override) */
122
+ .zendir-sat-icon img,
123
+ .zendir-station-icon img {
124
+ display: none !important;
125
+ }
126
+
127
+ /* Tooltip (rich HTML) */
128
+ .zendir-leaflet-tooltip {
129
+ background: rgba(13, 19, 35, 0.95) !important;
130
+ border: 1px solid rgba(157, 112, 255, 0.35) !important;
131
+ border-radius: 6px !important;
132
+ color: #e4e0f0 !important;
133
+ font-size: 11px !important;
134
+ font-family: 'Roboto', 'Inter', system-ui, sans-serif !important;
135
+ padding: 5px 9px !important;
136
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45) !important;
137
+ white-space: nowrap;
138
+ pointer-events: none;
139
+ }
140
+
141
+ .zendir-leaflet-tooltip::before {
142
+ border-top-color: rgba(157, 112, 255, 0.35) !important;
143
+ }