@almadar/ui 2.13.3 → 2.15.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 (420) hide show
  1. package/dist/{chunk-UNDQO6DL.js → chunk-4KP6IZEQ.js} +3 -3
  2. package/dist/chunk-4N3BAPDB.js +1667 -0
  3. package/dist/{chunk-PERGHHON.js → chunk-IRIGCHP4.js} +2 -12
  4. package/dist/{chunk-Y7IHEYYE.js → chunk-QU2X55WH.js} +11 -1
  5. package/dist/{chunk-4ZBSL37D.js → chunk-XL7WB2O5.js} +415 -58
  6. package/dist/{chunk-MSLMORZK.js → chunk-YPY74G7F.js} +13434 -2264
  7. package/dist/components/atoms/AnimatedCounter.d.ts +20 -0
  8. package/dist/components/atoms/Avatar.d.ts +58 -0
  9. package/dist/components/atoms/Badge.d.ts +14 -0
  10. package/dist/components/atoms/Box.d.ts +57 -0
  11. package/dist/components/atoms/Button.d.ts +24 -0
  12. package/dist/components/atoms/Card.d.ts +18 -0
  13. package/dist/components/atoms/Center.d.ts +33 -0
  14. package/dist/components/atoms/Checkbox.d.ts +9 -0
  15. package/dist/components/atoms/ConditionalWrapper.d.ts +68 -0
  16. package/dist/components/atoms/ConfettiEffect.d.ts +19 -0
  17. package/dist/components/atoms/DayCell.d.ts +21 -0
  18. package/dist/components/atoms/Divider.d.ts +29 -0
  19. package/dist/components/atoms/FlipContainer.d.ts +21 -0
  20. package/dist/components/atoms/Icon.d.ts +39 -0
  21. package/dist/components/atoms/InfiniteScrollSentinel.d.ts +23 -0
  22. package/dist/components/atoms/Input.d.ts +26 -0
  23. package/dist/components/atoms/Label.d.ts +5 -0
  24. package/dist/components/atoms/LawReferenceTooltip.d.ts +48 -0
  25. package/dist/components/atoms/Overlay.d.ts +16 -0
  26. package/dist/components/atoms/ProgressBar.d.ts +63 -0
  27. package/dist/components/atoms/Radio.d.ts +26 -0
  28. package/dist/components/atoms/RangeSlider.d.ts +31 -0
  29. package/dist/components/atoms/Select.d.ts +12 -0
  30. package/dist/components/atoms/Spacer.d.ts +25 -0
  31. package/dist/components/atoms/Spinner.d.ts +6 -0
  32. package/dist/components/atoms/Stack.d.ts +66 -0
  33. package/dist/components/atoms/StatusDot.d.ts +14 -0
  34. package/dist/components/atoms/Switch.d.ts +12 -0
  35. package/dist/components/atoms/TextHighlight.d.ts +53 -0
  36. package/dist/components/atoms/Textarea.d.ts +5 -0
  37. package/dist/components/atoms/ThemeSelector.d.ts +21 -0
  38. package/dist/components/atoms/ThemeToggle.d.ts +33 -0
  39. package/dist/components/atoms/TimeSlotCell.d.ts +23 -0
  40. package/dist/components/atoms/TrendIndicator.d.ts +18 -0
  41. package/dist/components/atoms/TypewriterText.d.ts +20 -0
  42. package/dist/components/atoms/Typography.d.ts +57 -0
  43. package/dist/components/atoms/game/ActionButton.d.ts +25 -0
  44. package/dist/components/atoms/game/ChoiceButton.d.ts +18 -0
  45. package/dist/components/atoms/game/ComboCounter.d.ts +16 -0
  46. package/dist/components/atoms/game/ControlButton.d.ts +31 -0
  47. package/dist/components/atoms/game/DamageNumber.d.ts +14 -0
  48. package/dist/components/atoms/game/DialogueBubble.d.ts +16 -0
  49. package/dist/components/atoms/game/HealthBar.d.ts +18 -0
  50. package/dist/components/atoms/game/ItemSlot.d.ts +25 -0
  51. package/dist/components/atoms/game/MiniMap.d.ts +36 -0
  52. package/dist/components/atoms/game/ResourceCounter.d.ts +21 -0
  53. package/dist/components/atoms/game/ScoreDisplay.d.ts +21 -0
  54. package/dist/components/atoms/game/Sprite.d.ts +63 -0
  55. package/dist/components/atoms/game/StateIndicator.d.ts +31 -0
  56. package/dist/components/atoms/game/StatusEffect.d.ts +21 -0
  57. package/dist/components/atoms/game/TimerDisplay.d.ts +18 -0
  58. package/dist/components/atoms/game/TurnIndicator.d.ts +18 -0
  59. package/dist/components/atoms/game/WaypointMarker.d.ts +19 -0
  60. package/dist/components/atoms/game/XPBar.d.ts +20 -0
  61. package/dist/components/atoms/game/index.d.ts +25 -0
  62. package/dist/components/atoms/index.d.ts +37 -0
  63. package/dist/components/index.css +508 -0
  64. package/dist/components/index.d.ts +6 -9788
  65. package/dist/components/index.js +769 -11187
  66. package/dist/components/molecules/Accordion.d.ts +67 -0
  67. package/dist/components/molecules/Alert.d.ts +24 -0
  68. package/dist/components/molecules/Breadcrumb.d.ts +55 -0
  69. package/dist/components/molecules/ButtonGroup.d.ts +67 -0
  70. package/dist/components/molecules/CalendarGrid.d.ts +43 -0
  71. package/dist/components/molecules/Card.d.ts +56 -0
  72. package/dist/components/molecules/Carousel.d.ts +31 -0
  73. package/dist/components/molecules/ChartLegend.d.ts +20 -0
  74. package/dist/components/molecules/Container.d.ts +30 -0
  75. package/dist/components/molecules/DataGrid.d.ts +75 -0
  76. package/dist/components/molecules/DataList.d.ts +95 -0
  77. package/dist/components/molecules/DateRangeSelector.d.ts +22 -0
  78. package/dist/components/molecules/Drawer.d.ts +46 -0
  79. package/dist/components/molecules/EmptyState.d.ts +25 -0
  80. package/dist/components/molecules/ErrorBoundary.d.ts +55 -0
  81. package/dist/components/molecules/ErrorState.d.ts +13 -0
  82. package/dist/components/molecules/FilterGroup.d.ts +54 -0
  83. package/dist/components/molecules/Flex.d.ts +43 -0
  84. package/dist/components/molecules/FlipCard.d.ts +25 -0
  85. package/dist/components/molecules/FloatingActionButton.d.ts +69 -0
  86. package/dist/components/molecules/FormField.d.ts +16 -0
  87. package/dist/components/molecules/FormSectionHeader.d.ts +30 -0
  88. package/dist/components/molecules/GraphView.d.ts +45 -0
  89. package/dist/components/molecules/Grid.d.ts +54 -0
  90. package/dist/components/molecules/InputGroup.d.ts +24 -0
  91. package/dist/components/molecules/Lightbox.d.ts +25 -0
  92. package/dist/components/molecules/LineChart.d.ts +33 -0
  93. package/dist/components/molecules/LoadingState.d.ts +7 -0
  94. package/dist/components/molecules/MapView.d.ts +40 -0
  95. package/dist/components/molecules/Menu.d.ts +40 -0
  96. package/dist/components/molecules/Meter.d.ts +51 -0
  97. package/dist/components/molecules/Modal.d.ts +28 -0
  98. package/dist/components/molecules/NumberStepper.d.ts +27 -0
  99. package/dist/components/molecules/Pagination.d.ts +66 -0
  100. package/dist/components/molecules/Popover.d.ts +39 -0
  101. package/dist/components/molecules/ProgressDots.d.ts +24 -0
  102. package/dist/components/molecules/PullToRefresh.d.ts +21 -0
  103. package/dist/components/molecules/QuizBlock.d.ts +20 -0
  104. package/dist/components/molecules/RelationSelect.d.ts +48 -0
  105. package/dist/components/molecules/RepeatableFormSection.d.ts +58 -0
  106. package/dist/components/molecules/ScaledDiagram.d.ts +20 -0
  107. package/dist/components/molecules/SearchInput.d.ts +60 -0
  108. package/dist/components/molecules/SidePanel.d.ts +47 -0
  109. package/dist/components/molecules/SimpleGrid.d.ts +27 -0
  110. package/dist/components/molecules/Skeleton.d.ts +35 -0
  111. package/dist/components/molecules/SortableList.d.ts +17 -0
  112. package/dist/components/molecules/StarRating.d.ts +26 -0
  113. package/dist/components/molecules/StatDisplay.d.ts +37 -0
  114. package/dist/components/molecules/SwipeableRow.d.ts +24 -0
  115. package/dist/components/molecules/Tabs.d.ts +45 -0
  116. package/dist/components/molecules/Toast.d.ts +35 -0
  117. package/dist/components/molecules/Tooltip.d.ts +25 -0
  118. package/dist/components/molecules/UploadDropZone.d.ts +26 -0
  119. package/dist/components/molecules/ViolationAlert.d.ts +49 -0
  120. package/dist/components/molecules/WizardNavigation.d.ts +51 -0
  121. package/dist/components/molecules/WizardProgress.d.ts +42 -0
  122. package/dist/components/molecules/game/ActionButtons.d.ts +34 -0
  123. package/dist/components/molecules/game/CombatLog.d.ts +30 -0
  124. package/dist/components/molecules/game/CraftingRecipe.d.ts +33 -0
  125. package/dist/components/molecules/game/DPad.d.ts +22 -0
  126. package/dist/components/molecules/game/DialogueBox.d.ts +78 -0
  127. package/dist/components/molecules/game/EnemyPlate.d.ts +27 -0
  128. package/dist/components/molecules/game/GameCanvas2D.d.ts +18 -0
  129. package/dist/components/molecules/game/GameHud.d.ts +49 -0
  130. package/dist/components/molecules/game/GameMenu.d.ts +43 -0
  131. package/dist/components/molecules/game/GameOverScreen.d.ts +56 -0
  132. package/dist/components/molecules/game/HealthPanel.d.ts +27 -0
  133. package/dist/components/molecules/game/InventoryGrid.d.ts +30 -0
  134. package/dist/components/molecules/game/InventoryPanel.d.ts +67 -0
  135. package/dist/components/molecules/game/IsometricCanvas.d.ts +127 -0
  136. package/dist/components/molecules/game/PlatformerCanvas.d.ts +52 -0
  137. package/dist/components/molecules/game/PowerupSlots.d.ts +23 -0
  138. package/dist/components/molecules/game/QuestTracker.d.ts +20 -0
  139. package/dist/components/molecules/game/ResourceBar.d.ts +23 -0
  140. package/dist/components/molecules/game/ScoreBoard.d.ts +18 -0
  141. package/dist/components/molecules/game/StatBadge.d.ts +27 -0
  142. package/dist/components/molecules/game/TurnPanel.d.ts +29 -0
  143. package/dist/components/molecules/game/UnitCommandBar.d.ts +25 -0
  144. package/dist/components/molecules/game/index.d.ts +30 -0
  145. package/dist/components/molecules/index.d.ts +59 -0
  146. package/dist/components/molecules/markdown/CodeBlock.d.ts +25 -0
  147. package/dist/components/molecules/markdown/MarkdownContent.d.ts +26 -0
  148. package/dist/components/molecules/markdown/index.d.ts +2 -0
  149. package/dist/components/organisms/CardGrid.d.ts +80 -0
  150. package/dist/components/organisms/Chart.d.ts +59 -0
  151. package/dist/components/organisms/CodeViewer.d.ts +67 -0
  152. package/dist/components/organisms/ComponentPatterns.d.ts +453 -0
  153. package/dist/components/organisms/ConfirmDialog.d.ts +50 -0
  154. package/dist/components/organisms/ContentRenderer.d.ts +23 -0
  155. package/dist/components/organisms/CustomPattern.d.ts +104 -0
  156. package/dist/components/organisms/DataTable.d.ts +67 -0
  157. package/dist/components/organisms/DetailPanel.d.ts +78 -0
  158. package/dist/components/organisms/DocumentViewer.d.ts +60 -0
  159. package/dist/components/organisms/DrawerSlot.d.ts +39 -0
  160. package/dist/components/organisms/Form.d.ts +206 -0
  161. package/dist/components/organisms/FormSection.d.ts +41 -0
  162. package/dist/components/organisms/GraphCanvas.d.ts +69 -0
  163. package/dist/components/organisms/Header.d.ts +110 -0
  164. package/dist/components/organisms/JazariStateMachine.d.ts +60 -0
  165. package/dist/components/organisms/LayoutPatterns.d.ts +181 -0
  166. package/dist/components/organisms/List.d.ts +78 -0
  167. package/dist/components/organisms/MasterDetail.d.ts +32 -0
  168. package/dist/components/organisms/MediaGallery.d.ts +57 -0
  169. package/dist/components/organisms/Meter.d.ts +58 -0
  170. package/dist/components/organisms/ModalSlot.d.ts +35 -0
  171. package/dist/components/organisms/Navigation.d.ts +68 -0
  172. package/dist/components/organisms/NotifyListener.d.ts +15 -0
  173. package/dist/components/organisms/OrbitalVisualization.d.ts +48 -0
  174. package/dist/components/organisms/PageHeader.d.ts +59 -0
  175. package/dist/components/organisms/Section.d.ts +44 -0
  176. package/dist/components/organisms/Sidebar.d.ts +63 -0
  177. package/dist/components/organisms/SignaturePad.d.ts +44 -0
  178. package/dist/components/organisms/Split.d.ts +42 -0
  179. package/dist/components/organisms/StatCard.d.ts +62 -0
  180. package/dist/components/organisms/StateMachineView.d.ts +36 -0
  181. package/dist/components/organisms/Table.d.ts +99 -0
  182. package/dist/components/organisms/Timeline.d.ts +49 -0
  183. package/dist/components/organisms/ToastSlot.d.ts +38 -0
  184. package/dist/components/organisms/UISlotRenderer.d.ts +112 -0
  185. package/dist/components/organisms/WizardContainer.d.ts +160 -0
  186. package/dist/components/organisms/book/BookChapterView.d.ts +17 -0
  187. package/dist/components/organisms/book/BookCoverPage.d.ts +20 -0
  188. package/dist/components/organisms/book/BookNavBar.d.ts +19 -0
  189. package/dist/components/organisms/book/BookTableOfContents.d.ts +18 -0
  190. package/dist/components/organisms/book/BookViewer.d.ts +28 -0
  191. package/dist/components/organisms/book/index.d.ts +7 -0
  192. package/dist/components/organisms/book/types.d.ts +77 -0
  193. package/dist/components/organisms/component-registry.generated.d.ts +9 -0
  194. package/dist/components/organisms/debug/RuntimeDebugger.d.ts +19 -0
  195. package/dist/components/organisms/debug/hooks/useDebugData.d.ts +25 -0
  196. package/dist/components/organisms/debug/index.d.ts +13 -0
  197. package/dist/components/organisms/debug/tabs/EntitiesTab.d.ts +13 -0
  198. package/dist/components/organisms/debug/tabs/EventDispatcherTab.d.ts +16 -0
  199. package/dist/components/organisms/debug/tabs/EventFlowTab.d.ts +9 -0
  200. package/dist/components/organisms/debug/tabs/GuardsPanel.d.ts +9 -0
  201. package/dist/components/organisms/debug/tabs/ServerBridgeTab.d.ts +9 -0
  202. package/dist/components/organisms/debug/tabs/TicksTab.d.ts +13 -0
  203. package/dist/components/organisms/debug/tabs/TraitsTab.d.ts +13 -0
  204. package/dist/components/organisms/debug/tabs/TransitionTimeline.d.ts +9 -0
  205. package/dist/components/organisms/debug/tabs/VerificationTab.d.ts +10 -0
  206. package/dist/components/organisms/game/BattleBoard.d.ts +175 -0
  207. package/dist/components/organisms/game/CanvasEffect.d.ts +68 -0
  208. package/dist/components/organisms/game/CastleBoard.d.ts +85 -0
  209. package/dist/components/organisms/game/CombatLog.d.ts +2 -0
  210. package/dist/components/organisms/game/DialogueBox.d.ts +2 -0
  211. package/dist/components/organisms/game/GameAudioProvider.d.ts +47 -0
  212. package/dist/components/organisms/game/GameAudioToggle.d.ts +28 -0
  213. package/dist/components/organisms/game/GameCanvas3D.d.ts +181 -0
  214. package/dist/components/organisms/game/GameHud.d.ts +2 -0
  215. package/dist/components/organisms/game/GameMenu.d.ts +2 -0
  216. package/dist/components/organisms/game/GameOverScreen.d.ts +2 -0
  217. package/dist/components/organisms/game/InventoryPanel.d.ts +2 -0
  218. package/dist/components/organisms/game/IsometricCanvas.d.ts +3 -0
  219. package/dist/components/organisms/game/PlatformerCanvas.d.ts +2 -0
  220. package/dist/components/organisms/game/TraitSlot.d.ts +90 -0
  221. package/dist/components/organisms/game/TraitStateViewer.d.ts +53 -0
  222. package/dist/components/organisms/game/UncontrolledBattleBoard.d.ts +26 -0
  223. package/dist/components/organisms/game/WorldMapBoard.d.ts +156 -0
  224. package/dist/components/organisms/game/editor/editorUtils.d.ts +109 -0
  225. package/dist/components/organisms/game/editor/index.d.ts +9 -0
  226. package/dist/components/organisms/game/hooks/useBattleState.d.ts +35 -0
  227. package/dist/components/organisms/game/hooks/useCamera.d.ts +41 -0
  228. package/dist/components/organisms/game/hooks/useGameAudio.d.ts +47 -0
  229. package/dist/components/organisms/game/hooks/useImageCache.d.ts +16 -0
  230. package/dist/components/organisms/game/hooks/usePhysics2D.d.ts +45 -0
  231. package/dist/components/organisms/game/hooks/useSpriteAnimations.d.ts +43 -0
  232. package/dist/components/organisms/game/index.d.ts +52 -0
  233. package/dist/components/organisms/game/managers/PhysicsManager.d.ts +103 -0
  234. package/dist/components/organisms/game/physics-sim/SimulationCanvas.d.ts +20 -0
  235. package/dist/components/organisms/game/physics-sim/SimulationControls.d.ts +28 -0
  236. package/dist/components/organisms/game/physics-sim/SimulationGraph.d.ts +25 -0
  237. package/dist/components/organisms/game/physics-sim/index.d.ts +7 -0
  238. package/dist/components/organisms/game/physics-sim/presets/index.d.ts +4 -0
  239. package/dist/components/organisms/game/physics-sim/presets/mechanics.d.ts +4 -0
  240. package/dist/components/organisms/game/physics-sim/presets/types.d.ts +43 -0
  241. package/dist/components/organisms/game/puzzles/builder/BuilderBoard.d.ts +52 -0
  242. package/dist/components/organisms/game/puzzles/builder/index.d.ts +2 -0
  243. package/dist/components/organisms/game/puzzles/classifier/ClassifierBoard.d.ts +53 -0
  244. package/dist/components/organisms/game/puzzles/classifier/index.d.ts +2 -0
  245. package/dist/components/organisms/game/puzzles/debugger/DebuggerBoard.d.ts +45 -0
  246. package/dist/components/organisms/game/puzzles/debugger/index.d.ts +2 -0
  247. package/dist/components/organisms/game/puzzles/event-handler/EventHandlerBoard.d.ts +55 -0
  248. package/dist/components/organisms/game/puzzles/event-handler/EventLog.d.ts +31 -0
  249. package/dist/components/organisms/game/puzzles/event-handler/ObjectRulePanel.d.ts +45 -0
  250. package/dist/components/organisms/game/puzzles/event-handler/RuleEditor.d.ts +41 -0
  251. package/dist/components/organisms/game/puzzles/event-handler/index.d.ts +8 -0
  252. package/dist/components/organisms/game/puzzles/negotiator/NegotiatorBoard.d.ts +54 -0
  253. package/dist/components/organisms/game/puzzles/negotiator/index.d.ts +2 -0
  254. package/dist/components/organisms/game/puzzles/sequencer/ActionPalette.d.ts +34 -0
  255. package/dist/components/organisms/game/puzzles/sequencer/ActionTile.d.ts +30 -0
  256. package/dist/components/organisms/game/puzzles/sequencer/SequenceBar.d.ts +41 -0
  257. package/dist/components/organisms/game/puzzles/sequencer/SequencerBoard.d.ts +72 -0
  258. package/dist/components/organisms/game/puzzles/sequencer/index.d.ts +8 -0
  259. package/dist/components/organisms/game/puzzles/simulator/SimulatorBoard.d.ts +54 -0
  260. package/dist/components/organisms/game/puzzles/simulator/index.d.ts +2 -0
  261. package/dist/components/organisms/game/puzzles/state-architect/CodeView.d.ts +24 -0
  262. package/dist/components/organisms/game/puzzles/state-architect/StateArchitectBoard.d.ts +76 -0
  263. package/dist/components/organisms/game/puzzles/state-architect/StateNode.d.ts +33 -0
  264. package/dist/components/organisms/game/puzzles/state-architect/TransitionArrow.d.ts +36 -0
  265. package/dist/components/organisms/game/puzzles/state-architect/VariablePanel.d.ts +28 -0
  266. package/dist/components/organisms/game/puzzles/state-architect/index.d.ts +10 -0
  267. package/dist/components/organisms/game/three/Camera3D.d.ts +60 -0
  268. package/dist/components/organisms/game/three/Lighting3D.d.ts +47 -0
  269. package/dist/components/organisms/game/three/Scene3D.d.ts +37 -0
  270. package/dist/components/organisms/game/three/components/Canvas3DErrorBoundary.d.ts +51 -0
  271. package/dist/components/organisms/game/three/components/Canvas3DLoadingState.d.ts +44 -0
  272. package/dist/components/organisms/game/three/components/ModelLoader.d.ts +44 -0
  273. package/dist/components/organisms/game/three/components/PhysicsObject3D.d.ts +74 -0
  274. package/dist/components/organisms/game/three/components/index.d.ts +10 -0
  275. package/dist/components/organisms/game/three/hooks/useAssetLoader.d.ts +58 -0
  276. package/dist/components/organisms/game/three/hooks/useGameCanvas3DEvents.d.ts +79 -0
  277. package/dist/components/organisms/game/three/hooks/useRaycaster.d.ts +86 -0
  278. package/dist/components/organisms/game/three/hooks/useSceneGraph.d.ts +66 -0
  279. package/dist/components/organisms/game/three/hooks/useThree.d.ts +58 -0
  280. package/dist/components/organisms/game/three/index.d.ts +18 -1228
  281. package/dist/components/organisms/game/three/index.js +49 -1709
  282. package/dist/components/organisms/game/three/loaders/AssetLoader.d.ts +80 -0
  283. package/dist/components/organisms/game/three/renderers/FeatureRenderer.d.ts +44 -0
  284. package/dist/components/organisms/game/three/renderers/FeatureRenderer3D.d.ts +44 -0
  285. package/dist/components/organisms/game/three/renderers/TileRenderer.d.ts +57 -0
  286. package/dist/components/organisms/game/three/renderers/UnitRenderer.d.ts +46 -0
  287. package/dist/components/organisms/game/three/renderers/index.d.ts +11 -0
  288. package/dist/components/organisms/game/three/utils/culling.d.ts +134 -0
  289. package/dist/components/organisms/game/three/utils/grid3D.d.ts +154 -0
  290. package/dist/components/organisms/game/types/effects.d.ts +253 -0
  291. package/dist/components/organisms/game/types/game.d.ts +92 -0
  292. package/dist/{isometric-ynNHVPZx.d.ts → components/organisms/game/types/isometric.d.ts} +4 -6
  293. package/dist/components/organisms/game/types/spriteAnimation.d.ts +73 -0
  294. package/dist/components/organisms/game/useCanvasEffects.d.ts +26 -0
  295. package/dist/components/organisms/game/utils/canvasEffects.d.ts +50 -0
  296. package/dist/components/organisms/game/utils/combatEffects.d.ts +64 -0
  297. package/dist/components/organisms/game/utils/combatPresets.d.ts +15 -0
  298. package/dist/components/organisms/game/utils/isometric.d.ts +61 -0
  299. package/dist/components/organisms/game/utils/spriteAnimation.d.ts +57 -0
  300. package/dist/components/organisms/game/utils/spriteSheetConstants.d.ts +16 -0
  301. package/dist/components/organisms/index.d.ts +38 -0
  302. package/dist/components/organisms/layout/DashboardGrid.d.ts +35 -0
  303. package/dist/components/organisms/layout/MasterDetail.d.ts +32 -0
  304. package/dist/components/organisms/layout/SplitPane.d.ts +34 -0
  305. package/dist/components/organisms/layout/TabbedContainer.d.ts +42 -0
  306. package/dist/components/organisms/layout/index.d.ts +9 -0
  307. package/dist/components/organisms/types.d.ts +63 -0
  308. package/dist/components/templates/AuthLayout.d.ts +14 -0
  309. package/dist/components/templates/BattleTemplate.d.ts +25 -0
  310. package/dist/components/templates/CastleTemplate.d.ts +23 -0
  311. package/dist/components/templates/CounterTemplate.d.ts +44 -0
  312. package/dist/components/templates/DashboardLayout.d.ts +34 -0
  313. package/dist/components/templates/GameCanvas3DBattleTemplate.d.ts +96 -0
  314. package/dist/components/templates/GameCanvas3DCastleTemplate.d.ts +90 -0
  315. package/dist/components/templates/GameCanvas3DWorldMapTemplate.d.ts +96 -0
  316. package/dist/components/templates/GameShell.d.ts +34 -0
  317. package/dist/components/templates/GameTemplate.d.ts +36 -0
  318. package/dist/components/templates/GenericAppTemplate.d.ts +30 -0
  319. package/dist/components/templates/WorldMapTemplate.d.ts +29 -0
  320. package/dist/components/templates/index.d.ts +10 -0
  321. package/dist/components/templates/types.d.ts +22 -0
  322. package/dist/context/DesignThemeContext.d.ts +21 -0
  323. package/dist/{ThemeContext-D9xUORq5.d.ts → context/ThemeContext.d.ts} +15 -16
  324. package/dist/context/UISlotContext.d.ts +75 -0
  325. package/dist/context/UserContext.d.ts +111 -0
  326. package/dist/context/index.d.ts +6 -206
  327. package/dist/{event-bus-types-CjJduURa.d.ts → hooks/event-bus-types.d.ts} +4 -6
  328. package/dist/hooks/index.d.ts +30 -1220
  329. package/dist/hooks/index.js +2 -2
  330. package/dist/hooks/useAgentChat.d.ts +104 -0
  331. package/dist/hooks/useAuthContext.d.ts +25 -0
  332. package/dist/hooks/useCompile.d.ts +22 -0
  333. package/dist/hooks/useDeepAgentGeneration.d.ts +46 -0
  334. package/dist/hooks/useDragReorder.d.ts +26 -0
  335. package/dist/hooks/useEntities.d.ts +52 -0
  336. package/dist/hooks/useEntityData.d.ts +155 -0
  337. package/dist/hooks/useEntityMutations.d.ts +80 -0
  338. package/dist/hooks/useEventBus.d.ts +96 -0
  339. package/dist/hooks/useExtensions.d.ts +32 -0
  340. package/dist/hooks/useFileEditor.d.ts +32 -0
  341. package/dist/hooks/useFileSystem.d.ts +40 -0
  342. package/dist/hooks/useGitHub.d.ts +58 -0
  343. package/dist/hooks/useInfiniteScroll.d.ts +13 -0
  344. package/dist/hooks/useLongPress.d.ts +16 -0
  345. package/dist/hooks/useOrbitalHistory.d.ts +39 -0
  346. package/dist/hooks/useOrbitalMutations.d.ts +95 -0
  347. package/dist/hooks/usePinchZoom.d.ts +22 -0
  348. package/dist/hooks/usePreview.d.ts +57 -0
  349. package/dist/hooks/usePullToRefresh.d.ts +25 -0
  350. package/dist/hooks/useQuerySingleton.d.ts +78 -0
  351. package/dist/hooks/useResolvedEntity.d.ts +32 -0
  352. package/dist/hooks/useSwipeGesture.d.ts +26 -0
  353. package/dist/hooks/useTranslate.d.ts +35 -0
  354. package/dist/hooks/useUIEvents.d.ts +35 -0
  355. package/dist/{useUISlots-BBjNvQtb.d.ts → hooks/useUISlots.d.ts} +8 -9
  356. package/dist/hooks/useValidation.d.ts +46 -0
  357. package/dist/lib/api-client.d.ts +42 -0
  358. package/dist/lib/cn.d.ts +6 -0
  359. package/dist/lib/debug.d.ts +43 -0
  360. package/dist/lib/debugRegistry.d.ts +29 -0
  361. package/dist/lib/debugUtils.d.ts +27 -0
  362. package/dist/lib/entityDebug.d.ts +38 -0
  363. package/dist/lib/getNestedValue.d.ts +33 -0
  364. package/dist/lib/guardRegistry.d.ts +32 -0
  365. package/dist/lib/index.d.ts +17 -319
  366. package/dist/lib/index.js +1 -3
  367. package/dist/lib/jazari/index.d.ts +5 -0
  368. package/dist/lib/jazari/layout.d.ts +30 -0
  369. package/dist/lib/jazari/svg-paths.d.ts +61 -0
  370. package/dist/lib/jazari/types.d.ts +91 -0
  371. package/dist/lib/parseContentSegments.d.ts +41 -0
  372. package/dist/lib/tickRegistry.d.ts +40 -0
  373. package/dist/lib/traitRegistry.d.ts +34 -0
  374. package/dist/lib/verificationRegistry.d.ts +138 -0
  375. package/dist/lib/visualizer/browser.d.ts +47 -0
  376. package/dist/lib/visualizer/index.d.ts +143 -0
  377. package/dist/locales/index.d.ts +5 -7
  378. package/dist/providers/EventBusProvider.d.ts +60 -0
  379. package/dist/providers/FetchedDataProvider.d.ts +105 -0
  380. package/dist/providers/OfflineModeProvider.d.ts +79 -0
  381. package/dist/providers/OrbitalProvider.d.ts +101 -0
  382. package/dist/providers/SelectionProvider.d.ts +81 -0
  383. package/dist/providers/VerificationProvider.d.ts +63 -0
  384. package/dist/providers/index.css +599 -0
  385. package/dist/providers/index.d.ts +16 -464
  386. package/dist/providers/index.js +5 -4
  387. package/dist/renderer/client-effect-executor.d.ts +68 -0
  388. package/dist/renderer/data-resolver.d.ts +68 -0
  389. package/dist/renderer/index.d.ts +22 -519
  390. package/dist/renderer/init.d.ts +14 -0
  391. package/dist/renderer/navigation.d.ts +142 -0
  392. package/dist/{offline-executor-CHr4uAhf.d.ts → renderer/offline-executor.d.ts} +9 -172
  393. package/dist/renderer/pattern-resolver.d.ts +91 -0
  394. package/dist/renderer/slot-definitions.d.ts +45 -0
  395. package/dist/renderer/types.d.ts +160 -0
  396. package/dist/renderer/useClientEffects.d.ts +88 -0
  397. package/dist/runtime/EntitySchemaContext.d.ts +40 -0
  398. package/dist/runtime/TraitProvider.d.ts +52 -0
  399. package/dist/runtime/createClientEffectHandlers.d.ts +23 -0
  400. package/dist/runtime/index.css +599 -0
  401. package/dist/runtime/index.d.ts +10 -275
  402. package/dist/runtime/index.js +6 -6
  403. package/dist/runtime/types.d.ts +10 -0
  404. package/dist/runtime/ui/SlotsContext.d.ts +71 -0
  405. package/dist/runtime/useResolvedSchema.d.ts +45 -0
  406. package/dist/runtime/useTraitStateMachine.d.ts +48 -0
  407. package/dist/scripts/generate-design-system.d.ts +29 -0
  408. package/dist/scripts/generate-theme-from-schema.d.ts +10 -0
  409. package/dist/scripts/generate.d.ts +12 -0
  410. package/dist/scripts/suggest-components.d.ts +31 -0
  411. package/dist/scripts/types.d.ts +129 -0
  412. package/dist/stores/entityStore.d.ts +99 -0
  413. package/dist/stores/filtering.d.ts +51 -0
  414. package/dist/stores/index.d.ts +4 -148
  415. package/dist/tsup.config.d.ts +2 -0
  416. package/dist/vitest.config.d.ts +2 -0
  417. package/package.json +5 -4
  418. package/dist/chunk-42YQ6JVR.js +0 -48
  419. package/dist/chunk-WCTZ7WZX.js +0 -311
  420. package/dist/cn-C_ATNPvi.d.ts +0 -332
