@almadar/ui 2.14.0 → 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 (407) hide show
  1. package/dist/{chunk-M7MOIE46.js → chunk-4KP6IZEQ.js} +1 -1
  2. package/dist/{chunk-SKWPSQHQ.js → chunk-YPY74G7F.js} +16 -8
  3. package/dist/components/atoms/AnimatedCounter.d.ts +20 -0
  4. package/dist/components/atoms/Avatar.d.ts +58 -0
  5. package/dist/components/atoms/Badge.d.ts +14 -0
  6. package/dist/components/atoms/Box.d.ts +57 -0
  7. package/dist/components/atoms/Button.d.ts +24 -0
  8. package/dist/components/atoms/Card.d.ts +18 -0
  9. package/dist/components/atoms/Center.d.ts +33 -0
  10. package/dist/components/atoms/Checkbox.d.ts +9 -0
  11. package/dist/components/atoms/ConditionalWrapper.d.ts +68 -0
  12. package/dist/components/atoms/ConfettiEffect.d.ts +19 -0
  13. package/dist/components/atoms/DayCell.d.ts +21 -0
  14. package/dist/components/atoms/Divider.d.ts +29 -0
  15. package/dist/components/atoms/FlipContainer.d.ts +21 -0
  16. package/dist/components/atoms/Icon.d.ts +39 -0
  17. package/dist/components/atoms/InfiniteScrollSentinel.d.ts +23 -0
  18. package/dist/components/atoms/Input.d.ts +26 -0
  19. package/dist/components/atoms/Label.d.ts +5 -0
  20. package/dist/components/atoms/LawReferenceTooltip.d.ts +48 -0
  21. package/dist/components/atoms/Overlay.d.ts +16 -0
  22. package/dist/components/atoms/ProgressBar.d.ts +63 -0
  23. package/dist/components/atoms/Radio.d.ts +26 -0
  24. package/dist/components/atoms/RangeSlider.d.ts +31 -0
  25. package/dist/components/atoms/Select.d.ts +12 -0
  26. package/dist/components/atoms/Spacer.d.ts +25 -0
  27. package/dist/components/atoms/Spinner.d.ts +6 -0
  28. package/dist/components/atoms/Stack.d.ts +66 -0
  29. package/dist/components/atoms/StatusDot.d.ts +14 -0
  30. package/dist/components/atoms/Switch.d.ts +12 -0
  31. package/dist/components/atoms/TextHighlight.d.ts +53 -0
  32. package/dist/components/atoms/Textarea.d.ts +5 -0
  33. package/dist/components/atoms/ThemeSelector.d.ts +21 -0
  34. package/dist/components/atoms/ThemeToggle.d.ts +33 -0
  35. package/dist/components/atoms/TimeSlotCell.d.ts +23 -0
  36. package/dist/components/atoms/TrendIndicator.d.ts +18 -0
  37. package/dist/components/atoms/TypewriterText.d.ts +20 -0
  38. package/dist/components/atoms/Typography.d.ts +57 -0
  39. package/dist/components/atoms/game/ActionButton.d.ts +25 -0
  40. package/dist/components/atoms/game/ChoiceButton.d.ts +18 -0
  41. package/dist/components/atoms/game/ComboCounter.d.ts +16 -0
  42. package/dist/components/atoms/game/ControlButton.d.ts +31 -0
  43. package/dist/components/atoms/game/DamageNumber.d.ts +14 -0
  44. package/dist/components/atoms/game/DialogueBubble.d.ts +16 -0
  45. package/dist/components/atoms/game/HealthBar.d.ts +18 -0
  46. package/dist/components/atoms/game/ItemSlot.d.ts +25 -0
  47. package/dist/components/atoms/game/MiniMap.d.ts +36 -0
  48. package/dist/components/atoms/game/ResourceCounter.d.ts +21 -0
  49. package/dist/components/atoms/game/ScoreDisplay.d.ts +21 -0
  50. package/dist/components/atoms/game/Sprite.d.ts +63 -0
  51. package/dist/components/atoms/game/StateIndicator.d.ts +31 -0
  52. package/dist/components/atoms/game/StatusEffect.d.ts +21 -0
  53. package/dist/components/atoms/game/TimerDisplay.d.ts +18 -0
  54. package/dist/components/atoms/game/TurnIndicator.d.ts +18 -0
  55. package/dist/components/atoms/game/WaypointMarker.d.ts +19 -0
  56. package/dist/components/atoms/game/XPBar.d.ts +20 -0
  57. package/dist/components/atoms/game/index.d.ts +25 -0
  58. package/dist/components/atoms/index.d.ts +37 -0
  59. package/dist/components/index.d.ts +6 -0
  60. package/dist/components/index.js +2 -2
  61. package/dist/components/molecules/Accordion.d.ts +67 -0
  62. package/dist/components/molecules/Alert.d.ts +24 -0
  63. package/dist/components/molecules/Breadcrumb.d.ts +55 -0
  64. package/dist/components/molecules/ButtonGroup.d.ts +67 -0
  65. package/dist/components/molecules/CalendarGrid.d.ts +43 -0
  66. package/dist/components/molecules/Card.d.ts +56 -0
  67. package/dist/components/molecules/Carousel.d.ts +31 -0
  68. package/dist/components/molecules/ChartLegend.d.ts +20 -0
  69. package/dist/components/molecules/Container.d.ts +30 -0
  70. package/dist/components/molecules/DataGrid.d.ts +75 -0
  71. package/dist/components/molecules/DataList.d.ts +95 -0
  72. package/dist/components/molecules/DateRangeSelector.d.ts +22 -0
  73. package/dist/components/molecules/Drawer.d.ts +46 -0
  74. package/dist/components/molecules/EmptyState.d.ts +25 -0
  75. package/dist/components/molecules/ErrorBoundary.d.ts +55 -0
  76. package/dist/components/molecules/ErrorState.d.ts +13 -0
  77. package/dist/components/molecules/FilterGroup.d.ts +54 -0
  78. package/dist/components/molecules/Flex.d.ts +43 -0
  79. package/dist/components/molecules/FlipCard.d.ts +25 -0
  80. package/dist/components/molecules/FloatingActionButton.d.ts +69 -0
  81. package/dist/components/molecules/FormField.d.ts +16 -0
  82. package/dist/components/molecules/FormSectionHeader.d.ts +30 -0
  83. package/dist/components/molecules/GraphView.d.ts +45 -0
  84. package/dist/components/molecules/Grid.d.ts +54 -0
  85. package/dist/components/molecules/InputGroup.d.ts +24 -0
  86. package/dist/components/molecules/Lightbox.d.ts +25 -0
  87. package/dist/components/molecules/LineChart.d.ts +33 -0
  88. package/dist/components/molecules/LoadingState.d.ts +7 -0
  89. package/dist/components/molecules/MapView.d.ts +40 -0
  90. package/dist/components/molecules/Menu.d.ts +40 -0
  91. package/dist/components/molecules/Meter.d.ts +51 -0
  92. package/dist/components/molecules/Modal.d.ts +28 -0
  93. package/dist/components/molecules/NumberStepper.d.ts +27 -0
  94. package/dist/components/molecules/Pagination.d.ts +66 -0
  95. package/dist/components/molecules/Popover.d.ts +39 -0
  96. package/dist/components/molecules/ProgressDots.d.ts +24 -0
  97. package/dist/components/molecules/PullToRefresh.d.ts +21 -0
  98. package/dist/components/molecules/QuizBlock.d.ts +20 -0
  99. package/dist/components/molecules/RelationSelect.d.ts +48 -0
  100. package/dist/components/molecules/RepeatableFormSection.d.ts +58 -0
  101. package/dist/components/molecules/ScaledDiagram.d.ts +20 -0
  102. package/dist/components/molecules/SearchInput.d.ts +60 -0
  103. package/dist/components/molecules/SidePanel.d.ts +47 -0
  104. package/dist/components/molecules/SimpleGrid.d.ts +27 -0
  105. package/dist/components/molecules/Skeleton.d.ts +35 -0
  106. package/dist/components/molecules/SortableList.d.ts +17 -0
  107. package/dist/components/molecules/StarRating.d.ts +26 -0
  108. package/dist/components/molecules/StatDisplay.d.ts +37 -0
  109. package/dist/components/molecules/SwipeableRow.d.ts +24 -0
  110. package/dist/components/molecules/Tabs.d.ts +45 -0
  111. package/dist/components/molecules/Toast.d.ts +35 -0
  112. package/dist/components/molecules/Tooltip.d.ts +25 -0
  113. package/dist/components/molecules/UploadDropZone.d.ts +26 -0
  114. package/dist/components/molecules/ViolationAlert.d.ts +49 -0
  115. package/dist/components/molecules/WizardNavigation.d.ts +51 -0
  116. package/dist/components/molecules/WizardProgress.d.ts +42 -0
  117. package/dist/components/molecules/game/ActionButtons.d.ts +34 -0
  118. package/dist/components/molecules/game/CombatLog.d.ts +30 -0
  119. package/dist/components/molecules/game/CraftingRecipe.d.ts +33 -0
  120. package/dist/components/molecules/game/DPad.d.ts +22 -0
  121. package/dist/components/molecules/game/DialogueBox.d.ts +78 -0
  122. package/dist/components/molecules/game/EnemyPlate.d.ts +27 -0
  123. package/dist/components/molecules/game/GameCanvas2D.d.ts +18 -0
  124. package/dist/components/molecules/game/GameHud.d.ts +49 -0
  125. package/dist/components/molecules/game/GameMenu.d.ts +43 -0
  126. package/dist/components/molecules/game/GameOverScreen.d.ts +56 -0
  127. package/dist/components/molecules/game/HealthPanel.d.ts +27 -0
  128. package/dist/components/molecules/game/InventoryGrid.d.ts +30 -0
  129. package/dist/components/molecules/game/InventoryPanel.d.ts +67 -0
  130. package/dist/components/molecules/game/IsometricCanvas.d.ts +127 -0
  131. package/dist/components/molecules/game/PlatformerCanvas.d.ts +52 -0
  132. package/dist/components/molecules/game/PowerupSlots.d.ts +23 -0
  133. package/dist/components/molecules/game/QuestTracker.d.ts +20 -0
  134. package/dist/components/molecules/game/ResourceBar.d.ts +23 -0
  135. package/dist/components/molecules/game/ScoreBoard.d.ts +18 -0
  136. package/dist/components/molecules/game/StatBadge.d.ts +27 -0
  137. package/dist/components/molecules/game/TurnPanel.d.ts +29 -0
  138. package/dist/components/molecules/game/UnitCommandBar.d.ts +25 -0
  139. package/dist/components/molecules/game/index.d.ts +30 -0
  140. package/dist/components/molecules/index.d.ts +59 -0
  141. package/dist/components/molecules/markdown/CodeBlock.d.ts +25 -0
  142. package/dist/components/molecules/markdown/MarkdownContent.d.ts +26 -0
  143. package/dist/components/molecules/markdown/index.d.ts +2 -0
  144. package/dist/components/organisms/CardGrid.d.ts +80 -0
  145. package/dist/components/organisms/Chart.d.ts +59 -0
  146. package/dist/components/organisms/CodeViewer.d.ts +67 -0
  147. package/dist/components/organisms/ComponentPatterns.d.ts +453 -0
  148. package/dist/components/organisms/ConfirmDialog.d.ts +50 -0
  149. package/dist/components/organisms/ContentRenderer.d.ts +23 -0
  150. package/dist/components/organisms/CustomPattern.d.ts +104 -0
  151. package/dist/components/organisms/DataTable.d.ts +67 -0
  152. package/dist/components/organisms/DetailPanel.d.ts +78 -0
  153. package/dist/components/organisms/DocumentViewer.d.ts +60 -0
  154. package/dist/components/organisms/DrawerSlot.d.ts +39 -0
  155. package/dist/components/organisms/Form.d.ts +206 -0
  156. package/dist/components/organisms/FormSection.d.ts +41 -0
  157. package/dist/components/organisms/GraphCanvas.d.ts +69 -0
  158. package/dist/components/organisms/Header.d.ts +110 -0
  159. package/dist/components/organisms/JazariStateMachine.d.ts +60 -0
  160. package/dist/components/organisms/LayoutPatterns.d.ts +181 -0
  161. package/dist/components/organisms/List.d.ts +78 -0
  162. package/dist/components/organisms/MasterDetail.d.ts +32 -0
  163. package/dist/components/organisms/MediaGallery.d.ts +57 -0
  164. package/dist/components/organisms/Meter.d.ts +58 -0
  165. package/dist/components/organisms/ModalSlot.d.ts +35 -0
  166. package/dist/components/organisms/Navigation.d.ts +68 -0
  167. package/dist/components/organisms/NotifyListener.d.ts +15 -0
  168. package/dist/components/organisms/OrbitalVisualization.d.ts +48 -0
  169. package/dist/components/organisms/PageHeader.d.ts +59 -0
  170. package/dist/components/organisms/Section.d.ts +44 -0
  171. package/dist/components/organisms/Sidebar.d.ts +63 -0
  172. package/dist/components/organisms/SignaturePad.d.ts +44 -0
  173. package/dist/components/organisms/Split.d.ts +42 -0
  174. package/dist/components/organisms/StatCard.d.ts +62 -0
  175. package/dist/components/organisms/StateMachineView.d.ts +36 -0
  176. package/dist/components/organisms/Table.d.ts +99 -0
  177. package/dist/components/organisms/Timeline.d.ts +49 -0
  178. package/dist/components/organisms/ToastSlot.d.ts +38 -0
  179. package/dist/components/organisms/UISlotRenderer.d.ts +112 -0
  180. package/dist/components/organisms/WizardContainer.d.ts +160 -0
  181. package/dist/components/organisms/book/BookChapterView.d.ts +17 -0
  182. package/dist/components/organisms/book/BookCoverPage.d.ts +20 -0
  183. package/dist/components/organisms/book/BookNavBar.d.ts +19 -0
  184. package/dist/components/organisms/book/BookTableOfContents.d.ts +18 -0
  185. package/dist/components/organisms/book/BookViewer.d.ts +28 -0
  186. package/dist/components/organisms/book/index.d.ts +7 -0
  187. package/dist/components/organisms/book/types.d.ts +77 -0
  188. package/dist/components/organisms/component-registry.generated.d.ts +9 -0
  189. package/dist/components/organisms/debug/RuntimeDebugger.d.ts +19 -0
  190. package/dist/components/organisms/debug/hooks/useDebugData.d.ts +25 -0
  191. package/dist/components/organisms/debug/index.d.ts +13 -0
  192. package/dist/components/organisms/debug/tabs/EntitiesTab.d.ts +13 -0
  193. package/dist/components/organisms/debug/tabs/EventDispatcherTab.d.ts +16 -0
  194. package/dist/components/organisms/debug/tabs/EventFlowTab.d.ts +9 -0
  195. package/dist/components/organisms/debug/tabs/GuardsPanel.d.ts +9 -0
  196. package/dist/components/organisms/debug/tabs/ServerBridgeTab.d.ts +9 -0
  197. package/dist/components/organisms/debug/tabs/TicksTab.d.ts +13 -0
  198. package/dist/components/organisms/debug/tabs/TraitsTab.d.ts +13 -0
  199. package/dist/components/organisms/debug/tabs/TransitionTimeline.d.ts +9 -0
  200. package/dist/components/organisms/debug/tabs/VerificationTab.d.ts +10 -0
  201. package/dist/components/organisms/game/BattleBoard.d.ts +175 -0
  202. package/dist/components/organisms/game/CanvasEffect.d.ts +68 -0
  203. package/dist/components/organisms/game/CastleBoard.d.ts +85 -0
  204. package/dist/components/organisms/game/CombatLog.d.ts +2 -0
  205. package/dist/components/organisms/game/DialogueBox.d.ts +2 -0
  206. package/dist/components/organisms/game/GameAudioProvider.d.ts +47 -0
  207. package/dist/components/organisms/game/GameAudioToggle.d.ts +28 -0
  208. package/dist/components/organisms/game/GameCanvas3D.d.ts +181 -0
  209. package/dist/components/organisms/game/GameHud.d.ts +2 -0
  210. package/dist/components/organisms/game/GameMenu.d.ts +2 -0
  211. package/dist/components/organisms/game/GameOverScreen.d.ts +2 -0
  212. package/dist/components/organisms/game/InventoryPanel.d.ts +2 -0
  213. package/dist/components/organisms/game/IsometricCanvas.d.ts +3 -0
  214. package/dist/components/organisms/game/PlatformerCanvas.d.ts +2 -0
  215. package/dist/components/organisms/game/TraitSlot.d.ts +90 -0
  216. package/dist/components/organisms/game/TraitStateViewer.d.ts +53 -0
  217. package/dist/components/organisms/game/UncontrolledBattleBoard.d.ts +26 -0
  218. package/dist/components/organisms/game/WorldMapBoard.d.ts +156 -0
  219. package/dist/components/organisms/game/editor/editorUtils.d.ts +109 -0
  220. package/dist/components/organisms/game/editor/index.d.ts +9 -0
  221. package/dist/components/organisms/game/hooks/useBattleState.d.ts +35 -0
  222. package/dist/components/organisms/game/hooks/useCamera.d.ts +41 -0
  223. package/dist/components/organisms/game/hooks/useGameAudio.d.ts +47 -0
  224. package/dist/components/organisms/game/hooks/useImageCache.d.ts +16 -0
  225. package/dist/components/organisms/game/hooks/usePhysics2D.d.ts +45 -0
  226. package/dist/components/organisms/game/hooks/useSpriteAnimations.d.ts +43 -0
  227. package/dist/components/organisms/game/index.d.ts +52 -0
  228. package/dist/components/organisms/game/managers/PhysicsManager.d.ts +103 -0
  229. package/dist/components/organisms/game/physics-sim/SimulationCanvas.d.ts +20 -0
  230. package/dist/components/organisms/game/physics-sim/SimulationControls.d.ts +28 -0
  231. package/dist/components/organisms/game/physics-sim/SimulationGraph.d.ts +25 -0
  232. package/dist/components/organisms/game/physics-sim/index.d.ts +7 -0
  233. package/dist/components/organisms/game/physics-sim/presets/index.d.ts +4 -0
  234. package/dist/components/organisms/game/physics-sim/presets/mechanics.d.ts +4 -0
  235. package/dist/components/organisms/game/physics-sim/presets/types.d.ts +43 -0
  236. package/dist/components/organisms/game/puzzles/builder/BuilderBoard.d.ts +52 -0
  237. package/dist/components/organisms/game/puzzles/builder/index.d.ts +2 -0
  238. package/dist/components/organisms/game/puzzles/classifier/ClassifierBoard.d.ts +53 -0
  239. package/dist/components/organisms/game/puzzles/classifier/index.d.ts +2 -0
  240. package/dist/components/organisms/game/puzzles/debugger/DebuggerBoard.d.ts +45 -0
  241. package/dist/components/organisms/game/puzzles/debugger/index.d.ts +2 -0
  242. package/dist/components/organisms/game/puzzles/event-handler/EventHandlerBoard.d.ts +55 -0
  243. package/dist/components/organisms/game/puzzles/event-handler/EventLog.d.ts +31 -0
  244. package/dist/components/organisms/game/puzzles/event-handler/ObjectRulePanel.d.ts +45 -0
  245. package/dist/components/organisms/game/puzzles/event-handler/RuleEditor.d.ts +41 -0
  246. package/dist/components/organisms/game/puzzles/event-handler/index.d.ts +8 -0
  247. package/dist/components/organisms/game/puzzles/negotiator/NegotiatorBoard.d.ts +54 -0
  248. package/dist/components/organisms/game/puzzles/negotiator/index.d.ts +2 -0
  249. package/dist/components/organisms/game/puzzles/sequencer/ActionPalette.d.ts +34 -0
  250. package/dist/components/organisms/game/puzzles/sequencer/ActionTile.d.ts +30 -0
  251. package/dist/components/organisms/game/puzzles/sequencer/SequenceBar.d.ts +41 -0
  252. package/dist/components/organisms/game/puzzles/sequencer/SequencerBoard.d.ts +72 -0
  253. package/dist/components/organisms/game/puzzles/sequencer/index.d.ts +8 -0
  254. package/dist/components/organisms/game/puzzles/simulator/SimulatorBoard.d.ts +54 -0
  255. package/dist/components/organisms/game/puzzles/simulator/index.d.ts +2 -0
  256. package/dist/components/organisms/game/puzzles/state-architect/CodeView.d.ts +24 -0
  257. package/dist/components/organisms/game/puzzles/state-architect/StateArchitectBoard.d.ts +76 -0
  258. package/dist/components/organisms/game/puzzles/state-architect/StateNode.d.ts +33 -0
  259. package/dist/components/organisms/game/puzzles/state-architect/TransitionArrow.d.ts +36 -0
  260. package/dist/components/organisms/game/puzzles/state-architect/VariablePanel.d.ts +28 -0
  261. package/dist/components/organisms/game/puzzles/state-architect/index.d.ts +10 -0
  262. package/dist/components/organisms/game/three/Camera3D.d.ts +60 -0
  263. package/dist/components/organisms/game/three/Lighting3D.d.ts +47 -0
  264. package/dist/components/organisms/game/three/Scene3D.d.ts +37 -0
  265. package/dist/components/organisms/game/three/components/Canvas3DErrorBoundary.d.ts +51 -0
  266. package/dist/components/organisms/game/three/components/Canvas3DLoadingState.d.ts +44 -0
  267. package/dist/components/organisms/game/three/components/ModelLoader.d.ts +44 -0
  268. package/dist/components/organisms/game/three/components/PhysicsObject3D.d.ts +74 -0
  269. package/dist/components/organisms/game/three/components/index.d.ts +10 -0
  270. package/dist/components/organisms/game/three/hooks/useAssetLoader.d.ts +58 -0
  271. package/dist/components/organisms/game/three/hooks/useGameCanvas3DEvents.d.ts +79 -0
  272. package/dist/components/organisms/game/three/hooks/useRaycaster.d.ts +86 -0
  273. package/dist/components/organisms/game/three/hooks/useSceneGraph.d.ts +66 -0
  274. package/dist/components/organisms/game/three/hooks/useThree.d.ts +58 -0
  275. package/dist/components/organisms/game/three/index.d.ts +23 -0
  276. package/dist/components/organisms/game/three/loaders/AssetLoader.d.ts +80 -0
  277. package/dist/components/organisms/game/three/renderers/FeatureRenderer.d.ts +44 -0
  278. package/dist/components/organisms/game/three/renderers/FeatureRenderer3D.d.ts +44 -0
  279. package/dist/components/organisms/game/three/renderers/TileRenderer.d.ts +57 -0
  280. package/dist/components/organisms/game/three/renderers/UnitRenderer.d.ts +46 -0
  281. package/dist/components/organisms/game/three/renderers/index.d.ts +11 -0
  282. package/dist/components/organisms/game/three/utils/culling.d.ts +134 -0
  283. package/dist/components/organisms/game/three/utils/grid3D.d.ts +154 -0
  284. package/dist/components/organisms/game/types/effects.d.ts +253 -0
  285. package/dist/components/organisms/game/types/game.d.ts +92 -0
  286. package/dist/components/organisms/game/types/isometric.d.ts +109 -0
  287. package/dist/components/organisms/game/types/spriteAnimation.d.ts +73 -0
  288. package/dist/components/organisms/game/useCanvasEffects.d.ts +26 -0
  289. package/dist/components/organisms/game/utils/canvasEffects.d.ts +50 -0
  290. package/dist/components/organisms/game/utils/combatEffects.d.ts +64 -0
  291. package/dist/components/organisms/game/utils/combatPresets.d.ts +15 -0
  292. package/dist/components/organisms/game/utils/isometric.d.ts +61 -0
  293. package/dist/components/organisms/game/utils/spriteAnimation.d.ts +57 -0
  294. package/dist/components/organisms/game/utils/spriteSheetConstants.d.ts +16 -0
  295. package/dist/components/organisms/index.d.ts +38 -0
  296. package/dist/components/organisms/layout/DashboardGrid.d.ts +35 -0
  297. package/dist/components/organisms/layout/MasterDetail.d.ts +32 -0
  298. package/dist/components/organisms/layout/SplitPane.d.ts +34 -0
  299. package/dist/components/organisms/layout/TabbedContainer.d.ts +42 -0
  300. package/dist/components/organisms/layout/index.d.ts +9 -0
  301. package/dist/components/organisms/types.d.ts +63 -0
  302. package/dist/components/templates/AuthLayout.d.ts +14 -0
  303. package/dist/components/templates/BattleTemplate.d.ts +25 -0
  304. package/dist/components/templates/CastleTemplate.d.ts +23 -0
  305. package/dist/components/templates/CounterTemplate.d.ts +44 -0
  306. package/dist/components/templates/DashboardLayout.d.ts +34 -0
  307. package/dist/components/templates/GameCanvas3DBattleTemplate.d.ts +96 -0
  308. package/dist/components/templates/GameCanvas3DCastleTemplate.d.ts +90 -0
  309. package/dist/components/templates/GameCanvas3DWorldMapTemplate.d.ts +96 -0
  310. package/dist/components/templates/GameShell.d.ts +34 -0
  311. package/dist/components/templates/GameTemplate.d.ts +36 -0
  312. package/dist/components/templates/GenericAppTemplate.d.ts +30 -0
  313. package/dist/components/templates/WorldMapTemplate.d.ts +29 -0
  314. package/dist/components/templates/index.d.ts +10 -0
  315. package/dist/components/templates/types.d.ts +22 -0
  316. package/dist/context/DesignThemeContext.d.ts +21 -0
  317. package/dist/context/ThemeContext.d.ts +104 -0
  318. package/dist/context/UISlotContext.d.ts +75 -0
  319. package/dist/context/UserContext.d.ts +111 -0
  320. package/dist/context/index.d.ts +8 -0
  321. package/dist/hooks/event-bus-types.d.ts +71 -0
  322. package/dist/hooks/index.d.ts +31 -0
  323. package/dist/hooks/useAgentChat.d.ts +104 -0
  324. package/dist/hooks/useAuthContext.d.ts +25 -0
  325. package/dist/hooks/useCompile.d.ts +22 -0
  326. package/dist/hooks/useDeepAgentGeneration.d.ts +46 -0
  327. package/dist/hooks/useDragReorder.d.ts +26 -0
  328. package/dist/hooks/useEntities.d.ts +52 -0
  329. package/dist/hooks/useEntityData.d.ts +155 -0
  330. package/dist/hooks/useEntityMutations.d.ts +80 -0
  331. package/dist/hooks/useEventBus.d.ts +96 -0
  332. package/dist/hooks/useExtensions.d.ts +32 -0
  333. package/dist/hooks/useFileEditor.d.ts +32 -0
  334. package/dist/hooks/useFileSystem.d.ts +40 -0
  335. package/dist/hooks/useGitHub.d.ts +58 -0
  336. package/dist/hooks/useInfiniteScroll.d.ts +13 -0
  337. package/dist/hooks/useLongPress.d.ts +16 -0
  338. package/dist/hooks/useOrbitalHistory.d.ts +39 -0
  339. package/dist/hooks/useOrbitalMutations.d.ts +95 -0
  340. package/dist/hooks/usePinchZoom.d.ts +22 -0
  341. package/dist/hooks/usePreview.d.ts +57 -0
  342. package/dist/hooks/usePullToRefresh.d.ts +25 -0
  343. package/dist/hooks/useQuerySingleton.d.ts +78 -0
  344. package/dist/hooks/useResolvedEntity.d.ts +32 -0
  345. package/dist/hooks/useSwipeGesture.d.ts +26 -0
  346. package/dist/hooks/useTranslate.d.ts +35 -0
  347. package/dist/hooks/useUIEvents.d.ts +35 -0
  348. package/dist/hooks/useUISlots.d.ts +84 -0
  349. package/dist/hooks/useValidation.d.ts +46 -0
  350. package/dist/lib/api-client.d.ts +42 -0
  351. package/dist/lib/cn.d.ts +6 -0
  352. package/dist/lib/debug.d.ts +43 -0
  353. package/dist/lib/debugRegistry.d.ts +29 -0
  354. package/dist/lib/debugUtils.d.ts +27 -0
  355. package/dist/lib/entityDebug.d.ts +38 -0
  356. package/dist/lib/getNestedValue.d.ts +33 -0
  357. package/dist/lib/guardRegistry.d.ts +32 -0
  358. package/dist/lib/index.d.ts +18 -0
  359. package/dist/lib/jazari/index.d.ts +5 -0
  360. package/dist/lib/jazari/layout.d.ts +30 -0
  361. package/dist/lib/jazari/svg-paths.d.ts +61 -0
  362. package/dist/lib/jazari/types.d.ts +91 -0
  363. package/dist/lib/parseContentSegments.d.ts +41 -0
  364. package/dist/lib/tickRegistry.d.ts +40 -0
  365. package/dist/lib/traitRegistry.d.ts +34 -0
  366. package/dist/lib/verificationRegistry.d.ts +138 -0
  367. package/dist/lib/visualizer/browser.d.ts +47 -0
  368. package/dist/lib/visualizer/index.d.ts +143 -0
  369. package/dist/locales/index.d.ts +20 -0
  370. package/dist/providers/EventBusProvider.d.ts +60 -0
  371. package/dist/providers/FetchedDataProvider.d.ts +105 -0
  372. package/dist/providers/OfflineModeProvider.d.ts +79 -0
  373. package/dist/providers/OrbitalProvider.d.ts +101 -0
  374. package/dist/providers/SelectionProvider.d.ts +81 -0
  375. package/dist/providers/VerificationProvider.d.ts +63 -0
  376. package/dist/providers/index.d.ts +17 -0
  377. package/dist/providers/index.js +2 -2
  378. package/dist/renderer/client-effect-executor.d.ts +68 -0
  379. package/dist/renderer/data-resolver.d.ts +68 -0
  380. package/dist/renderer/index.d.ts +28 -0
  381. package/dist/renderer/init.d.ts +14 -0
  382. package/dist/renderer/navigation.d.ts +142 -0
  383. package/dist/renderer/offline-executor.d.ts +238 -0
  384. package/dist/renderer/pattern-resolver.d.ts +91 -0
  385. package/dist/renderer/slot-definitions.d.ts +45 -0
  386. package/dist/renderer/types.d.ts +160 -0
  387. package/dist/renderer/useClientEffects.d.ts +88 -0
  388. package/dist/runtime/EntitySchemaContext.d.ts +40 -0
  389. package/dist/runtime/TraitProvider.d.ts +52 -0
  390. package/dist/runtime/createClientEffectHandlers.d.ts +23 -0
  391. package/dist/runtime/index.d.ts +15 -0
  392. package/dist/runtime/index.js +2 -2
  393. package/dist/runtime/types.d.ts +10 -0
  394. package/dist/runtime/ui/SlotsContext.d.ts +71 -0
  395. package/dist/runtime/useResolvedSchema.d.ts +45 -0
  396. package/dist/runtime/useTraitStateMachine.d.ts +48 -0
  397. package/dist/scripts/generate-design-system.d.ts +29 -0
  398. package/dist/scripts/generate-theme-from-schema.d.ts +10 -0
  399. package/dist/scripts/generate.d.ts +12 -0
  400. package/dist/scripts/suggest-components.d.ts +31 -0
  401. package/dist/scripts/types.d.ts +129 -0
  402. package/dist/stores/entityStore.d.ts +99 -0
  403. package/dist/stores/filtering.d.ts +51 -0
  404. package/dist/stores/index.d.ts +7 -0
  405. package/dist/tsup.config.d.ts +2 -0
  406. package/dist/vitest.config.d.ts +2 -0
  407. package/package.json +2 -2
