@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
@@ -3,17 +3,17 @@
3
3
  *
4
4
  * Integration hooks for Zendir simulations and UI helpers.
5
5
  */
6
- export { useZendirSession, isZendirSdkAvailable, preloadZendirSdk } from './useZendirSession';
7
- export type { UseZendirSessionOptions, UseZendirSessionResult, SessionInfo } from './useZendirSession';
6
+ export { useZendirSession, isZendirSdkAvailable, preloadZendirSdk, } from './useZendirSession';
7
+ export type { UseZendirSessionOptions, UseZendirSessionResult, SessionInfo, } from './useZendirSession';
8
8
  export { useSimulationScene } from './useSimulationScene';
9
9
  export type { CelestialBody, PositionTickDiag, SimulationSceneClient, SimulationSceneObject, StructureDiag, UseSimulationSceneOptions, UseSimulationSceneResult, } from './useSimulationScene';
10
10
  export { useGroundTrackHistory } from './useGroundTrackHistory';
11
11
  export type { UseGroundTrackHistoryOptions } from './useGroundTrackHistory';
12
12
  export { useAccessWindows, createDemoAccessPasses } from './useAccessWindows';
13
- export type { AccessPass, AccessWindowsState, UseAccessWindowsOptions } from './useAccessWindows';
13
+ export type { AccessPass, AccessWindowsState, UseAccessWindowsOptions, } from './useAccessWindows';
14
14
  export { useCompactMode } from './useCompactMode';
15
- export type { UseCompactModeOptions, UseCompactModeResult } from './useCompactMode';
15
+ export type { UseCompactModeOptions, UseCompactModeResult, } from './useCompactMode';
16
16
  export { useSimulationPlayback } from './useSimulationPlayback';
17
17
  export type { SimulationPlaybackState, UseSimulationPlaybackOptions, UseSimulationPlaybackResult, } from './useSimulationPlayback';
18
18
  export { useLiveSelection } from './useLiveSelection';
19
- export type { UseLiveSelectionOptions, UseLiveSelectionResult } from './useLiveSelection';
19
+ export type { UseLiveSelectionOptions, UseLiveSelectionResult, } from './useLiveSelection';
@@ -1,5 +1,4 @@
1
1
  import { TimerConfig } from '../astro/MissionClock';
