@zendir/ui 0.5.0 → 0.6.1

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 +419 -386
  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 -571
  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 +5 -6
  229. package/dist/react/core/navigation/SideNav.js +855 -629
  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 +313 -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 +26 -3
  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 +533 -155
  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,7 +1,20 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { memo } from "react";
3
1
  import { classNames } from "../utils/index.js";
4
- const SHIMMER_KEYFRAMES = `
2
+ import { memo } from "react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ //#region src/react/shared/Skeleton.tsx
5
+ /**
6
+ * @zendir/ui - Skeleton Components
7
+ *
8
+ * Loading skeleton components with Apple-style shimmer animation.
9
+ * Used for loading states before data arrives.
10
+ *
11
+ * Features:
12
+ * - Smooth shimmer animation
13
+ * - Multiple variants (text, card, chart, circle)
14
+ * - Respects reduced-motion preferences
15
+ * - Matches component sizes for seamless transition
16
+ */
17
+ var SHIMMER_KEYFRAMES = `
5
18
  @keyframes skeletonShimmer {
6
19
  0% {
7
20
  background-position: -200% 0;
@@ -11,314 +24,300 @@ const SHIMMER_KEYFRAMES = `
11
24
  }
12
25
  }
13
26
  `;
14
- const getShimmerStyle = (width, height) => ({
15
- width: width ?? "100%",
16
- height: height ?? 16,
17
- backgroundColor: "var(--color-background-interactive-default, rgba(255,255,255,0.1))",
18
- backgroundImage: "linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.08) 50%, transparent 100%)",
19
- backgroundSize: "200% 100%",
20
- backgroundRepeat: "no-repeat",
21
- animation: "skeletonShimmer 1.5s ease-in-out infinite",
22
- borderRadius: 4
27
+ var getShimmerStyle = (width, height) => ({
28
+ width: width ?? "100%",
29
+ height: height ?? 16,
30
+ backgroundColor: "var(--color-background-interactive-default, rgba(255,255,255,0.1))",
31
+ backgroundImage: "linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.08) 50%, transparent 100%)",
32
+ backgroundSize: "200% 100%",
33
+ backgroundRepeat: "no-repeat",
34
+ animation: "skeletonShimmer 1.5s ease-in-out infinite",
35
+ borderRadius: 4
23
36
  });
24
- const SkeletonText = memo(function SkeletonText2({
25
- lines = 1,
26
- lastLineWidth = "80%",
27
- lineHeight = 14,
28
- gap = 8,
29
- className = ""
30
- }) {
31
- return /* @__PURE__ */ jsxs(
32
- "div",
33
- {
34
- className: classNames("zendir-skeleton-text", className),
35
- role: "presentation",
36
- "aria-hidden": "true",
37
- style: {
38
- display: "flex",
39
- flexDirection: "column",
40
- gap
41
- },
42
- children: [
43
- Array.from({ length: lines }).map((_, i) => /* @__PURE__ */ jsx(
44
- "div",
45
- {
46
- style: {
47
- ...getShimmerStyle(i === lines - 1 ? lastLineWidth : "100%", lineHeight)
48
- }
49
- },
50
- i
51
- )),
52
- /* @__PURE__ */ jsx("style", { children: SHIMMER_KEYFRAMES })
53
- ]
54
- }
55
- );
37
+ /**
38
+ * SkeletonText - Placeholder for text content
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * <SkeletonText lines={3} lastLineWidth="60%" />
43
+ * ```
44
+ */
45
+ var SkeletonText = memo(function SkeletonText({ lines = 1, lastLineWidth = "80%", lineHeight = 14, gap = 8, className = "" }) {
46
+ return /* @__PURE__ */ jsxs("div", {
47
+ className: classNames("zendir-skeleton-text", className),
48
+ role: "presentation",
49
+ "aria-hidden": "true",
50
+ style: {
51
+ display: "flex",
52
+ flexDirection: "column",
53
+ gap
54
+ },
55
+ children: [Array.from({ length: lines }).map((_, i) => /* @__PURE__ */ jsx("div", { style: { ...getShimmerStyle(i === lines - 1 ? lastLineWidth : "100%", lineHeight) } }, i)), /* @__PURE__ */ jsx("style", { children: SHIMMER_KEYFRAMES })]
56
+ });
56
57
  });
57
- const SkeletonBox = memo(function SkeletonBox2({
58
- width = "100%",
59
- height = 100,
60
- borderRadius = 4,
61
- className = ""
62
- }) {
63
- return /* @__PURE__ */ jsx(
64
- "div",
65
- {
66
- className: classNames("zendir-skeleton-box", className),
67
- role: "presentation",
68
- "aria-hidden": "true",
69
- style: {
70
- ...getShimmerStyle(width, height),
71
- borderRadius
72
- },
73
- children: /* @__PURE__ */ jsx("style", { children: SHIMMER_KEYFRAMES })
74
- }
75
- );
58
+ /**
59
+ * SkeletonBox - Generic rectangular placeholder
60
+ *
61
+ * @example
62
+ * ```tsx
63
+ * <SkeletonBox width={200} height={100} />
64
+ * ```
65
+ */
66
+ var SkeletonBox = memo(function SkeletonBox({ width = "100%", height = 100, borderRadius = 4, className = "" }) {
67
+ return /* @__PURE__ */ jsx("div", {
68
+ className: classNames("zendir-skeleton-box", className),
69
+ role: "presentation",
70
+ "aria-hidden": "true",
71
+ style: {
72
+ ...getShimmerStyle(width, height),
73
+ borderRadius
74
+ },
75
+ children: /* @__PURE__ */ jsx("style", { children: SHIMMER_KEYFRAMES })
76
+ });
76
77
  });
77
- const SkeletonCircle = memo(function SkeletonCircle2({
78
- size = 40,
79
- className = ""
80
- }) {
81
- return /* @__PURE__ */ jsx(
82
- "div",
83
- {
84
- className: classNames("zendir-skeleton-circle", className),
85
- role: "presentation",
86
- "aria-hidden": "true",
87
- style: {
88
- ...getShimmerStyle(size, size),
89
- borderRadius: "50%",
90
- flexShrink: 0
91
- },
92
- children: /* @__PURE__ */ jsx("style", { children: SHIMMER_KEYFRAMES })
93
- }
94
- );
78
+ /**
79
+ * SkeletonCircle - Circular placeholder (avatars, icons)
80
+ *
81
+ * @example
82
+ * ```tsx
83
+ * <SkeletonCircle size={48} />
84
+ * ```
85
+ */
86
+ var SkeletonCircle = memo(function SkeletonCircle({ size = 40, className = "" }) {
87
+ return /* @__PURE__ */ jsx("div", {
88
+ className: classNames("zendir-skeleton-circle", className),
89
+ role: "presentation",
90
+ "aria-hidden": "true",
91
+ style: {
92
+ ...getShimmerStyle(size, size),
93
+ borderRadius: "50%",
94
+ flexShrink: 0
95
+ },
96
+ children: /* @__PURE__ */ jsx("style", { children: SHIMMER_KEYFRAMES })
97
+ });
95
98
  });
96
- const SkeletonCard = memo(function SkeletonCard2({
97
- height,
98
- showHeader = true,
99
- showContent = true,
100
- contentLines = 3,
101
- className = ""
102
- }) {
103
- return /* @__PURE__ */ jsxs(
104
- "div",
105
- {
106
- className: classNames("zendir-skeleton-card", className),
107
- role: "presentation",
108
- "aria-label": "Loading...",
109
- style: {
110
- display: "flex",
111
- flexDirection: "column",
112
- gap: 16,
113
- padding: 16,
114
- minHeight: height,
115
- backgroundColor: "var(--color-background-surface, #1b2d3e)",
116
- borderRadius: 8,
117
- border: "1px solid var(--color-border, rgba(255,255,255,0.1))"
118
- },
119
- children: [
120
- showHeader && /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: 12 }, children: [
121
- /* @__PURE__ */ jsx(SkeletonCircle, { size: 32 }),
122
- /* @__PURE__ */ jsxs("div", { style: { flex: 1 }, children: [
123
- /* @__PURE__ */ jsx(SkeletonText, { lines: 1, lineHeight: 16 }),
124
- /* @__PURE__ */ jsx("div", { style: { height: 6 } }),
125
- /* @__PURE__ */ jsx(SkeletonText, { lines: 1, lineHeight: 12, lastLineWidth: "50%" })
126
- ] })
127
- ] }),
128
- showContent && /* @__PURE__ */ jsx("div", { style: { flex: 1 }, children: /* @__PURE__ */ jsx(SkeletonText, { lines: contentLines, gap: 10, lineHeight: 12 }) }),
129
- /* @__PURE__ */ jsx("style", { children: SHIMMER_KEYFRAMES })
130
- ]
131
- }
132
- );
99
+ /**
100
+ * SkeletonCard - Card-shaped placeholder matching component cards
101
+ *
102
+ * @example
103
+ * ```tsx
104
+ * <SkeletonCard showHeader showContent contentLines={4} />
105
+ * ```
106
+ */
107
+ var SkeletonCard = memo(function SkeletonCard({ height, showHeader = true, showContent = true, contentLines = 3, className = "" }) {
108
+ return /* @__PURE__ */ jsxs("div", {
109
+ className: classNames("zendir-skeleton-card", className),
110
+ role: "presentation",
111
+ "aria-label": "Loading...",
112
+ style: {
113
+ display: "flex",
114
+ flexDirection: "column",
115
+ gap: 16,
116
+ padding: 16,
117
+ minHeight: height,
118
+ backgroundColor: "var(--zendir-bg-surface, #1b2d3e)",
119
+ borderRadius: 8,
120
+ border: "1px solid var(--zendir-border-default, rgba(255,255,255,0.1))"
121
+ },
122
+ children: [
123
+ showHeader && /* @__PURE__ */ jsxs("div", {
124
+ style: {
125
+ display: "flex",
126
+ alignItems: "center",
127
+ gap: 12
128
+ },
129
+ children: [/* @__PURE__ */ jsx(SkeletonCircle, { size: 32 }), /* @__PURE__ */ jsxs("div", {
130
+ style: { flex: 1 },
131
+ children: [
132
+ /* @__PURE__ */ jsx(SkeletonText, {
133
+ lines: 1,
134
+ lineHeight: 16
135
+ }),
136
+ /* @__PURE__ */ jsx("div", { style: { height: 6 } }),
137
+ /* @__PURE__ */ jsx(SkeletonText, {
138
+ lines: 1,
139
+ lineHeight: 12,
140
+ lastLineWidth: "50%"
141
+ })
142
+ ]
143
+ })]
144
+ }),
145
+ showContent && /* @__PURE__ */ jsx("div", {
146
+ style: { flex: 1 },
147
+ children: /* @__PURE__ */ jsx(SkeletonText, {
148
+ lines: contentLines,
149
+ gap: 10,
150
+ lineHeight: 12
151
+ })
152
+ }),
153
+ /* @__PURE__ */ jsx("style", { children: SHIMMER_KEYFRAMES })
154
+ ]
155
+ });
133
156
  });
134
- const SkeletonChart = memo(function SkeletonChart2({
135
- height = 200,
136
- type = "line",
137
- className = ""
138
- }) {
139
- return /* @__PURE__ */ jsxs(
140
- "div",
141
- {
142
- className: classNames("zendir-skeleton-chart", className),
143
- role: "presentation",
144
- "aria-label": "Loading chart...",
145
- style: {
146
- position: "relative",
147
- height,
148
- backgroundColor: "var(--color-background-surface, #1b2d3e)",
149
- borderRadius: 8,
150
- border: "1px solid var(--color-border, rgba(255,255,255,0.1))",
151
- overflow: "hidden"
152
- },
153
- children: [
154
- /* @__PURE__ */ jsx(
155
- "div",
156
- {
157
- style: {
158
- position: "absolute",
159
- inset: 16,
160
- display: "flex",
161
- alignItems: "flex-end",
162
- justifyContent: "space-between",
163
- gap: type === "bar" ? 8 : 0
164
- },
165
- children: type === "bar" ? (
166
- // Bar chart skeleton
167
- Array.from({ length: 8 }).map((_, i) => /* @__PURE__ */ jsx(
168
- "div",
169
- {
170
- style: {
171
- ...getShimmerStyle(void 0, `${30 + Math.random() * 50}%`),
172
- flex: 1,
173
- borderRadius: "4px 4px 0 0"
174
- }
175
- },
176
- i
177
- ))
178
- ) : (
179
- // Line/Area chart skeleton
180
- /* @__PURE__ */ jsxs(
181
- "svg",
182
- {
183
- viewBox: "0 0 100 50",
184
- preserveAspectRatio: "none",
185
- style: {
186
- width: "100%",
187
- height: "100%"
188
- },
189
- children: [
190
- /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("linearGradient", { id: "skeletonGradient", x1: "0%", y1: "0%", x2: "100%", y2: "0%", children: [
191
- /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: "rgba(255,255,255,0.05)", children: /* @__PURE__ */ jsx(
192
- "animate",
193
- {
194
- attributeName: "offset",
195
- values: "-0.5;1.5",
196
- dur: "1.5s",
197
- repeatCount: "indefinite"
198
- }
199
- ) }),
200
- /* @__PURE__ */ jsx("stop", { offset: "50%", stopColor: "rgba(255,255,255,0.1)", children: /* @__PURE__ */ jsx(
201
- "animate",
202
- {
203
- attributeName: "offset",
204
- values: "0;2",
205
- dur: "1.5s",
206
- repeatCount: "indefinite"
207
- }
208
- ) }),
209
- /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: "rgba(255,255,255,0.05)", children: /* @__PURE__ */ jsx(
210
- "animate",
211
- {
212
- attributeName: "offset",
213
- values: "0.5;2.5",
214
- dur: "1.5s",
215
- repeatCount: "indefinite"
216
- }
217
- ) })
218
- ] }) }),
219
- /* @__PURE__ */ jsx(
220
- "path",
221
- {
222
- d: "M0,40 Q15,35 25,30 T50,25 T75,20 T100,15 L100,50 L0,50 Z",
223
- fill: type === "area" ? "url(#skeletonGradient)" : "none",
224
- stroke: "url(#skeletonGradient)",
225
- strokeWidth: "2"
226
- }
227
- )
228
- ]
229
- }
230
- )
231
- )
232
- }
233
- ),
234
- /* @__PURE__ */ jsx(
235
- "div",
236
- {
237
- style: {
238
- position: "absolute",
239
- left: 4,
240
- top: 16,
241
- bottom: 16,
242
- width: 24,
243
- display: "flex",
244
- flexDirection: "column",
245
- justifyContent: "space-between"
246
- },
247
- children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ jsx(SkeletonBox, { width: 24, height: 8 }, i))
248
- }
249
- ),
250
- /* @__PURE__ */ jsx("style", { children: SHIMMER_KEYFRAMES })
251
- ]
252
- }
253
- );
157
+ /**
158
+ * SkeletonChart - Chart placeholder with visualization hint
159
+ *
160
+ * @example
161
+ * ```tsx
162
+ * <SkeletonChart height={200} type="line" />
163
+ * ```
164
+ */
165
+ var SkeletonChart = memo(function SkeletonChart({ height = 200, type = "line", className = "" }) {
166
+ return /* @__PURE__ */ jsxs("div", {
167
+ className: classNames("zendir-skeleton-chart", className),
168
+ role: "presentation",
169
+ "aria-label": "Loading chart...",
170
+ style: {
171
+ position: "relative",
172
+ height,
173
+ backgroundColor: "var(--zendir-bg-surface, #1b2d3e)",
174
+ borderRadius: 8,
175
+ border: "1px solid var(--zendir-border-default, rgba(255,255,255,0.1))",
176
+ overflow: "hidden"
177
+ },
178
+ children: [
179
+ /* @__PURE__ */ jsx("div", {
180
+ style: {
181
+ position: "absolute",
182
+ inset: 16,
183
+ display: "flex",
184
+ alignItems: "flex-end",
185
+ justifyContent: "space-between",
186
+ gap: type === "bar" ? 8 : 0
187
+ },
188
+ children: type === "bar" ? Array.from({ length: 8 }).map((_, i) => /* @__PURE__ */ jsx("div", { style: {
189
+ ...getShimmerStyle(void 0, `${30 + Math.random() * 50}%`),
190
+ flex: 1,
191
+ borderRadius: "4px 4px 0 0"
192
+ } }, i)) : /* @__PURE__ */ jsxs("svg", {
193
+ viewBox: "0 0 100 50",
194
+ preserveAspectRatio: "none",
195
+ style: {
196
+ width: "100%",
197
+ height: "100%"
198
+ },
199
+ children: [/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("linearGradient", {
200
+ id: "skeletonGradient",
201
+ x1: "0%",
202
+ y1: "0%",
203
+ x2: "100%",
204
+ y2: "0%",
205
+ children: [
206
+ /* @__PURE__ */ jsx("stop", {
207
+ offset: "0%",
208
+ stopColor: "rgba(255,255,255,0.05)",
209
+ children: /* @__PURE__ */ jsx("animate", {
210
+ attributeName: "offset",
211
+ values: "-0.5;1.5",
212
+ dur: "1.5s",
213
+ repeatCount: "indefinite"
214
+ })
215
+ }),
216
+ /* @__PURE__ */ jsx("stop", {
217
+ offset: "50%",
218
+ stopColor: "rgba(255,255,255,0.1)",
219
+ children: /* @__PURE__ */ jsx("animate", {
220
+ attributeName: "offset",
221
+ values: "0;2",
222
+ dur: "1.5s",
223
+ repeatCount: "indefinite"
224
+ })
225
+ }),
226
+ /* @__PURE__ */ jsx("stop", {
227
+ offset: "100%",
228
+ stopColor: "rgba(255,255,255,0.05)",
229
+ children: /* @__PURE__ */ jsx("animate", {
230
+ attributeName: "offset",
231
+ values: "0.5;2.5",
232
+ dur: "1.5s",
233
+ repeatCount: "indefinite"
234
+ })
235
+ })
236
+ ]
237
+ }) }), /* @__PURE__ */ jsx("path", {
238
+ d: "M0,40 Q15,35 25,30 T50,25 T75,20 T100,15 L100,50 L0,50 Z",
239
+ fill: type === "area" ? "url(#skeletonGradient)" : "none",
240
+ stroke: "url(#skeletonGradient)",
241
+ strokeWidth: "2"
242
+ })]
243
+ })
244
+ }),
245
+ /* @__PURE__ */ jsx("div", {
246
+ style: {
247
+ position: "absolute",
248
+ left: 4,
249
+ top: 16,
250
+ bottom: 16,
251
+ width: 24,
252
+ display: "flex",
253
+ flexDirection: "column",
254
+ justifyContent: "space-between"
255
+ },
256
+ children: Array.from({ length: 4 }).map((_, i) => /* @__PURE__ */ jsx(SkeletonBox, {
257
+ width: 24,
258
+ height: 8
259
+ }, i))
260
+ }),
261
+ /* @__PURE__ */ jsx("style", { children: SHIMMER_KEYFRAMES })
262
+ ]
263
+ });
254
264
  });
255
- const Skeleton3D = memo(function Skeleton3D2({
256
- height = 400,
257
- className = ""
258
- }) {
259
- return /* @__PURE__ */ jsxs(
260
- "div",
261
- {
262
- className: classNames("zendir-skeleton-3d", className),
263
- role: "presentation",
264
- "aria-label": "Loading 3D view...",
265
- style: {
266
- position: "relative",
267
- height,
268
- backgroundColor: "var(--color-background-base, #101923)",
269
- borderRadius: 8,
270
- overflow: "hidden",
271
- display: "flex",
272
- alignItems: "center",
273
- justifyContent: "center"
274
- },
275
- children: [
276
- /* @__PURE__ */ jsx(
277
- "div",
278
- {
279
- style: {
280
- width: Math.min(height * 0.5, 200),
281
- height: Math.min(height * 0.5, 200),
282
- borderRadius: "50%",
283
- border: "2px solid rgba(255,255,255,0.1)",
284
- backgroundImage: "linear-gradient(135deg, transparent 40%, rgba(77,172,255,0.1) 50%, transparent 60%)",
285
- backgroundSize: "200% 200%",
286
- animation: "skeleton3DSpin 3s linear infinite, skeletonShimmer 1.5s ease-in-out infinite"
287
- }
288
- }
289
- ),
290
- /* @__PURE__ */ jsx(
291
- "div",
292
- {
293
- style: {
294
- position: "absolute",
295
- bottom: 16,
296
- left: 0,
297
- right: 0,
298
- textAlign: "center",
299
- fontSize: 12,
300
- color: "rgba(255,255,255,0.4)"
301
- },
302
- children: "Loading 3D Scene..."
303
- }
304
- ),
305
- /* @__PURE__ */ jsx("style", { children: `
265
+ /**
266
+ * Skeleton3D - 3D viewer placeholder with sphere hint
267
+ *
268
+ * @example
269
+ * ```tsx
270
+ * <Skeleton3D height={400} />
271
+ * ```
272
+ */
273
+ var Skeleton3D = memo(function Skeleton3D({ height = 400, className = "" }) {
274
+ return /* @__PURE__ */ jsxs("div", {
275
+ className: classNames("zendir-skeleton-3d", className),
276
+ role: "presentation",
277
+ "aria-label": "Loading 3D view...",
278
+ style: {
279
+ position: "relative",
280
+ height,
281
+ backgroundColor: "var(--zendir-bg-base, #101923)",
282
+ borderRadius: 8,
283
+ overflow: "hidden",
284
+ display: "flex",
285
+ alignItems: "center",
286
+ justifyContent: "center"
287
+ },
288
+ children: [
289
+ /* @__PURE__ */ jsx("div", { style: {
290
+ width: Math.min(height * .5, 200),
291
+ height: Math.min(height * .5, 200),
292
+ borderRadius: "50%",
293
+ border: "2px solid rgba(255,255,255,0.1)",
294
+ backgroundImage: "linear-gradient(135deg, transparent 40%, rgba(77,172,255,0.1) 50%, transparent 60%)",
295
+ backgroundSize: "200% 200%",
296
+ animation: "skeleton3DSpin 3s linear infinite, skeletonShimmer 1.5s ease-in-out infinite"
297
+ } }),
298
+ /* @__PURE__ */ jsx("div", {
299
+ style: {
300
+ position: "absolute",
301
+ bottom: 16,
302
+ left: 0,
303
+ right: 0,
304
+ textAlign: "center",
305
+ fontSize: 12,
306
+ color: "rgba(255,255,255,0.4)"
307
+ },
308
+ children: "Loading 3D Scene..."
309
+ }),
310
+ /* @__PURE__ */ jsx("style", { children: `
306
311
  ${SHIMMER_KEYFRAMES}
307
312
  @keyframes skeleton3DSpin {
308
313
  from { transform: rotate(0deg); }
309
314
  to { transform: rotate(360deg); }
310
315
  }
311
316
  ` })
312
- ]
313
- }
314
- );
317
+ ]
318
+ });
315
319
  });
316
- export {
317
- Skeleton3D,
318
- SkeletonBox,
319
- SkeletonCard,
320
- SkeletonChart,
321
- SkeletonCircle,
322
- SkeletonText
323
- };
324
- //# sourceMappingURL=Skeleton.js.map
320
+ //#endregion
321
+ export { Skeleton3D, SkeletonBox, SkeletonCard, SkeletonChart, SkeletonCircle, SkeletonText };
322
+
323
+ //# sourceMappingURL=Skeleton.js.map