@@ -0,0 +1,30 @@
1
+ /**
2
+ * CombatLog Component
3
+ *
4
+ * Scrollable log of combat events with icons and colors.
5
+ * Generalized from Trait Wars — removed asset manifest coupling.
6
+ */
7
+ import React from 'react';
8
+ export type CombatLogEventType = 'attack' | 'defend' | 'heal' | 'move' | 'special' | 'death' | 'spawn';
9
+ export interface CombatEvent {
10
+ id: string;
11
+ type: CombatLogEventType;
12
+ message: string;
13
+ timestamp: number;
14
+ actorName?: string;
15
+ targetName?: string;
16
+ value?: number;
17
+ turn?: number;
18
+ }
19
+ export interface CombatLogProps {
20
+ events: CombatEvent[];
21
+ maxVisible?: number;
22
+ autoScroll?: boolean;
23
+ showTimestamps?: boolean;
24
+ title?: string;
25
+ className?: string;
26
+ }
27
+ export declare function CombatLog({ events, maxVisible, autoScroll, showTimestamps, className, title, }: CombatLogProps): React.JSX.Element;
28
+ export declare namespace CombatLog {
29
+ var displayName: string;
30
+ }
@@ -0,0 +1,33 @@
1
+ import * as React from 'react';
2
+ export interface CraftingIngredient {
3
+ /** Icon component or emoji */
4
+ icon?: React.ReactNode;
5
+ /** Ingredient label */
6
+ label: string;
7
+ /** Number required for the recipe */
8
+ required: number;
9
+ /** Number currently available */
10
+ available: number;
11
+ }
12
+ export interface CraftingRecipeProps {
13
+ /** Input ingredients for the recipe */
14
+ inputs: CraftingIngredient[];
15
+ /** Output item produced by the recipe */
16
+ output: {
17
+ icon?: React.ReactNode;
18
+ label: string;
19
+ rarity?: string;
20
+ };
21
+ /** Whether the player has enough ingredients to craft */
22
+ canCraft?: boolean;
23
+ /** Callback when the craft button is clicked */
24
+ onCraft?: () => void;
25
+ /** Event bus event name for crafting */
26
+ craftEvent?: string;
27
+ /** Additional CSS classes */
28
+ className?: string;
29
+ }
30
+ export declare function CraftingRecipe({ inputs, output, canCraft, onCraft, craftEvent, className, }: CraftingRecipeProps): import("react/jsx-runtime").JSX.Element;
31
+ export declare namespace CraftingRecipe {
32
+ var displayName: string;
33
+ }
@@ -0,0 +1,22 @@
1
+ export type DPadDirection = 'up' | 'down' | 'left' | 'right';
2
+ /** Event Contract:
3
+ * Emits: UI:DIRECTION
4
+ */
5
+ export interface DPadProps {
6
+ /** Called when a direction is pressed/released */
7
+ onDirection?: (direction: DPadDirection, pressed: boolean) => void;
8
+ /** Declarative event name emitted on direction press/release via useEventBus */
9
+ directionEvent?: string;
10
+ /** Size variant */
11
+ size?: 'sm' | 'md' | 'lg';
12
+ /** Whether to include diagonal buttons */
13
+ includeDiagonals?: boolean;
14
+ /** Additional CSS classes */
15
+ className?: string;
16
+ /** Disabled state */
17
+ disabled?: boolean;
18
+ }
19
+ export declare function DPad({ onDirection, directionEvent, size, includeDiagonals, className, disabled, }: DPadProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare namespace DPad {
21
+ var displayName: string;
22
+ }
@@ -0,0 +1,78 @@
1
+ /**
2
+ * DialogueBox Component
3
+ *
4
+ * NPC dialogue display with typewriter effect and choices.
5
+ *
6
+ * **State categories (closed-circuit compliant):**
7
+ * - Content (dialogue node, speaker, text, choices) → received via props
8
+ * - UI-transient animation (displayedText, isTyping, charIndex, selectedChoice) → local only
9
+ * - Events → emitted via `useEventBus()` (complete, choice, advance)
10
+ *
11
+ * Local state is typewriter animation only — an inherently rendering-only
12
+ * concern analogous to Form's `formData`.
13
+ */
14
+ import React from 'react';
15
+ export interface DialogueChoice {
16
+ text: string;
17
+ action?: string;
18
+ next?: string;
19
+ disabled?: boolean;
20
+ }
21
+ export interface DialogueNode {
22
+ id?: string;
23
+ speaker: string;
24
+ text: string;
25
+ portrait?: string;
26
+ choices?: DialogueChoice[];
27
+ autoAdvance?: number;
28
+ }
29
+ /** Event Contract:
30
+ * Emits: UI:COMPLETE
31
+ * Emits: UI:CHOICE
32
+ * Emits: UI:ADVANCE
33
+ */
34
+ export interface DialogueBoxProps {
35
+ /** Current dialogue node to display */
36
+ dialogue: DialogueNode;
37
+ /** Typewriter speed in ms per character (0 = instant) */
38
+ typewriterSpeed?: number;
39
+ /** Position of dialogue box */
40
+ position?: 'top' | 'bottom';
41
+ /** Called when text animation completes */
42
+ onComplete?: () => void;
43
+ /** Called when a choice is selected */
44
+ onChoice?: (choice: DialogueChoice) => void;
45
+ /** Called when dialogue is advanced (no choices) */
46
+ onAdvance?: () => void;
47
+ /** Declarative event: emits UI:{completeEvent} when text animation completes */
48
+ completeEvent?: string;
49
+ /** Declarative event: emits UI:{choiceEvent} with { choice } when a choice is selected */
50
+ choiceEvent?: string;
51
+ /** Declarative event: emits UI:{advanceEvent} when dialogue is advanced */
52
+ advanceEvent?: string;
53
+ /** Optional className */
54
+ className?: string;
55
+ }
56
+ /**
57
+ * Dialogue box component with typewriter effect
58
+ *
59
+ * @example
60
+ * ```tsx
61
+ * <DialogueBox
62
+ * dialogue={{
63
+ * speaker: "Old Man",
64
+ * text: "It's dangerous to go alone! Take this.",
65
+ * portrait: "/portraits/oldman.png",
66
+ * choices: [
67
+ * { text: "Thank you!", action: "ACCEPT_ITEM" },
68
+ * { text: "No thanks", next: "decline_node" }
69
+ * ]
70
+ * }}
71
+ * typewriterSpeed={30}
72
+ * onChoice={(choice) => handleChoice(choice)}
73
+ * position="bottom"
74
+ * />
75
+ * ```
76
+ */
77
+ export declare function DialogueBox({ dialogue, typewriterSpeed, position, onComplete, onChoice, onAdvance, completeEvent, choiceEvent, advanceEvent, className, }: DialogueBoxProps): React.JSX.Element;
78
+ export default DialogueBox;
@@ -0,0 +1,27 @@
1
+ import * as React from 'react';
2
+ export interface EnemyPlateEffect {
3
+ /** Effect icon */
4
+ icon: React.ReactNode;
5
+ /** Effect label */
6
+ label?: string;
7
+ /** Effect type */
8
+ variant?: 'buff' | 'debuff' | 'neutral';
9
+ }
10
+ export interface EnemyPlateProps {
11
+ /** Enemy name */
12
+ name: string;
13
+ /** Current health */
14
+ health: number;
15
+ /** Maximum health */
16
+ maxHealth: number;
17
+ /** Enemy level */
18
+ level?: number;
19
+ /** Active status effects */
20
+ effects?: EnemyPlateEffect[];
21
+ /** Additional CSS classes */
22
+ className?: string;
23
+ }
24
+ export declare function EnemyPlate({ name, health, maxHealth, level, effects, className, }: EnemyPlateProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare namespace EnemyPlate {
26
+ var displayName: string;
27
+ }
@@ -0,0 +1,18 @@
1
+ export interface GameCanvas2DProps {
2
+ /** Canvas width in pixels */
3
+ width?: number;
4
+ /** Canvas height in pixels */
5
+ height?: number;
6
+ /** Called each frame with the 2D context and current frame count */
7
+ onDraw?: (ctx: CanvasRenderingContext2D, frame: number) => void;
8
+ /** Called each tick with delta time in seconds */
9
+ onTick?: (dt: number) => void;
10
+ /** Target frames per second */
11
+ fps?: number;
12
+ /** Additional CSS classes */
13
+ className?: string;
14
+ }
15
+ export declare function GameCanvas2D({ width, height, onDraw, onTick, fps, className, }: GameCanvas2DProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare namespace GameCanvas2D {
17
+ var displayName: string;
18
+ }
@@ -0,0 +1,49 @@
1
+ import * as React from "react";
2
+ import { type StatBadgeProps } from "./StatBadge";
3
+ export interface GameHudStat extends Omit<StatBadgeProps, "size"> {
4
+ /** Data source entity name */
5
+ source?: string;
6
+ /** Field name in the source */
7
+ field?: string;
8
+ }
9
+ /**
10
+ * Schema-style HUD element definition.
11
+ * Used when elements are passed from schema render_ui effects.
12
+ */
13
+ export interface GameHudElement {
14
+ type?: string;
15
+ bind?: string;
16
+ position?: string;
17
+ label?: string;
18
+ /** Direct value (from compiled render-ui effects) */
19
+ value?: number | string;
20
+ /** Icon name or node */
21
+ icon?: React.ReactNode;
22
+ /** Display format */
23
+ format?: string;
24
+ /** Max value (for bars/hearts) */
25
+ max?: number;
26
+ }
27
+ export interface GameHudProps {
28
+ /** Position of the HUD */
29
+ position?: "top" | "bottom" | "corners" | string;
30
+ /** Stats to display - accepts readonly for compatibility with generated const arrays */
31
+ stats?: readonly GameHudStat[];
32
+ /** Alias for stats (schema compatibility) */
33
+ items?: readonly GameHudStat[];
34
+ /**
35
+ * Schema-style elements array (alternative to stats).
36
+ * Converted to stats internally for backwards compatibility.
37
+ */
38
+ elements?: readonly GameHudElement[];
39
+ /** Size variant */
40
+ size?: "sm" | "md" | "lg";
41
+ /** Additional CSS classes */
42
+ className?: string;
43
+ /** Whether to use a semi-transparent background */
44
+ transparent?: boolean;
45
+ }
46
+ export declare function GameHud({ position: propPosition, stats: propStats, items, elements, size, className, transparent, }: GameHudProps): import("react/jsx-runtime").JSX.Element;
47
+ export declare namespace GameHud {
48
+ var displayName: string;
49
+ }
@@ -0,0 +1,43 @@
1
+ import { type EventBusContextType } from "../../../hooks/useEventBus";
2
+ export interface MenuOption {
3
+ /** Optional ID (generated from index if not provided) */
4
+ id?: string;
5
+ /** Display label */
6
+ label: string;
7
+ /** Event to emit on click */
8
+ event?: string;
9
+ /** Page to navigate to */
10
+ navigatesTo?: string;
11
+ /** Button variant */
12
+ variant?: "primary" | "secondary" | "ghost" | string;
13
+ /** Whether the option is disabled */
14
+ disabled?: boolean;
15
+ /** Sub-label or description */
16
+ subLabel?: string;
17
+ /** Action identifier (alternative to event) */
18
+ action?: string;
19
+ }
20
+ export interface GameMenuProps {
21
+ /** Menu title */
22
+ title: string;
23
+ /** Optional subtitle or version */
24
+ subtitle?: string;
25
+ /** Menu options - accepts readonly for compatibility with generated const arrays */
26
+ options?: readonly MenuOption[];
27
+ /** Alias for options (schema compatibility) */
28
+ menuItems?: readonly MenuOption[];
29
+ /** Called when an option is selected (legacy callback, prefer event bus) */
30
+ onSelect?: (option: MenuOption) => void;
31
+ /** Event bus for emitting UI events (optional, uses hook if not provided) */
32
+ eventBus?: EventBusContextType;
33
+ /** Background image or gradient */
34
+ background?: string;
35
+ /** Logo image URL */
36
+ logo?: string;
37
+ /** Additional CSS classes */
38
+ className?: string;
39
+ }
40
+ export declare function GameMenu({ title, subtitle, options, menuItems, onSelect, eventBus: eventBusProp, background, logo, className, }: GameMenuProps): import("react/jsx-runtime").JSX.Element;
41
+ export declare namespace GameMenu {
42
+ var displayName: string;
43
+ }
@@ -0,0 +1,56 @@
1
+ import * as React from "react";
2
+ import { type EventBusContextType } from "../../../hooks/useEventBus";
3
+ export interface GameOverStat {
4
+ /** Stat label */
5
+ label: string;
6
+ /** Stat value (required if bind is not provided) */
7
+ value?: number | string;
8
+ /**
9
+ * Schema-style data binding (e.g., "player.score").
10
+ * Alternative to value - used when stats come from schema render_ui effects.
11
+ * Component will display 0 as placeholder since runtime binding is not implemented.
12
+ */
13
+ bind?: string;
14
+ /** Display format */
15
+ format?: "number" | "time" | "text";
16
+ /** Icon */
17
+ icon?: React.ReactNode;
18
+ }
19
+ export interface GameOverAction {
20
+ /** Display label */
21
+ label: string;
22
+ /** Event to emit on click */
23
+ event?: string;
24
+ /** Page to navigate to */
25
+ navigatesTo?: string;
26
+ /** Button variant */
27
+ variant?: "primary" | "secondary" | "ghost";
28
+ }
29
+ export interface GameOverScreenProps {
30
+ /** Screen title (e.g., "Game Over", "Victory!") */
31
+ title: string;
32
+ /** Optional message */
33
+ message?: string;
34
+ /** Stats to display */
35
+ stats?: GameOverStat[];
36
+ /** Action buttons */
37
+ actions?: GameOverAction[];
38
+ /** Alias for actions (schema compatibility) */
39
+ menuItems?: GameOverAction[];
40
+ /** Called when an action is selected (legacy callback, prefer event bus) */
41
+ onAction?: (action: GameOverAction) => void;
42
+ /** Event bus for emitting UI events (optional, uses hook if not provided) */
43
+ eventBus?: EventBusContextType;
44
+ /** Victory or defeat variant */
45
+ variant?: "victory" | "defeat" | "neutral";
46
+ /** High score (optional, shows "NEW HIGH SCORE!" if exceeded) */
47
+ highScore?: number | string;
48
+ /** Current score for high score comparison (accepts string for schema bindings) */
49
+ currentScore?: number | string;
50
+ /** Additional CSS classes */
51
+ className?: string;
52
+ }
53
+ export declare function GameOverScreen({ title, message, stats, actions, menuItems, onAction, eventBus: eventBusProp, variant, highScore, currentScore, className, }: GameOverScreenProps): import("react/jsx-runtime").JSX.Element;
54
+ export declare namespace GameOverScreen {
55
+ var displayName: string;
56
+ }
@@ -0,0 +1,27 @@
1
+ import * as React from 'react';
2
+ export interface HealthPanelProps {
3
+ /** Current health value */
4
+ current: number;
5
+ /** Maximum health value */
6
+ max: number;
7
+ /** Shield/armor points */
8
+ shield?: number;
9
+ /** Label shown above the bar */
10
+ label?: string;
11
+ /** Active status effects displayed as small badges */
12
+ effects?: {
13
+ icon: React.ReactNode;
14
+ label?: string;
15
+ variant?: 'buff' | 'debuff' | 'neutral';
16
+ }[];
17
+ /** Whether to display numeric HP values */
18
+ showNumbers?: boolean;
19
+ /** Size variant */
20
+ size?: 'sm' | 'md' | 'lg';
21
+ /** Additional CSS classes */
22
+ className?: string;
23
+ }
24
+ export declare function HealthPanel({ current, max, shield, label, effects, showNumbers, size, className, }: HealthPanelProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare namespace HealthPanel {
26
+ var displayName: string;
27
+ }
@@ -0,0 +1,30 @@
1
+ import * as React from 'react';
2
+ export interface InventoryGridItem {
3
+ id: string;
4
+ icon?: React.ReactNode;
5
+ label?: string;
6
+ quantity?: number;
7
+ rarity?: 'common' | 'uncommon' | 'rare' | 'epic' | 'legendary';
8
+ }
9
+ export interface InventoryGridProps {
10
+ /** Array of items to display in the grid */
11
+ items: InventoryGridItem[];
12
+ /** Number of columns in the grid */
13
+ columns?: number;
14
+ /** Total number of slots (empty slots fill remaining space) */
15
+ totalSlots?: number;
16
+ /** Currently selected item ID */
17
+ selectedId?: string;
18
+ /** Callback when an item is selected */
19
+ onSelect?: (id: string) => void;
20
+ /** Event bus event name for selection */
21
+ selectEvent?: string;
22
+ /** Size variant for all item slots */
23
+ size?: 'sm' | 'md' | 'lg';
24
+ /** Additional CSS classes */
25
+ className?: string;
26
+ }
27
+ export declare function InventoryGrid({ items, columns, totalSlots, selectedId, onSelect, selectEvent, size, className, }: InventoryGridProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare namespace InventoryGrid {
29
+ var displayName: string;
30
+ }
@@ -0,0 +1,67 @@
1
+ /**
2
+ * InventoryPanel Component
3
+ *
4
+ * Grid-based inventory UI with item selection and tooltips.
5
+ *
6
+ * **State categories (closed-circuit compliant):**
7
+ * - Data (items, slots, selectedSlot) → received via props
8
+ * - UI-transient (hoveredSlot, tooltipPosition) → local only
9
+ * - Events → emitted via `useEventBus()` (selectSlot, useItem, dropItem)
10
+ *
11
+ * Local state is hover/tooltip only — rendering-only concerns.
12
+ */
13
+ import React from 'react';
14
+ export interface InventoryItem {
15
+ id: string;
16
+ type: string;
17
+ quantity: number;
18
+ sprite?: string;
19
+ name?: string;
20
+ description?: string;
21
+ }
22
+ export interface InventoryPanelProps {
23
+ /** Array of items in inventory */
24
+ items: InventoryItem[];
25
+ /** Total number of slots */
26
+ slots: number;
27
+ /** Number of columns in grid */
28
+ columns: number;
29
+ /** Currently selected slot index */
30
+ selectedSlot?: number;
31
+ /** Called when a slot is selected */
32
+ onSelectSlot?: (index: number) => void;
33
+ /** Called when an item is used (double-click or Enter) */
34
+ onUseItem?: (item: InventoryItem) => void;
35
+ /** Called when an item is dropped */
36
+ onDropItem?: (item: InventoryItem) => void;
37
+ /** Declarative event: emits UI:{selectSlotEvent} with { index } when a slot is selected */
38
+ selectSlotEvent?: string;
39
+ /** Declarative event: emits UI:{useItemEvent} with { item } when an item is used */
40
+ useItemEvent?: string;
41
+ /** Declarative event: emits UI:{dropItemEvent} with { item } when an item is dropped */
42
+ dropItemEvent?: string;
43
+ /** Show item tooltips on hover */
44
+ showTooltips?: boolean;
45
+ /** Optional className */
46
+ className?: string;
47
+ /** Slot size in pixels */
48
+ slotSize?: number;
49
+ }
50
+ /**
51
+ * Inventory panel component with grid layout
52
+ *
53
+ * @example
54
+ * ```tsx
55
+ * <InventoryPanel
56
+ * items={playerInventory}
57
+ * slots={20}
58
+ * columns={5}
59
+ * selectedSlot={selectedSlot}
60
+ * onSelectSlot={setSelectedSlot}
61
+ * onUseItem={(item) => console.log('Used:', item.name)}
62
+ * showTooltips
63
+ * />
64
+ * ```
65
+ */
66
+ export declare function InventoryPanel({ items, slots, columns, selectedSlot, onSelectSlot, onUseItem, onDropItem, selectSlotEvent, useItemEvent, dropItemEvent, showTooltips, className, slotSize, }: InventoryPanelProps): React.JSX.Element;
67
+ export default InventoryPanel;
@@ -0,0 +1,127 @@
1
+ /**
2
+ * IsometricCanvas
3
+ *
4
+ * Core isometric game renderer. Maps to the `game-canvas` pattern.
5
+ * Adapted from projects/trait-wars/design-system/organisms/IsometricGameCanvas.tsx
6
+ * with full closed-circuit pattern compliance (className, isLoading, error).
7
+ *
8
+ * Architecture:
9
+ * - 2:1 diamond isometric projection
10
+ * - Painter's algorithm (tile → feature → unit depth sort)
11
+ * - Camera pan/zoom with lerp
12
+ * - Off-screen culling
13
+ * - Minimap on separate canvas
14
+ * - Sprite sheet animation via resolveUnitFrame
15
+ * - Event bus–friendly handlers (onTileClick, onUnitClick, etc.)
16
+ *
17
+ * **State categories (closed-circuit compliant):**
18
+ * - All game data (tiles, units, features, selection, validMoves) → received via props
19
+ * - Rendering state (viewportSize, RAF, camera lerp, sprite cache) → local only
20
+ * - Events → emitted via `useEventBus()` for trait integration
21
+ *
22
+ * This component is a **pure renderer** — it holds no game logic state.
23
+ *
24
+ * @packageDocumentation
25
+ */
26
+ import * as React from 'react';
27
+ import type { IsometricTile, IsometricUnit, IsometricFeature } from '../../organisms/game/types/isometric';
28
+ import type { ResolvedFrame } from '../../organisms/game/types/spriteAnimation';
29
+ /** Event Contract:
30
+ * Emits: UI:TILE_CLICK
31
+ * Emits: UI:UNIT_CLICK
32
+ * Emits: UI:TILE_HOVER
33
+ * Emits: UI:TILE_LEAVE
34
+ */
35
+ export interface IsometricCanvasProps {
36
+ /** Additional CSS classes */
37
+ className?: string;
38
+ /** Loading state indicator */
39
+ isLoading?: boolean;
40
+ /** Error state */
41
+ error?: Error | null;
42
+ /** Array of tiles to render */
43
+ tiles?: IsometricTile[];
44
+ /** Array of units on the board */
45
+ units?: IsometricUnit[];
46
+ /** Array of features (resources, portals, buildings, etc.) */
47
+ features?: IsometricFeature[];
48
+ /** Currently selected unit ID */
49
+ selectedUnitId?: string | null;
50
+ /** Valid move positions (shown as pulsing green highlights) */
51
+ validMoves?: Array<{
52
+ x: number;
53
+ y: number;
54
+ }>;
55
+ /** Attack target positions (shown as pulsing red highlights) */
56
+ attackTargets?: Array<{
57
+ x: number;
58
+ y: number;
59
+ }>;
60
+ /** Hovered tile position */
61
+ hoveredTile?: {
62
+ x: number;
63
+ y: number;
64
+ } | null;
65
+ onTileClick?: (x: number, y: number) => void;
66
+ onUnitClick?: (unitId: string) => void;
67
+ onTileHover?: (x: number, y: number) => void;
68
+ onTileLeave?: () => void;
69
+ /** Declarative event: emits UI:{tileClickEvent} with { x, y } on tile click */
70
+ tileClickEvent?: string;
71
+ /** Declarative event: emits UI:{unitClickEvent} with { unitId } on unit click */
72
+ unitClickEvent?: string;
73
+ /** Declarative event: emits UI:{tileHoverEvent} with { x, y } on tile hover */
74
+ tileHoverEvent?: string;
75
+ /** Declarative event: emits UI:{tileLeaveEvent} with {} on tile leave */
76
+ tileLeaveEvent?: string;
77
+ /** Render scale (0.4 = 40% zoom) */
78
+ scale?: number;
79
+ /** Show debug grid lines and coordinates */
80
+ debug?: boolean;
81
+ /** Background image URL tiled behind the isometric grid */
82
+ backgroundImage?: string;
83
+ /** Toggle minimap overlay */
84
+ showMinimap?: boolean;
85
+ /** Enable camera pan/zoom controls */
86
+ enableCamera?: boolean;
87
+ /** Extra scale multiplier for unit draw size. 1 = default. */
88
+ unitScale?: number;
89
+ /** Board width in tiles (overrides tile-derived size) */
90
+ boardWidth?: number;
91
+ /** Board height in tiles (overrides tile-derived size) */
92
+ boardHeight?: number;
93
+ /** Override for the diamond-top Y offset within the tile sprite (default: 374).
94
+ * This controls where the flat diamond face sits vertically inside the tile image. */
95
+ diamondTopY?: number;
96
+ /** Resolve terrain sprite URL from terrain key */
97
+ getTerrainSprite?: (terrain: string) => string | undefined;
98
+ /** Resolve feature sprite URL from feature type key */
99
+ getFeatureSprite?: (featureType: string) => string | undefined;
100
+ /** Resolve unit static sprite URL */
101
+ getUnitSprite?: (unit: IsometricUnit) => string | undefined;
102
+ /** Resolve animated sprite sheet frame for a unit */
103
+ resolveUnitFrame?: (unitId: string) => ResolvedFrame | null;
104
+ /** Additional sprite URLs to preload (e.g., effect sprites) */
105
+ effectSpriteUrls?: string[];
106
+ /** Callback to draw canvas effects after units (canvas-specific: cannot be declarative) */
107
+ onDrawEffects?: (ctx: CanvasRenderingContext2D, animTime: number, getImage: (url: string) => HTMLImageElement | undefined) => void;
108
+ /** Whether there are active effects — keeps RAF loop alive */
109
+ hasActiveEffects?: boolean;
110
+ /** Base URL for remote asset resolution. When set, manifest paths
111
+ * are prefixed with this URL. Example: "https://trait-wars-assets.web.app" */
112
+ assetBaseUrl?: string;
113
+ /** Manifest mapping entity keys to relative sprite paths.
114
+ * Combined with assetBaseUrl to produce full URLs.
115
+ * Used as a fallback when inline URLs and callbacks don't resolve. */
116
+ assetManifest?: {
117
+ terrains?: Record<string, string>;
118
+ units?: Record<string, string>;
119
+ features?: Record<string, string>;
120
+ effects?: Record<string, string>;
121
+ };
122
+ }
123
+ export declare function IsometricCanvas({ className, isLoading, error, tiles: _tilesPropRaw, units: _unitsPropRaw, features: _featuresPropRaw, selectedUnitId, validMoves, attackTargets, hoveredTile, onTileClick, onUnitClick, onTileHover, onTileLeave, tileClickEvent, unitClickEvent, tileHoverEvent, tileLeaveEvent, scale, debug, backgroundImage, showMinimap, enableCamera, unitScale, getTerrainSprite, getFeatureSprite, getUnitSprite, resolveUnitFrame, effectSpriteUrls, onDrawEffects, hasActiveEffects, diamondTopY: diamondTopYProp, assetBaseUrl, assetManifest, }: IsometricCanvasProps): React.JSX.Element;
124
+ export declare namespace IsometricCanvas {
125
+ var displayName: string;
126
+ }
127
+ export default IsometricCanvas;
@@ -0,0 +1,52 @@
1
+ export interface PlatformerPlatform {
2
+ x: number;
3
+ y: number;
4
+ width: number;
5
+ height: number;
6
+ type?: 'ground' | 'platform' | 'hazard' | 'goal';
7
+ }
8
+ export interface PlatformerPlayer {
9
+ x: number;
10
+ y: number;
11
+ width?: number;
12
+ height?: number;
13
+ vx?: number;
14
+ vy?: number;
15
+ grounded?: boolean;
16
+ facingRight?: boolean;
17
+ }
18
+ export interface PlatformerCanvasProps {
19
+ /** Player state data */
20
+ player?: PlatformerPlayer;
21
+ /** Static platforms / level geometry */
22
+ platforms?: readonly PlatformerPlatform[];
23
+ /** World dimensions */
24
+ worldWidth?: number;
25
+ worldHeight?: number;
26
+ /** Canvas display size */
27
+ canvasWidth?: number;
28
+ canvasHeight?: number;
29
+ /** Camera follows player */
30
+ followCamera?: boolean;
31
+ /** Background color */
32
+ bgColor?: string;
33
+ /** Player sprite image URL */
34
+ playerSprite?: string;
35
+ /** Map of platform type to tile sprite URL */
36
+ tileSprites?: Record<string, string>;
37
+ /** Background image URL */
38
+ backgroundImage?: string;
39
+ /** Base URL prefix for asset URLs */
40
+ assetBaseUrl?: string;
41
+ /** Event names for keyboard controls */
42
+ leftEvent?: string;
43
+ rightEvent?: string;
44
+ jumpEvent?: string;
45
+ stopEvent?: string;
46
+ /** Additional CSS classes */
47
+ className?: string;
48
+ }
49
+ export declare function PlatformerCanvas({ player, platforms, worldWidth, worldHeight, canvasWidth, canvasHeight, followCamera, bgColor, playerSprite, tileSprites, backgroundImage, assetBaseUrl, leftEvent, rightEvent, jumpEvent, stopEvent, className, }: PlatformerCanvasProps): import("react/jsx-runtime").JSX.Element;
50
+ export declare namespace PlatformerCanvas {
51
+ var displayName: string;
52
+ }