2
-
3
2
  export interface AccessPass {
4
3
  /** Start time (AOS) */
5
4
  startTime: Date;
@@ -59,7 +59,7 @@ export interface UseCompactModeResult {
59
59
  onKeyDown: (e: React.KeyboardEvent) => void;
60
60
  tabIndex: number;
61
61
  role: string;
62
- 'aria-expanded': boolean;
62
+ "aria-expanded": boolean;
63
63
  };
64
64
  /** Transition duration respecting reduced motion */
65
65
  transitionDuration: string;
@@ -1,62 +1,108 @@
1
- import { useState, useCallback, useMemo } from "react";
2
1
  import { useTheme } from "../theme/ThemeProvider.js";
3
2
  import { useDisplaySettingsOptional } from "../context/DisplaySettingsContext.js";
3
+ import { useCallback, useMemo, useState } from "react";
4
+ //#region src/react/hooks/useCompactMode.ts
5
+ /**
6
+ * @zendir/ui - useCompactMode Hook
7
+ *
8
+ * Provides compact mode functionality for data cards with:
9
+ * - Hover-to-expand behavior
10
+ * - Click-to-pin (stays expanded until clicked again)
11
+ * - Keyboard accessibility (Enter/Space to toggle pin)
12
+ * - Reduced motion support
13
+ * - Integration with DisplaySettingsContext for global compact mode
14
+ *
15
+ * Priority for compact mode:
16
+ * 1. Explicit `compact` prop (if provided)
17
+ * 2. Global compact mode from DisplaySettingsContext
18
+ * 3. Default: false
19
+ *
20
+ * Usage:
21
+ * ```tsx
22
+ * const { expanded, isPinned, handlers, transitionDuration } = useCompactMode({
23
+ * compact: true, // Optional - if omitted, uses global setting
24
+ * defaultExpanded: false,
25
+ * onPinChange: (pinned) => {},
26
+ * });
27
+ *
28
+ * return (
29
+ * <div {...handlers}>
30
+ * {expanded ? <FullContent /> : <CompactContent />}
31
+ * </div>
32
+ * );
33
+ * ```
34
+ */
35
+ /**
36
+ * Hook for managing compact mode state and interactions
37
+ *
38
+ * Provides hover-to-expand and click-to-pin functionality with
39
+ * full keyboard accessibility and reduced motion support.
40
+ *
41
+ * Priority for compact mode:
42
+ * 1. Explicit `compact` prop (if provided)
43
+ * 2. Global compact mode from DisplaySettingsContext
44
+ * 3. Default: false
45
+ */
4
46
  function useCompactMode(options = {}) {
5
- const { compact: compactProp, defaultExpanded = false, onPinChange } = options;
6
- const { prefersReducedMotion } = useTheme();
7
- const displaySettings = useDisplaySettingsOptional();
8
- const compact = compactProp ?? (displaySettings == null ? void 0 : displaySettings.compactMode) ?? false;
9
- const [isHovered, setIsHovered] = useState(false);
10
- const [isPinned, setIsPinned] = useState(defaultExpanded);
11
- const transitionDuration = prefersReducedMotion ? "0ms" : "200ms";
12
- const expanded = !compact || isPinned || isHovered;
13
- const togglePin = useCallback(() => {
14
- const newPinned = !isPinned;
15
- setIsPinned(newPinned);
16
- onPinChange == null ? void 0 : onPinChange(newPinned);
17
- }, [isPinned, onPinChange]);
18
- const setPin = useCallback((pinned) => {
19
- setIsPinned(pinned);
20
- onPinChange == null ? void 0 : onPinChange(pinned);
21
- }, [onPinChange]);
22
- const onMouseEnter = useCallback(() => {
23
- setIsHovered(true);
24
- }, []);
25
- const onMouseLeave = useCallback(() => {
26
- setIsHovered(false);
27
- }, []);
28
- const onClick = useCallback(() => {
29
- if (compact) {
30
- togglePin();
31
- }
32
- }, [compact, togglePin]);
33
- const onKeyDown = useCallback((e) => {
34
- if (compact && (e.key === "Enter" || e.key === " ")) {
35
- e.preventDefault();
36
- togglePin();
37
- }
38
- }, [compact, togglePin]);
39
- const handlers = useMemo(() => ({
40
- onMouseEnter,
41
- onMouseLeave,
42
- onClick,
43
- onKeyDown,
44
- tabIndex: compact ? 0 : -1,
45
- role: compact ? "button" : "article",
46
- "aria-expanded": expanded
47
- }), [onMouseEnter, onMouseLeave, onClick, onKeyDown, compact, expanded]);
48
- return {
49
- expanded,
50
- isPinned,
51
- isHovered,
52
- isCompact: compact,
53
- handlers,
54
- transitionDuration,
55
- togglePin,
56
- setPin
57
- };
47
+ const { compact: compactProp, defaultExpanded = false, onPinChange } = options;
48
+ const { prefersReducedMotion } = useTheme();
49
+ const displaySettings = useDisplaySettingsOptional();
50
+ const compact = compactProp ?? displaySettings?.compactMode ?? false;
51
+ const [isHovered, setIsHovered] = useState(false);
52
+ const [isPinned, setIsPinned] = useState(defaultExpanded);
53
+ const transitionDuration = prefersReducedMotion ? "0ms" : "200ms";
54
+ const expanded = !compact || isPinned || isHovered;
55
+ const togglePin = useCallback(() => {
56
+ const newPinned = !isPinned;
57
+ setIsPinned(newPinned);
58
+ onPinChange?.(newPinned);
59
+ }, [isPinned, onPinChange]);
60
+ const setPin = useCallback((pinned) => {
61
+ setIsPinned(pinned);
62
+ onPinChange?.(pinned);
63
+ }, [onPinChange]);
64
+ const onMouseEnter = useCallback(() => {
65
+ setIsHovered(true);
66
+ }, []);
67
+ const onMouseLeave = useCallback(() => {
68
+ setIsHovered(false);
69
+ }, []);
70
+ const onClick = useCallback(() => {
71
+ if (compact) togglePin();
72
+ }, [compact, togglePin]);
73
+ const onKeyDown = useCallback((e) => {
74
+ if (compact && (e.key === "Enter" || e.key === " ")) {
75
+ e.preventDefault();
76
+ togglePin();
77
+ }
78
+ }, [compact, togglePin]);
79
+ return {
80
+ expanded,
81
+ isPinned,
82
+ isHovered,
83
+ isCompact: compact,
84
+ handlers: useMemo(() => ({
85
+ onMouseEnter,
86
+ onMouseLeave,
87
+ onClick,
88
+ onKeyDown,
89
+ tabIndex: compact ? 0 : -1,
90
+ role: compact ? "button" : "article",
91
+ "aria-expanded": expanded
92
+ }), [
93
+ onMouseEnter,
94
+ onMouseLeave,
95
+ onClick,
96
+ onKeyDown,
97
+ compact,
98
+ expanded
99
+ ]),
100
+ transitionDuration,
101
+ togglePin,
102
+ setPin
103
+ };
58
104
  }
59
- export {
60
- useCompactMode
61
- };
62
- //# sourceMappingURL=useCompactMode.js.map
105
+ //#endregion
106
+ export { useCompactMode };
107
+
108
+ //# sourceMappingURL=useCompactMode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCompactMode.js","sources":["../../../src/react/hooks/useCompactMode.ts"],"sourcesContent":["/**\n * @zendir/ui - useCompactMode Hook\n * \n * Provides compact mode functionality for data cards with:\n * - Hover-to-expand behavior\n * - Click-to-pin (stays expanded until clicked again)\n * - Keyboard accessibility (Enter/Space to toggle pin)\n * - Reduced motion support\n * - Integration with DisplaySettingsContext for global compact mode\n * \n * Priority for compact mode:\n * 1. Explicit `compact` prop (if provided)\n * 2. Global compact mode from DisplaySettingsContext\n * 3. Default: false\n * \n * Usage:\n * ```tsx\n * const { expanded, isPinned, handlers, transitionDuration } = useCompactMode({\n * compact: true, // Optional - if omitted, uses global setting\n * defaultExpanded: false,\n * onPinChange: (pinned) => {},\n * });\n * \n * return (\n * <div {...handlers}>\n * {expanded ? <FullContent /> : <CompactContent />}\n * </div>\n * );\n * ```\n */\n\nimport { useState, useCallback, useMemo } from 'react';\nimport { useTheme } from '../theme';\nimport { useDisplaySettingsOptional } from '../context/DisplaySettingsContext';\n\n/**\n * Options for useCompactMode hook\n */\nexport interface UseCompactModeOptions {\n /** Whether compact mode is enabled */\n compact?: boolean;\n /** Start in expanded (pinned) state */\n defaultExpanded?: boolean;\n /** Callback when pin state changes */\n onPinChange?: (isPinned: boolean) => void;\n}\n\n/**\n * Result from useCompactMode hook\n */\nexport interface UseCompactModeResult {\n /** Whether the component should render in expanded state */\n expanded: boolean;\n /** Whether the component is pinned (clicked to stay expanded) */\n isPinned: boolean;\n /** Whether the component is being hovered */\n isHovered: boolean;\n /** Whether compact mode is active */\n isCompact: boolean;\n /** Event handlers to spread on the container element */\n handlers: {\n onMouseEnter: () => void;\n onMouseLeave: () => void;\n onClick: () => void;\n onKeyDown: (e: React.KeyboardEvent) => void;\n tabIndex: number;\n role: string;\n 'aria-expanded': boolean;\n };\n /** Transition duration respecting reduced motion */\n transitionDuration: string;\n /** Toggle the pinned state programmatically */\n togglePin: () => void;\n /** Set pinned state programmatically */\n setPin: (pinned: boolean) => void;\n}\n\n/**\n * Hook for managing compact mode state and interactions\n * \n * Provides hover-to-expand and click-to-pin functionality with\n * full keyboard accessibility and reduced motion support.\n * \n * Priority for compact mode:\n * 1. Explicit `compact` prop (if provided)\n * 2. Global compact mode from DisplaySettingsContext\n * 3. Default: false\n */\nexport function useCompactMode(options: UseCompactModeOptions = {}): UseCompactModeResult {\n const { compact: compactProp, defaultExpanded = false, onPinChange } = options;\n const { prefersReducedMotion } = useTheme();\n const displaySettings = useDisplaySettingsOptional();\n \n // Resolve compact mode: prop > context > default (false)\n const compact = compactProp ?? displaySettings?.compactMode ?? false;\n \n const [isHovered, setIsHovered] = useState(false);\n const [isPinned, setIsPinned] = useState(defaultExpanded);\n \n // Transition duration respects reduced motion preference\n const transitionDuration = prefersReducedMotion ? '0ms' : '200ms';\n \n // Expanded state: pinned OR hovered (only matters when compact is true)\n const expanded = !compact || isPinned || isHovered;\n \n // Toggle pin state\n const togglePin = useCallback(() => {\n const newPinned = !isPinned;\n setIsPinned(newPinned);\n onPinChange?.(newPinned);\n }, [isPinned, onPinChange]);\n \n // Set pin state directly\n const setPin = useCallback((pinned: boolean) => {\n setIsPinned(pinned);\n onPinChange?.(pinned);\n }, [onPinChange]);\n \n // Mouse enter handler\n const onMouseEnter = useCallback(() => {\n setIsHovered(true);\n }, []);\n \n // Mouse leave handler\n const onMouseLeave = useCallback(() => {\n setIsHovered(false);\n }, []);\n \n // Click handler - toggle pin state when in compact mode\n const onClick = useCallback(() => {\n if (compact) {\n togglePin();\n }\n }, [compact, togglePin]);\n \n // Keyboard handler for accessibility\n const onKeyDown = useCallback((e: React.KeyboardEvent) => {\n if (compact && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n togglePin();\n }\n }, [compact, togglePin]);\n \n // Memoized handlers object\n const handlers = useMemo(() => ({\n onMouseEnter,\n onMouseLeave,\n onClick,\n onKeyDown,\n tabIndex: compact ? 0 : -1,\n role: compact ? 'button' : 'article',\n 'aria-expanded': expanded,\n }), [onMouseEnter, onMouseLeave, onClick, onKeyDown, compact, expanded]);\n \n return {\n expanded,\n isPinned,\n isHovered,\n isCompact: compact,\n handlers,\n transitionDuration,\n togglePin,\n setPin,\n };\n}\n"],"names":[],"mappings":";;;AAwFO,SAAS,eAAe,UAAiC,IAA0B;AACxF,QAAM,EAAE,SAAS,aAAa,kBAAkB,OAAO,gBAAgB;AACvE,QAAM,EAAE,qBAAA,IAAyB,SAAA;AACjC,QAAM,kBAAkB,2BAAA;AAGxB,QAAM,UAAU,gBAAe,mDAAiB,gBAAe;AAE/D,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,eAAe;AAGxD,QAAM,qBAAqB,uBAAuB,QAAQ;AAG1D,QAAM,WAAW,CAAC,WAAW,YAAY;AAGzC,QAAM,YAAY,YAAY,MAAM;AAClC,UAAM,YAAY,CAAC;AACnB,gBAAY,SAAS;AACrB,+CAAc;AAAA,EAChB,GAAG,CAAC,UAAU,WAAW,CAAC;AAG1B,QAAM,SAAS,YAAY,CAAC,WAAoB;AAC9C,gBAAY,MAAM;AAClB,+CAAc;AAAA,EAChB,GAAG,CAAC,WAAW,CAAC;AAGhB,QAAM,eAAe,YAAY,MAAM;AACrC,iBAAa,IAAI;AAAA,EACnB,GAAG,CAAA,CAAE;AAGL,QAAM,eAAe,YAAY,MAAM;AACrC,iBAAa,KAAK;AAAA,EACpB,GAAG,CAAA,CAAE;AAGL,QAAM,UAAU,YAAY,MAAM;AAChC,QAAI,SAAS;AACX,gBAAA;AAAA,IACF;AAAA,EACF,GAAG,CAAC,SAAS,SAAS,CAAC;AAGvB,QAAM,YAAY,YAAY,CAAC,MAA2B;AACxD,QAAI,YAAY,EAAE,QAAQ,WAAW,EAAE,QAAQ,MAAM;AACnD,QAAE,eAAA;AACF,gBAAA;AAAA,IACF;AAAA,EACF,GAAG,CAAC,SAAS,SAAS,CAAC;AAGvB,QAAM,WAAW,QAAQ,OAAO;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU,UAAU,IAAI;AAAA,IACxB,MAAM,UAAU,WAAW;AAAA,IAC3B,iBAAiB;AAAA,EAAA,IACf,CAAC,cAAc,cAAc,SAAS,WAAW,SAAS,QAAQ,CAAC;AAEvE,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useCompactMode.js","names":[],"sources":["../../../src/react/hooks/useCompactMode.ts"],"sourcesContent":["/**\n * @zendir/ui - useCompactMode Hook\n *\n * Provides compact mode functionality for data cards with:\n * - Hover-to-expand behavior\n * - Click-to-pin (stays expanded until clicked again)\n * - Keyboard accessibility (Enter/Space to toggle pin)\n * - Reduced motion support\n * - Integration with DisplaySettingsContext for global compact mode\n *\n * Priority for compact mode:\n * 1. Explicit `compact` prop (if provided)\n * 2. Global compact mode from DisplaySettingsContext\n * 3. Default: false\n *\n * Usage:\n * ```tsx\n * const { expanded, isPinned, handlers, transitionDuration } = useCompactMode({\n * compact: true, // Optional - if omitted, uses global setting\n * defaultExpanded: false,\n * onPinChange: (pinned) => {},\n * });\n *\n * return (\n * <div {...handlers}>\n * {expanded ? <FullContent /> : <CompactContent />}\n * </div>\n * );\n * ```\n */\n\nimport { useState, useCallback, useMemo } from \"react\";\nimport { useTheme } from \"../theme\";\nimport { useDisplaySettingsOptional } from \"../context/DisplaySettingsContext\";\n\n/**\n * Options for useCompactMode hook\n */\nexport interface UseCompactModeOptions {\n /** Whether compact mode is enabled */\n compact?: boolean;\n /** Start in expanded (pinned) state */\n defaultExpanded?: boolean;\n /** Callback when pin state changes */\n onPinChange?: (isPinned: boolean) => void;\n}\n\n/**\n * Result from useCompactMode hook\n */\nexport interface UseCompactModeResult {\n /** Whether the component should render in expanded state */\n expanded: boolean;\n /** Whether the component is pinned (clicked to stay expanded) */\n isPinned: boolean;\n /** Whether the component is being hovered */\n isHovered: boolean;\n /** Whether compact mode is active */\n isCompact: boolean;\n /** Event handlers to spread on the container element */\n handlers: {\n onMouseEnter: () => void;\n onMouseLeave: () => void;\n onClick: () => void;\n onKeyDown: (e: React.KeyboardEvent) => void;\n tabIndex: number;\n role: string;\n \"aria-expanded\": boolean;\n };\n /** Transition duration respecting reduced motion */\n transitionDuration: string;\n /** Toggle the pinned state programmatically */\n togglePin: () => void;\n /** Set pinned state programmatically */\n setPin: (pinned: boolean) => void;\n}\n\n/**\n * Hook for managing compact mode state and interactions\n *\n * Provides hover-to-expand and click-to-pin functionality with\n * full keyboard accessibility and reduced motion support.\n *\n * Priority for compact mode:\n * 1. Explicit `compact` prop (if provided)\n * 2. Global compact mode from DisplaySettingsContext\n * 3. Default: false\n */\nexport function useCompactMode(\n options: UseCompactModeOptions = {},\n): UseCompactModeResult {\n const {\n compact: compactProp,\n defaultExpanded = false,\n onPinChange,\n } = options;\n const { prefersReducedMotion } = useTheme();\n const displaySettings = useDisplaySettingsOptional();\n\n // Resolve compact mode: prop > context > default (false)\n const compact = compactProp ?? displaySettings?.compactMode ?? false;\n\n const [isHovered, setIsHovered] = useState(false);\n const [isPinned, setIsPinned] = useState(defaultExpanded);\n\n // Transition duration respects reduced motion preference\n const transitionDuration = prefersReducedMotion ? \"0ms\" : \"200ms\";\n\n // Expanded state: pinned OR hovered (only matters when compact is true)\n const expanded = !compact || isPinned || isHovered;\n\n // Toggle pin state\n const togglePin = useCallback(() => {\n const newPinned = !isPinned;\n setIsPinned(newPinned);\n onPinChange?.(newPinned);\n }, [isPinned, onPinChange]);\n\n // Set pin state directly\n const setPin = useCallback(\n (pinned: boolean) => {\n setIsPinned(pinned);\n onPinChange?.(pinned);\n },\n [onPinChange],\n );\n\n // Mouse enter handler\n const onMouseEnter = useCallback(() => {\n setIsHovered(true);\n }, []);\n\n // Mouse leave handler\n const onMouseLeave = useCallback(() => {\n setIsHovered(false);\n }, []);\n\n // Click handler - toggle pin state when in compact mode\n const onClick = useCallback(() => {\n if (compact) {\n togglePin();\n }\n }, [compact, togglePin]);\n\n // Keyboard handler for accessibility\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (compact && (e.key === \"Enter\" || e.key === \" \")) {\n e.preventDefault();\n togglePin();\n }\n },\n [compact, togglePin],\n );\n\n // Memoized handlers object\n const handlers = useMemo(\n () => ({\n onMouseEnter,\n onMouseLeave,\n onClick,\n onKeyDown,\n tabIndex: compact ? 0 : -1,\n role: compact ? \"button\" : \"article\",\n \"aria-expanded\": expanded,\n }),\n [onMouseEnter, onMouseLeave, onClick, onKeyDown, compact, expanded],\n );\n\n return {\n expanded,\n isPinned,\n isHovered,\n isCompact: compact,\n handlers,\n transitionDuration,\n togglePin,\n setPin,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFA,SAAgB,eACd,UAAiC,CAAC,GACZ;CACtB,MAAM,EACJ,SAAS,aACT,kBAAkB,OAClB,gBACE;CACJ,MAAM,EAAE,yBAAyB,SAAS;CAC1C,MAAM,kBAAkB,2BAA2B;CAGnD,MAAM,UAAU,eAAe,iBAAiB,eAAe;CAE/D,MAAM,CAAC,WAAW,gBAAgB,SAAS,KAAK;CAChD,MAAM,CAAC,UAAU,eAAe,SAAS,eAAe;CAGxD,MAAM,qBAAqB,uBAAuB,QAAQ;CAG1D,MAAM,WAAW,CAAC,WAAW,YAAY;CAGzC,MAAM,YAAY,kBAAkB;EAClC,MAAM,YAAY,CAAC;EACnB,YAAY,SAAS;EACrB,cAAc,SAAS;CACzB,GAAG,CAAC,UAAU,WAAW,CAAC;CAG1B,MAAM,SAAS,aACZ,WAAoB;EACnB,YAAY,MAAM;EAClB,cAAc,MAAM;CACtB,GACA,CAAC,WAAW,CACd;CAGA,MAAM,eAAe,kBAAkB;EACrC,aAAa,IAAI;CACnB,GAAG,CAAC,CAAC;CAGL,MAAM,eAAe,kBAAkB;EACrC,aAAa,KAAK;CACpB,GAAG,CAAC,CAAC;CAGL,MAAM,UAAU,kBAAkB;EAChC,IAAI,SACF,UAAU;CAEd,GAAG,CAAC,SAAS,SAAS,CAAC;CAGvB,MAAM,YAAY,aACf,MAA2B;EAC1B,IAAI,YAAY,EAAE,QAAQ,WAAW,EAAE,QAAQ,MAAM;GACnD,EAAE,eAAe;GACjB,UAAU;EACZ;CACF,GACA,CAAC,SAAS,SAAS,CACrB;CAgBA,OAAO;EACL;EACA;EACA;EACA,WAAW;EACX,UAlBe,eACR;GACL;GACA;GACA;GACA;GACA,UAAU,UAAU,IAAI;GACxB,MAAM,UAAU,WAAW;GAC3B,iBAAiB;EACnB,IACA;GAAC;GAAc;GAAc;GAAS;GAAW;GAAS;EAAQ,CAQlE;EACA;EACA;EACA;CACF;AACF"}
@@ -1,6 +1,5 @@
1
1
  import { Satellite } from '../3d/ZenSpace3DTypes';
2
2
  import { SatelliteTrack } from '../charts/GroundTrackMap';
3
-
4
3
  export interface UseGroundTrackHistoryOptions {
5
4
  /**
6
5
  * How long to retain ground-track history. Default 90 minutes (≈ one
@@ -1,6 +1,5 @@
1
1
  import { GroundStation } from '../types';
2
2
  import { Satellite } from '../3d/ZenSpace3DTypes';
3
-
4
3
  /**
5
4
  * Minimal client interface this hook depends on. Compatible with the
6
5
  * `zendir-ts` `ZendirClient` surface but typed structurally so the hook
@@ -35,7 +34,7 @@ export interface UseSimulationSceneOptions {
35
34
  export interface SimulationSceneObject {
36
35
  id: string;
37
36
  name: string;
38
- kind: 'spacecraft' | 'groundStation' | 'celestialBody';
37
+ kind: "spacecraft" | "groundStation" | "celestialBody";
39
38
  }
40
39
  /**
41
40
  * Lightweight diagnostic snapshot of the raw `getSimulationStructure`