@almadar/mobile 1.1.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 (433) hide show
  1. package/README.md +203 -0
  2. package/dist/chunk-6RVITGGH.js +167 -0
  3. package/dist/chunk-6RVITGGH.js.map +1 -0
  4. package/dist/chunk-7C5JCLLY.js +1125 -0
  5. package/dist/chunk-7C5JCLLY.js.map +1 -0
  6. package/dist/chunk-CA6Z3OTE.js +247 -0
  7. package/dist/chunk-CA6Z3OTE.js.map +1 -0
  8. package/dist/chunk-CUAWHLEK.js +119 -0
  9. package/dist/chunk-CUAWHLEK.js.map +1 -0
  10. package/dist/chunk-DMLYJFYQ.js +816 -0
  11. package/dist/chunk-DMLYJFYQ.js.map +1 -0
  12. package/dist/chunk-DY52O4T3.js +795 -0
  13. package/dist/chunk-DY52O4T3.js.map +1 -0
  14. package/dist/chunk-LFHVNHVA.js +176 -0
  15. package/dist/chunk-LFHVNHVA.js.map +1 -0
  16. package/dist/chunk-MFU7Q7LU.js +206 -0
  17. package/dist/chunk-MFU7Q7LU.js.map +1 -0
  18. package/dist/chunk-S2IT7WZT.js +71 -0
  19. package/dist/chunk-S2IT7WZT.js.map +1 -0
  20. package/dist/chunk-T77JPOTP.js +11789 -0
  21. package/dist/chunk-T77JPOTP.js.map +1 -0
  22. package/dist/chunk-VLUJ7BXN.js +36 -0
  23. package/dist/chunk-VLUJ7BXN.js.map +1 -0
  24. package/dist/chunk-YMJZLYLV.js +4086 -0
  25. package/dist/chunk-YMJZLYLV.js.map +1 -0
  26. package/dist/chunk-YTVYMEKU.js +7 -0
  27. package/dist/chunk-YTVYMEKU.js.map +1 -0
  28. package/dist/components/atoms/Avatar.d.ts +17 -0
  29. package/dist/components/atoms/Avatar.d.ts.map +1 -0
  30. package/dist/components/atoms/Badge.d.ts +18 -0
  31. package/dist/components/atoms/Badge.d.ts.map +1 -0
  32. package/dist/components/atoms/Button.d.ts +20 -0
  33. package/dist/components/atoms/Button.d.ts.map +1 -0
  34. package/dist/components/atoms/Card.d.ts +21 -0
  35. package/dist/components/atoms/Card.d.ts.map +1 -0
  36. package/dist/components/atoms/Center.d.ts +14 -0
  37. package/dist/components/atoms/Center.d.ts.map +1 -0
  38. package/dist/components/atoms/Checkbox.d.ts +21 -0
  39. package/dist/components/atoms/Checkbox.d.ts.map +1 -0
  40. package/dist/components/atoms/ConditionalWrapper.d.ts +34 -0
  41. package/dist/components/atoms/ConditionalWrapper.d.ts.map +1 -0
  42. package/dist/components/atoms/Divider.d.ts +11 -0
  43. package/dist/components/atoms/Divider.d.ts.map +1 -0
  44. package/dist/components/atoms/Icon.d.ts +11 -0
  45. package/dist/components/atoms/Icon.d.ts.map +1 -0
  46. package/dist/components/atoms/Input.d.ts +21 -0
  47. package/dist/components/atoms/Input.d.ts.map +1 -0
  48. package/dist/components/atoms/Label.d.ts +12 -0
  49. package/dist/components/atoms/Label.d.ts.map +1 -0
  50. package/dist/components/atoms/Overlay.d.ts +16 -0
  51. package/dist/components/atoms/Overlay.d.ts.map +1 -0
  52. package/dist/components/atoms/ProgressBar.d.ts +18 -0
  53. package/dist/components/atoms/ProgressBar.d.ts.map +1 -0
  54. package/dist/components/atoms/Radio.d.ts +21 -0
  55. package/dist/components/atoms/Radio.d.ts.map +1 -0
  56. package/dist/components/atoms/Select.d.ts +27 -0
  57. package/dist/components/atoms/Select.d.ts.map +1 -0
  58. package/dist/components/atoms/Spacer.d.ts +20 -0
  59. package/dist/components/atoms/Spacer.d.ts.map +1 -0
  60. package/dist/components/atoms/Spinner.d.ts +11 -0
  61. package/dist/components/atoms/Spinner.d.ts.map +1 -0
  62. package/dist/components/atoms/Stack.d.ts +45 -0
  63. package/dist/components/atoms/Stack.d.ts.map +1 -0
  64. package/dist/components/atoms/Switch.d.ts +21 -0
  65. package/dist/components/atoms/Switch.d.ts.map +1 -0
  66. package/dist/components/atoms/Textarea.d.ts +22 -0
  67. package/dist/components/atoms/Textarea.d.ts.map +1 -0
  68. package/dist/components/atoms/Typography.d.ts +20 -0
  69. package/dist/components/atoms/Typography.d.ts.map +1 -0
  70. package/dist/components/atoms/game/ControlButton.d.ts +30 -0
  71. package/dist/components/atoms/game/ControlButton.d.ts.map +1 -0
  72. package/dist/components/atoms/game/HealthBar.d.ts +18 -0
  73. package/dist/components/atoms/game/HealthBar.d.ts.map +1 -0
  74. package/dist/components/atoms/game/ScoreDisplay.d.ts +20 -0
  75. package/dist/components/atoms/game/ScoreDisplay.d.ts.map +1 -0
  76. package/dist/components/atoms/game/Sprite.d.ts +41 -0
  77. package/dist/components/atoms/game/Sprite.d.ts.map +1 -0
  78. package/dist/components/atoms/game/StateIndicator.d.ts +22 -0
  79. package/dist/components/atoms/game/StateIndicator.d.ts.map +1 -0
  80. package/dist/components/atoms/game/index.d.ts +11 -0
  81. package/dist/components/atoms/game/index.d.ts.map +1 -0
  82. package/dist/components/atoms/index.d.ts +45 -0
  83. package/dist/components/atoms/index.d.ts.map +1 -0
  84. package/dist/components/atoms/index.js +69 -0
  85. package/dist/components/atoms/index.js.map +1 -0
  86. package/dist/components/index.d.ts +4 -0
  87. package/dist/components/index.d.ts.map +1 -0
  88. package/dist/components/index.js +317 -0
  89. package/dist/components/index.js.map +1 -0
  90. package/dist/components/molecules/Alert.d.ts +22 -0
  91. package/dist/components/molecules/Alert.d.ts.map +1 -0
  92. package/dist/components/molecules/Breadcrumb.d.ts +16 -0
  93. package/dist/components/molecules/Breadcrumb.d.ts.map +1 -0
  94. package/dist/components/molecules/ButtonGroup.d.ts +23 -0
  95. package/dist/components/molecules/ButtonGroup.d.ts.map +1 -0
  96. package/dist/components/molecules/CodeBlock.d.ts +26 -0
  97. package/dist/components/molecules/CodeBlock.d.ts.map +1 -0
  98. package/dist/components/molecules/Container.d.ts +20 -0
  99. package/dist/components/molecules/Container.d.ts.map +1 -0
  100. package/dist/components/molecules/Drawer.d.ts +11 -0
  101. package/dist/components/molecules/Drawer.d.ts.map +1 -0
  102. package/dist/components/molecules/EmptyState.d.ts +7 -0
  103. package/dist/components/molecules/EmptyState.d.ts.map +1 -0
  104. package/dist/components/molecules/ErrorBoundary.d.ts +29 -0
  105. package/dist/components/molecules/ErrorBoundary.d.ts.map +1 -0
  106. package/dist/components/molecules/ErrorState.d.ts +7 -0
  107. package/dist/components/molecules/ErrorState.d.ts.map +1 -0
  108. package/dist/components/molecules/FilterGroup.d.ts +54 -0
  109. package/dist/components/molecules/FilterGroup.d.ts.map +1 -0
  110. package/dist/components/molecules/Flex.d.ts +31 -0
  111. package/dist/components/molecules/Flex.d.ts.map +1 -0
  112. package/dist/components/molecules/FloatingActionButton.d.ts +33 -0
  113. package/dist/components/molecules/FloatingActionButton.d.ts.map +1 -0
  114. package/dist/components/molecules/FormField.d.ts +12 -0
  115. package/dist/components/molecules/FormField.d.ts.map +1 -0
  116. package/dist/components/molecules/FormSectionHeader.d.ts +15 -0
  117. package/dist/components/molecules/FormSectionHeader.d.ts.map +1 -0
  118. package/dist/components/molecules/Grid.d.ts +24 -0
  119. package/dist/components/molecules/Grid.d.ts.map +1 -0
  120. package/dist/components/molecules/InputGroup.d.ts +18 -0
  121. package/dist/components/molecules/InputGroup.d.ts.map +1 -0
  122. package/dist/components/molecules/List.d.ts +16 -0
  123. package/dist/components/molecules/List.d.ts.map +1 -0
  124. package/dist/components/molecules/LoadingState.d.ts +6 -0
  125. package/dist/components/molecules/LoadingState.d.ts.map +1 -0
  126. package/dist/components/molecules/MarkdownContent.d.ts +18 -0
  127. package/dist/components/molecules/MarkdownContent.d.ts.map +1 -0
  128. package/dist/components/molecules/Menu.d.ts +19 -0
  129. package/dist/components/molecules/Menu.d.ts.map +1 -0
  130. package/dist/components/molecules/Meter.d.ts +58 -0
  131. package/dist/components/molecules/Meter.d.ts.map +1 -0
  132. package/dist/components/molecules/Modal.d.ts +22 -0
  133. package/dist/components/molecules/Modal.d.ts.map +1 -0
  134. package/dist/components/molecules/Navigation.d.ts +72 -0
  135. package/dist/components/molecules/Navigation.d.ts.map +1 -0
  136. package/dist/components/molecules/Pagination.d.ts +30 -0
  137. package/dist/components/molecules/Pagination.d.ts.map +1 -0
  138. package/dist/components/molecules/Popover.d.ts +11 -0
  139. package/dist/components/molecules/Popover.d.ts.map +1 -0
  140. package/dist/components/molecules/QuizBlock.d.ts +35 -0
  141. package/dist/components/molecules/QuizBlock.d.ts.map +1 -0
  142. package/dist/components/molecules/RelationSelect.d.ts +38 -0
  143. package/dist/components/molecules/RelationSelect.d.ts.map +1 -0
  144. package/dist/components/molecules/RepeatableFormSection.d.ts +46 -0
  145. package/dist/components/molecules/RepeatableFormSection.d.ts.map +1 -0
  146. package/dist/components/molecules/ScaledDiagram.d.ts +41 -0
  147. package/dist/components/molecules/ScaledDiagram.d.ts.map +1 -0
  148. package/dist/components/molecules/SearchInput.d.ts +22 -0
  149. package/dist/components/molecules/SearchInput.d.ts.map +1 -0
  150. package/dist/components/molecules/SidePanel.d.ts +49 -0
  151. package/dist/components/molecules/SidePanel.d.ts.map +1 -0
  152. package/dist/components/molecules/SimpleGrid.d.ts +17 -0
  153. package/dist/components/molecules/SimpleGrid.d.ts.map +1 -0
  154. package/dist/components/molecules/Skeleton.d.ts +12 -0
  155. package/dist/components/molecules/Skeleton.d.ts.map +1 -0
  156. package/dist/components/molecules/Tabs.d.ts +25 -0
  157. package/dist/components/molecules/Tabs.d.ts.map +1 -0
  158. package/dist/components/molecules/Toast.d.ts +18 -0
  159. package/dist/components/molecules/Toast.d.ts.map +1 -0
  160. package/dist/components/molecules/Tooltip.d.ts +11 -0
  161. package/dist/components/molecules/Tooltip.d.ts.map +1 -0
  162. package/dist/components/molecules/WizardNavigation.d.ts +36 -0
  163. package/dist/components/molecules/WizardNavigation.d.ts.map +1 -0
  164. package/dist/components/molecules/WizardProgress.d.ts +26 -0
  165. package/dist/components/molecules/WizardProgress.d.ts.map +1 -0
  166. package/dist/components/molecules/game/ActionButtons.d.ts +30 -0
  167. package/dist/components/molecules/game/ActionButtons.d.ts.map +1 -0
  168. package/dist/components/molecules/game/DPad.d.ts +19 -0
  169. package/dist/components/molecules/game/DPad.d.ts.map +1 -0
  170. package/dist/components/molecules/game/StatBadge.d.ts +26 -0
  171. package/dist/components/molecules/game/StatBadge.d.ts.map +1 -0
  172. package/dist/components/molecules/game/index.d.ts +7 -0
  173. package/dist/components/molecules/game/index.d.ts.map +1 -0
  174. package/dist/components/molecules/index.d.ts +79 -0
  175. package/dist/components/molecules/index.d.ts.map +1 -0
  176. package/dist/components/molecules/index.js +96 -0
  177. package/dist/components/molecules/index.js.map +1 -0
  178. package/dist/components/organisms/CardGrid.d.ts +16 -0
  179. package/dist/components/organisms/CardGrid.d.ts.map +1 -0
  180. package/dist/components/organisms/Chart.d.ts +26 -0
  181. package/dist/components/organisms/Chart.d.ts.map +1 -0
  182. package/dist/components/organisms/CodeViewer.d.ts +29 -0
  183. package/dist/components/organisms/CodeViewer.d.ts.map +1 -0
  184. package/dist/components/organisms/ComponentPatterns.d.ts +34 -0
  185. package/dist/components/organisms/ComponentPatterns.d.ts.map +1 -0
  186. package/dist/components/organisms/ConfirmDialog.d.ts +46 -0
  187. package/dist/components/organisms/ConfirmDialog.d.ts.map +1 -0
  188. package/dist/components/organisms/ContentRenderer.d.ts +37 -0
  189. package/dist/components/organisms/ContentRenderer.d.ts.map +1 -0
  190. package/dist/components/organisms/CustomPattern.d.ts +36 -0
  191. package/dist/components/organisms/CustomPattern.d.ts.map +1 -0
  192. package/dist/components/organisms/DataTable.d.ts +22 -0
  193. package/dist/components/organisms/DataTable.d.ts.map +1 -0
  194. package/dist/components/organisms/DetailPanel.d.ts +17 -0
  195. package/dist/components/organisms/DetailPanel.d.ts.map +1 -0
  196. package/dist/components/organisms/DocumentViewer.d.ts +34 -0
  197. package/dist/components/organisms/DocumentViewer.d.ts.map +1 -0
  198. package/dist/components/organisms/DrawerSlot.d.ts +38 -0
  199. package/dist/components/organisms/DrawerSlot.d.ts.map +1 -0
  200. package/dist/components/organisms/EntityCard.d.ts +11 -0
  201. package/dist/components/organisms/EntityCard.d.ts.map +1 -0
  202. package/dist/components/organisms/EntityList.d.ts +17 -0
  203. package/dist/components/organisms/EntityList.d.ts.map +1 -0
  204. package/dist/components/organisms/Form.d.ts +49 -0
  205. package/dist/components/organisms/Form.d.ts.map +1 -0
  206. package/dist/components/organisms/FormSection.d.ts +9 -0
  207. package/dist/components/organisms/FormSection.d.ts.map +1 -0
  208. package/dist/components/organisms/Header.d.ts +24 -0
  209. package/dist/components/organisms/Header.d.ts.map +1 -0
  210. package/dist/components/organisms/LayoutPatterns.d.ts +39 -0
  211. package/dist/components/organisms/LayoutPatterns.d.ts.map +1 -0
  212. package/dist/components/organisms/MasterDetail.d.ts +39 -0
  213. package/dist/components/organisms/MasterDetail.d.ts.map +1 -0
  214. package/dist/components/organisms/MediaGallery.d.ts +35 -0
  215. package/dist/components/organisms/MediaGallery.d.ts.map +1 -0
  216. package/dist/components/organisms/ModalSlot.d.ts +35 -0
  217. package/dist/components/organisms/ModalSlot.d.ts.map +1 -0
  218. package/dist/components/organisms/PageHeader.d.ts +15 -0
  219. package/dist/components/organisms/PageHeader.d.ts.map +1 -0
  220. package/dist/components/organisms/Section.d.ts +52 -0
  221. package/dist/components/organisms/Section.d.ts.map +1 -0
  222. package/dist/components/organisms/Sidebar.d.ts +54 -0
  223. package/dist/components/organisms/Sidebar.d.ts.map +1 -0
  224. package/dist/components/organisms/SignaturePad.d.ts +44 -0
  225. package/dist/components/organisms/SignaturePad.d.ts.map +1 -0
  226. package/dist/components/organisms/Split.d.ts +34 -0
  227. package/dist/components/organisms/Split.d.ts.map +1 -0
  228. package/dist/components/organisms/StatCard.d.ts +20 -0
  229. package/dist/components/organisms/StatCard.d.ts.map +1 -0
  230. package/dist/components/organisms/StateMachineView.d.ts +41 -0
  231. package/dist/components/organisms/StateMachineView.d.ts.map +1 -0
  232. package/dist/components/organisms/Table.d.ts +104 -0
  233. package/dist/components/organisms/Table.d.ts.map +1 -0
  234. package/dist/components/organisms/Timeline.d.ts +19 -0
  235. package/dist/components/organisms/Timeline.d.ts.map +1 -0
  236. package/dist/components/organisms/ToastSlot.d.ts +30 -0
  237. package/dist/components/organisms/ToastSlot.d.ts.map +1 -0
  238. package/dist/components/organisms/UISlotRenderer.d.ts +35 -0
  239. package/dist/components/organisms/UISlotRenderer.d.ts.map +1 -0
  240. package/dist/components/organisms/WizardContainer.d.ts +25 -0
  241. package/dist/components/organisms/WizardContainer.d.ts.map +1 -0
  242. package/dist/components/organisms/book/BookChapterView.d.ts +26 -0
  243. package/dist/components/organisms/book/BookChapterView.d.ts.map +1 -0
  244. package/dist/components/organisms/book/BookCoverPage.d.ts +38 -0
  245. package/dist/components/organisms/book/BookCoverPage.d.ts.map +1 -0
  246. package/dist/components/organisms/book/BookNavBar.d.ts +40 -0
  247. package/dist/components/organisms/book/BookNavBar.d.ts.map +1 -0
  248. package/dist/components/organisms/book/BookTableOfContents.d.ts +32 -0
  249. package/dist/components/organisms/book/BookTableOfContents.d.ts.map +1 -0
  250. package/dist/components/organisms/book/BookViewer.d.ts +36 -0
  251. package/dist/components/organisms/book/BookViewer.d.ts.map +1 -0
  252. package/dist/components/organisms/book/index.d.ts +11 -0
  253. package/dist/components/organisms/book/index.d.ts.map +1 -0
  254. package/dist/components/organisms/game/BattleBoard.d.ts +38 -0
  255. package/dist/components/organisms/game/BattleBoard.d.ts.map +1 -0
  256. package/dist/components/organisms/game/CanvasEffect.d.ts +26 -0
  257. package/dist/components/organisms/game/CanvasEffect.d.ts.map +1 -0
  258. package/dist/components/organisms/game/CastleBoard.d.ts +30 -0
  259. package/dist/components/organisms/game/CastleBoard.d.ts.map +1 -0
  260. package/dist/components/organisms/game/CombatLog.d.ts +23 -0
  261. package/dist/components/organisms/game/CombatLog.d.ts.map +1 -0
  262. package/dist/components/organisms/game/DialogueBox.d.ts +40 -0
  263. package/dist/components/organisms/game/DialogueBox.d.ts.map +1 -0
  264. package/dist/components/organisms/game/GameAudioProvider.d.ts +50 -0
  265. package/dist/components/organisms/game/GameAudioProvider.d.ts.map +1 -0
  266. package/dist/components/organisms/game/GameAudioToggle.d.ts +18 -0
  267. package/dist/components/organisms/game/GameAudioToggle.d.ts.map +1 -0
  268. package/dist/components/organisms/game/GameCanvas3D.d.ts +53 -0
  269. package/dist/components/organisms/game/GameCanvas3D.d.ts.map +1 -0
  270. package/dist/components/organisms/game/GameHud.d.ts +40 -0
  271. package/dist/components/organisms/game/GameHud.d.ts.map +1 -0
  272. package/dist/components/organisms/game/GameMenu.d.ts +34 -0
  273. package/dist/components/organisms/game/GameMenu.d.ts.map +1 -0
  274. package/dist/components/organisms/game/GameOverScreen.d.ts +36 -0
  275. package/dist/components/organisms/game/GameOverScreen.d.ts.map +1 -0
  276. package/dist/components/organisms/game/InventoryPanel.d.ts +38 -0
  277. package/dist/components/organisms/game/InventoryPanel.d.ts.map +1 -0
  278. package/dist/components/organisms/game/IsometricCanvas.d.ts +54 -0
  279. package/dist/components/organisms/game/IsometricCanvas.d.ts.map +1 -0
  280. package/dist/components/organisms/game/TraitSlot.d.ts +29 -0
  281. package/dist/components/organisms/game/TraitSlot.d.ts.map +1 -0
  282. package/dist/components/organisms/game/TraitStateViewer.d.ts +28 -0
  283. package/dist/components/organisms/game/TraitStateViewer.d.ts.map +1 -0
  284. package/dist/components/organisms/game/UncontrolledBattleBoard.d.ts +30 -0
  285. package/dist/components/organisms/game/UncontrolledBattleBoard.d.ts.map +1 -0
  286. package/dist/components/organisms/game/WorldMapBoard.d.ts +40 -0
  287. package/dist/components/organisms/game/WorldMapBoard.d.ts.map +1 -0
  288. package/dist/components/organisms/game/index.d.ts +37 -0
  289. package/dist/components/organisms/game/index.d.ts.map +1 -0
  290. package/dist/components/organisms/game/physics-sim/SimulationCanvas.d.ts +41 -0
  291. package/dist/components/organisms/game/physics-sim/SimulationCanvas.d.ts.map +1 -0
  292. package/dist/components/organisms/game/physics-sim/SimulationControls.d.ts +38 -0
  293. package/dist/components/organisms/game/physics-sim/SimulationControls.d.ts.map +1 -0
  294. package/dist/components/organisms/game/physics-sim/SimulationGraph.d.ts +35 -0
  295. package/dist/components/organisms/game/physics-sim/SimulationGraph.d.ts.map +1 -0
  296. package/dist/components/organisms/game/physics-sim/index.d.ts +7 -0
  297. package/dist/components/organisms/game/physics-sim/index.d.ts.map +1 -0
  298. package/dist/components/organisms/game/puzzles/builder/BuilderBoard.d.ts +55 -0
  299. package/dist/components/organisms/game/puzzles/builder/BuilderBoard.d.ts.map +1 -0
  300. package/dist/components/organisms/game/puzzles/builder/index.d.ts +3 -0
  301. package/dist/components/organisms/game/puzzles/builder/index.d.ts.map +1 -0
  302. package/dist/components/organisms/game/puzzles/classifier/ClassifierBoard.d.ts +56 -0
  303. package/dist/components/organisms/game/puzzles/classifier/ClassifierBoard.d.ts.map +1 -0
  304. package/dist/components/organisms/game/puzzles/classifier/index.d.ts +3 -0
  305. package/dist/components/organisms/game/puzzles/classifier/index.d.ts.map +1 -0
  306. package/dist/components/organisms/game/puzzles/debugger/DebuggerBoard.d.ts +48 -0
  307. package/dist/components/organisms/game/puzzles/debugger/DebuggerBoard.d.ts.map +1 -0
  308. package/dist/components/organisms/game/puzzles/debugger/index.d.ts +3 -0
  309. package/dist/components/organisms/game/puzzles/debugger/index.d.ts.map +1 -0
  310. package/dist/components/organisms/game/puzzles/event-handler/EventHandlerBoard.d.ts +56 -0
  311. package/dist/components/organisms/game/puzzles/event-handler/EventHandlerBoard.d.ts.map +1 -0
  312. package/dist/components/organisms/game/puzzles/event-handler/EventLog.d.ts +33 -0
  313. package/dist/components/organisms/game/puzzles/event-handler/EventLog.d.ts.map +1 -0
  314. package/dist/components/organisms/game/puzzles/event-handler/ObjectRulePanel.d.ts +41 -0
  315. package/dist/components/organisms/game/puzzles/event-handler/ObjectRulePanel.d.ts.map +1 -0
  316. package/dist/components/organisms/game/puzzles/event-handler/RuleEditor.d.ts +39 -0
  317. package/dist/components/organisms/game/puzzles/event-handler/RuleEditor.d.ts.map +1 -0
  318. package/dist/components/organisms/game/puzzles/event-handler/index.d.ts +9 -0
  319. package/dist/components/organisms/game/puzzles/event-handler/index.d.ts.map +1 -0
  320. package/dist/components/organisms/game/puzzles/index.d.ts +49 -0
  321. package/dist/components/organisms/game/puzzles/index.d.ts.map +1 -0
  322. package/dist/components/organisms/game/puzzles/negotiator/NegotiatorBoard.d.ts +54 -0
  323. package/dist/components/organisms/game/puzzles/negotiator/NegotiatorBoard.d.ts.map +1 -0
  324. package/dist/components/organisms/game/puzzles/negotiator/index.d.ts +3 -0
  325. package/dist/components/organisms/game/puzzles/negotiator/index.d.ts.map +1 -0
  326. package/dist/components/organisms/game/puzzles/sequencer/ActionPalette.d.ts +32 -0
  327. package/dist/components/organisms/game/puzzles/sequencer/ActionPalette.d.ts.map +1 -0
  328. package/dist/components/organisms/game/puzzles/sequencer/ActionTile.d.ts +27 -0
  329. package/dist/components/organisms/game/puzzles/sequencer/ActionTile.d.ts.map +1 -0
  330. package/dist/components/organisms/game/puzzles/sequencer/SequenceBar.d.ts +31 -0
  331. package/dist/components/organisms/game/puzzles/sequencer/SequenceBar.d.ts.map +1 -0
  332. package/dist/components/organisms/game/puzzles/sequencer/SequencerBoard.d.ts +67 -0
  333. package/dist/components/organisms/game/puzzles/sequencer/SequencerBoard.d.ts.map +1 -0
  334. package/dist/components/organisms/game/puzzles/sequencer/index.d.ts +3 -0
  335. package/dist/components/organisms/game/puzzles/sequencer/index.d.ts.map +1 -0
  336. package/dist/components/organisms/game/puzzles/simulator/SimulatorBoard.d.ts +55 -0
  337. package/dist/components/organisms/game/puzzles/simulator/SimulatorBoard.d.ts.map +1 -0
  338. package/dist/components/organisms/game/puzzles/simulator/index.d.ts +3 -0
  339. package/dist/components/organisms/game/puzzles/simulator/index.d.ts.map +1 -0
  340. package/dist/components/organisms/game/puzzles/state-architect/CodeView.d.ts +40 -0
  341. package/dist/components/organisms/game/puzzles/state-architect/CodeView.d.ts.map +1 -0
  342. package/dist/components/organisms/game/puzzles/state-architect/StateArchitectBoard.d.ts +78 -0
  343. package/dist/components/organisms/game/puzzles/state-architect/StateArchitectBoard.d.ts.map +1 -0
  344. package/dist/components/organisms/game/puzzles/state-architect/StateNode.d.ts +29 -0
  345. package/dist/components/organisms/game/puzzles/state-architect/StateNode.d.ts.map +1 -0
  346. package/dist/components/organisms/game/puzzles/state-architect/TransitionArrow.d.ts +33 -0
  347. package/dist/components/organisms/game/puzzles/state-architect/TransitionArrow.d.ts.map +1 -0
  348. package/dist/components/organisms/game/puzzles/state-architect/VariablePanel.d.ts +38 -0
  349. package/dist/components/organisms/game/puzzles/state-architect/VariablePanel.d.ts.map +1 -0
  350. package/dist/components/organisms/game/puzzles/state-architect/index.d.ts +3 -0
  351. package/dist/components/organisms/game/puzzles/state-architect/index.d.ts.map +1 -0
  352. package/dist/components/organisms/index.d.ts +68 -0
  353. package/dist/components/organisms/index.d.ts.map +1 -0
  354. package/dist/components/organisms/index.js +168 -0
  355. package/dist/components/organisms/index.js.map +1 -0
  356. package/dist/components/organisms/layout/DashboardGrid.d.ts +25 -0
  357. package/dist/components/organisms/layout/DashboardGrid.d.ts.map +1 -0
  358. package/dist/components/organisms/layout/SplitPane.d.ts +25 -0
  359. package/dist/components/organisms/layout/SplitPane.d.ts.map +1 -0
  360. package/dist/components/organisms/layout/TabbedContainer.d.ts +26 -0
  361. package/dist/components/organisms/layout/TabbedContainer.d.ts.map +1 -0
  362. package/dist/components/organisms/layout/index.d.ts +7 -0
  363. package/dist/components/organisms/layout/index.d.ts.map +1 -0
  364. package/dist/components/templates/AuthLayout.d.ts +20 -0
  365. package/dist/components/templates/AuthLayout.d.ts.map +1 -0
  366. package/dist/components/templates/BattleTemplate.d.ts +31 -0
  367. package/dist/components/templates/BattleTemplate.d.ts.map +1 -0
  368. package/dist/components/templates/CastleTemplate.d.ts +32 -0
  369. package/dist/components/templates/CastleTemplate.d.ts.map +1 -0
  370. package/dist/components/templates/CounterTemplate.d.ts +32 -0
  371. package/dist/components/templates/CounterTemplate.d.ts.map +1 -0
  372. package/dist/components/templates/DashboardLayout.d.ts +20 -0
  373. package/dist/components/templates/DashboardLayout.d.ts.map +1 -0
  374. package/dist/components/templates/GameShell.d.ts +29 -0
  375. package/dist/components/templates/GameShell.d.ts.map +1 -0
  376. package/dist/components/templates/GameTemplate.d.ts +55 -0
  377. package/dist/components/templates/GameTemplate.d.ts.map +1 -0
  378. package/dist/components/templates/WorldMapTemplate.d.ts +35 -0
  379. package/dist/components/templates/WorldMapTemplate.d.ts.map +1 -0
  380. package/dist/components/templates/index.d.ts +17 -0
  381. package/dist/components/templates/index.d.ts.map +1 -0
  382. package/dist/hooks/index.d.ts +17 -0
  383. package/dist/hooks/index.d.ts.map +1 -0
  384. package/dist/hooks/index.js +34 -0
  385. package/dist/hooks/index.js.map +1 -0
  386. package/dist/hooks/useEventBus.d.ts +2 -0
  387. package/dist/hooks/useEventBus.d.ts.map +1 -0
  388. package/dist/hooks/useInfiniteScroll.d.ts +32 -0
  389. package/dist/hooks/useInfiniteScroll.d.ts.map +1 -0
  390. package/dist/hooks/useKeyboard.d.ts +11 -0
  391. package/dist/hooks/useKeyboard.d.ts.map +1 -0
  392. package/dist/hooks/useNavigation.d.ts +41 -0
  393. package/dist/hooks/useNavigation.d.ts.map +1 -0
  394. package/dist/hooks/usePullToRefresh.d.ts +29 -0
  395. package/dist/hooks/usePullToRefresh.d.ts.map +1 -0
  396. package/dist/hooks/useSafeAreaInsets.d.ts +29 -0
  397. package/dist/hooks/useSafeAreaInsets.d.ts.map +1 -0
  398. package/dist/hooks/useScrollHeader.d.ts +33 -0
  399. package/dist/hooks/useScrollHeader.d.ts.map +1 -0
  400. package/dist/hooks/useThemeStyles.d.ts +26 -0
  401. package/dist/hooks/useThemeStyles.d.ts.map +1 -0
  402. package/dist/hooks/useTraitState.d.ts +11 -0
  403. package/dist/hooks/useTraitState.d.ts.map +1 -0
  404. package/dist/hooks/useUIEvents.d.ts +2 -0
  405. package/dist/hooks/useUIEvents.d.ts.map +1 -0
  406. package/dist/index.d.ts +15 -0
  407. package/dist/index.d.ts.map +1 -0
  408. package/dist/index.js +1264 -0
  409. package/dist/index.js.map +1 -0
  410. package/dist/lib/cn.d.ts +2 -0
  411. package/dist/lib/cn.d.ts.map +1 -0
  412. package/dist/lib/index.d.ts +6 -0
  413. package/dist/lib/index.d.ts.map +1 -0
  414. package/dist/lib/index.js +18 -0
  415. package/dist/lib/index.js.map +1 -0
  416. package/dist/lib/theme.d.ts +13 -0
  417. package/dist/lib/theme.d.ts.map +1 -0
  418. package/dist/providers/EventBusProvider.d.ts +2 -0
  419. package/dist/providers/EventBusProvider.d.ts.map +1 -0
  420. package/dist/providers/ThemeContext.d.ts +91 -0
  421. package/dist/providers/ThemeContext.d.ts.map +1 -0
  422. package/dist/providers/ThemeProvider.d.ts +10 -0
  423. package/dist/providers/ThemeProvider.d.ts.map +1 -0
  424. package/dist/providers/index.d.ts +6 -0
  425. package/dist/providers/index.d.ts.map +1 -0
  426. package/dist/providers/index.js +14 -0
  427. package/dist/providers/index.js.map +1 -0
  428. package/dist/themes/almadar.d.ts +8 -0
  429. package/dist/themes/almadar.d.ts.map +1 -0
  430. package/dist/themes/index.d.ts +90 -0
  431. package/dist/themes/index.d.ts.map +1 -0
  432. package/index.js +10 -0
  433. package/package.json +109 -0
