@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 @@
1
+ {"version":3,"sources":["../src/components/templates/DashboardLayout.tsx","../src/components/templates/AuthLayout.tsx","../src/components/templates/GameShell.tsx","../src/components/templates/BattleTemplate.tsx","../src/components/templates/CastleTemplate.tsx","../src/components/templates/WorldMapTemplate.tsx","../src/components/templates/CounterTemplate.tsx","../src/components/templates/GameTemplate.tsx"],"sourcesContent":["import React from 'react';\nimport { \n View, \n StyleSheet, \n ViewStyle,\n ScrollView,\n SafeAreaView \n} from 'react-native';\nimport { useTheme } from '../../providers/ThemeContext';\nimport { Header, HeaderAction } from '../organisms/Header';\nimport { LoadingState } from '../molecules/LoadingState';\nimport { ErrorState } from '../molecules/ErrorState';\n\nexport interface DashboardLayoutProps {\n children: React.ReactNode;\n headerTitle?: string;\n headerActions?: HeaderAction[];\n showHeader?: boolean;\n style?: ViewStyle;\n contentStyle?: ViewStyle;\n scrollable?: boolean;\n /** Loading state indicator */\n isLoading?: boolean;\n /** Error state */\n error?: Error | null;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n}\n\nexport const DashboardLayout: React.FC<DashboardLayoutProps> = ({\n children,\n headerTitle,\n headerActions = [],\n showHeader = true,\n style,\n contentStyle,\n scrollable = true,\n isLoading,\n error,\n}) => {\n const theme = useTheme();\n\n const Content = scrollable ? ScrollView : View;\n\n if (isLoading) {\n return (\n <SafeAreaView style={[styles.container, { backgroundColor: theme.colors.background }, style]}>\n {showHeader && (\n <Header title={headerTitle} rightActions={headerActions} />\n )}\n <LoadingState message=\"Loading...\" />\n </SafeAreaView>\n );\n }\n\n if (error) {\n return (\n <SafeAreaView style={[styles.container, { backgroundColor: theme.colors.background }, style]}>\n {showHeader && (\n <Header title={headerTitle} rightActions={headerActions} />\n )}\n <ErrorState message={error.message} />\n </SafeAreaView>\n );\n }\n\n return (\n <SafeAreaView style={[styles.container, { backgroundColor: theme.colors.background }, style]}>\n {showHeader && (\n <Header title={headerTitle} rightActions={headerActions} />\n )}\n <Content \n style={[styles.content, contentStyle]}\n contentContainerStyle={scrollable ? styles.scrollContent : undefined}\n >\n {children}\n </Content>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n content: {\n flex: 1,\n },\n scrollContent: {\n flexGrow: 1,\n padding: 16,\n },\n});\n\nDashboardLayout.displayName = 'DashboardLayout';\n","import React from 'react';\nimport { \n View, \n StyleSheet, \n ViewStyle,\n ScrollView,\n SafeAreaView,\n KeyboardAvoidingView,\n Platform,\n TouchableOpacity\n} from 'react-native';\nimport { useTheme } from '../../providers/ThemeContext';\nimport { useEventBus } from '../../hooks/useEventBus';\nimport { Typography } from '../atoms/Typography';\nimport { VStack } from '../atoms/Stack';\nimport { LoadingState } from '../molecules/LoadingState';\nimport { ErrorState } from '../molecules/ErrorState';\n\nexport interface AuthLayoutProps {\n children: React.ReactNode;\n title: string;\n subtitle?: string;\n footer?: React.ReactNode;\n showBackButton?: boolean;\n onBack?: () => void;\n backAction?: string;\n style?: ViewStyle;\n /** Loading state indicator */\n isLoading?: boolean;\n /** Error state */\n error?: Error | null;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n}\n\nexport const AuthLayout: React.FC<AuthLayoutProps> = ({\n children,\n title,\n subtitle,\n footer,\n showBackButton = false,\n onBack,\n backAction,\n style,\n isLoading,\n error,\n}) => {\n const theme = useTheme();\n const eventBus = useEventBus();\n\n const handleBack = () => {\n if (backAction) {\n eventBus.emit(`UI:${backAction}`);\n }\n onBack?.();\n };\n\n if (isLoading) {\n return (\n <SafeAreaView style={[styles.container, { backgroundColor: theme.colors.background }, style]}>\n <LoadingState message=\"Loading...\" />\n </SafeAreaView>\n );\n }\n\n if (error) {\n return (\n <SafeAreaView style={[styles.container, { backgroundColor: theme.colors.background }, style]}>\n <ErrorState message={error.message} />\n </SafeAreaView>\n );\n }\n\n return (\n <SafeAreaView style={[styles.container, { backgroundColor: theme.colors.background }, style]}>\n <KeyboardAvoidingView \n behavior={Platform.OS === 'ios' ? 'padding' : 'height'}\n style={styles.keyboardView}\n >\n <ScrollView \n contentContainerStyle={styles.scrollContent}\n keyboardShouldPersistTaps=\"handled\"\n >\n <VStack spacing={24} style={styles.content}>\n {showBackButton && (\n <TouchableOpacity onPress={handleBack} style={styles.backButton}>\n <Typography variant=\"h4\" style={{ color: theme.colors.primary }}>\n ← Back\n </Typography>\n </TouchableOpacity>\n )}\n\n <VStack spacing={8} align=\"center\">\n <Typography variant=\"h1\" style={{ color: theme.colors.foreground, textAlign: 'center' }}>\n {title}\n </Typography>\n {subtitle && (\n <Typography variant=\"body\" style={{ color: theme.colors['muted-foreground'], textAlign: 'center' }}>\n {subtitle}\n </Typography>\n )}\n </VStack>\n\n <View style={styles.form}>\n {children}\n </View>\n\n {footer && (\n <View style={styles.footer}>\n {footer}\n </View>\n )}\n </VStack>\n </ScrollView>\n </KeyboardAvoidingView>\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n keyboardView: {\n flex: 1,\n },\n scrollContent: {\n flexGrow: 1,\n justifyContent: 'center',\n },\n content: {\n padding: 24,\n paddingTop: 40,\n paddingBottom: 40,\n },\n backButton: {\n alignSelf: 'flex-start',\n },\n form: {\n width: '100%',\n },\n footer: {\n marginTop: 16,\n },\n});\n\nAuthLayout.displayName = 'AuthLayout';\n","import React from 'react';\nimport {\n View,\n StyleSheet,\n ViewStyle,\n SafeAreaView,\n StatusBar,\n} from 'react-native';\nimport { useTheme } from '../../providers/ThemeContext';\nimport { useEventBus } from '../../hooks/useEventBus';\nimport { GameHud, GameHudProps } from '../organisms/game/GameHud';\nimport { LoadingState } from '../molecules/LoadingState';\nimport { ErrorState } from '../molecules/ErrorState';\n\nexport interface GameShellProps {\n /** Main game content */\n children: React.ReactNode;\n /** HUD configuration */\n hud?: GameHudProps;\n /** Show HUD */\n showHud?: boolean;\n /** Header component (optional) */\n header?: React.ReactNode;\n /** Footer component (optional) */\n footer?: React.ReactNode;\n /** Additional container styles */\n style?: ViewStyle;\n /** Game area styles */\n gameAreaStyle?: ViewStyle;\n /** Background color override */\n backgroundColor?: string;\n /** Loading state indicator */\n isLoading?: boolean;\n /** Error state */\n error?: Error | null;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n}\n\nexport const GameShell: React.FC<GameShellProps> = ({\n children,\n hud,\n showHud = true,\n header,\n footer,\n style,\n gameAreaStyle,\n backgroundColor,\n isLoading,\n error,\n}) => {\n const theme = useTheme();\n const eventBus = useEventBus();\n\n if (isLoading) {\n return (\n <SafeAreaView\n style={[\n styles.container,\n { backgroundColor: backgroundColor || theme.colors.background },\n style,\n ]}\n >\n <StatusBar barStyle=\"light-content\" />\n {header}\n <View style={styles.loadingContainer}>\n <LoadingState message=\"Loading game...\" />\n </View>\n </SafeAreaView>\n );\n }\n\n if (error) {\n return (\n <SafeAreaView\n style={[\n styles.container,\n { backgroundColor: backgroundColor || theme.colors.background },\n style,\n ]}\n >\n <StatusBar barStyle=\"light-content\" />\n {header}\n <View style={styles.loadingContainer}>\n <ErrorState\n message={error.message}\n onRetry={() => eventBus.emit('UI:GAME_RETRY', {})}\n />\n </View>\n </SafeAreaView>\n );\n }\n\n return (\n <SafeAreaView\n style={[\n styles.container,\n { backgroundColor: backgroundColor || theme.colors.background },\n style,\n ]}\n >\n <StatusBar barStyle=\"light-content\" />\n\n {/* Header */}\n {header && <View style={styles.header}>{header}</View>}\n\n {/* Game Area with HUD Overlay */}\n <View style={[styles.gameArea, gameAreaStyle]}>\n {children}\n\n {/* HUD Overlay */}\n {showHud && hud && (\n <View style={styles.hudContainer}>\n <GameHud\n {...hud}\n style={{ ...styles.hud, ...hud.style }}\n />\n </View>\n )}\n </View>\n\n {/* Footer */}\n {footer && <View style={styles.footer}>{footer}</View>}\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n header: {\n zIndex: 20,\n },\n gameArea: {\n flex: 1,\n position: 'relative',\n },\n hudContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n pointerEvents: 'box-none',\n },\n hud: {\n pointerEvents: 'auto',\n },\n footer: {\n zIndex: 20,\n },\n loadingContainer: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n\nGameShell.displayName = 'GameShell';\n","import React from 'react';\nimport {\n View,\n StyleSheet,\n ViewStyle,\n} from 'react-native';\nimport { useTheme } from '../../providers/ThemeContext';\nimport { useEventBus } from '../../hooks/useEventBus';\nimport { BattleBoard, BattleBoardProps } from '../organisms/game/BattleBoard';\nimport { GameHud, GameHudStat } from '../organisms/game/GameHud';\nimport { GameMenu, MenuOption } from '../organisms/game/GameMenu';\nimport { Button } from '../atoms/Button';\nimport { Typography } from '../atoms/Typography';\nimport { HStack } from '../atoms/Stack';\nimport { LoadingState } from '../molecules/LoadingState';\nimport { ErrorState } from '../molecules/ErrorState';\nimport { EmptyState } from '../molecules/EmptyState';\n\nexport interface BattleTemplateProps {\n /** Battle board configuration */\n battleBoard: BattleBoardProps;\n /** HUD stats configuration */\n hudStats?: GameHudStat[];\n /** Menu options for battle menu */\n menuOptions?: MenuOption[];\n /** Battle title */\n title?: string;\n /** Show battle menu overlay */\n showMenu?: boolean;\n /** Additional container styles */\n style?: ViewStyle;\n /** Loading state indicator */\n isLoading?: boolean;\n /** Error state */\n error?: Error | null;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Event fired when battle action occurs */\n onBattleAction?: (action: string) => void;\n /** Event fired when battle ends */\n onBattleEnd?: (result: 'win' | 'lose' | 'flee') => void;\n}\n\nexport const BattleTemplate: React.FC<BattleTemplateProps> = ({\n battleBoard,\n hudStats,\n menuOptions,\n title,\n showMenu = false,\n style,\n isLoading,\n error,\n entity,\n onBattleAction,\n onBattleEnd,\n}) => {\n const theme = useTheme();\n const eventBus = useEventBus();\n\n const handleBattleAction = (action: string) => {\n eventBus.emit('UI:BATTLE_ACTION', { action, entity });\n onBattleAction?.(action);\n };\n\n const handleBattleEnd = (result: 'win' | 'lose' | 'flee') => {\n eventBus.emit('UI:BATTLE_END', { result, entity });\n onBattleEnd?.(result);\n };\n\n const handleMenuSelect = (option: MenuOption) => {\n if (option.event) {\n eventBus.emit(`UI:${option.event}`, { option, entity });\n }\n if (option.navigatesTo) {\n eventBus.emit('UI:navigate', { to: option.navigatesTo });\n }\n };\n\n if (isLoading) {\n return (\n <View style={[styles.container, { backgroundColor: theme.colors.background }, style]}>\n <LoadingState message=\"Loading battle...\" />\n </View>\n );\n }\n\n if (error) {\n return (\n <View style={[styles.container, { backgroundColor: theme.colors.background }, style]}>\n <ErrorState\n message={error.message}\n onRetry={() => eventBus.emit('UI:BATTLE_RETRY', { entity })}\n />\n </View>\n );\n }\n\n const hasUnits = battleBoard.units && battleBoard.units.length > 0;\n\n return (\n <View style={[styles.container, { backgroundColor: '#0f172a' }, style]}>\n {/* Header */}\n {title && (\n <View style={styles.header}>\n <Typography variant=\"h2\" style={{ color: '#fff' }}>\n {title}\n </Typography>\n </View>\n )}\n\n {/* HUD */}\n {hudStats && hudStats.length > 0 && (\n <View style={styles.hudContainer}>\n <GameHud stats={hudStats} position=\"corners\" transparent />\n </View>\n )}\n\n {/* Battle Board */}\n <View style={styles.boardContainer}>\n {hasUnits ? (\n <BattleBoard\n {...battleBoard}\n onAction={handleBattleAction}\n />\n ) : (\n <EmptyState\n message=\"No battle units available\"\n icon={<Typography variant=\"h1\">⚔️</Typography>}\n />\n )}\n </View>\n\n {/* Battle Controls */}\n <View style={styles.controls}>\n <HStack spacing={8} justify=\"center\">\n <Button\n variant=\"primary\"\n action=\"BATTLE_ATTACK\"\n actionPayload={{ entity }}\n onPress={() => handleBattleAction('attack')}\n >\n Attack\n </Button>\n <Button\n variant=\"secondary\"\n action=\"BATTLE_DEFEND\"\n actionPayload={{ entity }}\n onPress={() => handleBattleAction('defend')}\n >\n Defend\n </Button>\n <Button\n variant=\"ghost\"\n action=\"BATTLE_FLEE\"\n actionPayload={{ entity }}\n onPress={() => handleBattleEnd('flee')}\n >\n Flee\n </Button>\n </HStack>\n </View>\n\n {/* Menu Overlay */}\n {showMenu && menuOptions && (\n <View style={styles.menuOverlay}>\n <GameMenu\n title=\"Battle Menu\"\n options={menuOptions}\n onSelect={handleMenuSelect}\n />\n </View>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n header: {\n padding: 16,\n alignItems: 'center',\n },\n hudContainer: {\n position: 'absolute',\n top: 60,\n left: 0,\n right: 0,\n height: 80,\n zIndex: 10,\n pointerEvents: 'none',\n },\n boardContainer: {\n flex: 1,\n padding: 16,\n justifyContent: 'center',\n },\n controls: {\n padding: 16,\n backgroundColor: 'rgba(0,0,0,0.5)',\n },\n menuOverlay: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 100,\n },\n});\n\nBattleTemplate.displayName = 'BattleTemplate';\n","import React from 'react';\nimport {\n View,\n StyleSheet,\n ViewStyle,\n ScrollView,\n} from 'react-native';\nimport { useTheme } from '../../providers/ThemeContext';\nimport { useEventBus } from '../../hooks/useEventBus';\nimport { CastleBoard, CastleBoardProps } from '../organisms/game/CastleBoard';\nimport { GameHud, GameHudStat } from '../organisms/game/GameHud';\nimport { Button } from '../atoms/Button';\nimport { Typography } from '../atoms/Typography';\nimport { HStack } from '../atoms/Stack';\nimport { LoadingState } from '../molecules/LoadingState';\nimport { ErrorState } from '../molecules/ErrorState';\nimport { EmptyState } from '../molecules/EmptyState';\n\nexport interface CastleTemplateProps {\n /** Castle board configuration */\n castleBoard: CastleBoardProps;\n /** HUD stats configuration */\n hudStats?: GameHudStat[];\n /** Quick action buttons */\n actions?: Array<{\n label: string;\n event: string;\n variant?: 'default' | 'primary' | 'secondary' | 'ghost';\n }>;\n /** Template title */\n title?: string;\n /** Additional container styles */\n style?: ViewStyle;\n /** Loading state indicator */\n isLoading?: boolean;\n /** Error state */\n error?: Error | null;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Event fired when room is entered */\n onEnterRoom?: (roomId: string) => void;\n /** Event fired when castle action occurs */\n onCastleAction?: (action: string) => void;\n}\n\nexport const CastleTemplate: React.FC<CastleTemplateProps> = ({\n castleBoard,\n hudStats,\n actions,\n title,\n style,\n isLoading,\n error,\n entity,\n onEnterRoom,\n onCastleAction,\n}) => {\n const theme = useTheme();\n const eventBus = useEventBus();\n\n const handleEnterRoom = (roomId: string) => {\n eventBus.emit('UI:CASTLE_ENTER_ROOM', { roomId, entity });\n onEnterRoom?.(roomId);\n };\n\n const handleAction = (action: string) => {\n eventBus.emit('UI:CASTLE_ACTION', { action, entity });\n onCastleAction?.(action);\n };\n\n if (isLoading) {\n return (\n <View style={[styles.container, { backgroundColor: theme.colors.background }, style]}>\n <LoadingState message=\"Loading castle...\" />\n </View>\n );\n }\n\n if (error) {\n return (\n <View style={[styles.container, { backgroundColor: theme.colors.background }, style]}>\n <ErrorState\n message={error.message}\n onRetry={() => eventBus.emit('UI:CASTLE_RETRY', { entity })}\n />\n </View>\n );\n }\n\n const hasRooms = castleBoard.rooms && castleBoard.rooms.length > 0;\n\n return (\n <View style={[styles.container, { backgroundColor: '#1e293b' }, style]}>\n {/* HUD */}\n {hudStats && hudStats.length > 0 && (\n <View style={styles.hudContainer}>\n <GameHud stats={hudStats} position=\"top\" transparent />\n </View>\n )}\n\n <ScrollView\n style={styles.scrollView}\n contentContainerStyle={styles.scrollContent}\n showsVerticalScrollIndicator={false}\n >\n {/* Title */}\n {title && (\n <View style={styles.header}>\n <Typography variant=\"h2\" style={{ color: '#fbbf24' }}>\n {title}\n </Typography>\n </View>\n )}\n\n {/* Castle Board */}\n <View style={styles.boardContainer}>\n {hasRooms ? (\n <CastleBoard\n {...castleBoard}\n onSelectRoom={handleEnterRoom}\n />\n ) : (\n <EmptyState\n message=\"No castle rooms available\"\n icon={<Typography variant=\"h1\">🏰</Typography>}\n />\n )}\n </View>\n\n {/* Action Buttons */}\n {actions && actions.length > 0 && (\n <View style={styles.actionsContainer}>\n <HStack spacing={8} justify=\"center\" style={styles.actions}>\n {actions.map((action, index) => (\n <Button\n key={index}\n variant={action.variant || 'default'}\n action={action.event}\n actionPayload={{ entity }}\n onPress={() => handleAction(action.event)}\n >\n {action.label}\n </Button>\n ))}\n </HStack>\n </View>\n )}\n </ScrollView>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n hudContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n zIndex: 10,\n },\n scrollView: {\n flex: 1,\n },\n scrollContent: {\n paddingTop: 80,\n paddingBottom: 24,\n },\n header: {\n padding: 16,\n alignItems: 'center',\n },\n boardContainer: {\n padding: 16,\n },\n actionsContainer: {\n padding: 16,\n },\n actions: {\n flexWrap: 'wrap',\n },\n});\n\nCastleTemplate.displayName = 'CastleTemplate';\n","import React from 'react';\nimport {\n View,\n StyleSheet,\n ViewStyle,\n} from 'react-native';\nimport { useTheme } from '../../providers/ThemeContext';\nimport { useEventBus } from '../../hooks/useEventBus';\nimport { WorldMapBoard, WorldMapBoardProps } from '../organisms/game/WorldMapBoard';\nimport { GameHud, GameHudStat } from '../organisms/game/GameHud';\nimport { Button } from '../atoms/Button';\nimport { Typography } from '../atoms/Typography';\nimport { HStack } from '../atoms/Stack';\nimport { LoadingState } from '../molecules/LoadingState';\nimport { ErrorState } from '../molecules/ErrorState';\nimport { EmptyState } from '../molecules/EmptyState';\n\nexport interface WorldMapTemplateProps {\n /** World map board configuration */\n worldMapBoard: WorldMapBoardProps;\n /** HUD stats configuration */\n hudStats?: GameHudStat[];\n /** Quick navigation buttons */\n navigationActions?: Array<{\n label: string;\n event: string;\n targetNodeId?: string;\n variant?: 'default' | 'primary' | 'secondary' | 'ghost';\n }>;\n /** Template title */\n title?: string;\n /** Current region/act */\n act?: string;\n /** Additional container styles */\n style?: ViewStyle;\n /** Loading state indicator */\n isLoading?: boolean;\n /** Error state */\n error?: Error | null;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Event fired when node is selected */\n onSelectNode?: (nodeId: string) => void;\n /** Event fired when map action occurs */\n onMapAction?: (action: string, targetNodeId?: string) => void;\n}\n\nexport const WorldMapTemplate: React.FC<WorldMapTemplateProps> = ({\n worldMapBoard,\n hudStats,\n navigationActions,\n title,\n act,\n style,\n isLoading,\n error,\n entity,\n onSelectNode,\n onMapAction,\n}) => {\n const theme = useTheme();\n const eventBus = useEventBus();\n\n const handleSelectNode = (nodeId: string) => {\n eventBus.emit('UI:MAP_SELECT_NODE', { nodeId, entity });\n onSelectNode?.(nodeId);\n };\n\n const handleMapAction = (action: string, targetNodeId?: string) => {\n eventBus.emit('UI:MAP_ACTION', { action, targetNodeId, entity });\n onMapAction?.(action, targetNodeId);\n };\n\n if (isLoading) {\n return (\n <View style={[styles.container, { backgroundColor: theme.colors.background }, style]}>\n <LoadingState message=\"Loading world map...\" />\n </View>\n );\n }\n\n if (error) {\n return (\n <View style={[styles.container, { backgroundColor: theme.colors.background }, style]}>\n <ErrorState\n message={error.message}\n onRetry={() => eventBus.emit('UI:MAP_RETRY', { entity })}\n />\n </View>\n );\n }\n\n const hasNodes = worldMapBoard.nodes && worldMapBoard.nodes.length > 0;\n\n return (\n <View style={[styles.container, { backgroundColor: '#0f172a' }, style]}>\n {/* HUD */}\n {hudStats && hudStats.length > 0 && (\n <View style={styles.hudContainer}>\n <GameHud stats={hudStats} position=\"corners\" transparent />\n </View>\n )}\n\n {/* Header */}\n {(title || act) && (\n <View style={styles.header}>\n {title && (\n <Typography variant=\"h2\" style={{ color: '#fff' }}>\n {title}\n </Typography>\n )}\n {act && (\n <Typography variant=\"caption\" style={{ color: '#9ca3af' }}>\n {act}\n </Typography>\n )}\n </View>\n )}\n\n {/* Map Board */}\n <View style={styles.mapContainer}>\n {hasNodes ? (\n <WorldMapBoard\n {...worldMapBoard}\n title={worldMapBoard.title || title}\n act={worldMapBoard.act || act}\n onSelectNode={handleSelectNode}\n />\n ) : (\n <EmptyState\n message=\"No map locations available\"\n icon={<Typography variant=\"h1\">🗺️</Typography>}\n />\n )}\n </View>\n\n {/* Navigation Actions */}\n {navigationActions && navigationActions.length > 0 && (\n <View style={styles.actionsContainer}>\n <HStack spacing={8} justify=\"center\" style={styles.actions}>\n {navigationActions.map((action, index) => (\n <Button\n key={index}\n variant={action.variant || 'default'}\n action={action.event}\n actionPayload={{ entity, targetNodeId: action.targetNodeId }}\n onPress={() => handleMapAction(action.event, action.targetNodeId)}\n >\n {action.label}\n </Button>\n ))}\n </HStack>\n </View>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n hudContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n pointerEvents: 'none',\n zIndex: 10,\n },\n header: {\n padding: 16,\n alignItems: 'center',\n zIndex: 20,\n },\n mapContainer: {\n flex: 1,\n padding: 16,\n },\n actionsContainer: {\n padding: 16,\n backgroundColor: 'rgba(0,0,0,0.5)',\n zIndex: 20,\n },\n actions: {\n flexWrap: 'wrap',\n },\n});\n\nWorldMapTemplate.displayName = 'WorldMapTemplate';\n","import React, { useState, useCallback } from 'react';\nimport {\n View,\n StyleSheet,\n ViewStyle,\n} from 'react-native';\nimport { useTheme } from '../../providers/ThemeContext';\nimport { useEventBus } from '../../hooks/useEventBus';\nimport { Button } from '../atoms/Button';\nimport { Typography } from '../atoms/Typography';\nimport { Card } from '../atoms/Card';\nimport { VStack, HStack } from '../atoms/Stack';\nimport { LoadingState } from '../molecules/LoadingState';\nimport { ErrorState } from '../molecules/ErrorState';\n\nexport interface CounterTemplateProps {\n /** Initial count value */\n initialCount?: number;\n /** Count step size */\n step?: number;\n /** Minimum count value */\n min?: number;\n /** Maximum count value */\n max?: number;\n /** Counter title */\n title?: string;\n /** Show reset button */\n showReset?: boolean;\n /** Additional container styles */\n style?: ViewStyle;\n /** Card style */\n cardStyle?: ViewStyle;\n /** Loading state indicator */\n isLoading?: boolean;\n /** Error state */\n error?: Error | null;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Event fired when count changes */\n onCountChange?: (count: number) => void;\n /** Event fired when count is reset */\n onReset?: () => void;\n}\n\nexport const CounterTemplate: React.FC<CounterTemplateProps> = ({\n initialCount = 0,\n step = 1,\n min = Number.MIN_SAFE_INTEGER,\n max = Number.MAX_SAFE_INTEGER,\n title = 'Counter',\n showReset = true,\n style,\n cardStyle,\n isLoading,\n error,\n entity,\n onCountChange,\n onReset,\n}) => {\n const theme = useTheme();\n const eventBus = useEventBus();\n const [count, setCount] = useState<number>(initialCount);\n\n const handleIncrement = useCallback(() => {\n setCount((prev) => {\n const newCount = Math.min(prev + step, max);\n eventBus.emit('UI:COUNTER_INCREMENT', { count: newCount, entity });\n onCountChange?.(newCount);\n return newCount;\n });\n }, [step, max, entity, onCountChange, eventBus]);\n\n const handleDecrement = useCallback(() => {\n setCount((prev) => {\n const newCount = Math.max(prev - step, min);\n eventBus.emit('UI:COUNTER_DECREMENT', { count: newCount, entity });\n onCountChange?.(newCount);\n return newCount;\n });\n }, [step, min, entity, onCountChange, eventBus]);\n\n const handleReset = useCallback(() => {\n setCount(initialCount);\n eventBus.emit('UI:COUNTER_RESET', { count: initialCount, entity });\n onReset?.();\n onCountChange?.(initialCount);\n }, [initialCount, entity, onReset, onCountChange, eventBus]);\n\n if (isLoading) {\n return (\n <View style={[styles.container, style]}>\n <LoadingState message=\"Loading counter...\" />\n </View>\n );\n }\n\n if (error) {\n return (\n <View style={[styles.container, style]}>\n <ErrorState\n message={error.message}\n onRetry={() => eventBus.emit('UI:COUNTER_RETRY', { entity })}\n />\n </View>\n );\n }\n\n const isAtMin = count <= min;\n const isAtMax = count >= max;\n\n return (\n <View style={[styles.container, { backgroundColor: theme.colors.background }, style]}>\n <Card style={[styles.card, cardStyle || {}]}>\n <VStack spacing={24} align=\"center\">\n {/* Title */}\n <Typography variant=\"h3\">{title}</Typography>\n\n {/* Count Display */}\n <View style={styles.countDisplay}>\n <Typography\n variant=\"h1\"\n style={[\n styles.countText,\n { color: count > 0 ? theme.colors.success : count < 0 ? theme.colors.error : theme.colors.foreground },\n ]}\n >\n {count}\n </Typography>\n </View>\n\n {/* Controls */}\n <HStack spacing={16} align=\"center\">\n <Button\n variant=\"secondary\"\n action=\"COUNTER_DECREMENT\"\n actionPayload={{ entity, step }}\n onPress={handleDecrement}\n disabled={isAtMin}\n >\n -{step}\n </Button>\n\n {showReset && (\n <Button\n variant=\"ghost\"\n action=\"COUNTER_RESET\"\n actionPayload={{ entity }}\n onPress={handleReset}\n disabled={count === initialCount}\n >\n Reset\n </Button>\n )}\n\n <Button\n variant=\"primary\"\n action=\"COUNTER_INCREMENT\"\n actionPayload={{ entity, step }}\n onPress={handleIncrement}\n disabled={isAtMax}\n >\n +{step}\n </Button>\n </HStack>\n\n {/* Status */}\n <Typography variant=\"caption\" color={theme.colors['muted-foreground']}>\n Min: {min} | Max: {max} | Step: {step}\n </Typography>\n </VStack>\n </Card>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n padding: 16,\n },\n card: {\n padding: 32,\n minWidth: 280,\n maxWidth: 400,\n width: '100%',\n },\n countDisplay: {\n paddingVertical: 24,\n paddingHorizontal: 48,\n backgroundColor: 'rgba(0,0,0,0.05)',\n borderRadius: 12,\n },\n countText: {\n fontSize: 64,\n fontWeight: '700',\n },\n});\n\nCounterTemplate.displayName = 'CounterTemplate';\n","import React from 'react';\nimport {\n View,\n StyleSheet,\n ViewStyle,\n SafeAreaView,\n} from 'react-native';\nimport { useTheme } from '../../providers/ThemeContext';\nimport { useEventBus } from '../../hooks/useEventBus';\nimport { GameHud, GameHudProps } from '../organisms/game/GameHud';\nimport { GameMenu, GameMenuProps } from '../organisms/game/GameMenu';\nimport { Button } from '../atoms/Button';\nimport { Typography } from '../atoms/Typography';\nimport { Card } from '../atoms/Card';\nimport { HStack } from '../atoms/Stack';\nimport { LoadingState } from '../molecules/LoadingState';\nimport { ErrorState } from '../molecules/ErrorState';\nimport { EmptyState } from '../molecules/EmptyState';\n\nexport interface GameAction {\n /** Button label */\n label: string;\n /** Event name to emit */\n event: string;\n /** Button variant */\n variant?: 'default' | 'primary' | 'secondary' | 'ghost' | 'destructive';\n /** Whether the action is disabled */\n disabled?: boolean;\n /** Optional payload to include with the event */\n payload?: Record<string, unknown>;\n}\n\nexport interface GameTemplateProps {\n /** Main game content */\n children?: React.ReactNode;\n /** Game title displayed in header */\n title?: string;\n /** Game subtitle */\n subtitle?: string;\n /** HUD configuration */\n hud?: GameHudProps;\n /** Show HUD overlay */\n showHud?: boolean;\n /** Menu configuration (renders menu instead of game content if provided) */\n menu?: Omit<GameMenuProps, 'title' | 'subtitle'> & { title?: string; subtitle?: string };\n /** Show menu overlay */\n showMenu?: boolean;\n /** Quick action buttons displayed at bottom */\n actions?: GameAction[];\n /** Additional container styles */\n style?: ViewStyle;\n /** Content container styles */\n contentStyle?: ViewStyle;\n /** Background color override */\n backgroundColor?: string;\n /** Loading state indicator */\n isLoading?: boolean;\n /** Error state */\n error?: Error | null;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Empty state message */\n emptyMessage?: string;\n /** Event fired when template action occurs */\n onAction?: (action: string, payload?: Record<string, unknown>) => void;\n}\n\nexport const GameTemplate: React.FC<GameTemplateProps> = ({\n children,\n title,\n subtitle,\n hud,\n showHud = true,\n menu,\n showMenu = false,\n actions,\n style,\n contentStyle,\n backgroundColor,\n isLoading,\n error,\n entity,\n emptyMessage = 'No game content available',\n onAction,\n}) => {\n const theme = useTheme();\n const eventBus = useEventBus();\n\n const handleAction = (action: string, payload?: Record<string, unknown>) => {\n eventBus.emit(`UI:${action}`, { ...payload, entity });\n onAction?.(action, payload);\n };\n\n if (isLoading) {\n return (\n <SafeAreaView\n style={[\n styles.container,\n { backgroundColor: backgroundColor || theme.colors.background },\n style,\n ]}\n >\n <LoadingState message=\"Loading game...\" />\n </SafeAreaView>\n );\n }\n\n if (error) {\n return (\n <SafeAreaView\n style={[\n styles.container,\n { backgroundColor: backgroundColor || theme.colors.background },\n style,\n ]}\n >\n <ErrorState\n message={error.message}\n onRetry={() => handleAction('GAME_RETRY')}\n />\n </SafeAreaView>\n );\n }\n\n // Render menu if showMenu is true or no children provided\n const shouldShowMenu = showMenu || (!children && menu);\n\n if (shouldShowMenu && menu) {\n return (\n <SafeAreaView\n style={[\n styles.container,\n { backgroundColor: backgroundColor || '#0f172a' },\n style,\n ]}\n >\n <GameMenu\n title={menu.title || title || 'Game Menu'}\n subtitle={menu.subtitle || subtitle}\n options={menu.options || menu.menuItems || []}\n onSelect={(option) => {\n if (option.event) {\n handleAction(option.event, { option });\n }\n if (option.navigatesTo) {\n handleAction('navigate', { to: option.navigatesTo });\n }\n menu.onSelect?.(option);\n }}\n background={menu.background}\n logo={menu.logo}\n style={menu.style}\n />\n </SafeAreaView>\n );\n }\n\n const hasContent = React.Children.count(children) > 0;\n\n return (\n <SafeAreaView\n style={[\n styles.container,\n { backgroundColor: backgroundColor || theme.colors.background },\n style,\n ]}\n >\n {/* HUD Overlay */}\n {showHud && hud && (\n <View style={styles.hudOverlay}>\n <GameHud {...hud} />\n </View>\n )}\n\n {/* Header */}\n {(title || subtitle) && (\n <View style={styles.header}>\n {title && (\n <Typography variant=\"h2\" style={styles.title}>\n {title}\n </Typography>\n )}\n {subtitle && (\n <Typography variant=\"body\" color={theme.colors['muted-foreground']}>\n {subtitle}\n </Typography>\n )}\n </View>\n )}\n\n {/* Main Content */}\n <View style={[styles.content, contentStyle]}>\n {hasContent ? (\n children\n ) : (\n <EmptyState\n message={emptyMessage}\n icon={<Typography variant=\"h1\">🎮</Typography>}\n />\n )}\n </View>\n\n {/* Action Bar */}\n {actions && actions.length > 0 && (\n <View style={styles.actionBar}>\n <Card variant=\"elevated\" style={styles.actionCard}>\n <HStack spacing={8} justify=\"center\" style={styles.actions}>\n {actions.map((action, index) => (\n <Button\n key={index}\n variant={action.variant || 'default'}\n action={action.event}\n actionPayload={{ ...action.payload, entity }}\n onPress={() => handleAction(action.event, action.payload)}\n disabled={action.disabled}\n >\n {action.label}\n </Button>\n ))}\n </HStack>\n </Card>\n </View>\n )}\n </SafeAreaView>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n hudOverlay: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n pointerEvents: 'box-none',\n zIndex: 10,\n },\n header: {\n padding: 16,\n alignItems: 'center',\n zIndex: 20,\n },\n title: {\n fontWeight: '700',\n },\n content: {\n flex: 1,\n padding: 16,\n },\n actionBar: {\n padding: 16,\n zIndex: 20,\n },\n actionCard: {\n padding: 12,\n },\n actions: {\n flexWrap: 'wrap',\n },\n});\n\nGameTemplate.displayName = 'GameTemplate';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB;AAAA,EACE;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAsBA,IAAM,kBAAkD,CAAC;AAAA,EAC9D;AAAA,EACA;AAAA,EACA,gBAAgB,CAAC;AAAA,EACjB,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AAEvB,QAAM,UAAU,aAAa,aAAa;AAE1C,MAAI,WAAW;AACb,WACE,oCAAC,gBAAa,OAAO,CAAC,OAAO,WAAW,EAAE,iBAAiB,MAAM,OAAO,WAAW,GAAG,KAAK,KACxF,cACC,oCAAC,UAAO,OAAO,aAAa,cAAc,eAAe,GAE3D,oCAAC,gBAAa,SAAQ,cAAa,CACrC;AAAA,EAEJ;AAEA,MAAI,OAAO;AACT,WACE,oCAAC,gBAAa,OAAO,CAAC,OAAO,WAAW,EAAE,iBAAiB,MAAM,OAAO,WAAW,GAAG,KAAK,KACxF,cACC,oCAAC,UAAO,OAAO,aAAa,cAAc,eAAe,GAE3D,oCAAC,cAAW,SAAS,MAAM,SAAS,CACtC;AAAA,EAEJ;AAEA,SACE,oCAAC,gBAAa,OAAO,CAAC,OAAO,WAAW,EAAE,iBAAiB,MAAM,OAAO,WAAW,GAAG,KAAK,KACxF,cACC,oCAAC,UAAO,OAAO,aAAa,cAAc,eAAe,GAE3D;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,CAAC,OAAO,SAAS,YAAY;AAAA,MACpC,uBAAuB,aAAa,OAAO,gBAAgB;AAAA;AAAA,IAE1D;AAAA,EACH,CACF;AAEJ;AAEA,IAAM,SAAS,WAAW,OAAO;AAAA,EAC/B,WAAW;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,SAAS;AAAA,EACX;AACF,CAAC;AAED,gBAAgB,cAAc;;;AC9F9B,OAAOA,YAAW;AAClB;AAAA,EACE,QAAAC;AAAA,EACA,cAAAC;AAAA,EAEA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAyBA,IAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AACvB,QAAM,WAAW,YAAY;AAE7B,QAAM,aAAa,MAAM;AACvB,QAAI,YAAY;AACd,eAAS,KAAK,MAAM,UAAU,EAAE;AAAA,IAClC;AACA,aAAS;AAAA,EACX;AAEA,MAAI,WAAW;AACb,WACE,gBAAAC,OAAA,cAACC,eAAA,EAAa,OAAO,CAACC,QAAO,WAAW,EAAE,iBAAiB,MAAM,OAAO,WAAW,GAAG,KAAK,KACzF,gBAAAF,OAAA,cAAC,gBAAa,SAAQ,cAAa,CACrC;AAAA,EAEJ;AAEA,MAAI,OAAO;AACT,WACE,gBAAAA,OAAA,cAACC,eAAA,EAAa,OAAO,CAACC,QAAO,WAAW,EAAE,iBAAiB,MAAM,OAAO,WAAW,GAAG,KAAK,KACzF,gBAAAF,OAAA,cAAC,cAAW,SAAS,MAAM,SAAS,CACtC;AAAA,EAEJ;AAEA,SACE,gBAAAA,OAAA,cAACC,eAAA,EAAa,OAAO,CAACC,QAAO,WAAW,EAAE,iBAAiB,MAAM,OAAO,WAAW,GAAG,KAAK,KACzF,gBAAAF,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,UAAU,SAAS,OAAO,QAAQ,YAAY;AAAA,MAC9C,OAAOE,QAAO;AAAA;AAAA,IAEd,gBAAAF,OAAA;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,uBAAuBD,QAAO;AAAA,QAC9B,2BAA0B;AAAA;AAAA,MAE1B,gBAAAF,OAAA,cAAC,UAAO,SAAS,IAAI,OAAOE,QAAO,WAChC,kBACC,gBAAAF,OAAA,cAAC,oBAAiB,SAAS,YAAY,OAAOE,QAAO,cACnD,gBAAAF,OAAA,cAAC,cAAW,SAAQ,MAAK,OAAO,EAAE,OAAO,MAAM,OAAO,QAAQ,KAAG,aAEjE,CACF,GAGF,gBAAAA,OAAA,cAAC,UAAO,SAAS,GAAG,OAAM,YACxB,gBAAAA,OAAA,cAAC,cAAW,SAAQ,MAAK,OAAO,EAAE,OAAO,MAAM,OAAO,YAAY,WAAW,SAAS,KACnF,KACH,GACC,YACC,gBAAAA,OAAA,cAAC,cAAW,SAAQ,QAAO,OAAO,EAAE,OAAO,MAAM,OAAO,kBAAkB,GAAG,WAAW,SAAS,KAC9F,QACH,CAEJ,GAEA,gBAAAA,OAAA,cAACI,OAAA,EAAK,OAAOF,QAAO,QACjB,QACH,GAEC,UACC,gBAAAF,OAAA,cAACI,OAAA,EAAK,OAAOF,QAAO,UACjB,MACH,CAEJ;AAAA,IACF;AAAA,EACF,CACF;AAEJ;AAEA,IAAMA,UAASG,YAAW,OAAO;AAAA,EAC/B,WAAW;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,EACR;AAAA,EACA,eAAe;AAAA,IACb,UAAU;AAAA,IACV,gBAAgB;AAAA,EAClB;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,YAAY;AAAA,IACV,WAAW;AAAA,EACb;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,EACT;AAAA,EACA,QAAQ;AAAA,IACN,WAAW;AAAA,EACb;AACF,CAAC;AAED,WAAW,cAAc;;;AClJzB,OAAOC,YAAW;AAClB;AAAA,EACE,QAAAC;AAAA,EACA,cAAAC;AAAA,EAEA,gBAAAC;AAAA,EACA;AAAA,OACK;AAgCA,IAAM,YAAsC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AACvB,QAAM,WAAW,YAAY;AAE7B,MAAI,WAAW;AACb,WACE,gBAAAC,OAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACLC,QAAO;AAAA,UACP,EAAE,iBAAiB,mBAAmB,MAAM,OAAO,WAAW;AAAA,UAC9D;AAAA,QACF;AAAA;AAAA,MAEA,gBAAAF,OAAA,cAAC,aAAU,UAAS,iBAAgB;AAAA,MACnC;AAAA,MACD,gBAAAA,OAAA,cAACG,OAAA,EAAK,OAAOD,QAAO,oBAClB,gBAAAF,OAAA,cAAC,gBAAa,SAAQ,mBAAkB,CAC1C;AAAA,IACF;AAAA,EAEJ;AAEA,MAAI,OAAO;AACT,WACE,gBAAAA,OAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACLC,QAAO;AAAA,UACP,EAAE,iBAAiB,mBAAmB,MAAM,OAAO,WAAW;AAAA,UAC9D;AAAA,QACF;AAAA;AAAA,MAEA,gBAAAF,OAAA,cAAC,aAAU,UAAS,iBAAgB;AAAA,MACnC;AAAA,MACD,gBAAAA,OAAA,cAACG,OAAA,EAAK,OAAOD,QAAO,oBAClB,gBAAAF,OAAA;AAAA,QAAC;AAAA;AAAA,UACC,SAAS,MAAM;AAAA,UACf,SAAS,MAAM,SAAS,KAAK,iBAAiB,CAAC,CAAC;AAAA;AAAA,MAClD,CACF;AAAA,IACF;AAAA,EAEJ;AAEA,SACE,gBAAAA,OAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACLC,QAAO;AAAA,QACP,EAAE,iBAAiB,mBAAmB,MAAM,OAAO,WAAW;AAAA,QAC9D;AAAA,MACF;AAAA;AAAA,IAEA,gBAAAF,OAAA,cAAC,aAAU,UAAS,iBAAgB;AAAA,IAGnC,UAAU,gBAAAA,OAAA,cAACG,OAAA,EAAK,OAAOD,QAAO,UAAS,MAAO;AAAA,IAG/C,gBAAAF,OAAA,cAACG,OAAA,EAAK,OAAO,CAACD,QAAO,UAAU,aAAa,KACzC,UAGA,WAAW,OACV,gBAAAF,OAAA,cAACG,OAAA,EAAK,OAAOD,QAAO,gBAClB,gBAAAF,OAAA;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,OAAO,EAAE,GAAGE,QAAO,KAAK,GAAG,IAAI,MAAM;AAAA;AAAA,IACvC,CACF,CAEJ;AAAA,IAGC,UAAU,gBAAAF,OAAA,cAACG,OAAA,EAAK,OAAOD,QAAO,UAAS,MAAO;AAAA,EACjD;AAEJ;AAEA,IAAMA,UAASE,YAAW,OAAO;AAAA,EAC/B,WAAW;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,eAAe;AAAA,EACjB;AAAA,EACA,KAAK;AAAA,IACH,eAAe;AAAA,EACjB;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB,YAAY;AAAA,EACd;AACF,CAAC;AAED,UAAU,cAAc;;;AC/JxB,OAAOC,YAAW;AAClB;AAAA,EACE,QAAAC;AAAA,EACA,cAAAC;AAAA,OAEK;AAsCA,IAAM,iBAAgD,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AACvB,QAAM,WAAW,YAAY;AAE7B,QAAM,qBAAqB,CAAC,WAAmB;AAC7C,aAAS,KAAK,oBAAoB,EAAE,QAAQ,OAAO,CAAC;AACpD,qBAAiB,MAAM;AAAA,EACzB;AAEA,QAAM,kBAAkB,CAAC,WAAoC;AAC3D,aAAS,KAAK,iBAAiB,EAAE,QAAQ,OAAO,CAAC;AACjD,kBAAc,MAAM;AAAA,EACtB;AAEA,QAAM,mBAAmB,CAAC,WAAuB;AAC/C,QAAI,OAAO,OAAO;AAChB,eAAS,KAAK,MAAM,OAAO,KAAK,IAAI,EAAE,QAAQ,OAAO,CAAC;AAAA,IACxD;AACA,QAAI,OAAO,aAAa;AACtB,eAAS,KAAK,eAAe,EAAE,IAAI,OAAO,YAAY,CAAC;AAAA,IACzD;AAAA,EACF;AAEA,MAAI,WAAW;AACb,WACE,gBAAAC,OAAA,cAACC,OAAA,EAAK,OAAO,CAACC,QAAO,WAAW,EAAE,iBAAiB,MAAM,OAAO,WAAW,GAAG,KAAK,KACjF,gBAAAF,OAAA,cAAC,gBAAa,SAAQ,qBAAoB,CAC5C;AAAA,EAEJ;AAEA,MAAI,OAAO;AACT,WACE,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAO,CAACC,QAAO,WAAW,EAAE,iBAAiB,MAAM,OAAO,WAAW,GAAG,KAAK,KACjF,gBAAAF,OAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AAAA,QACf,SAAS,MAAM,SAAS,KAAK,mBAAmB,EAAE,OAAO,CAAC;AAAA;AAAA,IAC5D,CACF;AAAA,EAEJ;AAEA,QAAM,WAAW,YAAY,SAAS,YAAY,MAAM,SAAS;AAEjE,SACE,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAO,CAACC,QAAO,WAAW,EAAE,iBAAiB,UAAU,GAAG,KAAK,KAElE,SACC,gBAAAF,OAAA,cAACC,OAAA,EAAK,OAAOC,QAAO,UAClB,gBAAAF,OAAA,cAAC,cAAW,SAAQ,MAAK,OAAO,EAAE,OAAO,OAAO,KAC7C,KACH,CACF,GAID,YAAY,SAAS,SAAS,KAC7B,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAOC,QAAO,gBAClB,gBAAAF,OAAA,cAAC,WAAQ,OAAO,UAAU,UAAS,WAAU,aAAW,MAAC,CAC3D,GAIF,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAOC,QAAO,kBACjB,WACC,gBAAAF,OAAA;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU;AAAA;AAAA,EACZ,IAEA,gBAAAA,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAM,gBAAAA,OAAA,cAAC,cAAW,SAAQ,QAAK,cAAE;AAAA;AAAA,EACnC,CAEJ,GAGA,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAOC,QAAO,YAClB,gBAAAF,OAAA,cAAC,UAAO,SAAS,GAAG,SAAQ,YAC1B,gBAAAA,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,eAAe,EAAE,OAAO;AAAA,MACxB,SAAS,MAAM,mBAAmB,QAAQ;AAAA;AAAA,IAC3C;AAAA,EAED,GACA,gBAAAA,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,eAAe,EAAE,OAAO;AAAA,MACxB,SAAS,MAAM,mBAAmB,QAAQ;AAAA;AAAA,IAC3C;AAAA,EAED,GACA,gBAAAA,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,eAAe,EAAE,OAAO;AAAA,MACxB,SAAS,MAAM,gBAAgB,MAAM;AAAA;AAAA,IACtC;AAAA,EAED,CACF,CACF,GAGC,YAAY,eACX,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAOC,QAAO,eAClB,gBAAAF,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAS;AAAA,MACT,UAAU;AAAA;AAAA,EACZ,CACF,CAEJ;AAEJ;AAEA,IAAME,UAASC,YAAW,OAAO;AAAA,EAC/B,WAAW;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,YAAY;AAAA,EACd;AAAA,EACA,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,eAAe;AAAA,EACjB;AAAA,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,SAAS;AAAA,IACT,gBAAgB;AAAA,EAClB;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,IACT,iBAAiB;AAAA,EACnB;AAAA,EACA,aAAa;AAAA,IACX,UAAU;AAAA,IACV,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AACF,CAAC;AAED,eAAe,cAAc;;;ACpN7B,OAAOC,YAAW;AAClB;AAAA,EACE,QAAAC;AAAA,EACA,cAAAC;AAAA,EAEA,cAAAC;AAAA,OACK;AAuCA,IAAM,iBAAgD,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AACvB,QAAM,WAAW,YAAY;AAE7B,QAAM,kBAAkB,CAAC,WAAmB;AAC1C,aAAS,KAAK,wBAAwB,EAAE,QAAQ,OAAO,CAAC;AACxD,kBAAc,MAAM;AAAA,EACtB;AAEA,QAAM,eAAe,CAAC,WAAmB;AACvC,aAAS,KAAK,oBAAoB,EAAE,QAAQ,OAAO,CAAC;AACpD,qBAAiB,MAAM;AAAA,EACzB;AAEA,MAAI,WAAW;AACb,WACE,gBAAAC,OAAA,cAACC,OAAA,EAAK,OAAO,CAACC,QAAO,WAAW,EAAE,iBAAiB,MAAM,OAAO,WAAW,GAAG,KAAK,KACjF,gBAAAF,OAAA,cAAC,gBAAa,SAAQ,qBAAoB,CAC5C;AAAA,EAEJ;AAEA,MAAI,OAAO;AACT,WACE,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAO,CAACC,QAAO,WAAW,EAAE,iBAAiB,MAAM,OAAO,WAAW,GAAG,KAAK,KACjF,gBAAAF,OAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AAAA,QACf,SAAS,MAAM,SAAS,KAAK,mBAAmB,EAAE,OAAO,CAAC;AAAA;AAAA,IAC5D,CACF;AAAA,EAEJ;AAEA,QAAM,WAAW,YAAY,SAAS,YAAY,MAAM,SAAS;AAEjE,SACE,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAO,CAACC,QAAO,WAAW,EAAE,iBAAiB,UAAU,GAAG,KAAK,KAElE,YAAY,SAAS,SAAS,KAC7B,gBAAAF,OAAA,cAACC,OAAA,EAAK,OAAOC,QAAO,gBAClB,gBAAAF,OAAA,cAAC,WAAQ,OAAO,UAAU,UAAS,OAAM,aAAW,MAAC,CACvD,GAGF,gBAAAA,OAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,OAAOD,QAAO;AAAA,MACd,uBAAuBA,QAAO;AAAA,MAC9B,8BAA8B;AAAA;AAAA,IAG7B,SACC,gBAAAF,OAAA,cAACC,OAAA,EAAK,OAAOC,QAAO,UAClB,gBAAAF,OAAA,cAAC,cAAW,SAAQ,MAAK,OAAO,EAAE,OAAO,UAAU,KAChD,KACH,CACF;AAAA,IAIF,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAOC,QAAO,kBACjB,WACC,gBAAAF,OAAA;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,cAAc;AAAA;AAAA,IAChB,IAEA,gBAAAA,OAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAM,gBAAAA,OAAA,cAAC,cAAW,SAAQ,QAAK,WAAE;AAAA;AAAA,IACnC,CAEJ;AAAA,IAGC,WAAW,QAAQ,SAAS,KAC3B,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAOC,QAAO,oBAClB,gBAAAF,OAAA,cAAC,UAAO,SAAS,GAAG,SAAQ,UAAS,OAAOE,QAAO,WAChD,QAAQ,IAAI,CAAC,QAAQ,UACpB,gBAAAF,OAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,SAAS,OAAO,WAAW;AAAA,QAC3B,QAAQ,OAAO;AAAA,QACf,eAAe,EAAE,OAAO;AAAA,QACxB,SAAS,MAAM,aAAa,OAAO,KAAK;AAAA;AAAA,MAEvC,OAAO;AAAA,IACV,CACD,CACH,CACF;AAAA,EAEJ,CACF;AAEJ;AAEA,IAAME,UAASE,YAAW,OAAO;AAAA,EAC/B,WAAW;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,EACR;AAAA,EACA,eAAe;AAAA,IACb,YAAY;AAAA,IACZ,eAAe;AAAA,EACjB;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,YAAY;AAAA,EACd;AAAA,EACA,gBAAgB;AAAA,IACd,SAAS;AAAA,EACX;AAAA,EACA,kBAAkB;AAAA,IAChB,SAAS;AAAA,EACX;AAAA,EACA,SAAS;AAAA,IACP,UAAU;AAAA,EACZ;AACF,CAAC;AAED,eAAe,cAAc;;;ACzL7B,OAAOC,YAAW;AAClB;AAAA,EACE,QAAAC;AAAA,EACA,cAAAC;AAAA,OAEK;AA0CA,IAAM,mBAAoD,CAAC;AAAA,EAChE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AACvB,QAAM,WAAW,YAAY;AAE7B,QAAM,mBAAmB,CAAC,WAAmB;AAC3C,aAAS,KAAK,sBAAsB,EAAE,QAAQ,OAAO,CAAC;AACtD,mBAAe,MAAM;AAAA,EACvB;AAEA,QAAM,kBAAkB,CAAC,QAAgB,iBAA0B;AACjE,aAAS,KAAK,iBAAiB,EAAE,QAAQ,cAAc,OAAO,CAAC;AAC/D,kBAAc,QAAQ,YAAY;AAAA,EACpC;AAEA,MAAI,WAAW;AACb,WACE,gBAAAC,OAAA,cAACC,OAAA,EAAK,OAAO,CAACC,QAAO,WAAW,EAAE,iBAAiB,MAAM,OAAO,WAAW,GAAG,KAAK,KACjF,gBAAAF,OAAA,cAAC,gBAAa,SAAQ,wBAAuB,CAC/C;AAAA,EAEJ;AAEA,MAAI,OAAO;AACT,WACE,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAO,CAACC,QAAO,WAAW,EAAE,iBAAiB,MAAM,OAAO,WAAW,GAAG,KAAK,KACjF,gBAAAF,OAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AAAA,QACf,SAAS,MAAM,SAAS,KAAK,gBAAgB,EAAE,OAAO,CAAC;AAAA;AAAA,IACzD,CACF;AAAA,EAEJ;AAEA,QAAM,WAAW,cAAc,SAAS,cAAc,MAAM,SAAS;AAErE,SACE,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAO,CAACC,QAAO,WAAW,EAAE,iBAAiB,UAAU,GAAG,KAAK,KAElE,YAAY,SAAS,SAAS,KAC7B,gBAAAF,OAAA,cAACC,OAAA,EAAK,OAAOC,QAAO,gBAClB,gBAAAF,OAAA,cAAC,WAAQ,OAAO,UAAU,UAAS,WAAU,aAAW,MAAC,CAC3D,IAIA,SAAS,QACT,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAOC,QAAO,UACjB,SACC,gBAAAF,OAAA,cAAC,cAAW,SAAQ,MAAK,OAAO,EAAE,OAAO,OAAO,KAC7C,KACH,GAED,OACC,gBAAAA,OAAA,cAAC,cAAW,SAAQ,WAAU,OAAO,EAAE,OAAO,UAAU,KACrD,GACH,CAEJ,GAIF,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAOC,QAAO,gBACjB,WACC,gBAAAF,OAAA;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,OAAO,cAAc,SAAS;AAAA,MAC9B,KAAK,cAAc,OAAO;AAAA,MAC1B,cAAc;AAAA;AAAA,EAChB,IAEA,gBAAAA,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAM,gBAAAA,OAAA,cAAC,cAAW,SAAQ,QAAK,iBAAG;AAAA;AAAA,EACpC,CAEJ,GAGC,qBAAqB,kBAAkB,SAAS,KAC/C,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAOC,QAAO,oBAClB,gBAAAF,OAAA,cAAC,UAAO,SAAS,GAAG,SAAQ,UAAS,OAAOE,QAAO,WAChD,kBAAkB,IAAI,CAAC,QAAQ,UAC9B,gBAAAF,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,SAAS,OAAO,WAAW;AAAA,MAC3B,QAAQ,OAAO;AAAA,MACf,eAAe,EAAE,QAAQ,cAAc,OAAO,aAAa;AAAA,MAC3D,SAAS,MAAM,gBAAgB,OAAO,OAAO,OAAO,YAAY;AAAA;AAAA,IAE/D,OAAO;AAAA,EACV,CACD,CACH,CACF,CAEJ;AAEJ;AAEA,IAAME,UAASC,YAAW,OAAO;AAAA,EAC/B,WAAW;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,EACV;AAAA,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,kBAAkB;AAAA,IAChB,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,UAAU;AAAA,EACZ;AACF,CAAC;AAED,iBAAiB,cAAc;;;AC9L/B,OAAOC,UAAS,UAAU,mBAAmB;AAC7C;AAAA,EACE,QAAAC;AAAA,EACA,cAAAC;AAAA,OAEK;AAuCA,IAAM,kBAAkD,CAAC;AAAA,EAC9D,eAAe;AAAA,EACf,OAAO;AAAA,EACP,MAAM,OAAO;AAAA,EACb,MAAM,OAAO;AAAA,EACb,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AACvB,QAAM,WAAW,YAAY;AAC7B,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiB,YAAY;AAEvD,QAAM,kBAAkB,YAAY,MAAM;AACxC,aAAS,CAAC,SAAS;AACjB,YAAM,WAAW,KAAK,IAAI,OAAO,MAAM,GAAG;AAC1C,eAAS,KAAK,wBAAwB,EAAE,OAAO,UAAU,OAAO,CAAC;AACjE,sBAAgB,QAAQ;AACxB,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAC,MAAM,KAAK,QAAQ,eAAe,QAAQ,CAAC;AAE/C,QAAM,kBAAkB,YAAY,MAAM;AACxC,aAAS,CAAC,SAAS;AACjB,YAAM,WAAW,KAAK,IAAI,OAAO,MAAM,GAAG;AAC1C,eAAS,KAAK,wBAAwB,EAAE,OAAO,UAAU,OAAO,CAAC;AACjE,sBAAgB,QAAQ;AACxB,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAC,MAAM,KAAK,QAAQ,eAAe,QAAQ,CAAC;AAE/C,QAAM,cAAc,YAAY,MAAM;AACpC,aAAS,YAAY;AACrB,aAAS,KAAK,oBAAoB,EAAE,OAAO,cAAc,OAAO,CAAC;AACjE,cAAU;AACV,oBAAgB,YAAY;AAAA,EAC9B,GAAG,CAAC,cAAc,QAAQ,SAAS,eAAe,QAAQ,CAAC;AAE3D,MAAI,WAAW;AACb,WACE,gBAAAC,OAAA,cAACC,OAAA,EAAK,OAAO,CAACC,QAAO,WAAW,KAAK,KACnC,gBAAAF,OAAA,cAAC,gBAAa,SAAQ,sBAAqB,CAC7C;AAAA,EAEJ;AAEA,MAAI,OAAO;AACT,WACE,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAO,CAACC,QAAO,WAAW,KAAK,KACnC,gBAAAF,OAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AAAA,QACf,SAAS,MAAM,SAAS,KAAK,oBAAoB,EAAE,OAAO,CAAC;AAAA;AAAA,IAC7D,CACF;AAAA,EAEJ;AAEA,QAAM,UAAU,SAAS;AACzB,QAAM,UAAU,SAAS;AAEzB,SACE,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAO,CAACC,QAAO,WAAW,EAAE,iBAAiB,MAAM,OAAO,WAAW,GAAG,KAAK,KACjF,gBAAAF,OAAA,cAAC,QAAK,OAAO,CAACE,QAAO,MAAM,aAAa,CAAC,CAAC,KACxC,gBAAAF,OAAA,cAAC,UAAO,SAAS,IAAI,OAAM,YAEzB,gBAAAA,OAAA,cAAC,cAAW,SAAQ,QAAM,KAAM,GAGhC,gBAAAA,OAAA,cAACC,OAAA,EAAK,OAAOC,QAAO,gBAClB,gBAAAF,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,OAAO;AAAA,QACLE,QAAO;AAAA,QACP,EAAE,OAAO,QAAQ,IAAI,MAAM,OAAO,UAAU,QAAQ,IAAI,MAAM,OAAO,QAAQ,MAAM,OAAO,WAAW;AAAA,MACvG;AAAA;AAAA,IAEC;AAAA,EACH,CACF,GAGA,gBAAAF,OAAA,cAAC,UAAO,SAAS,IAAI,OAAM,YACzB,gBAAAA,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,eAAe,EAAE,QAAQ,KAAK;AAAA,MAC9B,SAAS;AAAA,MACT,UAAU;AAAA;AAAA,IACX;AAAA,IACG;AAAA,EACJ,GAEC,aACC,gBAAAA,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,eAAe,EAAE,OAAO;AAAA,MACxB,SAAS;AAAA,MACT,UAAU,UAAU;AAAA;AAAA,IACrB;AAAA,EAED,GAGF,gBAAAA,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,QAAO;AAAA,MACP,eAAe,EAAE,QAAQ,KAAK;AAAA,MAC9B,SAAS;AAAA,MACT,UAAU;AAAA;AAAA,IACX;AAAA,IACG;AAAA,EACJ,CACF,GAGA,gBAAAA,OAAA,cAAC,cAAW,SAAQ,WAAU,OAAO,MAAM,OAAO,kBAAkB,KAAG,SAC/D,KAAI,YAAS,KAAI,aAAU,IACnC,CACF,CACF,CACF;AAEJ;AAEA,IAAME,UAASC,YAAW,OAAO;AAAA,EAC/B,WAAW;AAAA,IACT,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,SAAS;AAAA,EACX;AAAA,EACA,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,UAAU;AAAA,IACV,UAAU;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,cAAc;AAAA,IACZ,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,iBAAiB;AAAA,IACjB,cAAc;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,UAAU;AAAA,IACV,YAAY;AAAA,EACd;AACF,CAAC;AAED,gBAAgB,cAAc;;;ACxM9B,OAAOC,YAAW;AAClB;AAAA,EACE,QAAAC;AAAA,EACA,cAAAC;AAAA,EAEA,gBAAAC;AAAA,OACK;AA6DA,IAAM,eAA4C,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf;AACF,MAAM;AACJ,QAAM,QAAQ,SAAS;AACvB,QAAM,WAAW,YAAY;AAE7B,QAAM,eAAe,CAAC,QAAgB,YAAsC;AAC1E,aAAS,KAAK,MAAM,MAAM,IAAI,EAAE,GAAG,SAAS,OAAO,CAAC;AACpD,eAAW,QAAQ,OAAO;AAAA,EAC5B;AAEA,MAAI,WAAW;AACb,WACE,gBAAAC,OAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACLC,QAAO;AAAA,UACP,EAAE,iBAAiB,mBAAmB,MAAM,OAAO,WAAW;AAAA,UAC9D;AAAA,QACF;AAAA;AAAA,MAEA,gBAAAF,OAAA,cAAC,gBAAa,SAAQ,mBAAkB;AAAA,IAC1C;AAAA,EAEJ;AAEA,MAAI,OAAO;AACT,WACE,gBAAAA,OAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACLC,QAAO;AAAA,UACP,EAAE,iBAAiB,mBAAmB,MAAM,OAAO,WAAW;AAAA,UAC9D;AAAA,QACF;AAAA;AAAA,MAEA,gBAAAF,OAAA;AAAA,QAAC;AAAA;AAAA,UACC,SAAS,MAAM;AAAA,UACf,SAAS,MAAM,aAAa,YAAY;AAAA;AAAA,MAC1C;AAAA,IACF;AAAA,EAEJ;AAGA,QAAM,iBAAiB,YAAa,CAAC,YAAY;AAEjD,MAAI,kBAAkB,MAAM;AAC1B,WACE,gBAAAA,OAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACLC,QAAO;AAAA,UACP,EAAE,iBAAiB,mBAAmB,UAAU;AAAA,UAChD;AAAA,QACF;AAAA;AAAA,MAEA,gBAAAF,OAAA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO,KAAK,SAAS,SAAS;AAAA,UAC9B,UAAU,KAAK,YAAY;AAAA,UAC3B,SAAS,KAAK,WAAW,KAAK,aAAa,CAAC;AAAA,UAC5C,UAAU,CAAC,WAAW;AACpB,gBAAI,OAAO,OAAO;AAChB,2BAAa,OAAO,OAAO,EAAE,OAAO,CAAC;AAAA,YACvC;AACA,gBAAI,OAAO,aAAa;AACtB,2BAAa,YAAY,EAAE,IAAI,OAAO,YAAY,CAAC;AAAA,YACrD;AACA,iBAAK,WAAW,MAAM;AAAA,UACxB;AAAA,UACA,YAAY,KAAK;AAAA,UACjB,MAAM,KAAK;AAAA,UACX,OAAO,KAAK;AAAA;AAAA,MACd;AAAA,IACF;AAAA,EAEJ;AAEA,QAAM,aAAaA,OAAM,SAAS,MAAM,QAAQ,IAAI;AAEpD,SACE,gBAAAA,OAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACLC,QAAO;AAAA,QACP,EAAE,iBAAiB,mBAAmB,MAAM,OAAO,WAAW;AAAA,QAC9D;AAAA,MACF;AAAA;AAAA,IAGC,WAAW,OACV,gBAAAF,OAAA,cAACG,OAAA,EAAK,OAAOD,QAAO,cAClB,gBAAAF,OAAA,cAAC,WAAS,GAAG,KAAK,CACpB;AAAA,KAIA,SAAS,aACT,gBAAAA,OAAA,cAACG,OAAA,EAAK,OAAOD,QAAO,UACjB,SACC,gBAAAF,OAAA,cAAC,cAAW,SAAQ,MAAK,OAAOE,QAAO,SACpC,KACH,GAED,YACC,gBAAAF,OAAA,cAAC,cAAW,SAAQ,QAAO,OAAO,MAAM,OAAO,kBAAkB,KAC9D,QACH,CAEJ;AAAA,IAIF,gBAAAA,OAAA,cAACG,OAAA,EAAK,OAAO,CAACD,QAAO,SAAS,YAAY,KACvC,aACC,WAEA,gBAAAF,OAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS;AAAA,QACT,MAAM,gBAAAA,OAAA,cAAC,cAAW,SAAQ,QAAK,WAAE;AAAA;AAAA,IACnC,CAEJ;AAAA,IAGC,WAAW,QAAQ,SAAS,KAC3B,gBAAAA,OAAA,cAACG,OAAA,EAAK,OAAOD,QAAO,aAClB,gBAAAF,OAAA,cAAC,QAAK,SAAQ,YAAW,OAAOE,QAAO,cACrC,gBAAAF,OAAA,cAAC,UAAO,SAAS,GAAG,SAAQ,UAAS,OAAOE,QAAO,WAChD,QAAQ,IAAI,CAAC,QAAQ,UACpB,gBAAAF,OAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,SAAS,OAAO,WAAW;AAAA,QAC3B,QAAQ,OAAO;AAAA,QACf,eAAe,EAAE,GAAG,OAAO,SAAS,OAAO;AAAA,QAC3C,SAAS,MAAM,aAAa,OAAO,OAAO,OAAO,OAAO;AAAA,QACxD,UAAU,OAAO;AAAA;AAAA,MAEhB,OAAO;AAAA,IACV,CACD,CACH,CACF,CACF;AAAA,EAEJ;AAEJ;AAEA,IAAME,UAASE,YAAW,OAAO;AAAA,EAC/B,WAAW;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA,YAAY;AAAA,IACV,UAAU;AAAA,IACV,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,QAAQ;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,EACV;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,WAAW;AAAA,IACT,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,YAAY;AAAA,IACV,SAAS;AAAA,EACX;AAAA,EACA,SAAS;AAAA,IACP,UAAU;AAAA,EACZ;AACF,CAAC;AAED,aAAa,cAAc;","names":["React","View","StyleSheet","ScrollView","SafeAreaView","React","SafeAreaView","styles","ScrollView","View","StyleSheet","React","View","StyleSheet","SafeAreaView","React","SafeAreaView","styles","View","StyleSheet","React","View","StyleSheet","React","View","styles","StyleSheet","React","View","StyleSheet","ScrollView","React","View","styles","ScrollView","StyleSheet","React","View","StyleSheet","React","View","styles","StyleSheet","React","View","StyleSheet","React","View","styles","StyleSheet","React","View","StyleSheet","SafeAreaView","React","SafeAreaView","styles","View","StyleSheet"]}
@@ -0,0 +1,2 @@
1
+ export { cn } from '@almadar/ui/lib';
2
+ //# sourceMappingURL=cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../src/lib/cn.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { cn } from './cn';
2
+ export { convertThemeToRN, defaultRNTheme } from './theme';
3
+ export type { WebTheme } from './theme';
4
+ export { almadarLight, almadarDark, defaultTheme } from '../themes';
5
+ export type { Theme } from '../themes';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC3D,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACpE,YAAY,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,18 @@
1
+ import {
2
+ cn,
3
+ convertThemeToRN,
4
+ defaultRNTheme
5
+ } from "../chunk-S2IT7WZT.js";
6
+ import {
7
+ almadarDark,
8
+ almadarLight
9
+ } from "../chunk-MFU7Q7LU.js";
10
+ export {
11
+ almadarDark,
12
+ almadarLight,
13
+ cn,
14
+ convertThemeToRN,
15
+ defaultRNTheme,
16
+ almadarLight as defaultTheme
17
+ };
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,13 @@
1
+ import type { RNTheme } from '../providers/ThemeContext';
2
+ export type { RNTheme } from '../providers/ThemeContext';
3
+ export interface WebTheme {
4
+ colors: Record<string, string>;
5
+ spacing: Record<string, string>;
6
+ borderRadius: Record<string, string>;
7
+ }
8
+ /**
9
+ * Convert web theme (CSS values) to React Native theme (numeric values)
10
+ */
11
+ export declare function convertThemeToRN(webTheme: WebTheme): Partial<RNTheme>;
12
+ export declare const defaultRNTheme: Partial<RNTheme>;
13
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/lib/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGzD,YAAY,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGzD,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBrE;AAWD,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,OAAO,CA4B3C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { EventBusProvider } from '@almadar/ui/providers';
2
+ //# sourceMappingURL=EventBusProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventBusProvider.d.ts","sourceRoot":"","sources":["../../src/providers/EventBusProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * React Native Theme Structure
3
+ * Mirrors CSS variable names from @almadar/ui
4
+ */
5
+ export interface RNTheme {
6
+ colors: {
7
+ primary: string;
8
+ 'primary-hover': string;
9
+ 'primary-foreground': string;
10
+ secondary: string;
11
+ 'secondary-hover': string;
12
+ 'secondary-foreground': string;
13
+ accent: string;
14
+ 'accent-foreground': string;
15
+ muted: string;
16
+ 'muted-foreground': string;
17
+ background: string;
18
+ foreground: string;
19
+ card: string;
20
+ 'card-foreground': string;
21
+ surface: string;
22
+ border: string;
23
+ input: string;
24
+ ring: string;
25
+ error: string;
26
+ 'error-foreground': string;
27
+ success: string;
28
+ 'success-foreground': string;
29
+ warning: string;
30
+ 'warning-foreground': string;
31
+ info: string;
32
+ 'info-foreground': string;
33
+ [key: string]: string;
34
+ };
35
+ borderRadius: {
36
+ none: number;
37
+ sm: number;
38
+ md: number;
39
+ lg: number;
40
+ xl: number;
41
+ full: number;
42
+ };
43
+ spacing: {
44
+ [key: string]: number;
45
+ };
46
+ typography: {
47
+ fontFamily: string;
48
+ fontWeight: {
49
+ normal: string;
50
+ medium: string;
51
+ bold: string;
52
+ };
53
+ letterSpacing: number;
54
+ lineHeight: number;
55
+ sizes: {
56
+ xs: number;
57
+ sm: number;
58
+ base: number;
59
+ lg: number;
60
+ xl: number;
61
+ '2xl': number;
62
+ '3xl': number;
63
+ '4xl': number;
64
+ };
65
+ };
66
+ shadows: {
67
+ [key: string]: {
68
+ shadowColor: string;
69
+ shadowOffset: {
70
+ width: number;
71
+ height: number;
72
+ };
73
+ shadowOpacity: number;
74
+ shadowRadius: number;
75
+ elevation: number;
76
+ };
77
+ };
78
+ transitions: {
79
+ fast: number;
80
+ normal: number;
81
+ slow: number;
82
+ };
83
+ icon: {
84
+ strokeWidth: number;
85
+ color: string;
86
+ };
87
+ }
88
+ export declare const defaultTheme: RNTheme;
89
+ export declare const ThemeContext: import("react").Context<RNTheme>;
90
+ export declare const useTheme: () => RNTheme;
91
+ //# sourceMappingURL=ThemeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeContext.d.ts","sourceRoot":"","sources":["../../src/providers/ThemeContext.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,MAAM,EAAE,MAAM,CAAC;QACf,mBAAmB,EAAE,MAAM,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,EAAE,MAAM,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,EAAE,MAAM,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,iBAAiB,EAAE,MAAM,CAAC;QAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE;YACV,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE;YACL,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IACF,OAAO,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YAChD,aAAa,EAAE,MAAM,CAAC;YACtB,YAAY,EAAE,MAAM,CAAC;YACrB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,eAAO,MAAM,YAAY,EAAE,OA4G1B,CAAC;AAEF,eAAO,MAAM,YAAY,kCAAuC,CAAC;AAEjE,eAAO,MAAM,QAAQ,eAAiC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { RNTheme } from './ThemeContext';
3
+ export { RNTheme } from './ThemeContext';
4
+ export interface ThemeProviderProps {
5
+ children: React.ReactNode;
6
+ theme?: 'light' | 'dark' | 'system';
7
+ customTheme?: RNTheme;
8
+ }
9
+ export declare const ThemeProvider: React.FC<ThemeProviderProps>;
10
+ //# sourceMappingURL=ThemeProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/providers/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAgB,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA6BtD,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { EventBusProvider } from './EventBusProvider';
2
+ export { ThemeProvider } from './ThemeProvider';
3
+ export type { ThemeProviderProps } from './ThemeProvider';
4
+ export { useTheme } from './ThemeContext';
5
+ export type { RNTheme } from './ThemeContext';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import {
2
+ EventBusProvider,
3
+ ThemeProvider
4
+ } from "../chunk-VLUJ7BXN.js";
5
+ import "../chunk-MFU7Q7LU.js";
6
+ import {
7
+ useTheme
8
+ } from "../chunk-CUAWHLEK.js";
9
+ export {
10
+ EventBusProvider,
11
+ ThemeProvider,
12
+ useTheme
13
+ };
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Almadar Theme for React Native
3
+ * Mirrors CSS variable names from @almadar/ui for cross-platform consistency
4
+ */
5
+ import { RNTheme } from '../providers/ThemeContext';
6
+ export declare const almadarLight: RNTheme;
7
+ export declare const almadarDark: RNTheme;
8
+ //# sourceMappingURL=almadar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"almadar.d.ts","sourceRoot":"","sources":["../../src/themes/almadar.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,eAAO,MAAM,YAAY,EAAE,OA0I1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,OAiFzB,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Theme exports for @almadar/mobile
3
+ * Mirrors @almadar/ui theme structure
4
+ */
5
+ export { almadarLight, almadarDark } from './almadar';
6
+ export interface Theme {
7
+ colors: {
8
+ primary: string;
9
+ 'primary-hover': string;
10
+ 'primary-foreground': string;
11
+ secondary: string;
12
+ 'secondary-hover': string;
13
+ 'secondary-foreground': string;
14
+ accent: string;
15
+ 'accent-foreground': string;
16
+ muted: string;
17
+ 'muted-foreground': string;
18
+ background: string;
19
+ foreground: string;
20
+ card: string;
21
+ 'card-foreground': string;
22
+ surface: string;
23
+ border: string;
24
+ input: string;
25
+ ring: string;
26
+ error: string;
27
+ 'error-foreground': string;
28
+ success: string;
29
+ 'success-foreground': string;
30
+ warning: string;
31
+ 'warning-foreground': string;
32
+ info: string;
33
+ 'info-foreground': string;
34
+ [key: string]: string;
35
+ };
36
+ borderRadius: {
37
+ none: number;
38
+ sm: number;
39
+ md: number;
40
+ lg: number;
41
+ xl: number;
42
+ full: number;
43
+ };
44
+ spacing: {
45
+ [key: string]: number;
46
+ };
47
+ typography: {
48
+ fontFamily: string;
49
+ fontWeight: {
50
+ normal: string;
51
+ medium: string;
52
+ bold: string;
53
+ };
54
+ letterSpacing: number;
55
+ lineHeight: number;
56
+ sizes: {
57
+ xs: number;
58
+ sm: number;
59
+ base: number;
60
+ lg: number;
61
+ xl: number;
62
+ '2xl': number;
63
+ '3xl': number;
64
+ '4xl': number;
65
+ };
66
+ };
67
+ shadows: {
68
+ [key: string]: {
69
+ shadowColor: string;
70
+ shadowOffset: {
71
+ width: number;
72
+ height: number;
73
+ };
74
+ shadowOpacity: number;
75
+ shadowRadius: number;
76
+ elevation: number;
77
+ };
78
+ };
79
+ transitions: {
80
+ fast: number;
81
+ normal: number;
82
+ slow: number;
83
+ };
84
+ icon: {
85
+ strokeWidth: number;
86
+ color: string;
87
+ };
88
+ }
89
+ export { almadarLight as defaultTheme } from './almadar';
90
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGtD,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,MAAM,EAAE,MAAM,CAAC;QACf,mBAAmB,EAAE,MAAM,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,EAAE,MAAM,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,EAAE,MAAM,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,iBAAiB,EAAE,MAAM,CAAC;QAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE;YACV,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE;YACL,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IACF,OAAO,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC;YAChD,aAAa,EAAE,MAAM,CAAC;YACtB,YAAY,EAAE,MAAM,CAAC;YACrB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAGD,OAAO,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC"}
package/index.js ADDED
@@ -0,0 +1,10 @@
1
+ // Entry point for Expo Go
2
+ // This file is required for Expo Go to work properly
3
+
4
+ import { registerRootComponent } from 'expo';
5
+ import App from './App';
6
+
7
+ // registerRootComponent calls AppRegistry.registerComponent('main', () => App);
8
+ // It also ensures that whether you load the app in Expo Go or in a native build,
9
+ // the environment is set up appropriately
10
+ registerRootComponent(App);
package/package.json ADDED
@@ -0,0 +1,109 @@
1
+ {
2
+ "name": "@almadar/mobile",
3
+ "version": "1.1.0",
4
+ "description": "React Native UI components for Almadar - extends @almadar/ui",
5
+ "type": "module",
6
+ "main": "index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "types": "./dist/index.d.ts"
13
+ },
14
+ "./components": {
15
+ "import": "./dist/components/index.js",
16
+ "types": "./dist/components/index.d.ts"
17
+ },
18
+ "./components/atoms": {
19
+ "import": "./dist/components/atoms/index.js",
20
+ "types": "./dist/components/atoms/index.d.ts"
21
+ },
22
+ "./components/molecules": {
23
+ "import": "./dist/components/molecules/index.js",
24
+ "types": "./dist/components/molecules/index.d.ts"
25
+ },
26
+ "./components/organisms": {
27
+ "import": "./dist/components/organisms/index.js",
28
+ "types": "./dist/components/organisms/index.d.ts"
29
+ },
30
+ "./hooks": {
31
+ "import": "./dist/hooks/index.js",
32
+ "types": "./dist/hooks/index.d.ts"
33
+ },
34
+ "./providers": {
35
+ "import": "./dist/providers/index.js",
36
+ "types": "./dist/providers/index.d.ts"
37
+ },
38
+ "./lib": {
39
+ "import": "./dist/lib/index.js",
40
+ "types": "./dist/lib/index.d.ts"
41
+ }
42
+ },
43
+ "files": [
44
+ "dist"
45
+ ],
46
+ "dependencies": {
47
+ "@almadar/core": ">=2.1.0",
48
+ "@almadar/patterns": ">=2.0.0",
49
+ "@almadar/ui": ">=2.1.0",
50
+ "@react-native-async-storage/async-storage": "2.2.0",
51
+ "expo-status-bar": "~2.2.3",
52
+ "react-native-is-edge-to-edge": "^1.1.6",
53
+ "react-native-reanimated": "4.1.1",
54
+ "react-native-web": "^0.21.0",
55
+ "react-native-worklets": "0.5.1"
56
+ },
57
+ "peerDependencies": {
58
+ "@react-navigation/native": "^6.0.0",
59
+ "react": ">=18.0.0",
60
+ "react-native": ">=0.76.0",
61
+ "react-native-safe-area-context": "^4.0.0",
62
+ "react-native-vector-icons": "^10.0.0"
63
+ },
64
+ "devDependencies": {
65
+ "@expo/cli": "^54.0.23",
66
+ "@storybook/addon-ondevice-actions": "8.6.2",
67
+ "@storybook/addon-ondevice-backgrounds": "8.6.2",
68
+ "@storybook/addon-ondevice-controls": "8.6.2",
69
+ "@storybook/react-native": "8.6.2",
70
+ "@types/react": "~19.1.10",
71
+ "@typescript-eslint/eslint-plugin": "^7.0.0",
72
+ "@typescript-eslint/parser": "^7.0.0",
73
+ "@vitest/ui": "^1.6.0",
74
+ "babel-plugin-transform-inline-environment-variables": "0.4.4",
75
+ "cross-env": "^7.0.0",
76
+ "eslint": "^8.57.0",
77
+ "expo": "^54.0.0",
78
+ "tsup": "^8.0.0",
79
+ "typescript": "^5.4.0",
80
+ "vitest": "^1.0.0"
81
+ },
82
+ "publishConfig": {
83
+ "registry": "https://registry.npmjs.org",
84
+ "access": "public"
85
+ },
86
+ "license": "MIT",
87
+ "repository": {
88
+ "type": "git",
89
+ "url": "https://github.com/almadar-io/almadar-mobile.git",
90
+ "directory": "packages/almadar-mobile"
91
+ },
92
+ "scripts": {
93
+ "build": "tsup && tsc --declaration --emitDeclarationOnly --outDir dist --skipLibCheck",
94
+ "build:watch": "tsup --watch",
95
+ "typecheck": "tsc --noEmit",
96
+ "lint": "eslint src/",
97
+ "start": "expo start",
98
+ "start:storybook": "EXPO_PUBLIC_STORYBOOK=true expo start",
99
+ "android": "expo start --android",
100
+ "ios": "expo start --ios",
101
+ "web": "expo start --web",
102
+ "storybook": "EXPO_PUBLIC_STORYBOOK=true expo start",
103
+ "storybook:ios": "EXPO_PUBLIC_STORYBOOK=true expo start --ios",
104
+ "storybook:android": "EXPO_PUBLIC_STORYBOOK=true expo start --android",
105
+ "storybook:web": "EXPO_PUBLIC_STORYBOOK=true expo start --web",
106
+ "storybook-generate": "sb-rn-get-stories",
107
+ "test": "vitest run --passWithNoTests"
108
+ }
109
+ }