@@ -0,0 +1,90 @@
1
+ /**
2
+ * TraitSlot Component
3
+ *
4
+ * A generic equippable slot with drag-and-drop support.
5
+ * Shows a TraitStateViewer tooltip on hover for equipped items.
6
+ * Used across game tiers:
7
+ * - Sequencer (5-8): action slots in the sequence bar
8
+ * - Event Handler (9-12): rule slots on world objects
9
+ * - State Architect (13+): transition slots on state nodes
10
+ *
11
+ * **State categories (closed-circuit compliant):**
12
+ * - Data (equippedItem, slotNumber, locked, selected, feedback) → received via props
13
+ * - UI-transient (isHovered, isDragOver) → local only
14
+ * - Events → emitted via `useEventBus()` (click, remove)
15
+ *
16
+ * Local state is hover/drag-over detection only — rendering-only concerns.
17
+ *
18
+ * @packageDocumentation
19
+ */
20
+ import React from 'react';
21
+ import { type TraitStateMachineDefinition } from './TraitStateViewer';
22
+ /** Data shape for a slot's equipped item */
23
+ export interface SlotItemData {
24
+ id: string;
25
+ name: string;
26
+ category: string;
27
+ description?: string;
28
+ /** Emoji or text icon */
29
+ iconEmoji?: string;
30
+ /** Image URL icon (takes precedence over iconEmoji) */
31
+ iconUrl?: string;
32
+ /** Optional state machine for tooltip display */
33
+ stateMachine?: TraitStateMachineDefinition;
34
+ }
35
+ /** Event Contract:
36
+ * Emits: UI:CLICK
37
+ * Emits: UI:REMOVE
38
+ */
39
+ export interface TraitSlotProps {
40
+ /** Slot index (1-based) */
41
+ slotNumber: number;
42
+ /** Currently equipped item, if any */
43
+ equippedItem?: SlotItemData;
44
+ /** Whether slot is locked */
45
+ locked?: boolean;
46
+ /** Label shown when locked */
47
+ lockLabel?: string;
48
+ /** Whether slot is selected */
49
+ selected?: boolean;
50
+ /** Size variant */
51
+ size?: 'sm' | 'md' | 'lg';
52
+ /** Show tooltip on hover */
53
+ showTooltip?: boolean;
54
+ /** Category → color mapping */
55
+ categoryColors?: Record<string, {
56
+ bg: string;
57
+ border: string;
58
+ }>;
59
+ /** Optional tooltip frame image URL */
60
+ tooltipFrameUrl?: string;
61
+ /** Additional CSS classes */
62
+ className?: string;
63
+ /** Loading state */
64
+ isLoading?: boolean;
65
+ /** Error state */
66
+ error?: Error | null;
67
+ /** Entity name for schema-driven auto-fetch */
68
+ entity?: string;
69
+ /** Called when an item is dropped on this slot */
70
+ onItemDrop?: (item: SlotItemData) => void;
71
+ /** Whether this slot's equipped item is draggable */
72
+ draggable?: boolean;
73
+ /** Called when drag starts from this slot */
74
+ onDragStart?: (item: SlotItemData) => void;
75
+ /** Per-slot correctness feedback after a failed attempt */
76
+ feedback?: 'correct' | 'wrong' | null;
77
+ /** Click handler */
78
+ onClick?: () => void;
79
+ /** Remove handler */
80
+ onRemove?: () => void;
81
+ /** Emits UI:{clickEvent} with { slotNumber } */
82
+ clickEvent?: string;
83
+ /** Emits UI:{removeEvent} with { slotNumber } */
84
+ removeEvent?: string;
85
+ }
86
+ export declare function TraitSlot({ slotNumber, equippedItem, locked, lockLabel, selected, size, showTooltip, categoryColors, tooltipFrameUrl, className, feedback, onItemDrop, draggable, onDragStart, onClick, onRemove, clickEvent, removeEvent, }: TraitSlotProps): React.JSX.Element;
87
+ export declare namespace TraitSlot {
88
+ var displayName: string;
89
+ }
90
+ export default TraitSlot;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * TraitStateViewer Component
3
+ *
4
+ * Displays a state machine visualization for a trait / behavior.
5
+ * Three variants for different complexity levels:
6
+ * - `linear` — simple step progression (ages 5-8)
7
+ * - `compact` — current state + available actions (ages 9-12)
8
+ * - `full` — all states, transitions, guards (ages 13+)
9
+ *
10
+ * @packageDocumentation
11
+ */
12
+ import React from 'react';
13
+ import { type StateStyle } from '../../atoms/game/StateIndicator';
14
+ export interface TraitTransition {
15
+ from: string;
16
+ to: string;
17
+ event: string;
18
+ guardHint?: string;
19
+ }
20
+ export interface TraitStateMachineDefinition {
21
+ name: string;
22
+ states: string[];
23
+ currentState: string;
24
+ transitions: TraitTransition[];
25
+ description?: string;
26
+ }
27
+ export interface TraitStateViewerProps {
28
+ /** The trait / state machine to visualize */
29
+ trait: TraitStateMachineDefinition;
30
+ /** Display variant */
31
+ variant?: 'linear' | 'compact' | 'full';
32
+ /** Size variant */
33
+ size?: 'sm' | 'md' | 'lg';
34
+ /** Whether to show transition labels */
35
+ showTransitions?: boolean;
36
+ /** Click handler for states */
37
+ onStateClick?: (state: string) => void;
38
+ /** Custom state styles passed to StateIndicator */
39
+ stateStyles?: Record<string, StateStyle>;
40
+ /** Additional CSS classes */
41
+ className?: string;
42
+ /** Loading state */
43
+ isLoading?: boolean;
44
+ /** Error state */
45
+ error?: Error | null;
46
+ /** Entity name for schema-driven auto-fetch */
47
+ entity?: string;
48
+ }
49
+ export declare function TraitStateViewer({ trait, variant, size, showTransitions, onStateClick, stateStyles, className, }: TraitStateViewerProps): React.JSX.Element;
50
+ export declare namespace TraitStateViewer {
51
+ var displayName: string;
52
+ }
53
+ export default TraitStateViewer;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * UncontrolledBattleBoard
3
+ *
4
+ * Thin wrapper that composes `useBattleState` + `BattleBoard` for
5
+ * self-managing game state. Accepts `initialUnits` instead of the
6
+ * controlled-mode fields and manages units, phase, turn, gameResult,
7
+ * and selectedUnitId internally via the hook.
8
+ *
9
+ * Use this component when you want the BattleBoard to manage its own
10
+ * game logic (e.g. in Storybook, prototypes, or simple integrations).
11
+ * For Orbital trait integration, use `BattleBoard` directly in
12
+ * controlled mode.
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+ import { type BattleBoardProps, type BattleUnit } from './BattleBoard';
17
+ export interface UncontrolledBattleBoardProps extends Omit<BattleBoardProps, 'entity'> {
18
+ entity: Omit<BattleBoardProps['entity'], 'units' | 'phase' | 'turn' | 'gameResult' | 'selectedUnitId'> & {
19
+ initialUnits: BattleUnit[];
20
+ };
21
+ }
22
+ export declare function UncontrolledBattleBoard({ entity, ...rest }: UncontrolledBattleBoardProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare namespace UncontrolledBattleBoard {
24
+ var displayName: string;
25
+ }
26
+ export default UncontrolledBattleBoard;
@@ -0,0 +1,156 @@
1
+ /**
2
+ * WorldMapBoard
3
+ *
4
+ * Organism for the strategic world-map view. Renders an isometric hex/iso
5
+ * map with hero selection, movement animation, and encounter callbacks.
6
+ * Game-specific panels (hero detail, hero lists, resource bars) are injected
7
+ * via render-prop slots.
8
+ *
9
+ * **State categories (closed-circuit compliant):**
10
+ * - Game data (hexes, heroes, selectedHeroId, features) → received via
11
+ * `entity` prop; the Orbital trait owns this state.
12
+ * - Rendering state (hoveredTile, movingPositions animation) → local only.
13
+ * - Events → emitted via `useEventBus()` for trait integration.
14
+ *
15
+ * This component is mostly prop-driven. The only internal state is hover
16
+ * tracking and movement animation interpolation, both of which are
17
+ * rendering-only concerns that cannot (and should not) be externalised.
18
+ *
19
+ * @packageDocumentation
20
+ */
21
+ import React from 'react';
22
+ import type { EntityDisplayProps } from '../types';
23
+ import type { IsometricFeature } from './types/isometric';
24
+ import type { ResolvedFrame } from './types/spriteAnimation';
25
+ /** A hero on the world map */
26
+ export interface MapHero {
27
+ id: string;
28
+ name: string;
29
+ owner: 'player' | 'enemy' | string;
30
+ position: {
31
+ x: number;
32
+ y: number;
33
+ };
34
+ movement: number;
35
+ sprite?: string;
36
+ /** Optional sprite sheet for animation (null = use static sprite) */
37
+ spriteSheet?: {
38
+ se: string;
39
+ sw: string;
40
+ frameWidth: number;
41
+ frameHeight: number;
42
+ } | null;
43
+ level?: number;
44
+ }
45
+ /** A hex on the map */
46
+ export interface MapHex {
47
+ x: number;
48
+ y: number;
49
+ terrain: string;
50
+ terrainSprite?: string;
51
+ feature?: string;
52
+ featureData?: Record<string, unknown>;
53
+ passable?: boolean;
54
+ }
55
+ /** Context exposed to render-prop slots */
56
+ export interface WorldMapSlotContext {
57
+ /** Currently hovered tile */
58
+ hoveredTile: {
59
+ x: number;
60
+ y: number;
61
+ } | null;
62
+ /** Hex at the hovered tile */
63
+ hoveredHex: MapHex | null;
64
+ /** Hero at the hovered tile */
65
+ hoveredHero: MapHero | null;
66
+ /** Currently selected hero */
67
+ selectedHero: MapHero | null;
68
+ /** Valid move tiles for selected hero */
69
+ validMoves: Array<{
70
+ x: number;
71
+ y: number;
72
+ }>;
73
+ /** Selects a hero */
74
+ selectHero: (id: string) => void;
75
+ /** Resolve screen position of a tile for overlays */
76
+ tileToScreen: (x: number, y: number) => {
77
+ x: number;
78
+ y: number;
79
+ };
80
+ /** Canvas scale */
81
+ scale: number;
82
+ }
83
+ /** Entity shape for the WorldMapBoard */
84
+ export interface WorldMapEntity {
85
+ id: string;
86
+ hexes: MapHex[];
87
+ heroes: MapHero[];
88
+ features?: IsometricFeature[];
89
+ selectedHeroId?: string | null;
90
+ assetManifest?: {
91
+ baseUrl: string;
92
+ terrains?: Record<string, string>;
93
+ units?: Record<string, string>;
94
+ features?: Record<string, string>;
95
+ };
96
+ backgroundImage?: string;
97
+ }
98
+ /** Event Contract:
99
+ * Emits: UI:HERO_SELECT
100
+ * Emits: UI:HERO_MOVE
101
+ * Emits: UI:BATTLE_ENCOUNTER
102
+ * Emits: UI:FEATURE_ENTER
103
+ * Emits: UI:TILE_CLICK
104
+ */
105
+ export interface WorldMapBoardProps extends EntityDisplayProps<WorldMapEntity> {
106
+ /** Canvas render scale */
107
+ scale?: number;
108
+ /** Unit draw-size multiplier */
109
+ unitScale?: number;
110
+ /** Allow selecting / moving ALL heroes (including enemy). For testing. */
111
+ allowMoveAllHeroes?: boolean;
112
+ /** Custom movement range validator */
113
+ isInRange?: (from: {
114
+ x: number;
115
+ y: number;
116
+ }, to: {
117
+ x: number;
118
+ y: number;
119
+ }, range: number) => boolean;
120
+ /** Emits UI:{heroSelectEvent} with { heroId } */
121
+ heroSelectEvent?: string;
122
+ /** Emits UI:{heroMoveEvent} with { heroId, toX, toY } */
123
+ heroMoveEvent?: string;
124
+ /** Emits UI:{battleEncounterEvent} with { attackerId, defenderId } */
125
+ battleEncounterEvent?: string;
126
+ /** Emits UI:{featureEnterEvent} with { heroId, feature, hex } */
127
+ featureEnterEvent?: string;
128
+ /** Emits UI:{tileClickEvent} with { x, y } */
129
+ tileClickEvent?: string;
130
+ /** Header / top bar */
131
+ header?: (ctx: WorldMapSlotContext) => React.ReactNode;
132
+ /** Side panel (hero detail, hero lists, etc.) */
133
+ sidePanel?: (ctx: WorldMapSlotContext) => React.ReactNode;
134
+ /** Canvas overlay (tooltips, popups) */
135
+ overlay?: (ctx: WorldMapSlotContext) => React.ReactNode;
136
+ /** Footer */
137
+ footer?: (ctx: WorldMapSlotContext) => React.ReactNode;
138
+ onHeroSelect?: (heroId: string) => void;
139
+ onHeroMove?: (heroId: string, toX: number, toY: number) => void;
140
+ /** Called when hero clicks an enemy hero tile */
141
+ onBattleEncounter?: (attackerId: string, defenderId: string) => void;
142
+ /** Called when hero enters a feature hex (castle, resource, etc.) */
143
+ onFeatureEnter?: (heroId: string, hex: MapHex) => void;
144
+ /** Override for the diamond-top Y offset within tile sprites (default: 374). */
145
+ diamondTopY?: number;
146
+ /** Disable pan/zoom camera (default: true). Set false for fixed maps where overlay labels need stable positions. */
147
+ enableCamera?: boolean;
148
+ effectSpriteUrls?: string[];
149
+ resolveUnitFrame?: (unitId: string) => ResolvedFrame | null;
150
+ className?: string;
151
+ }
152
+ export declare function WorldMapBoard({ entity, isLoading, scale, unitScale, allowMoveAllHeroes, isInRange, heroSelectEvent, heroMoveEvent, battleEncounterEvent, featureEnterEvent, tileClickEvent, header, sidePanel, overlay, footer, onHeroSelect, onHeroMove, onBattleEncounter, onFeatureEnter, diamondTopY, enableCamera, effectSpriteUrls, resolveUnitFrame, className, }: WorldMapBoardProps): React.JSX.Element;
153
+ export declare namespace WorldMapBoard {
154
+ var displayName: string;
155
+ }
156
+ export default WorldMapBoard;
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Shared Map Editor Utilities
3
+ *
4
+ * Reusable editor components for Storybook-based map editing.
5
+ * All composed from @almadar/ui atoms (Box, VStack, HStack, Typography, Button, Badge).
6
+ *
7
+ * NOTE: These are Storybook editor controls, NOT Orbital templates.
8
+ * They use native HTML inputs wrapped in Box for lightweight editor UX.
9
+ */
10
+ import React from 'react';
11
+ export type EditorMode = 'select' | 'paint' | 'unit' | 'feature' | 'erase';
12
+ export declare const TERRAIN_COLORS: Record<string, string>;
13
+ export declare const FEATURE_TYPES: readonly ["goldMine", "resonanceCrystal", "traitCache", "salvageYard", "portal", "battleMarker", "treasure", "castle"];
14
+ export interface CollapsibleSectionProps {
15
+ title: string;
16
+ expanded: boolean;
17
+ onToggle: () => void;
18
+ children: React.ReactNode;
19
+ className?: string;
20
+ }
21
+ export declare function CollapsibleSection({ title, expanded, onToggle, children, className }: CollapsibleSectionProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare namespace CollapsibleSection {
23
+ var displayName: string;
24
+ }
25
+ export interface EditorSliderProps {
26
+ label: string;
27
+ value: number;
28
+ min: number;
29
+ max: number;
30
+ step?: number;
31
+ onChange: (value: number) => void;
32
+ className?: string;
33
+ }
34
+ export declare function EditorSlider({ label, value, min, max, step, onChange, className }: EditorSliderProps): import("react/jsx-runtime").JSX.Element;
35
+ export declare namespace EditorSlider {
36
+ var displayName: string;
37
+ }
38
+ export interface EditorSelectProps {
39
+ label: string;
40
+ value: string;
41
+ options: Array<{
42
+ value: string;
43
+ label: string;
44
+ }>;
45
+ onChange: (value: string) => void;
46
+ className?: string;
47
+ }
48
+ export declare function EditorSelect({ label, value, options, onChange, className }: EditorSelectProps): import("react/jsx-runtime").JSX.Element;
49
+ export declare namespace EditorSelect {
50
+ var displayName: string;
51
+ }
52
+ export interface EditorCheckboxProps {
53
+ label: string;
54
+ checked: boolean;
55
+ onChange: (checked: boolean) => void;
56
+ className?: string;
57
+ }
58
+ export declare function EditorCheckbox({ label, checked, onChange, className }: EditorCheckboxProps): import("react/jsx-runtime").JSX.Element;
59
+ export declare namespace EditorCheckbox {
60
+ var displayName: string;
61
+ }
62
+ export interface EditorTextInputProps {
63
+ label: string;
64
+ value: string;
65
+ onChange: (value: string) => void;
66
+ placeholder?: string;
67
+ className?: string;
68
+ }
69
+ export declare function EditorTextInput({ label, value, onChange, placeholder, className }: EditorTextInputProps): import("react/jsx-runtime").JSX.Element;
70
+ export declare namespace EditorTextInput {
71
+ var displayName: string;
72
+ }
73
+ export interface StatusBarProps {
74
+ hoveredTile: {
75
+ x: number;
76
+ y: number;
77
+ } | null;
78
+ mode: EditorMode;
79
+ gridSize?: {
80
+ width: number;
81
+ height: number;
82
+ };
83
+ unitCount?: number;
84
+ featureCount?: number;
85
+ className?: string;
86
+ }
87
+ export declare function StatusBar({ hoveredTile, mode, gridSize, unitCount, featureCount, className }: StatusBarProps): import("react/jsx-runtime").JSX.Element;
88
+ export declare namespace StatusBar {
89
+ var displayName: string;
90
+ }
91
+ export interface TerrainPaletteProps {
92
+ terrains: string[];
93
+ selectedTerrain: string;
94
+ onSelect: (terrain: string) => void;
95
+ className?: string;
96
+ }
97
+ export declare function TerrainPalette({ terrains, selectedTerrain, onSelect, className }: TerrainPaletteProps): import("react/jsx-runtime").JSX.Element;
98
+ export declare namespace TerrainPalette {
99
+ var displayName: string;
100
+ }
101
+ export interface EditorToolbarProps {
102
+ mode: EditorMode;
103
+ onModeChange: (mode: EditorMode) => void;
104
+ className?: string;
105
+ }
106
+ export declare function EditorToolbar({ mode, onModeChange, className }: EditorToolbarProps): import("react/jsx-runtime").JSX.Element;
107
+ export declare namespace EditorToolbar {
108
+ var displayName: string;
109
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Map Editor Utilities
3
+ *
4
+ * Reusable editor components for Storybook-based isometric map editing.
5
+ * All composed from @almadar/ui atoms.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ export { CollapsibleSection, EditorSlider, EditorSelect, EditorCheckbox, EditorTextInput, StatusBar, TerrainPalette, EditorToolbar, TERRAIN_COLORS, FEATURE_TYPES, type EditorMode, type CollapsibleSectionProps, type EditorSliderProps, type EditorSelectProps, type EditorCheckboxProps, type EditorTextInputProps, type StatusBarProps, type TerrainPaletteProps, type EditorToolbarProps, } from './editorUtils';
@@ -0,0 +1,35 @@
1
+ import type { BattleUnit, BattlePhase } from '../BattleBoard';
2
+ export interface BattleStateEventConfig {
3
+ tileClickEvent?: string;
4
+ unitClickEvent?: string;
5
+ endTurnEvent?: string;
6
+ cancelEvent?: string;
7
+ gameEndEvent?: string;
8
+ playAgainEvent?: string;
9
+ attackEvent?: string;
10
+ }
11
+ export interface BattleStateCallbacks {
12
+ /** Called when a unit attacks another */
13
+ onAttack?: (attacker: BattleUnit, target: BattleUnit, damage: number) => void;
14
+ /** Called when battle ends */
15
+ onGameEnd?: (result: 'victory' | 'defeat') => void;
16
+ /** Called after a unit moves */
17
+ onUnitMove?: (unit: BattleUnit, to: {
18
+ x: number;
19
+ y: number;
20
+ }) => void;
21
+ /** Custom combat damage calculator */
22
+ calculateDamage?: (attacker: BattleUnit, target: BattleUnit) => number;
23
+ }
24
+ export interface BattleStateResult {
25
+ units: BattleUnit[];
26
+ selectedUnitId: string | null;
27
+ phase: BattlePhase;
28
+ turn: number;
29
+ gameResult: 'victory' | 'defeat' | null;
30
+ handleTileClick: (x: number, y: number) => void;
31
+ handleUnitClick: (unitId: string) => void;
32
+ handleEndTurn: () => void;
33
+ handleRestart: () => void;
34
+ }
35
+ export declare function useBattleState(initialUnits: BattleUnit[], eventConfig?: BattleStateEventConfig, callbacks?: BattleStateCallbacks): BattleStateResult;
@@ -0,0 +1,41 @@
1
+ import type { CameraState } from '../types/isometric';
2
+ interface CameraResult {
3
+ /** Mutable camera state ref (x, y, zoom) */
4
+ cameraRef: React.MutableRefObject<CameraState>;
5
+ /** Target camera position for smooth lerp centering. Set to null when reached. */
6
+ targetCameraRef: React.MutableRefObject<{
7
+ x: number;
8
+ y: number;
9
+ } | null>;
10
+ /** Whether the user is currently dragging */
11
+ isDragging: () => boolean;
12
+ /** Total drag distance — used to distinguish click from pan (threshold: 5px) */
13
+ dragDistance: () => number;
14
+ /** Mouse down handler — starts panning */
15
+ handleMouseDown: (e: React.MouseEvent) => void;
16
+ /** Mouse up handler — stops panning */
17
+ handleMouseUp: () => void;
18
+ /** Mouse move handler — pans camera if dragging, returns true if panning */
19
+ handleMouseMove: (e: React.MouseEvent, drawFn?: () => void) => boolean;
20
+ /** Mouse leave handler — cancels drag */
21
+ handleMouseLeave: () => void;
22
+ /** Wheel handler — zoom in/out */
23
+ handleWheel: (e: React.WheelEvent, drawFn?: () => void) => void;
24
+ /** Convert screen coordinates to world coordinates (inverse camera transform) */
25
+ screenToWorld: (clientX: number, clientY: number, canvas: HTMLCanvasElement, viewportSize: {
26
+ width: number;
27
+ height: number;
28
+ }) => {
29
+ x: number;
30
+ y: number;
31
+ };
32
+ /** Lerp camera toward target. Call in animation loop. Returns true if still animating. */
33
+ lerpToTarget: (t?: number) => boolean;
34
+ }
35
+ /**
36
+ * Camera hook for pan/zoom canvas rendering.
37
+ *
38
+ * @returns Camera state, event handlers, and coordinate conversion
39
+ */
40
+ export declare function useCamera(): CameraResult;
41
+ export {};
@@ -0,0 +1,47 @@
1
+ export interface SoundEntry {
2
+ /** Single path or array of paths — array picks randomly on each play */
3
+ path: string | string[];
4
+ /** Volume 0–1 (multiplied by masterVolume; default 1) */
5
+ volume?: number;
6
+ /** Whether this sound loops (background music) */
7
+ loop?: boolean;
8
+ /** Number of concurrent Audio instances in the pool (default 1) */
9
+ poolSize?: number;
10
+ /** Start automatically on first user interaction */
11
+ autostart?: boolean;
12
+ /** Use crossfade transitions when played via playMusic() */
13
+ crossfade?: boolean;
14
+ /** Crossfade duration in ms (default 1500) */
15
+ crossfadeDurationMs?: number;
16
+ }
17
+ export type AudioManifest = Record<string, SoundEntry>;
18
+ export interface GameAudioControls {
19
+ /** Play a sound effect (instant, pooled) */
20
+ play: (key: string) => void;
21
+ /** Stop all instances of a sound effect */
22
+ stop: (key: string) => void;
23
+ /** Stop all sounds including music */
24
+ stopAll: () => void;
25
+ /** Crossfade to a new music track */
26
+ playMusic: (key: string) => void;
27
+ /** Fade out and stop the current music */
28
+ stopMusic: (fadeDurationMs?: number) => void;
29
+ muted: boolean;
30
+ setMuted: (muted: boolean) => void;
31
+ masterVolume: number;
32
+ setMasterVolume: (volume: number) => void;
33
+ }
34
+ export interface UseGameAudioOptions {
35
+ /** Sound definitions keyed by logical name */
36
+ manifest: AudioManifest;
37
+ /** Prefix prepended to all `path` values (default '') */
38
+ baseUrl?: string;
39
+ /** Start muted (default false) */
40
+ initialMuted?: boolean;
41
+ /** Master volume 0–1 (default 1) */
42
+ initialVolume?: number;
43
+ }
44
+ export declare function useGameAudio({ manifest, baseUrl, initialMuted, initialVolume, }: UseGameAudioOptions): GameAudioControls;
45
+ export declare namespace useGameAudio {
46
+ var displayName: string;
47
+ }
@@ -0,0 +1,16 @@
1
+ interface ImageCacheResult {
2
+ /** Get a cached image by URL. Returns undefined if not yet loaded. */
3
+ getImage: (url: string) => HTMLImageElement | undefined;
4
+ /** Whether all requested images have loaded */
5
+ isLoaded: boolean;
6
+ /** Number of images currently loading */
7
+ pendingCount: number;
8
+ }
9
+ /**
10
+ * Preload and cache images for canvas rendering.
11
+ *
12
+ * @param urls - Array of image URLs to preload
13
+ * @returns Cache getter, loading state, and pending count
14
+ */
15
+ export declare function useImageCache(urls: string[]): ImageCacheResult;
16
+ export {};
@@ -0,0 +1,45 @@
1
+ import { Physics2DState, PhysicsConfig, PhysicsBounds } from '../managers/PhysicsManager';
2
+ export interface UsePhysics2DOptions extends PhysicsConfig {
3
+ /** Enable physics debug visualization */
4
+ debug?: boolean;
5
+ /** Callback when collision occurs */
6
+ onCollision?: (entityIdA: string, entityIdB: string) => void;
7
+ /** Ground Y position (default: 500) */
8
+ groundY?: number;
9
+ }
10
+ export interface UsePhysics2DReturn {
11
+ /** Register a unit for physics simulation */
12
+ registerUnit: (unitId: string, options?: Partial<Physics2DState>) => void;
13
+ /** Unregister a unit from physics */
14
+ unregisterUnit: (unitId: string) => void;
15
+ /** Get current physics position for a unit */
16
+ getPosition: (unitId: string) => {
17
+ x: number;
18
+ y: number;
19
+ } | null;
20
+ /** Get full physics state for a unit */
21
+ getState: (unitId: string) => Physics2DState | undefined;
22
+ /** Apply force to a unit */
23
+ applyForce: (unitId: string, fx: number, fy: number) => void;
24
+ /** Set velocity directly */
25
+ setVelocity: (unitId: string, vx: number, vy: number) => void;
26
+ /** Set position directly (teleport) */
27
+ setPosition: (unitId: string, x: number, y: number) => void;
28
+ /** Run physics tick - call this in your RAF loop */
29
+ tick: (deltaTime?: number) => void;
30
+ /** Check collision between two units */
31
+ checkCollision: (unitIdA: string, unitIdB: string, boundsA: PhysicsBounds, boundsB: PhysicsBounds) => boolean;
32
+ /** Resolve collision between two units */
33
+ resolveCollision: (unitIdA: string, unitIdB: string) => void;
34
+ /** Freeze/unfreeze a unit */
35
+ setFrozen: (unitId: string, frozen: boolean) => void;
36
+ /** Get all physics-enabled units */
37
+ getAllUnits: () => Physics2DState[];
38
+ /** Reset all physics */
39
+ reset: () => void;
40
+ }
41
+ /**
42
+ * Hook for managing 2D physics simulation
43
+ */
44
+ export declare function usePhysics2D(options?: UsePhysics2DOptions): UsePhysics2DReturn;
45
+ export default usePhysics2D;
@@ -0,0 +1,43 @@
1
+ import type { IsometricUnit } from '../types/isometric';
2
+ import type { AnimationName, FacingDirection, ResolvedFrame, SpriteFrameDims, SpriteSheetUrls } from '../types/spriteAnimation';
3
+ export interface UseSpriteAnimationsResult {
4
+ /**
5
+ * Sync unit list and advance all animation timers.
6
+ * Call once per animation frame. Auto-detects movement
7
+ * and infers direction from position deltas.
8
+ */
9
+ syncUnits: (units: IsometricUnit[], deltaMs: number) => void;
10
+ /**
11
+ * Explicitly set a unit's animation (for combat: attack, hit, death).
12
+ * Optionally override direction.
13
+ */
14
+ setUnitAnimation: (unitId: string, animation: AnimationName, direction?: FacingDirection) => void;
15
+ /**
16
+ * Resolve the current frame for a unit. Returns null if no sprite sheet
17
+ * is available for this unit (falls back to static sprite in canvas).
18
+ * Pass this to IsometricCanvas.resolveUnitFrame.
19
+ */
20
+ resolveUnitFrame: (unitId: string) => ResolvedFrame | null;
21
+ }
22
+ export interface UseSpriteAnimationsOptions {
23
+ /** Playback speed multiplier. 1.0 = baseline, 2.0 = double speed. Default: 1. */
24
+ speed?: number;
25
+ }
26
+ /**
27
+ * Resolve sprite sheet URLs for a unit. Return null if no sheet available.
28
+ * This is the project-agnostic callback version — projects pass manifest-specific logic.
29
+ */
30
+ export type SheetUrlResolver = (unit: IsometricUnit) => SpriteSheetUrls | null;
31
+ /**
32
+ * Resolve frame dimensions for a unit's sprite sheet.
33
+ * Projects pass manifest-specific logic.
34
+ */
35
+ export type FrameDimsResolver = (unit: IsometricUnit) => SpriteFrameDims | null;
36
+ /**
37
+ * Hook for managing per-unit sprite sheet animations.
38
+ *
39
+ * @param getSheetUrls - Callback to resolve sprite sheet URLs for a unit
40
+ * @param getFrameDims - Callback to resolve frame dimensions for a unit
41
+ * @param options - Playback speed options
42
+ */
43
+ export declare function useSpriteAnimations(getSheetUrls: SheetUrlResolver, getFrameDims: FrameDimsResolver, options?: UseSpriteAnimationsOptions): UseSpriteAnimationsResult;