@@ -0,0 +1,816 @@
1
+ import {
2
+ ErrorState,
3
+ LoadingState
4
+ } from "./chunk-7C5JCLLY.js";
5
+ import {
6
+ useEventBus
7
+ } from "./chunk-YTVYMEKU.js";
8
+ import {
9
+ useTheme
10
+ } from "./chunk-CUAWHLEK.js";
11
+
12
+ // src/components/atoms/Center.tsx
13
+ import React from "react";
14
+ import { View, StyleSheet } from "react-native";
15
+ var Center = ({
16
+ children,
17
+ style,
18
+ isLoading,
19
+ error
20
+ }) => {
21
+ if (isLoading) {
22
+ return /* @__PURE__ */ React.createElement(View, { style: [styles.container, style] }, /* @__PURE__ */ React.createElement(LoadingState, { message: "Loading..." }));
23
+ }
24
+ if (error) {
25
+ return /* @__PURE__ */ React.createElement(View, { style: [styles.container, style] }, /* @__PURE__ */ React.createElement(ErrorState, { message: error.message }));
26
+ }
27
+ return /* @__PURE__ */ React.createElement(View, { style: [styles.container, style] }, children);
28
+ };
29
+ var styles = StyleSheet.create({
30
+ container: {
31
+ alignItems: "center",
32
+ justifyContent: "center"
33
+ }
34
+ });
35
+ Center.displayName = "Center";
36
+
37
+ // src/components/atoms/Radio.tsx
38
+ import React2 from "react";
39
+ import {
40
+ TouchableOpacity,
41
+ View as View2,
42
+ StyleSheet as StyleSheet2
43
+ } from "react-native";
44
+ var Radio = ({
45
+ checked = false,
46
+ onChange,
47
+ disabled = false,
48
+ size = "md",
49
+ style,
50
+ isLoading,
51
+ error,
52
+ changeEvent,
53
+ actionPayload
54
+ }) => {
55
+ const theme = useTheme();
56
+ const eventBus = useEventBus();
57
+ const handlePress = () => {
58
+ if (disabled || isLoading) return;
59
+ const newValue = !checked;
60
+ if (changeEvent) {
61
+ eventBus.emit(`UI:${changeEvent}`, { ...actionPayload, checked: newValue });
62
+ }
63
+ onChange?.(newValue);
64
+ };
65
+ if (isLoading) {
66
+ return /* @__PURE__ */ React2.createElement(View2, { style: [styles2.container, style] }, /* @__PURE__ */ React2.createElement(LoadingState, { message: "Loading..." }));
67
+ }
68
+ if (error) {
69
+ return /* @__PURE__ */ React2.createElement(View2, { style: [styles2.container, style] }, /* @__PURE__ */ React2.createElement(ErrorState, { message: error.message }));
70
+ }
71
+ const sizeStyles = {
72
+ sm: { outer: 18, inner: 8 },
73
+ md: { outer: 24, inner: 10 },
74
+ lg: { outer: 32, inner: 14 }
75
+ };
76
+ const { outer, inner } = sizeStyles[size];
77
+ return /* @__PURE__ */ React2.createElement(
78
+ TouchableOpacity,
79
+ {
80
+ onPress: handlePress,
81
+ disabled,
82
+ activeOpacity: 0.8,
83
+ style: [
84
+ styles2.container,
85
+ {
86
+ width: outer,
87
+ height: outer,
88
+ borderRadius: outer / 2,
89
+ borderWidth: 2,
90
+ borderColor: checked ? theme.colors.primary : theme.colors.border,
91
+ backgroundColor: theme.colors.card,
92
+ opacity: disabled ? 0.5 : 1
93
+ },
94
+ style
95
+ ]
96
+ },
97
+ checked && /* @__PURE__ */ React2.createElement(
98
+ View2,
99
+ {
100
+ style: {
101
+ width: inner,
102
+ height: inner,
103
+ borderRadius: inner / 2,
104
+ backgroundColor: theme.colors.primary
105
+ }
106
+ }
107
+ )
108
+ );
109
+ };
110
+ var styles2 = StyleSheet2.create({
111
+ container: {
112
+ alignItems: "center",
113
+ justifyContent: "center"
114
+ }
115
+ });
116
+ Radio.displayName = "Radio";
117
+
118
+ // src/components/atoms/Switch.tsx
119
+ import React3 from "react";
120
+ import {
121
+ TouchableOpacity as TouchableOpacity2,
122
+ View as View3,
123
+ StyleSheet as StyleSheet3,
124
+ Animated
125
+ } from "react-native";
126
+ var Switch = ({
127
+ checked = false,
128
+ onChange,
129
+ disabled = false,
130
+ size = "md",
131
+ style,
132
+ isLoading,
133
+ error,
134
+ changeEvent,
135
+ actionPayload
136
+ }) => {
137
+ const theme = useTheme();
138
+ const eventBus = useEventBus();
139
+ const translateX = React3.useRef(new Animated.Value(checked ? 1 : 0)).current;
140
+ React3.useEffect(() => {
141
+ const { width: width2 } = sizeStyles[size];
142
+ const thumbWidth = width2 * 0.4;
143
+ const travelDistance = width2 - thumbWidth - 4;
144
+ Animated.timing(translateX, {
145
+ toValue: checked ? travelDistance : 0,
146
+ duration: 200,
147
+ useNativeDriver: true
148
+ }).start();
149
+ }, [checked, size]);
150
+ const handlePress = () => {
151
+ if (disabled || isLoading) return;
152
+ const newValue = !checked;
153
+ if (changeEvent) {
154
+ eventBus.emit(`UI:${changeEvent}`, { ...actionPayload, checked: newValue });
155
+ }
156
+ onChange?.(newValue);
157
+ };
158
+ if (isLoading) {
159
+ return /* @__PURE__ */ React3.createElement(View3, { style: [styles3.container, style] }, /* @__PURE__ */ React3.createElement(LoadingState, { message: "Loading..." }));
160
+ }
161
+ if (error) {
162
+ return /* @__PURE__ */ React3.createElement(View3, { style: [styles3.container, style] }, /* @__PURE__ */ React3.createElement(ErrorState, { message: error.message }));
163
+ }
164
+ const sizeStyles = {
165
+ sm: { width: 36, height: 20 },
166
+ md: { width: 48, height: 28 },
167
+ lg: { width: 60, height: 36 }
168
+ };
169
+ const { width, height } = sizeStyles[size];
170
+ const thumbSize = height - 4;
171
+ return /* @__PURE__ */ React3.createElement(
172
+ TouchableOpacity2,
173
+ {
174
+ onPress: handlePress,
175
+ disabled,
176
+ activeOpacity: 0.8,
177
+ style: [
178
+ styles3.track,
179
+ {
180
+ width,
181
+ height,
182
+ borderRadius: height / 2,
183
+ backgroundColor: checked ? theme.colors.primary : theme.colors["muted-foreground"],
184
+ opacity: disabled ? 0.5 : 1
185
+ },
186
+ style
187
+ ]
188
+ },
189
+ /* @__PURE__ */ React3.createElement(
190
+ Animated.View,
191
+ {
192
+ style: [
193
+ styles3.thumb,
194
+ {
195
+ width: thumbSize,
196
+ height: thumbSize,
197
+ borderRadius: thumbSize / 2,
198
+ backgroundColor: theme.colors["primary-foreground"],
199
+ transform: [{ translateX }]
200
+ }
201
+ ]
202
+ }
203
+ )
204
+ );
205
+ };
206
+ var styles3 = StyleSheet3.create({
207
+ container: {
208
+ alignItems: "center",
209
+ justifyContent: "center"
210
+ },
211
+ track: {
212
+ justifyContent: "center",
213
+ padding: 2
214
+ },
215
+ thumb: {
216
+ shadowColor: "#000",
217
+ shadowOffset: { width: 0, height: 2 },
218
+ shadowOpacity: 0.2,
219
+ shadowRadius: 2,
220
+ elevation: 2
221
+ }
222
+ });
223
+ Switch.displayName = "Switch";
224
+
225
+ // src/components/atoms/Textarea.tsx
226
+ import React4 from "react";
227
+ import {
228
+ TextInput,
229
+ StyleSheet as StyleSheet4,
230
+ View as View4,
231
+ Text
232
+ } from "react-native";
233
+ var Textarea = ({
234
+ label,
235
+ errorMessage,
236
+ helperText,
237
+ containerStyle,
238
+ style,
239
+ numberOfLines = 4,
240
+ isLoading,
241
+ error,
242
+ changeEvent,
243
+ focusEvent,
244
+ onChangeText,
245
+ onFocus,
246
+ ...textInputProps
247
+ }) => {
248
+ const theme = useTheme();
249
+ const eventBus = useEventBus();
250
+ const handleChangeText = (text) => {
251
+ if (changeEvent) {
252
+ eventBus.emit(`UI:${changeEvent}`, { value: text });
253
+ }
254
+ onChangeText?.(text);
255
+ };
256
+ const handleFocus = () => {
257
+ if (focusEvent) {
258
+ eventBus.emit(`UI:${focusEvent}`);
259
+ }
260
+ onFocus?.({});
261
+ };
262
+ if (isLoading) {
263
+ return /* @__PURE__ */ React4.createElement(View4, { style: [styles4.container, containerStyle] }, label && /* @__PURE__ */ React4.createElement(Text, { style: [styles4.label, { color: theme.colors.foreground }] }, label), /* @__PURE__ */ React4.createElement(LoadingState, { message: "Loading..." }));
264
+ }
265
+ const errorText = error?.message || errorMessage;
266
+ return /* @__PURE__ */ React4.createElement(View4, { style: [styles4.container, containerStyle] }, label && /* @__PURE__ */ React4.createElement(Text, { style: [styles4.label, { color: theme.colors.foreground }] }, label), /* @__PURE__ */ React4.createElement(
267
+ TextInput,
268
+ {
269
+ multiline: true,
270
+ numberOfLines,
271
+ textAlignVertical: "top",
272
+ style: [
273
+ styles4.textarea,
274
+ {
275
+ borderColor: errorText ? theme.colors.error : theme.colors.border,
276
+ backgroundColor: theme.colors.card,
277
+ color: theme.colors.foreground
278
+ },
279
+ style
280
+ ],
281
+ placeholderTextColor: theme.colors["muted-foreground"],
282
+ onChangeText: handleChangeText,
283
+ onFocus: handleFocus,
284
+ ...textInputProps
285
+ }
286
+ ), errorText ? /* @__PURE__ */ React4.createElement(Text, { style: [styles4.errorText, { color: theme.colors.error }] }, errorText) : helperText ? /* @__PURE__ */ React4.createElement(Text, { style: [styles4.helperText, { color: theme.colors["muted-foreground"] }] }, helperText) : null);
287
+ };
288
+ var styles4 = StyleSheet4.create({
289
+ container: {
290
+ width: "100%"
291
+ },
292
+ label: {
293
+ fontSize: 14,
294
+ fontWeight: "500",
295
+ marginBottom: 6
296
+ },
297
+ textarea: {
298
+ borderWidth: 1,
299
+ borderRadius: 8,
300
+ paddingHorizontal: 12,
301
+ paddingVertical: 10,
302
+ fontSize: 16,
303
+ minHeight: 100
304
+ },
305
+ errorText: {
306
+ fontSize: 12,
307
+ marginTop: 4
308
+ },
309
+ helperText: {
310
+ fontSize: 12,
311
+ marginTop: 4
312
+ }
313
+ });
314
+ Textarea.displayName = "Textarea";
315
+
316
+ // src/components/atoms/Spinner.tsx
317
+ import React5 from "react";
318
+ import { ActivityIndicator, StyleSheet as StyleSheet5, View as View5 } from "react-native";
319
+ var Spinner = ({
320
+ size = "md",
321
+ color,
322
+ style
323
+ }) => {
324
+ const theme = useTheme();
325
+ const sizeMap = {
326
+ sm: 16,
327
+ md: 24,
328
+ lg: 32
329
+ };
330
+ return /* @__PURE__ */ React5.createElement(View5, { style: [styles5.container, style] }, /* @__PURE__ */ React5.createElement(
331
+ ActivityIndicator,
332
+ {
333
+ size: sizeMap[size],
334
+ color: color || theme.colors.primary
335
+ }
336
+ ));
337
+ };
338
+ var styles5 = StyleSheet5.create({
339
+ container: {
340
+ alignItems: "center",
341
+ justifyContent: "center"
342
+ }
343
+ });
344
+ Spinner.displayName = "Spinner";
345
+
346
+ // src/components/atoms/Avatar.tsx
347
+ import React6 from "react";
348
+ import {
349
+ View as View6,
350
+ Text as Text2,
351
+ StyleSheet as StyleSheet6,
352
+ Image
353
+ } from "react-native";
354
+ var Avatar = ({
355
+ src,
356
+ alt,
357
+ initials,
358
+ size = "md",
359
+ style,
360
+ isLoading,
361
+ error
362
+ }) => {
363
+ const theme = useTheme();
364
+ const sizeMap = {
365
+ sm: { container: 32, fontSize: 12 },
366
+ md: { container: 40, fontSize: 14 },
367
+ lg: { container: 48, fontSize: 16 },
368
+ xl: { container: 64, fontSize: 20 }
369
+ };
370
+ const { container, fontSize } = sizeMap[size];
371
+ if (isLoading) {
372
+ return /* @__PURE__ */ React6.createElement(View6, { style: [styles6.container, { width: container, height: container }, style] }, /* @__PURE__ */ React6.createElement(LoadingState, { message: "" }));
373
+ }
374
+ if (error) {
375
+ return /* @__PURE__ */ React6.createElement(View6, { style: [styles6.container, { width: container, height: container }, style] }, /* @__PURE__ */ React6.createElement(ErrorState, { message: error.message }));
376
+ }
377
+ const getInitials = () => {
378
+ if (initials) return initials;
379
+ if (alt) {
380
+ return alt.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2);
381
+ }
382
+ return "?";
383
+ };
384
+ if (src) {
385
+ return /* @__PURE__ */ React6.createElement(
386
+ Image,
387
+ {
388
+ source: src,
389
+ style: [
390
+ styles6.image,
391
+ {
392
+ width: container,
393
+ height: container,
394
+ borderRadius: container / 2
395
+ },
396
+ style
397
+ ],
398
+ accessibilityLabel: alt
399
+ }
400
+ );
401
+ }
402
+ return /* @__PURE__ */ React6.createElement(
403
+ View6,
404
+ {
405
+ style: [
406
+ styles6.container,
407
+ {
408
+ width: container,
409
+ height: container,
410
+ borderRadius: container / 2,
411
+ backgroundColor: theme.colors.primary
412
+ },
413
+ style
414
+ ]
415
+ },
416
+ /* @__PURE__ */ React6.createElement(
417
+ Text2,
418
+ {
419
+ style: [
420
+ styles6.initials,
421
+ {
422
+ fontSize,
423
+ color: theme.colors["primary-foreground"]
424
+ }
425
+ ]
426
+ },
427
+ getInitials()
428
+ )
429
+ );
430
+ };
431
+ var styles6 = StyleSheet6.create({
432
+ container: {
433
+ alignItems: "center",
434
+ justifyContent: "center"
435
+ },
436
+ image: {
437
+ resizeMode: "cover"
438
+ },
439
+ initials: {
440
+ fontWeight: "600"
441
+ }
442
+ });
443
+ Avatar.displayName = "Avatar";
444
+
445
+ // src/components/atoms/Overlay.tsx
446
+ import React7 from "react";
447
+ import {
448
+ TouchableWithoutFeedback,
449
+ View as View7,
450
+ StyleSheet as StyleSheet7
451
+ } from "react-native";
452
+ var Overlay = ({
453
+ isVisible = true,
454
+ onPress,
455
+ blur = true,
456
+ action,
457
+ style
458
+ }) => {
459
+ const theme = useTheme();
460
+ const eventBus = useEventBus();
461
+ if (!isVisible) return null;
462
+ const handlePress = () => {
463
+ if (action) {
464
+ eventBus.emit(`UI:${action}`, {});
465
+ }
466
+ onPress?.();
467
+ };
468
+ return /* @__PURE__ */ React7.createElement(TouchableWithoutFeedback, { onPress: handlePress }, /* @__PURE__ */ React7.createElement(
469
+ View7,
470
+ {
471
+ style: [
472
+ styles7.overlay,
473
+ {
474
+ backgroundColor: theme.colors.background,
475
+ opacity: 0.8
476
+ },
477
+ blur && styles7.blur,
478
+ ...style ? [style] : []
479
+ ],
480
+ pointerEvents: "auto"
481
+ }
482
+ ));
483
+ };
484
+ var styles7 = StyleSheet7.create({
485
+ overlay: {
486
+ position: "absolute",
487
+ top: 0,
488
+ left: 0,
489
+ right: 0,
490
+ bottom: 0,
491
+ zIndex: 40
492
+ },
493
+ blur: {
494
+ // Note: For actual blur effect on iOS, use @react-native-community/blur
495
+ // This is a fallback opacity-based overlay
496
+ }
497
+ });
498
+ Overlay.displayName = "Overlay";
499
+
500
+ // src/components/atoms/Spacer.tsx
501
+ import React8 from "react";
502
+ import { View as View8 } from "react-native";
503
+ var sizeValues = {
504
+ xs: 4,
505
+ sm: 8,
506
+ md: 16,
507
+ lg: 24,
508
+ xl: 32,
509
+ "2xl": 48
510
+ };
511
+ var Spacer = ({
512
+ size = "auto",
513
+ axis = "horizontal",
514
+ style
515
+ }) => {
516
+ if (size === "auto") {
517
+ return /* @__PURE__ */ React8.createElement(
518
+ View8,
519
+ {
520
+ style: [{ flex: 1 }, ...style ? [style] : []],
521
+ accessibilityElementsHidden: true
522
+ }
523
+ );
524
+ }
525
+ const sizeValue = sizeValues[size];
526
+ const spacerStyle = axis === "horizontal" ? { width: sizeValue } : { height: sizeValue };
527
+ return /* @__PURE__ */ React8.createElement(
528
+ View8,
529
+ {
530
+ style: [
531
+ spacerStyle,
532
+ ...style ? [style] : []
533
+ ],
534
+ accessibilityElementsHidden: true
535
+ }
536
+ );
537
+ };
538
+ Spacer.displayName = "Spacer";
539
+
540
+ // src/components/atoms/ConditionalWrapper.tsx
541
+ import React9 from "react";
542
+ import { Animated as Animated2 } from "react-native";
543
+ function evaluateCondition(condition, context = { formValues: {}, globalVariables: {} }) {
544
+ if (typeof condition === "boolean") {
545
+ return condition;
546
+ }
547
+ if (typeof condition === "function") {
548
+ return condition(context);
549
+ }
550
+ if (Array.isArray(condition) && condition.length === 3) {
551
+ const [operator, fieldPath, expectedValue] = condition;
552
+ const parts = String(fieldPath).split(".");
553
+ let actualValue;
554
+ if (parts[0] === "formValues" && parts[1]) {
555
+ actualValue = context.formValues?.[parts[1]];
556
+ } else if (parts[0] === "globalVariables" && parts[1]) {
557
+ actualValue = context.globalVariables?.[parts[1]];
558
+ } else if (parts[0] === "localVariables" && parts[1]) {
559
+ actualValue = context.localVariables?.[parts[1]];
560
+ } else if (parts[0] && context.entity?.[parts[0]]) {
561
+ actualValue = context.entity[parts[0]];
562
+ }
563
+ switch (operator) {
564
+ case "=":
565
+ case "==":
566
+ return actualValue === expectedValue;
567
+ case "!=":
568
+ return actualValue !== expectedValue;
569
+ case ">":
570
+ return Number(actualValue) > Number(expectedValue);
571
+ case ">=":
572
+ return Number(actualValue) >= Number(expectedValue);
573
+ case "<":
574
+ return Number(actualValue) < Number(expectedValue);
575
+ case "<=":
576
+ return Number(actualValue) <= Number(expectedValue);
577
+ case "includes":
578
+ return Array.isArray(actualValue) && actualValue.includes(expectedValue);
579
+ default:
580
+ return false;
581
+ }
582
+ }
583
+ return Boolean(condition);
584
+ }
585
+ var ConditionalWrapper = ({
586
+ condition,
587
+ context = { formValues: {}, globalVariables: {} },
588
+ children,
589
+ fallback = null,
590
+ animate = false,
591
+ style
592
+ }) => {
593
+ const [isVisible, setIsVisible] = React9.useState(!condition ? true : false);
594
+ const fadeAnim = React9.useRef(new Animated2.Value(!condition ? 1 : 0)).current;
595
+ React9.useEffect(() => {
596
+ if (!condition) {
597
+ setIsVisible(true);
598
+ return;
599
+ }
600
+ const visible = evaluateCondition(condition, context);
601
+ setIsVisible(visible);
602
+ if (animate) {
603
+ Animated2.timing(fadeAnim, {
604
+ toValue: visible ? 1 : 0,
605
+ duration: 200,
606
+ useNativeDriver: true
607
+ }).start();
608
+ } else {
609
+ fadeAnim.setValue(visible ? 1 : 0);
610
+ }
611
+ }, [condition, context, animate, fadeAnim]);
612
+ if (!condition) {
613
+ return /* @__PURE__ */ React9.createElement(React9.Fragment, null, children);
614
+ }
615
+ if (animate) {
616
+ return /* @__PURE__ */ React9.createElement(
617
+ Animated2.View,
618
+ {
619
+ style: [
620
+ { opacity: fadeAnim, overflow: "hidden" },
621
+ ...style ? [style] : []
622
+ ]
623
+ },
624
+ isVisible ? children : fallback
625
+ );
626
+ }
627
+ return isVisible ? /* @__PURE__ */ React9.createElement(React9.Fragment, null, children) : /* @__PURE__ */ React9.createElement(React9.Fragment, null, fallback);
628
+ };
629
+ ConditionalWrapper.displayName = "ConditionalWrapper";
630
+
631
+ // src/components/atoms/game/Sprite.tsx
632
+ import React10, { useMemo } from "react";
633
+ import {
634
+ View as View9,
635
+ Image as Image2,
636
+ TouchableOpacity as TouchableOpacity3,
637
+ StyleSheet as StyleSheet8
638
+ } from "react-native";
639
+ var Sprite = ({
640
+ spritesheet,
641
+ frameWidth,
642
+ frameHeight,
643
+ frame,
644
+ x,
645
+ y,
646
+ scale = 1,
647
+ flipX = false,
648
+ flipY = false,
649
+ rotation = 0,
650
+ opacity = 1,
651
+ zIndex = 0,
652
+ columns = 16,
653
+ style,
654
+ onPress,
655
+ action
656
+ }) => {
657
+ const eventBus = useEventBus();
658
+ const sourcePosition = useMemo(() => {
659
+ const frameX = frame % columns;
660
+ const frameY = Math.floor(frame / columns);
661
+ return {
662
+ x: frameX * frameWidth,
663
+ y: frameY * frameHeight
664
+ };
665
+ }, [frame, columns, frameWidth, frameHeight]);
666
+ const handlePress = () => {
667
+ if (action) eventBus.emit(`UI:${action}`, {});
668
+ onPress?.();
669
+ };
670
+ const transform = [
671
+ { translateX: x },
672
+ { translateY: y },
673
+ { scale },
674
+ { rotate: `${rotation}deg` },
675
+ { scaleX: flipX ? -1 : 1 },
676
+ { scaleY: flipY ? -1 : 1 }
677
+ ];
678
+ const Container = action || onPress ? TouchableOpacity3 : View9;
679
+ return /* @__PURE__ */ React10.createElement(
680
+ Container,
681
+ {
682
+ onPress: action || onPress ? handlePress : void 0,
683
+ style: [
684
+ styles8.container,
685
+ {
686
+ width: frameWidth,
687
+ height: frameHeight,
688
+ transform,
689
+ opacity,
690
+ zIndex
691
+ },
692
+ style
693
+ ]
694
+ },
695
+ /* @__PURE__ */ React10.createElement(
696
+ View9,
697
+ {
698
+ style: {
699
+ width: frameWidth * columns,
700
+ height: frameHeight * Math.ceil((frame + 1) / columns),
701
+ position: "absolute",
702
+ left: -sourcePosition.x,
703
+ top: -sourcePosition.y,
704
+ overflow: "hidden"
705
+ }
706
+ },
707
+ /* @__PURE__ */ React10.createElement(
708
+ Image2,
709
+ {
710
+ source: spritesheet,
711
+ style: {
712
+ width: frameWidth * columns,
713
+ height: frameHeight * Math.ceil((frame + 1) / columns),
714
+ resizeMode: "stretch"
715
+ }
716
+ }
717
+ )
718
+ )
719
+ );
720
+ };
721
+ var styles8 = StyleSheet8.create({
722
+ container: {
723
+ position: "absolute",
724
+ overflow: "hidden"
725
+ }
726
+ });
727
+ Sprite.displayName = "Sprite";
728
+
729
+ // src/components/atoms/game/StateIndicator.tsx
730
+ import React11 from "react";
731
+ import { View as View10, Text as Text3, StyleSheet as StyleSheet9 } from "react-native";
732
+ var DEFAULT_STATE_STYLES = {
733
+ idle: { icon: "\u23F8", backgroundColor: "#6b7280" },
734
+ active: { icon: "\u25B6", backgroundColor: "#22c55e" },
735
+ sleeping: { icon: "\u{1F4A4}", backgroundColor: "#6b7280" },
736
+ moving: { icon: "\u{1F6B6}", backgroundColor: "#3b82f6" },
737
+ eating: { icon: "\u{1F37D}", backgroundColor: "#22c55e" },
738
+ waiting: { icon: "\u23F3", backgroundColor: "#eab308" },
739
+ happy: { icon: "\u{1F60A}", backgroundColor: "#22c55e" },
740
+ scared: { icon: "\u{1F628}", backgroundColor: "#ef4444" },
741
+ done: { icon: "\u2713", backgroundColor: "#22c55e" },
742
+ error: { icon: "\u2717", backgroundColor: "#ef4444" },
743
+ ready: { icon: "\u2713", backgroundColor: "#22c55e" },
744
+ cooldown: { icon: "\u{1F504}", backgroundColor: "#eab308" }
745
+ };
746
+ var DEFAULT_STYLE = { icon: "?", backgroundColor: "#6b7280" };
747
+ var SIZE_STYLES = {
748
+ sm: { padding: 4, fontSize: 10 },
749
+ md: { padding: 8, fontSize: 12 },
750
+ lg: { padding: 12, fontSize: 14 }
751
+ };
752
+ var StateIndicator = ({
753
+ state,
754
+ label,
755
+ size = "md",
756
+ animated = true,
757
+ stateStyles,
758
+ style
759
+ }) => {
760
+ const theme = useTheme();
761
+ const mergedStyles = stateStyles ? { ...DEFAULT_STATE_STYLES, ...stateStyles } : DEFAULT_STATE_STYLES;
762
+ const config = mergedStyles[state.toLowerCase()] || DEFAULT_STYLE;
763
+ const displayLabel = label || state.charAt(0).toUpperCase() + state.slice(1);
764
+ const sizeStyles = SIZE_STYLES[size];
765
+ const shouldAnimate = animated && state.toLowerCase() !== "idle" && state.toLowerCase() !== "done";
766
+ return /* @__PURE__ */ React11.createElement(
767
+ View10,
768
+ {
769
+ style: [
770
+ styles9.container,
771
+ {
772
+ backgroundColor: config.backgroundColor,
773
+ paddingHorizontal: sizeStyles.padding,
774
+ paddingVertical: sizeStyles.padding * 0.5,
775
+ opacity: shouldAnimate ? 0.8 : 1
776
+ },
777
+ style
778
+ ]
779
+ },
780
+ /* @__PURE__ */ React11.createElement(Text3, { style: { fontSize: sizeStyles.fontSize, marginRight: 4 } }, config.icon),
781
+ /* @__PURE__ */ React11.createElement(
782
+ Text3,
783
+ {
784
+ style: {
785
+ fontSize: sizeStyles.fontSize,
786
+ color: theme.colors["primary-foreground"],
787
+ fontWeight: "500"
788
+ }
789
+ },
790
+ displayLabel
791
+ )
792
+ );
793
+ };
794
+ var styles9 = StyleSheet9.create({
795
+ container: {
796
+ flexDirection: "row",
797
+ alignItems: "center",
798
+ borderRadius: 9999
799
+ }
800
+ });
801
+ StateIndicator.displayName = "StateIndicator";
802
+
803
+ export {
804
+ Center,
805
+ Radio,
806
+ Switch,
807
+ Textarea,
808
+ Spinner,
809
+ Avatar,
810
+ Overlay,
811
+ Spacer,
812
+ ConditionalWrapper,
813
+ Sprite,
814
+ StateIndicator
815
+ };
816
+ //# sourceMappingURL=chunk-DMLYJFYQ.js.map