@zendir/ui 0.4.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +640 -631
  3. package/dist/_virtual/_rolldown/runtime.js +13 -0
  4. package/dist/index.js +17 -221
  5. package/dist/react/3d/CesiumCaptureSource.d.ts +0 -1
  6. package/dist/react/3d/CesiumCaptureSource.js +364 -283
  7. package/dist/react/3d/CesiumCaptureSource.js.map +1 -1
  8. package/dist/react/3d/ZenSpace3D.d.ts +2 -3
  9. package/dist/react/3d/ZenSpace3D.js +1681 -1237
  10. package/dist/react/3d/ZenSpace3D.js.map +1 -1
  11. package/dist/react/3d/ZenSpace3DCesium.d.ts +0 -1
  12. package/dist/react/3d/ZenSpace3DCesium.js +513 -560
  13. package/dist/react/3d/ZenSpace3DCesium.js.map +1 -1
  14. package/dist/react/3d/ZenSpace3DShaders.js +61 -66
  15. package/dist/react/3d/ZenSpace3DShaders.js.map +1 -1
  16. package/dist/react/3d/ZenSpace3DTypes.d.ts +19 -20
  17. package/dist/react/3d/ZenSpace3DUtils.d.ts +0 -1
  18. package/dist/react/3d/ZenSpace3DUtils.js +37 -24
  19. package/dist/react/3d/ZenSpace3DUtils.js.map +1 -1
  20. package/dist/react/3d/capturePngAnalysis.js +42 -36
  21. package/dist/react/3d/capturePngAnalysis.js.map +1 -1
  22. package/dist/react/3d/index.d.ts +3 -3
  23. package/dist/react/3d/index.js +5 -53
  24. package/dist/react/3d/threeLoader.d.ts +1 -1
  25. package/dist/react/3d/threeLoader.js +23 -18
  26. package/dist/react/3d/threeLoader.js.map +1 -1
  27. package/dist/react/astro/ClassificationBanner.d.ts +2 -3
  28. package/dist/react/astro/ClassificationBanner.js +95 -79
  29. package/dist/react/astro/ClassificationBanner.js.map +1 -1
  30. package/dist/react/astro/GlobalStatusBar.d.ts +0 -1
  31. package/dist/react/astro/GlobalStatusBar.js +157 -163
  32. package/dist/react/astro/GlobalStatusBar.js.map +1 -1
  33. package/dist/react/astro/MissionClock.d.ts +7 -8
  34. package/dist/react/astro/MissionClock.js +377 -400
  35. package/dist/react/astro/MissionClock.js.map +1 -1
  36. package/dist/react/astro/MonitoringIcon.d.ts +1 -2
  37. package/dist/react/astro/MonitoringIcon.js +422 -358
  38. package/dist/react/astro/MonitoringIcon.js.map +1 -1
  39. package/dist/react/astro/Notification.d.ts +1 -2
  40. package/dist/react/astro/Notification.js +229 -126
  41. package/dist/react/astro/Notification.js.map +1 -1
  42. package/dist/react/astro/Progress.d.ts +0 -1
  43. package/dist/react/astro/Progress.js +199 -141
  44. package/dist/react/astro/Progress.js.map +1 -1
  45. package/dist/react/astro/SimulationControls.d.ts +3 -4
  46. package/dist/react/astro/SimulationControls.js +596 -650
  47. package/dist/react/astro/SimulationControls.js.map +1 -1
  48. package/dist/react/astro/StatusIndicator.d.ts +0 -1
  49. package/dist/react/astro/StatusIndicator.js +236 -170
  50. package/dist/react/astro/StatusIndicator.js.map +1 -1
  51. package/dist/react/astro/UnifiedTimeline.d.ts +9 -10
  52. package/dist/react/astro/UnifiedTimeline.js +2345 -2392
  53. package/dist/react/astro/UnifiedTimeline.js.map +1 -1
  54. package/dist/react/astro/index.d.ts +5 -5
  55. package/dist/react/astro/index.js +1 -25
  56. package/dist/react/cards/AccessCard.d.ts +0 -1
  57. package/dist/react/cards/AccessCard.js +471 -405
  58. package/dist/react/cards/AccessCard.js.map +1 -1
  59. package/dist/react/cards/OrbitCard.d.ts +0 -1
  60. package/dist/react/cards/OrbitCard.js +487 -364
  61. package/dist/react/cards/OrbitCard.js.map +1 -1
  62. package/dist/react/cards/SpacecraftCard.d.ts +0 -1
  63. package/dist/react/cards/SpacecraftCard.js +813 -925
  64. package/dist/react/cards/SpacecraftCard.js.map +1 -1
  65. package/dist/react/cards/TelemetryCard.d.ts +0 -1
  66. package/dist/react/cards/TelemetryCard.js +1055 -732
  67. package/dist/react/cards/TelemetryCard.js.map +1 -1
  68. package/dist/react/cards/TelemetryStreamCard.d.ts +0 -1
  69. package/dist/react/cards/TelemetryStreamCard.js +323 -297
  70. package/dist/react/cards/TelemetryStreamCard.js.map +1 -1
  71. package/dist/react/cards/index.d.ts +1 -1
  72. package/dist/react/cards/index.js +1 -8
  73. package/dist/react/charts/GroundTrackMap.d.ts +6 -7
  74. package/dist/react/charts/GroundTrackMap.js +1377 -1256
  75. package/dist/react/charts/GroundTrackMap.js.map +1 -1
  76. package/dist/react/charts/GroundTrackMapLeaflet.d.ts +1 -2
  77. package/dist/react/charts/GroundTrackMapLeaflet.js +1065 -987
  78. package/dist/react/charts/GroundTrackMapLeaflet.js.map +1 -1
  79. package/dist/react/charts/groundTrackMapLeafletTiles.js +34 -25
  80. package/dist/react/charts/groundTrackMapLeafletTiles.js.map +1 -1
  81. package/dist/react/charts/groundTrackMapLeafletUtils.js +70 -61
  82. package/dist/react/charts/groundTrackMapLeafletUtils.js.map +1 -1
  83. package/dist/react/charts/index.d.ts +1 -1
  84. package/dist/react/charts/index.js +7 -100
  85. package/dist/react/charts/unified/AstroChart.d.ts +1 -2
  86. package/dist/react/charts/unified/AstroChart.js +1331 -1411
  87. package/dist/react/charts/unified/AstroChart.js.map +1 -1
  88. package/dist/react/charts/unified/PowerOverviewChart.d.ts +3 -3
  89. package/dist/react/charts/unified/PowerOverviewChart.js +495 -478
  90. package/dist/react/charts/unified/PowerOverviewChart.js.map +1 -1
  91. package/dist/react/charts/unified/domain.d.ts +12 -13
  92. package/dist/react/charts/unified/domain.js +3999 -3145
  93. package/dist/react/charts/unified/domain.js.map +1 -1
  94. package/dist/react/charts/unified/generators.d.ts +3 -4
  95. package/dist/react/charts/unified/generators.js +561 -498
  96. package/dist/react/charts/unified/generators.js.map +1 -1
  97. package/dist/react/charts/unified/index.d.ts +1 -1
  98. package/dist/react/charts/unified/presets.d.ts +14 -15
  99. package/dist/react/charts/unified/presets.js +857 -994
  100. package/dist/react/charts/unified/presets.js.map +1 -1
  101. package/dist/react/charts/unified/sync.d.ts +2 -3
  102. package/dist/react/charts/unified/sync.js +229 -195
  103. package/dist/react/charts/unified/sync.js.map +1 -1
  104. package/dist/react/charts/unified/theme.d.ts +11 -12
  105. package/dist/react/charts/unified/theme.js +606 -642
  106. package/dist/react/charts/unified/theme.js.map +1 -1
  107. package/dist/react/charts/unified/types.d.ts +32 -33
  108. package/dist/react/charts/unified/useChartStream.d.ts +1 -2
  109. package/dist/react/charts/unified/useChartStream.js +203 -216
  110. package/dist/react/charts/unified/useChartStream.js.map +1 -1
  111. package/dist/react/chatgpt/AppCard.d.ts +1 -2
  112. package/dist/react/chatgpt/index.d.ts +7 -7
  113. package/dist/react/chatgpt/index.js +160 -139
  114. package/dist/react/chatgpt/index.js.map +1 -1
  115. package/dist/react/context/CategoryContext.d.ts +0 -1
  116. package/dist/react/context/CategoryContext.js +78 -29
  117. package/dist/react/context/CategoryContext.js.map +1 -1
  118. package/dist/react/context/DisplaySettingsContext.d.ts +1 -2
  119. package/dist/react/context/DisplaySettingsContext.js +205 -156
  120. package/dist/react/context/DisplaySettingsContext.js.map +1 -1
  121. package/dist/react/context/SpatialSelectionContext.d.ts +0 -1
  122. package/dist/react/context/SpatialSelectionContext.js +36 -7
  123. package/dist/react/context/SpatialSelectionContext.js.map +1 -1
  124. package/dist/react/core/data/DataTable.d.ts +3 -4
  125. package/dist/react/core/data/DataTable.js +473 -440
  126. package/dist/react/core/data/DataTable.js.map +1 -1
  127. package/dist/react/core/data/DataValue.d.ts +4 -5
  128. package/dist/react/core/data/DataValue.js +605 -538
  129. package/dist/react/core/data/DataValue.js.map +1 -1
  130. package/dist/react/core/data/propertyConfig.d.ts +1 -2
  131. package/dist/react/core/data/propertyConfig.js +446 -382
  132. package/dist/react/core/data/propertyConfig.js.map +1 -1
  133. package/dist/react/core/display/AstroIcon.d.ts +4 -5
  134. package/dist/react/core/display/AstroIcon.js +339 -429
  135. package/dist/react/core/display/AstroIcon.js.map +1 -1
  136. package/dist/react/core/display/Badge.d.ts +2 -3
  137. package/dist/react/core/display/Badge.js +131 -131
  138. package/dist/react/core/display/Badge.js.map +1 -1
  139. package/dist/react/core/display/CardHeader.d.ts +0 -1
  140. package/dist/react/core/display/CardHeader.js +398 -311
  141. package/dist/react/core/display/CardHeader.js.map +1 -1
  142. package/dist/react/core/display/Container.d.ts +2 -3
  143. package/dist/react/core/display/Container.js +640 -668
  144. package/dist/react/core/display/Container.js.map +1 -1
  145. package/dist/react/core/display/CopyButton.d.ts +1 -2
  146. package/dist/react/core/display/CopyButton.js +158 -101
  147. package/dist/react/core/display/CopyButton.js.map +1 -1
  148. package/dist/react/core/display/GlassCard.d.ts +3 -4
  149. package/dist/react/core/display/GlassCard.js +416 -369
  150. package/dist/react/core/display/GlassCard.js.map +1 -1
  151. package/dist/react/core/display/HeaderIconWithStatus.d.ts +0 -1
  152. package/dist/react/core/display/HeaderIconWithStatus.js +152 -152
  153. package/dist/react/core/display/HeaderIconWithStatus.js.map +1 -1
  154. package/dist/react/core/display/Icon.d.ts +2 -3
  155. package/dist/react/core/display/Icon.js +172 -143
  156. package/dist/react/core/display/Icon.js.map +1 -1
  157. package/dist/react/core/display/Typography.d.ts +24 -25
  158. package/dist/react/core/display/Typography.js +360 -178
  159. package/dist/react/core/display/Typography.js.map +1 -1
  160. package/dist/react/core/feedback/ConfirmDialog.d.ts +1 -2
  161. package/dist/react/core/feedback/ConfirmDialog.js +343 -304
  162. package/dist/react/core/feedback/ConfirmDialog.js.map +1 -1
  163. package/dist/react/core/feedback/Dialog.d.ts +2 -3
  164. package/dist/react/core/feedback/Dialog.js +189 -197
  165. package/dist/react/core/feedback/Dialog.js.map +1 -1
  166. package/dist/react/core/feedback/Toast.d.ts +2 -3
  167. package/dist/react/core/feedback/Toast.js +346 -207
  168. package/dist/react/core/feedback/Toast.js.map +1 -1
  169. package/dist/react/core/index.d.ts +26 -26
  170. package/dist/react/core/index.js +7 -119
  171. package/dist/react/core/inputs/Button.d.ts +2 -3
  172. package/dist/react/core/inputs/Button.js +281 -304
  173. package/dist/react/core/inputs/Button.js.map +1 -1
  174. package/dist/react/core/inputs/Checkbox.d.ts +2 -3
  175. package/dist/react/core/inputs/Checkbox.js +139 -127
  176. package/dist/react/core/inputs/Checkbox.js.map +1 -1
  177. package/dist/react/core/inputs/Input.d.ts +3 -4
  178. package/dist/react/core/inputs/Input.js +277 -285
  179. package/dist/react/core/inputs/Input.js.map +1 -1
  180. package/dist/react/core/inputs/LimitsBar.d.ts +1 -2
  181. package/dist/react/core/inputs/LimitsBar.js +271 -196
  182. package/dist/react/core/inputs/LimitsBar.js.map +1 -1
  183. package/dist/react/core/inputs/NumberInput.d.ts +2 -3
  184. package/dist/react/core/inputs/NumberInput.js +531 -503
  185. package/dist/react/core/inputs/NumberInput.js.map +1 -1
  186. package/dist/react/core/inputs/PinInput.d.ts +2 -3
  187. package/dist/react/core/inputs/PinInput.js +224 -207
  188. package/dist/react/core/inputs/PinInput.js.map +1 -1
  189. package/dist/react/core/inputs/Select.d.ts +1 -2
  190. package/dist/react/core/inputs/Select.js +298 -299
  191. package/dist/react/core/inputs/Select.js.map +1 -1
  192. package/dist/react/core/inputs/Toggle.d.ts +2 -3
  193. package/dist/react/core/inputs/Toggle.js +142 -148
  194. package/dist/react/core/inputs/Toggle.js.map +1 -1
  195. package/dist/react/core/layout/Box.d.ts +3 -4
  196. package/dist/react/core/layout/Box.js +118 -122
  197. package/dist/react/core/layout/Box.js.map +1 -1
  198. package/dist/react/core/layout/Center.d.ts +0 -1
  199. package/dist/react/core/layout/Center.js +45 -32
  200. package/dist/react/core/layout/Center.js.map +1 -1
  201. package/dist/react/core/layout/Divider.d.ts +1 -2
  202. package/dist/react/core/layout/Divider.js +112 -106
  203. package/dist/react/core/layout/Divider.js.map +1 -1
  204. package/dist/react/core/layout/Flex.d.ts +4 -5
  205. package/dist/react/core/layout/Flex.js +120 -124
  206. package/dist/react/core/layout/Flex.js.map +1 -1
  207. package/dist/react/core/layout/Grid.d.ts +5 -6
  208. package/dist/react/core/layout/Grid.js +131 -138
  209. package/dist/react/core/layout/Grid.js.map +1 -1
  210. package/dist/react/core/layout/Spacer.d.ts +0 -1
  211. package/dist/react/core/layout/Spacer.js +36 -29
  212. package/dist/react/core/layout/Spacer.js.map +1 -1
  213. package/dist/react/core/layout/Stack.d.ts +4 -5
  214. package/dist/react/core/layout/Stack.js +127 -70
  215. package/dist/react/core/layout/Stack.js.map +1 -1
  216. package/dist/react/core/layout/responsive.d.ts +1 -2
  217. package/dist/react/core/layout/responsive.js +25 -19
  218. package/dist/react/core/layout/responsive.js.map +1 -1
  219. package/dist/react/core/layout/useBreakpoint.d.ts +1 -1
  220. package/dist/react/core/layout/useBreakpoint.js +119 -66
  221. package/dist/react/core/layout/useBreakpoint.js.map +1 -1
  222. package/dist/react/core/navigation/AppBar.d.ts +1 -2
  223. package/dist/react/core/navigation/AppBar.js +827 -805
  224. package/dist/react/core/navigation/AppBar.js.map +1 -1
  225. package/dist/react/core/navigation/Pagination.d.ts +2 -3
  226. package/dist/react/core/navigation/Pagination.js +207 -187
  227. package/dist/react/core/navigation/Pagination.js.map +1 -1
  228. package/dist/react/core/navigation/SideNav.d.ts +11 -5
  229. package/dist/react/core/navigation/SideNav.js +857 -602
  230. package/dist/react/core/navigation/SideNav.js.map +1 -1
  231. package/dist/react/core/navigation/Tabs.d.ts +0 -1
  232. package/dist/react/core/navigation/Tabs.js +113 -119
  233. package/dist/react/core/navigation/Tabs.js.map +1 -1
  234. package/dist/react/core/overlays/Popover.d.ts +2 -3
  235. package/dist/react/core/overlays/Popover.js +303 -282
  236. package/dist/react/core/overlays/Popover.js.map +1 -1
  237. package/dist/react/core/overlays/SidePanel.d.ts +1 -2
  238. package/dist/react/core/overlays/SidePanel.js +217 -212
  239. package/dist/react/core/overlays/SidePanel.js.map +1 -1
  240. package/dist/react/core/overlays/Tooltip.d.ts +1 -2
  241. package/dist/react/core/overlays/Tooltip.js +170 -176
  242. package/dist/react/core/overlays/Tooltip.js.map +1 -1
  243. package/dist/react/core/widgets/ActivityPlanner.d.ts +0 -1
  244. package/dist/react/core/widgets/ActivityPlanner.js +855 -517
  245. package/dist/react/core/widgets/ActivityPlanner.js.map +1 -1
  246. package/dist/react/core/widgets/Capture.d.ts +2 -3
  247. package/dist/react/core/widgets/Capture.js +965 -779
  248. package/dist/react/core/widgets/Capture.js.map +1 -1
  249. package/dist/react/core/widgets/ChatPanel.d.ts +16 -17
  250. package/dist/react/core/widgets/ChatPanel.js +1734 -1034
  251. package/dist/react/core/widgets/ChatPanel.js.map +1 -1
  252. package/dist/react/core/widgets/ColorPickerPanel.d.ts +0 -1
  253. package/dist/react/core/widgets/ColorPickerPanel.js +298 -287
  254. package/dist/react/core/widgets/ColorPickerPanel.js.map +1 -1
  255. package/dist/react/core/widgets/CommandBuilder.d.ts +2 -3
  256. package/dist/react/core/widgets/CommandBuilder.js +624 -516
  257. package/dist/react/core/widgets/CommandBuilder.js.map +1 -1
  258. package/dist/react/core/widgets/ConnectionForm.d.ts +2 -3
  259. package/dist/react/core/widgets/ConnectionForm.js +528 -492
  260. package/dist/react/core/widgets/ConnectionForm.js.map +1 -1
  261. package/dist/react/core/widgets/FileExplorer.d.ts +3 -4
  262. package/dist/react/core/widgets/FileExplorer.js +617 -505
  263. package/dist/react/core/widgets/FileExplorer.js.map +1 -1
  264. package/dist/react/core/widgets/HexViewer.d.ts +2 -3
  265. package/dist/react/core/widgets/HexViewer.js +1353 -1091
  266. package/dist/react/core/widgets/HexViewer.js.map +1 -1
  267. package/dist/react/core/widgets/ImageFrame.d.ts +1 -2
  268. package/dist/react/core/widgets/ImageFrame.js +230 -193
  269. package/dist/react/core/widgets/ImageFrame.js.map +1 -1
  270. package/dist/react/core/widgets/ImageGallery.d.ts +2 -1
  271. package/dist/react/core/widgets/ImageGallery.js +380 -314
  272. package/dist/react/core/widgets/ImageGallery.js.map +1 -1
  273. package/dist/react/core/widgets/ImagePanel.d.ts +0 -1
  274. package/dist/react/core/widgets/ImagePanel.js +110 -101
  275. package/dist/react/core/widgets/ImagePanel.js.map +1 -1
  276. package/dist/react/core/widgets/LogViewer.d.ts +2 -3
  277. package/dist/react/core/widgets/LogViewer.js +711 -607
  278. package/dist/react/core/widgets/LogViewer.js.map +1 -1
  279. package/dist/react/core/widgets/MessageStream.d.ts +3 -4
  280. package/dist/react/core/widgets/MessageStream.js +514 -444
  281. package/dist/react/core/widgets/MessageStream.js.map +1 -1
  282. package/dist/react/core/widgets/MissionCalendar.d.ts +3 -4
  283. package/dist/react/core/widgets/MissionCalendar.js +1488 -1020
  284. package/dist/react/core/widgets/MissionCalendar.js.map +1 -1
  285. package/dist/react/core/widgets/PacketViewer.d.ts +2 -3
  286. package/dist/react/core/widgets/PacketViewer.js +550 -421
  287. package/dist/react/core/widgets/PacketViewer.js.map +1 -1
  288. package/dist/react/core/widgets/capture-placeholder.png.js +6 -5
  289. package/dist/react/core/widgets/capture-placeholder.png.js.map +1 -1
  290. package/dist/react/hooks/index.d.ts +5 -5
  291. package/dist/react/hooks/useAccessWindows.d.ts +0 -1
  292. package/dist/react/hooks/useCompactMode.d.ts +1 -1
  293. package/dist/react/hooks/useCompactMode.js +104 -58
  294. package/dist/react/hooks/useCompactMode.js.map +1 -1
  295. package/dist/react/hooks/useGroundTrackHistory.d.ts +0 -1
  296. package/dist/react/hooks/useSimulationScene.d.ts +1 -2
  297. package/dist/react/hooks/useSimulationScene.js +481 -374
  298. package/dist/react/hooks/useSimulationScene.js.map +1 -1
  299. package/dist/react/index.d.ts +3 -3
  300. package/dist/react/panels/LayerControlPanel.d.ts +1 -2
  301. package/dist/react/panels/LayerControlPanel.js +223 -180
  302. package/dist/react/panels/LayerControlPanel.js.map +1 -1
  303. package/dist/react/panels/ObjectInventoryPanel.d.ts +2 -3
  304. package/dist/react/panels/ObjectInventoryPanel.js +315 -250
  305. package/dist/react/panels/ObjectInventoryPanel.js.map +1 -1
  306. package/dist/react/panels/index.d.ts +1 -1
  307. package/dist/react/panels/index.js +1 -6
  308. package/dist/react/shared/ErrorBoundary.d.ts +1 -2
  309. package/dist/react/shared/ErrorBoundary.js +170 -139
  310. package/dist/react/shared/ErrorBoundary.js.map +1 -1
  311. package/dist/react/shared/Skeleton.d.ts +1 -2
  312. package/dist/react/shared/Skeleton.js +300 -301
  313. package/dist/react/shared/Skeleton.js.map +1 -1
  314. package/dist/react/theme/ThemeProvider.d.ts +2 -321
  315. package/dist/react/theme/ThemeProvider.js +312 -939
  316. package/dist/react/theme/ThemeProvider.js.map +1 -1
  317. package/dist/react/theme/cardAccent.d.ts +1 -2
  318. package/dist/react/theme/cardAccent.js +196 -126
  319. package/dist/react/theme/cardAccent.js.map +1 -1
  320. package/dist/react/theme/config.d.ts +0 -1
  321. package/dist/react/theme/config.js +47 -25
  322. package/dist/react/theme/config.js.map +1 -1
  323. package/dist/react/theme/index.d.ts +2 -2
  324. package/dist/react/theme/index.js +1 -16
  325. package/dist/react/theme/types.d.ts +332 -0
  326. package/dist/react/theme/types.js +39 -0
  327. package/dist/react/theme/types.js.map +1 -0
  328. package/dist/react/types.d.ts +8 -8
  329. package/dist/react/types.js +147 -47
  330. package/dist/react/types.js.map +1 -1
  331. package/dist/react/utils/categoryPalette.d.ts +0 -1
  332. package/dist/react/utils/categoryPalette.js +91 -102
  333. package/dist/react/utils/categoryPalette.js.map +1 -1
  334. package/dist/react/utils/index.d.ts +5 -5
  335. package/dist/react/utils/index.js +457 -371
  336. package/dist/react/utils/index.js.map +1 -1
  337. package/dist/react/visualizations/EclipseTimerCard.d.ts +0 -1
  338. package/dist/react/visualizations/LinkBudgetCard.d.ts +0 -1
  339. package/dist/react/visualizations/NavBallCard.d.ts +0 -1
  340. package/dist/react/visualizations/PropulsionCard.d.ts +1 -2
  341. package/dist/react/visualizations/SensorFootprintCard.d.ts +1 -2
  342. package/dist/react/visualizations/ThermalHeatmapCard.d.ts +0 -1
  343. package/dist/react/visualizations/index.d.ts +3 -3
  344. package/dist/react.d.ts +2 -1
  345. package/dist/react.js +17 -221
  346. package/dist/shaders/atmosphere.frag.js +6 -5
  347. package/dist/shaders/atmosphere.frag.js.map +1 -1
  348. package/dist/shaders/atmosphere.vert.js +6 -5
  349. package/dist/shaders/atmosphere.vert.js.map +1 -1
  350. package/dist/shaders/stars.frag.js +6 -5
  351. package/dist/shaders/stars.frag.js.map +1 -1
  352. package/dist/shaders/stars.vert.js +6 -5
  353. package/dist/shaders/stars.vert.js.map +1 -1
  354. package/dist/style.css +217 -194
  355. package/dist/tokens/core.d.ts +159 -0
  356. package/dist/tokens/core.js +144 -0
  357. package/dist/tokens/core.js.map +1 -0
  358. package/dist/tokens/css-vars.d.ts +213 -2
  359. package/dist/tokens/css-vars.js +590 -227
  360. package/dist/tokens/css-vars.js.map +1 -1
  361. package/dist/tokens/index.d.ts +31 -228
  362. package/dist/tokens/index.js +281 -366
  363. package/dist/tokens/index.js.map +1 -1
  364. package/dist/tokens/palettes/astro.d.ts +129 -0
  365. package/dist/tokens/palettes/astro.js +112 -0
  366. package/dist/tokens/palettes/astro.js.map +1 -0
  367. package/dist/tokens/palettes/index.d.ts +288 -0
  368. package/dist/tokens/palettes/index.js +35 -0
  369. package/dist/tokens/palettes/index.js.map +1 -0
  370. package/dist/tokens/palettes/tailwind.d.ts +324 -0
  371. package/dist/tokens/palettes/tailwind.js +201 -0
  372. package/dist/tokens/palettes/tailwind.js.map +1 -0
  373. package/dist/tokens/palettes/zendir.d.ts +126 -0
  374. package/dist/tokens/palettes/zendir.js +92 -0
  375. package/dist/tokens/palettes/zendir.js.map +1 -0
  376. package/dist/tokens/themes.d.ts +30 -0
  377. package/dist/tokens/themes.js +704 -0
  378. package/dist/tokens/themes.js.map +1 -0
  379. package/dist/tokens/tokens.css +419 -41
  380. package/dist/types/index.d.ts +2 -2
  381. package/package.json +310 -313
  382. package/dist/index.js.map +0 -1
  383. package/dist/react/3d/index.js.map +0 -1
  384. package/dist/react/astro/index.js.map +0 -1
  385. package/dist/react/cards/index.js.map +0 -1
  386. package/dist/react/charts/index.js.map +0 -1
  387. package/dist/react/core/index.js.map +0 -1
  388. package/dist/react/panels/index.js.map +0 -1
  389. package/dist/react/theme/astro-tokens.d.ts +0 -153
  390. package/dist/react/theme/index.js.map +0 -1
  391. package/dist/react.js.map +0 -1
@@ -1,399 +1,463 @@
1
- const PROPERTY_PRESETS = {
2
- // === Power System ===
3
- battery: {
4
- label: "Battery",
5
- icon: "battery-full",
6
- unit: "%",
7
- precision: 1,
8
- category: "power",
9
- // Low values are bad for battery (use *Low thresholds)
10
- thresholds: { criticalLow: 10, seriousLow: 20, cautionLow: 30 },
11
- description: "Battery state of charge"
12
- },
13
- voltage: {
14
- label: "Voltage",
15
- icon: "propulsion-power",
16
- unit: "V",
17
- precision: 2,
18
- category: "power",
19
- thresholds: { criticalLow: 24, cautionLow: 26 },
20
- description: "Bus voltage"
21
- },
22
- current: {
23
- label: "Current",
24
- icon: "propulsion-power",
25
- unit: "A",
26
- precision: 2,
27
- category: "power",
28
- description: "Current draw"
29
- },
30
- power: {
31
- label: "Power",
32
- icon: "propulsion-power",
33
- unit: "W",
34
- precision: 1,
35
- category: "power",
36
- description: "Power consumption or generation"
37
- },
38
- solarPower: {
39
- label: "Solar",
40
- icon: "solar",
41
- unit: "W",
42
- precision: 1,
43
- category: "power",
44
- description: "Solar array output"
45
- },
46
- load: {
47
- label: "Load",
48
- icon: "propulsion-power",
49
- unit: "W",
50
- precision: 1,
51
- category: "power",
52
- description: "Power load"
53
- },
54
- // === Thermal ===
55
- temperature: {
56
- label: "Temperature",
57
- icon: "thermal",
58
- unit: "°C",
59
- precision: 1,
60
- category: "thermal",
61
- thresholds: { critical: 80, serious: 70, caution: 60, cautionLow: -20, criticalLow: -40 },
62
- description: "Component temperature"
63
- },
64
- heater: {
65
- label: "Heater",
66
- icon: "thermal",
67
- unit: "",
68
- category: "thermal",
69
- description: "Heater status"
70
- },
71
- // === Attitude ===
72
- roll: {
73
- label: "Roll",
74
- icon: "explore",
75
- unit: "°",
76
- precision: 2,
77
- category: "attitude",
78
- thresholds: { critical: 45, caution: 30 },
79
- description: "Roll angle"
80
- },
81
- pitch: {
82
- label: "Pitch",
83
- icon: "explore",
84
- unit: "°",
85
- precision: 2,
86
- category: "attitude",
87
- thresholds: { critical: 45, caution: 30 },
88
- description: "Pitch angle"
89
- },
90
- yaw: {
91
- label: "Yaw",
92
- icon: "explore",
93
- unit: "°",
94
- precision: 2,
95
- category: "attitude",
96
- thresholds: { critical: 45, caution: 30 },
97
- description: "Yaw angle"
98
- },
99
- pointingError: {
100
- label: "Pointing error",
101
- icon: "explore",
102
- unit: "°",
103
- precision: 3,
104
- category: "attitude",
105
- thresholds: { critical: 1, serious: 0.5, caution: 0.1 },
106
- description: "Attitude pointing error"
107
- },
108
- angularVelocity: {
109
- label: "Angular velocity",
110
- icon: "explore",
111
- unit: "°/s",
112
- precision: 3,
113
- category: "attitude",
114
- thresholds: { critical: 5, caution: 2 },
115
- description: "Rotation rate"
116
- },
117
- // === Communications ===
118
- signalStrength: {
119
- label: "Signal",
120
- icon: "antenna-receive",
121
- unit: "dBm",
122
- precision: 1,
123
- category: "communications",
124
- thresholds: { criticalLow: -100, cautionLow: -85 },
125
- description: "Received signal strength"
126
- },
127
- dataRate: {
128
- label: "Data rate",
129
- icon: "antenna-transmit",
130
- unit: "Mbps",
131
- precision: 2,
132
- category: "communications",
133
- description: "Communication data rate"
134
- },
135
- packetLoss: {
136
- label: "Packet loss",
137
- icon: "netcom",
138
- unit: "%",
139
- precision: 2,
140
- category: "communications",
141
- thresholds: { critical: 10, serious: 5, caution: 1 },
142
- description: "Communication packet loss rate"
143
- },
144
- snr: {
145
- label: "SNR",
146
- icon: "antenna",
147
- unit: "dB",
148
- precision: 1,
149
- category: "communications",
150
- thresholds: { criticalLow: 5, cautionLow: 10 },
151
- description: "Signal-to-noise ratio"
152
- },
153
- queue: {
154
- label: "Queue",
155
- icon: "netcom",
156
- unit: "pkts",
157
- precision: 0,
158
- category: "communications",
159
- thresholds: { critical: 1e3, caution: 500 },
160
- description: "Packet queue depth"
161
- },
162
- // === Propulsion ===
163
- fuelLevel: {
164
- label: "Fuel",
165
- icon: "propulsion-power",
166
- unit: "%",
167
- precision: 1,
168
- category: "propulsion",
169
- thresholds: { critical: 5, serious: 10, caution: 20 },
170
- description: "Propellant remaining"
171
- },
172
- deltaV: {
173
- label: "Delta-V",
174
- icon: "propulsion-power",
175
- unit: "m/s",
176
- precision: 1,
177
- category: "propulsion",
178
- description: "Available delta-V budget"
179
- },
180
- thrustLevel: {
181
- label: "Thrust",
182
- icon: "propulsion-power",
183
- unit: "N",
184
- precision: 2,
185
- category: "propulsion",
186
- description: "Current thrust output"
187
- },
188
- // === Navigation ===
189
- altitude: {
190
- label: "Altitude",
191
- icon: "altitude",
192
- unit: "km",
193
- precision: 1,
194
- category: "orbital",
195
- thresholds: { criticalLow: 200, cautionLow: 250 },
196
- description: "Orbital altitude"
197
- },
198
- velocity: {
199
- label: "Velocity",
200
- icon: "altitude",
201
- unit: "km/s",
202
- precision: 3,
203
- category: "orbital",
204
- description: "Orbital velocity"
205
- },
206
- inclination: {
207
- label: "Inclination",
208
- icon: "altitude",
209
- unit: "°",
210
- precision: 2,
211
- category: "orbital",
212
- description: "Orbital inclination"
213
- },
214
- eccentricity: {
215
- label: "Eccentricity",
216
- icon: "altitude",
217
- unit: "",
218
- precision: 6,
219
- category: "orbital",
220
- description: "Orbital eccentricity"
221
- },
222
- // === Payload ===
223
- payloadStatus: {
224
- label: "Payload",
225
- icon: "payload",
226
- unit: "",
227
- category: "payload",
228
- description: "Payload operational status"
229
- },
230
- storageUsed: {
231
- label: "Storage",
232
- icon: "hardware",
233
- unit: "%",
234
- precision: 1,
235
- category: "payload",
236
- thresholds: { critical: 95, serious: 90, caution: 80 },
237
- description: "Onboard storage usage"
238
- },
239
- // === Health ===
240
- cpuUsage: {
241
- label: "CPU",
242
- icon: "processor",
243
- unit: "%",
244
- precision: 1,
245
- category: "health",
246
- thresholds: { critical: 95, serious: 85, caution: 75 },
247
- description: "Processor utilization"
248
- },
249
- memoryUsage: {
250
- label: "Memory",
251
- icon: "processor",
252
- unit: "%",
253
- precision: 1,
254
- category: "health",
255
- thresholds: { critical: 95, serious: 85, caution: 75 },
256
- description: "Memory utilization"
257
- },
258
- uptime: {
259
- label: "Uptime",
260
- icon: "mission",
261
- unit: "s",
262
- precision: 0,
263
- category: "health",
264
- description: "System uptime"
265
- },
266
- // === General ===
267
- count: {
268
- label: "Count",
269
- icon: "list",
270
- unit: "",
271
- precision: 0,
272
- category: "general",
273
- description: "Item count"
274
- },
275
- percentage: {
276
- label: "Percentage",
277
- icon: "info",
278
- unit: "%",
279
- precision: 1,
280
- category: "general",
281
- description: "Percentage value"
282
- },
283
- duration: {
284
- label: "Duration",
285
- icon: "schedule",
286
- unit: "s",
287
- precision: 0,
288
- category: "general",
289
- description: "Time duration"
290
- }
1
+ //#region src/react/core/data/propertyConfig.ts
2
+ /**
3
+ * Predefined property configurations for common space operations telemetry
4
+ *
5
+ * These provide sensible defaults that can be overridden per-use.
6
+ */
7
+ var PROPERTY_PRESETS = {
8
+ battery: {
9
+ label: "Battery",
10
+ icon: "battery-full",
11
+ unit: "%",
12
+ precision: 1,
13
+ category: "power",
14
+ thresholds: {
15
+ criticalLow: 10,
16
+ seriousLow: 20,
17
+ cautionLow: 30
18
+ },
19
+ description: "Battery state of charge"
20
+ },
21
+ voltage: {
22
+ label: "Voltage",
23
+ icon: "propulsion-power",
24
+ unit: "V",
25
+ precision: 2,
26
+ category: "power",
27
+ thresholds: {
28
+ criticalLow: 24,
29
+ cautionLow: 26
30
+ },
31
+ description: "Bus voltage"
32
+ },
33
+ current: {
34
+ label: "Current",
35
+ icon: "propulsion-power",
36
+ unit: "A",
37
+ precision: 2,
38
+ category: "power",
39
+ description: "Current draw"
40
+ },
41
+ power: {
42
+ label: "Power",
43
+ icon: "propulsion-power",
44
+ unit: "W",
45
+ precision: 1,
46
+ category: "power",
47
+ description: "Power consumption or generation"
48
+ },
49
+ solarPower: {
50
+ label: "Solar",
51
+ icon: "solar",
52
+ unit: "W",
53
+ precision: 1,
54
+ category: "power",
55
+ description: "Solar array output"
56
+ },
57
+ load: {
58
+ label: "Load",
59
+ icon: "propulsion-power",
60
+ unit: "W",
61
+ precision: 1,
62
+ category: "power",
63
+ description: "Power load"
64
+ },
65
+ temperature: {
66
+ label: "Temperature",
67
+ icon: "thermal",
68
+ unit: "°C",
69
+ precision: 1,
70
+ category: "thermal",
71
+ thresholds: {
72
+ critical: 80,
73
+ serious: 70,
74
+ caution: 60,
75
+ cautionLow: -20,
76
+ criticalLow: -40
77
+ },
78
+ description: "Component temperature"
79
+ },
80
+ heater: {
81
+ label: "Heater",
82
+ icon: "thermal",
83
+ unit: "",
84
+ category: "thermal",
85
+ description: "Heater status"
86
+ },
87
+ roll: {
88
+ label: "Roll",
89
+ icon: "explore",
90
+ unit: "°",
91
+ precision: 2,
92
+ category: "attitude",
93
+ thresholds: {
94
+ critical: 45,
95
+ caution: 30
96
+ },
97
+ description: "Roll angle"
98
+ },
99
+ pitch: {
100
+ label: "Pitch",
101
+ icon: "explore",
102
+ unit: "°",
103
+ precision: 2,
104
+ category: "attitude",
105
+ thresholds: {
106
+ critical: 45,
107
+ caution: 30
108
+ },
109
+ description: "Pitch angle"
110
+ },
111
+ yaw: {
112
+ label: "Yaw",
113
+ icon: "explore",
114
+ unit: "°",
115
+ precision: 2,
116
+ category: "attitude",
117
+ thresholds: {
118
+ critical: 45,
119
+ caution: 30
120
+ },
121
+ description: "Yaw angle"
122
+ },
123
+ pointingError: {
124
+ label: "Pointing error",
125
+ icon: "explore",
126
+ unit: "°",
127
+ precision: 3,
128
+ category: "attitude",
129
+ thresholds: {
130
+ critical: 1,
131
+ serious: .5,
132
+ caution: .1
133
+ },
134
+ description: "Attitude pointing error"
135
+ },
136
+ angularVelocity: {
137
+ label: "Angular velocity",
138
+ icon: "explore",
139
+ unit: "°/s",
140
+ precision: 3,
141
+ category: "attitude",
142
+ thresholds: {
143
+ critical: 5,
144
+ caution: 2
145
+ },
146
+ description: "Rotation rate"
147
+ },
148
+ signalStrength: {
149
+ label: "Signal",
150
+ icon: "antenna-receive",
151
+ unit: "dBm",
152
+ precision: 1,
153
+ category: "communications",
154
+ thresholds: {
155
+ criticalLow: -100,
156
+ cautionLow: -85
157
+ },
158
+ description: "Received signal strength"
159
+ },
160
+ dataRate: {
161
+ label: "Data rate",
162
+ icon: "antenna-transmit",
163
+ unit: "Mbps",
164
+ precision: 2,
165
+ category: "communications",
166
+ description: "Communication data rate"
167
+ },
168
+ packetLoss: {
169
+ label: "Packet loss",
170
+ icon: "netcom",
171
+ unit: "%",
172
+ precision: 2,
173
+ category: "communications",
174
+ thresholds: {
175
+ critical: 10,
176
+ serious: 5,
177
+ caution: 1
178
+ },
179
+ description: "Communication packet loss rate"
180
+ },
181
+ snr: {
182
+ label: "SNR",
183
+ icon: "antenna",
184
+ unit: "dB",
185
+ precision: 1,
186
+ category: "communications",
187
+ thresholds: {
188
+ criticalLow: 5,
189
+ cautionLow: 10
190
+ },
191
+ description: "Signal-to-noise ratio"
192
+ },
193
+ queue: {
194
+ label: "Queue",
195
+ icon: "netcom",
196
+ unit: "pkts",
197
+ precision: 0,
198
+ category: "communications",
199
+ thresholds: {
200
+ critical: 1e3,
201
+ caution: 500
202
+ },
203
+ description: "Packet queue depth"
204
+ },
205
+ fuelLevel: {
206
+ label: "Fuel",
207
+ icon: "propulsion-power",
208
+ unit: "%",
209
+ precision: 1,
210
+ category: "propulsion",
211
+ thresholds: {
212
+ critical: 5,
213
+ serious: 10,
214
+ caution: 20
215
+ },
216
+ description: "Propellant remaining"
217
+ },
218
+ deltaV: {
219
+ label: "Delta-V",
220
+ icon: "propulsion-power",
221
+ unit: "m/s",
222
+ precision: 1,
223
+ category: "propulsion",
224
+ description: "Available delta-V budget"
225
+ },
226
+ thrustLevel: {
227
+ label: "Thrust",
228
+ icon: "propulsion-power",
229
+ unit: "N",
230
+ precision: 2,
231
+ category: "propulsion",
232
+ description: "Current thrust output"
233
+ },
234
+ altitude: {
235
+ label: "Altitude",
236
+ icon: "altitude",
237
+ unit: "km",
238
+ precision: 1,
239
+ category: "orbital",
240
+ thresholds: {
241
+ criticalLow: 200,
242
+ cautionLow: 250
243
+ },
244
+ description: "Orbital altitude"
245
+ },
246
+ velocity: {
247
+ label: "Velocity",
248
+ icon: "altitude",
249
+ unit: "km/s",
250
+ precision: 3,
251
+ category: "orbital",
252
+ description: "Orbital velocity"
253
+ },
254
+ inclination: {
255
+ label: "Inclination",
256
+ icon: "altitude",
257
+ unit: "°",
258
+ precision: 2,
259
+ category: "orbital",
260
+ description: "Orbital inclination"
261
+ },
262
+ eccentricity: {
263
+ label: "Eccentricity",
264
+ icon: "altitude",
265
+ unit: "",
266
+ precision: 6,
267
+ category: "orbital",
268
+ description: "Orbital eccentricity"
269
+ },
270
+ payloadStatus: {
271
+ label: "Payload",
272
+ icon: "payload",
273
+ unit: "",
274
+ category: "payload",
275
+ description: "Payload operational status"
276
+ },
277
+ storageUsed: {
278
+ label: "Storage",
279
+ icon: "hardware",
280
+ unit: "%",
281
+ precision: 1,
282
+ category: "payload",
283
+ thresholds: {
284
+ critical: 95,
285
+ serious: 90,
286
+ caution: 80
287
+ },
288
+ description: "Onboard storage usage"
289
+ },
290
+ cpuUsage: {
291
+ label: "CPU",
292
+ icon: "processor",
293
+ unit: "%",
294
+ precision: 1,
295
+ category: "health",
296
+ thresholds: {
297
+ critical: 95,
298
+ serious: 85,
299
+ caution: 75
300
+ },
301
+ description: "Processor utilization"
302
+ },
303
+ memoryUsage: {
304
+ label: "Memory",
305
+ icon: "processor",
306
+ unit: "%",
307
+ precision: 1,
308
+ category: "health",
309
+ thresholds: {
310
+ critical: 95,
311
+ serious: 85,
312
+ caution: 75
313
+ },
314
+ description: "Memory utilization"
315
+ },
316
+ uptime: {
317
+ label: "Uptime",
318
+ icon: "mission",
319
+ unit: "s",
320
+ precision: 0,
321
+ category: "health",
322
+ description: "System uptime"
323
+ },
324
+ count: {
325
+ label: "Count",
326
+ icon: "list",
327
+ unit: "",
328
+ precision: 0,
329
+ category: "general",
330
+ description: "Item count"
331
+ },
332
+ percentage: {
333
+ label: "Percentage",
334
+ icon: "info",
335
+ unit: "%",
336
+ precision: 1,
337
+ category: "general",
338
+ description: "Percentage value"
339
+ },
340
+ duration: {
341
+ label: "Duration",
342
+ icon: "schedule",
343
+ unit: "s",
344
+ precision: 0,
345
+ category: "general",
346
+ description: "Time duration"
347
+ }
291
348
  };
292
- const CATEGORY_ICONS = {
293
- power: "propulsion-power",
294
- thermal: "thermal",
295
- attitude: "explore",
296
- communications: "antenna",
297
- propulsion: "propulsion-power",
298
- navigation: "gps-fixed",
299
- payload: "payload",
300
- health: "favorite",
301
- orbital: "altitude",
302
- general: "info"
349
+ var CATEGORY_ICONS = {
350
+ power: "propulsion-power",
351
+ thermal: "thermal",
352
+ attitude: "explore",
353
+ communications: "antenna",
354
+ propulsion: "propulsion-power",
355
+ navigation: "gps-fixed",
356
+ payload: "payload",
357
+ health: "favorite",
358
+ orbital: "altitude",
359
+ general: "info"
303
360
  };
304
- const CATEGORY_LABELS = {
305
- power: "Power",
306
- thermal: "Thermal",
307
- attitude: "Attitude",
308
- communications: "Communications",
309
- propulsion: "Propulsion",
310
- navigation: "Navigation",
311
- payload: "Payload",
312
- health: "Health",
313
- orbital: "Orbital",
314
- general: "General"
361
+ var CATEGORY_LABELS = {
362
+ power: "Power",
363
+ thermal: "Thermal",
364
+ attitude: "Attitude",
365
+ communications: "Communications",
366
+ propulsion: "Propulsion",
367
+ navigation: "Navigation",
368
+ payload: "Payload",
369
+ health: "Health",
370
+ orbital: "Orbital",
371
+ general: "General"
315
372
  };
373
+ /**
374
+ * Get property configuration by key
375
+ * Returns preset config or a default config for unknown properties
376
+ */
316
377
  function getPropertyConfig(key) {
317
- const preset = PROPERTY_PRESETS[key];
318
- if (preset) {
319
- return preset;
320
- }
321
- return {
322
- label: formatPropertyLabel(key),
323
- icon: "info",
324
- unit: "",
325
- precision: 2,
326
- category: "general",
327
- description: key
328
- };
378
+ const preset = PROPERTY_PRESETS[key];
379
+ if (preset) return preset;
380
+ return {
381
+ label: formatPropertyLabel(key),
382
+ icon: "info",
383
+ unit: "",
384
+ precision: 2,
385
+ category: "general",
386
+ description: key
387
+ };
329
388
  }
389
+ /**
390
+ * Format a property key into a display label (sentence case)
391
+ */
330
392
  function formatPropertyLabel(key) {
331
- const words = key.replace(/([A-Z])/g, " $1").replace(/[_-]/g, " ").trim().toLowerCase();
332
- return words.charAt(0).toUpperCase() + words.slice(1);
393
+ const words = key.replace(/([A-Z])/g, " $1").replace(/[_-]/g, " ").trim().toLowerCase();
394
+ return words.charAt(0).toUpperCase() + words.slice(1);
333
395
  }
396
+ /**
397
+ * Derive status level from a value and thresholds
398
+ *
399
+ * @param value - Current value
400
+ * @param thresholds - Status thresholds
401
+ * @returns StatusLevel
402
+ *
403
+ * @example
404
+ * ```tsx
405
+ * deriveStatus(75, { caution: 60, critical: 80 }) // 'caution'
406
+ * deriveStatus(25, { criticalLow: 10, cautionLow: 30 }) // 'caution'
407
+ * deriveStatus(50, { caution: 60, critical: 80 }) // 'normal'
408
+ * ```
409
+ */
334
410
  function deriveStatus(value, thresholds) {
335
- if (value === void 0 || value === null || !Number.isFinite(value)) {
336
- return "off";
337
- }
338
- if (!thresholds) {
339
- return "normal";
340
- }
341
- if (thresholds.critical !== void 0 && value >= thresholds.critical) {
342
- return "critical";
343
- }
344
- if (thresholds.serious !== void 0 && value >= thresholds.serious) {
345
- return "serious";
346
- }
347
- if (thresholds.caution !== void 0 && value >= thresholds.caution) {
348
- return "caution";
349
- }
350
- if (thresholds.criticalLow !== void 0 && value <= thresholds.criticalLow) {
351
- return "critical";
352
- }
353
- if (thresholds.seriousLow !== void 0 && value <= thresholds.seriousLow) {
354
- return "serious";
355
- }
356
- if (thresholds.cautionLow !== void 0 && value <= thresholds.cautionLow) {
357
- return "caution";
358
- }
359
- return "normal";
411
+ if (value === void 0 || value === null || !Number.isFinite(value)) return "off";
412
+ if (!thresholds) return "normal";
413
+ if (thresholds.critical !== void 0 && value >= thresholds.critical) return "critical";
414
+ if (thresholds.serious !== void 0 && value >= thresholds.serious) return "serious";
415
+ if (thresholds.caution !== void 0 && value >= thresholds.caution) return "caution";
416
+ if (thresholds.criticalLow !== void 0 && value <= thresholds.criticalLow) return "critical";
417
+ if (thresholds.seriousLow !== void 0 && value <= thresholds.seriousLow) return "serious";
418
+ if (thresholds.cautionLow !== void 0 && value <= thresholds.cautionLow) return "caution";
419
+ return "normal";
360
420
  }
421
+ /**
422
+ * Derive status for battery specifically (low is bad)
423
+ */
361
424
  function deriveBatteryStatus(level) {
362
- if (level === void 0 || level === null) return "off";
363
- if (level <= 10) return "critical";
364
- if (level <= 20) return "serious";
365
- if (level <= 30) return "caution";
366
- return "normal";
425
+ if (level === void 0 || level === null) return "off";
426
+ if (level <= 10) return "critical";
427
+ if (level <= 20) return "serious";
428
+ if (level <= 30) return "caution";
429
+ return "normal";
367
430
  }
431
+ /**
432
+ * Format a value with its property config
433
+ */
368
434
  function formatPropertyValue(value, config) {
369
- if (value === void 0 || value === null || !Number.isFinite(value)) {
370
- return "--";
371
- }
372
- if (config.format) {
373
- return config.format(value);
374
- }
375
- const precision = config.precision ?? 2;
376
- const formatted = value.toFixed(precision);
377
- const unit = config.unit ?? "";
378
- return unit ? `${formatted}${unit.startsWith("°") || unit.startsWith("%") ? "" : " "}${unit}` : formatted;
435
+ if (value === void 0 || value === null || !Number.isFinite(value)) return "--";
436
+ if (config.format) return config.format(value);
437
+ const precision = config.precision ?? 2;
438
+ const formatted = value.toFixed(precision);
439
+ const unit = config.unit ?? "";
440
+ return unit ? `${formatted}${unit.startsWith("°") || unit.startsWith("%") ? "" : " "}${unit}` : formatted;
379
441
  }
442
+ /**
443
+ * Create a custom property config by merging with a preset
444
+ */
380
445
  function createPropertyConfig(baseKey, overrides) {
381
- const base = getPropertyConfig(baseKey);
382
- return { ...base, ...overrides };
446
+ return {
447
+ ...getPropertyConfig(baseKey),
448
+ ...overrides
449
+ };
383
450
  }
451
+ /**
452
+ * Get all properties in a category
453
+ */
384
454
  function getPropertiesByCategory(category) {
385
- return Object.entries(PROPERTY_PRESETS).filter(([_, config]) => config.category === category).map(([key, config]) => ({ key, config }));
455
+ return Object.entries(PROPERTY_PRESETS).filter(([_, config]) => config.category === category).map(([key, config]) => ({
456
+ key,
457
+ config
458
+ }));
386
459
  }
387
- export {
388
- CATEGORY_ICONS,
389
- CATEGORY_LABELS,
390
- PROPERTY_PRESETS,
391
- createPropertyConfig,
392
- deriveBatteryStatus,
393
- deriveStatus,
394
- formatPropertyLabel,
395
- formatPropertyValue,
396
- getPropertiesByCategory,
397
- getPropertyConfig
398
- };
399
- //# sourceMappingURL=propertyConfig.js.map
460
+ //#endregion
461
+ export { CATEGORY_ICONS, CATEGORY_LABELS, PROPERTY_PRESETS, createPropertyConfig, deriveBatteryStatus, deriveStatus, formatPropertyLabel, formatPropertyValue, getPropertiesByCategory, getPropertyConfig };
462
+
463
+ //# sourceMappingURL=propertyConfig.js.map