@number10/phaserjsx 0.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 (326) hide show
  1. package/LICENSE +667 -0
  2. package/README.md +238 -0
  3. package/dist/TransformOriginView-BYPbRH8N.cjs +17045 -0
  4. package/dist/TransformOriginView-BYPbRH8N.cjs.map +1 -0
  5. package/dist/TransformOriginView-CO-tJCmV.js +17046 -0
  6. package/dist/TransformOriginView-CO-tJCmV.js.map +1 -0
  7. package/dist/animation/animated-signal.d.ts +35 -0
  8. package/dist/animation/animated-signal.d.ts.map +1 -0
  9. package/dist/animation/index.d.ts +7 -0
  10. package/dist/animation/index.d.ts.map +1 -0
  11. package/dist/animation/spring-physics.d.ts +120 -0
  12. package/dist/animation/spring-physics.d.ts.map +1 -0
  13. package/dist/animation/useSpring.d.ts +54 -0
  14. package/dist/animation/useSpring.d.ts.map +1 -0
  15. package/dist/colors/color-presets.d.ts +89 -0
  16. package/dist/colors/color-presets.d.ts.map +1 -0
  17. package/dist/colors/color-theme-helpers.d.ts +65 -0
  18. package/dist/colors/color-theme-helpers.d.ts.map +1 -0
  19. package/dist/colors/color-types.d.ts +100 -0
  20. package/dist/colors/color-types.d.ts.map +1 -0
  21. package/dist/colors/color-utils.d.ts +171 -0
  22. package/dist/colors/color-utils.d.ts.map +1 -0
  23. package/dist/colors/index.d.ts +17 -0
  24. package/dist/colors/index.d.ts.map +1 -0
  25. package/dist/colors/preset-manager.d.ts +35 -0
  26. package/dist/colors/preset-manager.d.ts.map +1 -0
  27. package/dist/colors/use-color-mode.d.ts +22 -0
  28. package/dist/colors/use-color-mode.d.ts.map +1 -0
  29. package/dist/colors/use-colors.d.ts +40 -0
  30. package/dist/colors/use-colors.d.ts.map +1 -0
  31. package/dist/components/appliers/applyBackground.d.ts +13 -0
  32. package/dist/components/appliers/applyBackground.d.ts.map +1 -0
  33. package/dist/components/appliers/applyGestures.d.ts +12 -0
  34. package/dist/components/appliers/applyGestures.d.ts.map +1 -0
  35. package/dist/components/appliers/applyGraphics.d.ts +10 -0
  36. package/dist/components/appliers/applyGraphics.d.ts.map +1 -0
  37. package/dist/components/appliers/applyGraphicsLayout.d.ts +10 -0
  38. package/dist/components/appliers/applyGraphicsLayout.d.ts.map +1 -0
  39. package/dist/components/appliers/applyImage.d.ts +10 -0
  40. package/dist/components/appliers/applyImage.d.ts.map +1 -0
  41. package/dist/components/appliers/applyImageLayout.d.ts +15 -0
  42. package/dist/components/appliers/applyImageLayout.d.ts.map +1 -0
  43. package/dist/components/appliers/applyLayout.d.ts +15 -0
  44. package/dist/components/appliers/applyLayout.d.ts.map +1 -0
  45. package/dist/components/appliers/applyNineSlice.d.ts +11 -0
  46. package/dist/components/appliers/applyNineSlice.d.ts.map +1 -0
  47. package/dist/components/appliers/applyNineSliceLayout.d.ts +15 -0
  48. package/dist/components/appliers/applyNineSliceLayout.d.ts.map +1 -0
  49. package/dist/components/appliers/applyPhaser.d.ts +22 -0
  50. package/dist/components/appliers/applyPhaser.d.ts.map +1 -0
  51. package/dist/components/appliers/applySprite.d.ts +10 -0
  52. package/dist/components/appliers/applySprite.d.ts.map +1 -0
  53. package/dist/components/appliers/applySpriteLayout.d.ts +14 -0
  54. package/dist/components/appliers/applySpriteLayout.d.ts.map +1 -0
  55. package/dist/components/appliers/applyText.d.ts +25 -0
  56. package/dist/components/appliers/applyText.d.ts.map +1 -0
  57. package/dist/components/appliers/applyTextLayout.d.ts +15 -0
  58. package/dist/components/appliers/applyTextLayout.d.ts.map +1 -0
  59. package/dist/components/appliers/applyTooltip.d.ts +12 -0
  60. package/dist/components/appliers/applyTooltip.d.ts.map +1 -0
  61. package/dist/components/appliers/applyTransform.d.ts +21 -0
  62. package/dist/components/appliers/applyTransform.d.ts.map +1 -0
  63. package/dist/components/creators/createBackground.d.ts +15 -0
  64. package/dist/components/creators/createBackground.d.ts.map +1 -0
  65. package/dist/components/creators/createGestures.d.ts +11 -0
  66. package/dist/components/creators/createGestures.d.ts.map +1 -0
  67. package/dist/components/creators/createGraphicsLayout.d.ts +9 -0
  68. package/dist/components/creators/createGraphicsLayout.d.ts.map +1 -0
  69. package/dist/components/creators/createImageLayout.d.ts +14 -0
  70. package/dist/components/creators/createImageLayout.d.ts.map +1 -0
  71. package/dist/components/creators/createLayout.d.ts +15 -0
  72. package/dist/components/creators/createLayout.d.ts.map +1 -0
  73. package/dist/components/creators/createNineSliceLayout.d.ts +14 -0
  74. package/dist/components/creators/createNineSliceLayout.d.ts.map +1 -0
  75. package/dist/components/creators/createPhaser.d.ts +14 -0
  76. package/dist/components/creators/createPhaser.d.ts.map +1 -0
  77. package/dist/components/creators/createSpriteLayout.d.ts +15 -0
  78. package/dist/components/creators/createSpriteLayout.d.ts.map +1 -0
  79. package/dist/components/creators/createTextLayout.d.ts +14 -0
  80. package/dist/components/creators/createTextLayout.d.ts.map +1 -0
  81. package/dist/components/creators/createTransform.d.ts +11 -0
  82. package/dist/components/creators/createTransform.d.ts.map +1 -0
  83. package/dist/components/custom/Accordion.d.ts +34 -0
  84. package/dist/components/custom/Accordion.d.ts.map +1 -0
  85. package/dist/components/custom/AlertDialog.d.ts +63 -0
  86. package/dist/components/custom/AlertDialog.d.ts.map +1 -0
  87. package/dist/components/custom/Button.d.ts +44 -0
  88. package/dist/components/custom/Button.d.ts.map +1 -0
  89. package/dist/components/custom/CharText/CharText.d.ts +8 -0
  90. package/dist/components/custom/CharText/CharText.d.ts.map +1 -0
  91. package/dist/components/custom/CharText/index.d.ts +3 -0
  92. package/dist/components/custom/CharText/index.d.ts.map +1 -0
  93. package/dist/components/custom/CharText/types.d.ts +117 -0
  94. package/dist/components/custom/CharText/types.d.ts.map +1 -0
  95. package/dist/components/custom/CharText/utils.d.ts +34 -0
  96. package/dist/components/custom/CharText/utils.d.ts.map +1 -0
  97. package/dist/components/custom/CharTextInput.d.ts +62 -0
  98. package/dist/components/custom/CharTextInput.d.ts.map +1 -0
  99. package/dist/components/custom/Dialog.d.ts +60 -0
  100. package/dist/components/custom/Dialog.d.ts.map +1 -0
  101. package/dist/components/custom/Divider.d.ts +21 -0
  102. package/dist/components/custom/Divider.d.ts.map +1 -0
  103. package/dist/components/custom/Dropdown.d.ts +91 -0
  104. package/dist/components/custom/Dropdown.d.ts.map +1 -0
  105. package/dist/components/custom/Icon.d.ts +75 -0
  106. package/dist/components/custom/Icon.d.ts.map +1 -0
  107. package/dist/components/custom/Image.d.ts +50 -0
  108. package/dist/components/custom/Image.d.ts.map +1 -0
  109. package/dist/components/custom/Modal.d.ts +37 -0
  110. package/dist/components/custom/Modal.d.ts.map +1 -0
  111. package/dist/components/custom/NineSlice.d.ts +81 -0
  112. package/dist/components/custom/NineSlice.d.ts.map +1 -0
  113. package/dist/components/custom/NineSliceButton.d.ts +128 -0
  114. package/dist/components/custom/NineSliceButton.d.ts.map +1 -0
  115. package/dist/components/custom/Portal.d.ts +43 -0
  116. package/dist/components/custom/Portal.d.ts.map +1 -0
  117. package/dist/components/custom/Portal.test.d.ts +2 -0
  118. package/dist/components/custom/Portal.test.d.ts.map +1 -0
  119. package/dist/components/custom/RadioButton.d.ts +20 -0
  120. package/dist/components/custom/RadioButton.d.ts.map +1 -0
  121. package/dist/components/custom/RadioGroup.d.ts +33 -0
  122. package/dist/components/custom/RadioGroup.d.ts.map +1 -0
  123. package/dist/components/custom/RefOriginView.d.ts +45 -0
  124. package/dist/components/custom/RefOriginView.d.ts.map +1 -0
  125. package/dist/components/custom/ScrollSlider.d.ts +36 -0
  126. package/dist/components/custom/ScrollSlider.d.ts.map +1 -0
  127. package/dist/components/custom/ScrollView.d.ts +48 -0
  128. package/dist/components/custom/ScrollView.d.ts.map +1 -0
  129. package/dist/components/custom/Sidebar.d.ts +50 -0
  130. package/dist/components/custom/Sidebar.d.ts.map +1 -0
  131. package/dist/components/custom/Slider.d.ts +131 -0
  132. package/dist/components/custom/Slider.d.ts.map +1 -0
  133. package/dist/components/custom/Text.d.ts +26 -0
  134. package/dist/components/custom/Text.d.ts.map +1 -0
  135. package/dist/components/custom/Toggle.d.ts +51 -0
  136. package/dist/components/custom/Toggle.d.ts.map +1 -0
  137. package/dist/components/custom/TransformOriginView.d.ts +34 -0
  138. package/dist/components/custom/TransformOriginView.d.ts.map +1 -0
  139. package/dist/components/custom/View.d.ts +33 -0
  140. package/dist/components/custom/View.d.ts.map +1 -0
  141. package/dist/components/custom/WrapText.d.ts +60 -0
  142. package/dist/components/custom/WrapText.d.ts.map +1 -0
  143. package/dist/components/custom/index.cjs +32 -0
  144. package/dist/components/custom/index.cjs.map +1 -0
  145. package/dist/components/custom/index.d.ts +29 -0
  146. package/dist/components/custom/index.d.ts.map +1 -0
  147. package/dist/components/custom/index.js +32 -0
  148. package/dist/components/custom/index.js.map +1 -0
  149. package/dist/components/index.d.ts +28 -0
  150. package/dist/components/index.d.ts.map +1 -0
  151. package/dist/components/internal/SceneWrapper.d.ts +20 -0
  152. package/dist/components/internal/SceneWrapper.d.ts.map +1 -0
  153. package/dist/components/primitives/graphics.d.ts +40 -0
  154. package/dist/components/primitives/graphics.d.ts.map +1 -0
  155. package/dist/components/primitives/image.d.ts +45 -0
  156. package/dist/components/primitives/image.d.ts.map +1 -0
  157. package/dist/components/primitives/nineslice.d.ts +111 -0
  158. package/dist/components/primitives/nineslice.d.ts.map +1 -0
  159. package/dist/components/primitives/sprite.d.ts +58 -0
  160. package/dist/components/primitives/sprite.d.ts.map +1 -0
  161. package/dist/components/primitives/text.d.ts +26 -0
  162. package/dist/components/primitives/text.d.ts.map +1 -0
  163. package/dist/components/primitives/tilesprite.d.ts +47 -0
  164. package/dist/components/primitives/tilesprite.d.ts.map +1 -0
  165. package/dist/components/primitives/view.d.ts +23 -0
  166. package/dist/components/primitives/view.d.ts.map +1 -0
  167. package/dist/core-props.d.ts +605 -0
  168. package/dist/core-props.d.ts.map +1 -0
  169. package/dist/core-types.d.ts +59 -0
  170. package/dist/core-types.d.ts.map +1 -0
  171. package/dist/design-tokens/design-token-presets.d.ts +26 -0
  172. package/dist/design-tokens/design-token-presets.d.ts.map +1 -0
  173. package/dist/design-tokens/design-token-types.d.ts +109 -0
  174. package/dist/design-tokens/design-token-types.d.ts.map +1 -0
  175. package/dist/design-tokens/index.d.ts +8 -0
  176. package/dist/design-tokens/index.d.ts.map +1 -0
  177. package/dist/design-tokens/use-theme-tokens.d.ts +28 -0
  178. package/dist/design-tokens/use-theme-tokens.d.ts.map +1 -0
  179. package/dist/dev-config.d.ts +238 -0
  180. package/dist/dev-config.d.ts.map +1 -0
  181. package/dist/effects/effect-registry.d.ts +54 -0
  182. package/dist/effects/effect-registry.d.ts.map +1 -0
  183. package/dist/effects/index.d.ts +56 -0
  184. package/dist/effects/index.d.ts.map +1 -0
  185. package/dist/effects/use-effect.d.ts +172 -0
  186. package/dist/effects/use-effect.d.ts.map +1 -0
  187. package/dist/fx/convenience-hooks/index.d.ts +7 -0
  188. package/dist/fx/convenience-hooks/index.d.ts.map +1 -0
  189. package/dist/fx/convenience-hooks/use-blur.d.ts +21 -0
  190. package/dist/fx/convenience-hooks/use-blur.d.ts.map +1 -0
  191. package/dist/fx/convenience-hooks/use-glow.d.ts +21 -0
  192. package/dist/fx/convenience-hooks/use-glow.d.ts.map +1 -0
  193. package/dist/fx/convenience-hooks/use-shadow.d.ts +21 -0
  194. package/dist/fx/convenience-hooks/use-shadow.d.ts.map +1 -0
  195. package/dist/fx/fx-creators/blur.d.ts +37 -0
  196. package/dist/fx/fx-creators/blur.d.ts.map +1 -0
  197. package/dist/fx/fx-creators/color-matrix.d.ts +31 -0
  198. package/dist/fx/fx-creators/color-matrix.d.ts.map +1 -0
  199. package/dist/fx/fx-creators/glow.d.ts +36 -0
  200. package/dist/fx/fx-creators/glow.d.ts.map +1 -0
  201. package/dist/fx/fx-creators/index.d.ts +10 -0
  202. package/dist/fx/fx-creators/index.d.ts.map +1 -0
  203. package/dist/fx/fx-creators/pixelate.d.ts +24 -0
  204. package/dist/fx/fx-creators/pixelate.d.ts.map +1 -0
  205. package/dist/fx/fx-creators/shadow.d.ts +43 -0
  206. package/dist/fx/fx-creators/shadow.d.ts.map +1 -0
  207. package/dist/fx/fx-creators/vignette.d.ts +33 -0
  208. package/dist/fx/fx-creators/vignette.d.ts.map +1 -0
  209. package/dist/fx/fx-registry.d.ts +59 -0
  210. package/dist/fx/fx-registry.d.ts.map +1 -0
  211. package/dist/fx/index.d.ts +51 -0
  212. package/dist/fx/index.d.ts.map +1 -0
  213. package/dist/fx/use-fx.d.ts +53 -0
  214. package/dist/fx/use-fx.d.ts.map +1 -0
  215. package/dist/gestures/gesture-manager.d.ts +149 -0
  216. package/dist/gestures/gesture-manager.d.ts.map +1 -0
  217. package/dist/gestures/gesture-types.d.ts +229 -0
  218. package/dist/gestures/gesture-types.d.ts.map +1 -0
  219. package/dist/hooks-svg.d.ts +104 -0
  220. package/dist/hooks-svg.d.ts.map +1 -0
  221. package/dist/hooks.d.ts +135 -0
  222. package/dist/hooks.d.ts.map +1 -0
  223. package/dist/host.d.ts +74 -0
  224. package/dist/host.d.ts.map +1 -0
  225. package/dist/index.cjs +584 -0
  226. package/dist/index.cjs.map +1 -0
  227. package/dist/index.d.ts +34 -0
  228. package/dist/index.d.ts.map +1 -0
  229. package/dist/index.js +582 -0
  230. package/dist/index.js.map +1 -0
  231. package/dist/jsx-dev-runtime.cjs +10 -0
  232. package/dist/jsx-dev-runtime.cjs.map +1 -0
  233. package/dist/jsx-dev-runtime.d.ts +5 -0
  234. package/dist/jsx-dev-runtime.d.ts.map +1 -0
  235. package/dist/jsx-dev-runtime.js +11 -0
  236. package/dist/jsx-dev-runtime.js.map +1 -0
  237. package/dist/jsx-runtime.cjs +43 -0
  238. package/dist/jsx-runtime.cjs.map +1 -0
  239. package/dist/jsx-runtime.d.ts +25 -0
  240. package/dist/jsx-runtime.d.ts.map +1 -0
  241. package/dist/jsx-runtime.js +43 -0
  242. package/dist/jsx-runtime.js.map +1 -0
  243. package/dist/jsx-types.d.ts +33 -0
  244. package/dist/jsx-types.d.ts.map +1 -0
  245. package/dist/layout/appliers/background-applier.d.ts +16 -0
  246. package/dist/layout/appliers/background-applier.d.ts.map +1 -0
  247. package/dist/layout/appliers/container-applier.d.ts +9 -0
  248. package/dist/layout/appliers/container-applier.d.ts.map +1 -0
  249. package/dist/layout/appliers/position-applier.d.ts +8 -0
  250. package/dist/layout/appliers/position-applier.d.ts.map +1 -0
  251. package/dist/layout/index.d.ts +22 -0
  252. package/dist/layout/index.d.ts.map +1 -0
  253. package/dist/layout/layout-engine-test-utils.d.ts +19 -0
  254. package/dist/layout/layout-engine-test-utils.d.ts.map +1 -0
  255. package/dist/layout/layout-engine.d.ts +98 -0
  256. package/dist/layout/layout-engine.d.ts.map +1 -0
  257. package/dist/layout/strategies/base-strategy.d.ts +59 -0
  258. package/dist/layout/strategies/base-strategy.d.ts.map +1 -0
  259. package/dist/layout/strategies/column-layout.d.ts +38 -0
  260. package/dist/layout/strategies/column-layout.d.ts.map +1 -0
  261. package/dist/layout/strategies/row-layout.d.ts +38 -0
  262. package/dist/layout/strategies/row-layout.d.ts.map +1 -0
  263. package/dist/layout/strategies/stack-layout.d.ts +30 -0
  264. package/dist/layout/strategies/stack-layout.d.ts.map +1 -0
  265. package/dist/layout/types.d.ts +137 -0
  266. package/dist/layout/types.d.ts.map +1 -0
  267. package/dist/layout/utils/child-utils.d.ts +74 -0
  268. package/dist/layout/utils/child-utils.d.ts.map +1 -0
  269. package/dist/layout/utils/dimension-calculator.d.ts +59 -0
  270. package/dist/layout/utils/dimension-calculator.d.ts.map +1 -0
  271. package/dist/layout/utils/flex-distributor.d.ts +18 -0
  272. package/dist/layout/utils/flex-distributor.d.ts.map +1 -0
  273. package/dist/layout/utils/size-resolver.d.ts +84 -0
  274. package/dist/layout/utils/size-resolver.d.ts.map +1 -0
  275. package/dist/layout/utils/spacing-calculator.d.ts +27 -0
  276. package/dist/layout/utils/spacing-calculator.d.ts.map +1 -0
  277. package/dist/memo.d.ts +29 -0
  278. package/dist/memo.d.ts.map +1 -0
  279. package/dist/portal/index.d.ts +6 -0
  280. package/dist/portal/index.d.ts.map +1 -0
  281. package/dist/portal/portal-registry.d.ts +97 -0
  282. package/dist/portal/portal-registry.d.ts.map +1 -0
  283. package/dist/portal/portal-types.d.ts +20 -0
  284. package/dist/portal/portal-types.d.ts.map +1 -0
  285. package/dist/render-context.d.ts +118 -0
  286. package/dist/render-context.d.ts.map +1 -0
  287. package/dist/scripts/generate-icon-loaders.d.ts +2 -0
  288. package/dist/scripts/generate-icon-loaders.d.ts.map +1 -0
  289. package/dist/scripts/generate-icon-loaders.js +195 -0
  290. package/dist/scripts/generate-icon-types.d.ts +2 -0
  291. package/dist/scripts/generate-icon-types.d.ts.map +1 -0
  292. package/dist/scripts/generate-icon-types.js +124 -0
  293. package/dist/scripts/generate-icons.d.ts +37 -0
  294. package/dist/scripts/generate-icons.d.ts.map +1 -0
  295. package/dist/scripts/generate-icons.js +494 -0
  296. package/dist/scripts/icon-generator-config.d.ts +87 -0
  297. package/dist/scripts/icon-generator-config.d.ts.map +1 -0
  298. package/dist/scripts/icon-generator-config.js +6 -0
  299. package/dist/theme-base.d.ts +116 -0
  300. package/dist/theme-base.d.ts.map +1 -0
  301. package/dist/theme-custom.d.ts +262 -0
  302. package/dist/theme-custom.d.ts.map +1 -0
  303. package/dist/theme-defaults.d.ts +6 -0
  304. package/dist/theme-defaults.d.ts.map +1 -0
  305. package/dist/theme.d.ts +132 -0
  306. package/dist/theme.d.ts.map +1 -0
  307. package/dist/tooltip/tooltip-types.d.ts +57 -0
  308. package/dist/tooltip/tooltip-types.d.ts.map +1 -0
  309. package/dist/types.d.ts +34 -0
  310. package/dist/types.d.ts.map +1 -0
  311. package/dist/utils/KeyboardInputManager.d.ts +48 -0
  312. package/dist/utils/KeyboardInputManager.d.ts.map +1 -0
  313. package/dist/utils/dom-input-manager.d.ts +109 -0
  314. package/dist/utils/dom-input-manager.d.ts.map +1 -0
  315. package/dist/utils/svg-texture.d.ts +30 -0
  316. package/dist/utils/svg-texture.d.ts.map +1 -0
  317. package/dist/utils/texture-registry.d.ts +49 -0
  318. package/dist/utils/texture-registry.d.ts.map +1 -0
  319. package/dist/vdom.d.ts +60 -0
  320. package/dist/vdom.d.ts.map +1 -0
  321. package/dist/viewport-context.d.ts +39 -0
  322. package/dist/viewport-context.d.ts.map +1 -0
  323. package/dist/vite-plugin-icons.d.ts +29 -0
  324. package/dist/vite-plugin-icons.d.ts.map +1 -0
  325. package/dist/vite-plugin-icons.js +95 -0
  326. package/package.json +117 -0
@@ -0,0 +1,116 @@
1
+ import { IconProps } from './components/custom';
2
+ import { BackgroundProps, LayoutProps, PhaserProps, TextSpecificProps, TransformProps } from './core-props';
3
+ import { CustomComponentThemes } from './theme-custom';
4
+ /**
5
+ * Type helper for nested component themes
6
+ * Allows a component theme to include nested themes for child components
7
+ * Excludes lowercase primitives to avoid conflicts with prop names
8
+ */
9
+ export type NestedComponentThemes = {
10
+ [K in Exclude<keyof ComponentThemes, 'view' | 'text' | 'nineslice' | 'sprite' | 'image' | 'graphics' | 'tilesprite'>]?: Partial<ComponentThemes[K]>;
11
+ };
12
+ /**
13
+ * Theme definition for View component
14
+ * Includes all visual props that can be themed, plus nested component themes
15
+ */
16
+ export interface ViewTheme extends Partial<TransformProps>, Partial<PhaserProps>, Partial<LayoutProps>, Partial<BackgroundProps>, NestedComponentThemes {
17
+ }
18
+ /**
19
+ * Theme definition for Text component
20
+ * Includes all text-specific visual props that can be themed, plus nested component themes
21
+ */
22
+ export interface TextTheme extends Partial<TransformProps>, Partial<PhaserProps>, Partial<TextSpecificProps>, NestedComponentThemes {
23
+ visible?: boolean | import('./core-props').Display;
24
+ style?: Phaser.Types.GameObjects.Text.TextStyle;
25
+ }
26
+ /**
27
+ * Theme definition for NineSlice component
28
+ */
29
+ export interface NineSliceTheme extends Partial<TransformProps>, Partial<PhaserProps>, NestedComponentThemes {
30
+ visible?: boolean | import('./core-props').Display;
31
+ texture?: string;
32
+ leftWidth?: number;
33
+ rightWidth?: number;
34
+ topHeight?: number;
35
+ bottomHeight?: number;
36
+ }
37
+ /**
38
+ * Theme definition for Sprite component (dummy - minimal theme support)
39
+ */
40
+ export interface SpriteTheme extends Partial<TransformProps>, Partial<PhaserProps>, NestedComponentThemes {
41
+ visible?: boolean | import('./core-props').Display;
42
+ texture?: string;
43
+ tint?: number;
44
+ }
45
+ /**
46
+ * Theme definition for Image component (dummy - minimal theme support)
47
+ */
48
+ export interface ImageTheme extends Partial<TransformProps>, Partial<PhaserProps>, NestedComponentThemes {
49
+ visible?: boolean | import('./core-props').Display;
50
+ texture?: string;
51
+ tint?: number;
52
+ }
53
+ /**
54
+ * Theme definition for Graphics component (dummy - minimal theme support)
55
+ */
56
+ export interface GraphicsTheme extends Partial<TransformProps>, Partial<PhaserProps>, NestedComponentThemes {
57
+ visible?: boolean | import('./core-props').Display;
58
+ }
59
+ /**
60
+ * Theme definition for TileSprite component (dummy - minimal theme support)
61
+ */
62
+ export interface TileSpriteTheme extends Partial<TransformProps>, Partial<PhaserProps>, NestedComponentThemes {
63
+ visible?: boolean | import('./core-props').Display;
64
+ texture?: string;
65
+ tint?: number;
66
+ }
67
+ export interface IconTheme extends Partial<IconProps> {
68
+ }
69
+ /**
70
+ * Built-in component theme definitions
71
+ */
72
+ export interface BuiltInComponentThemes {
73
+ view: ViewTheme;
74
+ text: TextTheme;
75
+ nineslice: NineSliceTheme;
76
+ sprite: SpriteTheme;
77
+ image: ImageTheme;
78
+ graphics: GraphicsTheme;
79
+ tilesprite: TileSpriteTheme;
80
+ View: ViewTheme;
81
+ Text: TextTheme;
82
+ NineSlice: NineSliceTheme;
83
+ Sprite: SpriteTheme;
84
+ Image: ImageTheme;
85
+ Graphics: GraphicsTheme;
86
+ TileSprite: TileSpriteTheme;
87
+ Icon: IconTheme;
88
+ }
89
+ /**
90
+ * Complete theme definition combining built-in and custom components
91
+ */
92
+ export interface ComponentThemes extends BuiltInComponentThemes, CustomComponentThemes {
93
+ }
94
+ export type { CustomComponentThemes };
95
+ /**
96
+ * Partial theme - allows overriding specific component styles
97
+ */
98
+ export type PartialTheme = {
99
+ [K in keyof ComponentThemes]?: Partial<ComponentThemes[K]>;
100
+ } & {
101
+ /** Optional color preset configuration */
102
+ __colorPreset?: {
103
+ name: string;
104
+ mode?: 'light' | 'dark';
105
+ };
106
+ };
107
+ /**
108
+ * Complete theme with all component styles defined
109
+ * Built-in components are required, custom components are optional
110
+ */
111
+ export type Theme = {
112
+ [K in keyof BuiltInComponentThemes]: BuiltInComponentThemes[K];
113
+ } & {
114
+ [K in keyof Omit<ComponentThemes, keyof BuiltInComponentThemes>]?: ComponentThemes[K];
115
+ };
116
+ //# sourceMappingURL=theme-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-base.d.ts","sourceRoot":"","sources":["../src/theme-base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,262 @@
1
+ import { AnimationConfig } from './animation/spring-physics';
2
+ import { ButtonVariant } from './components/custom/Button';
3
+ import { SidebarSize, SidebarVariant } from './components/custom/Sidebar';
4
+ import { NestedComponentThemes, TextTheme, ViewTheme } from './theme-base';
5
+ import { ChildrenType } from './types';
6
+ /**
7
+ * Custom component themes
8
+ */
9
+ export interface CustomComponentThemes {
10
+ RadioButton: {
11
+ selectedColor?: number;
12
+ color?: number;
13
+ labelStyle?: Phaser.Types.GameObjects.Text.TextStyle;
14
+ gap?: number;
15
+ size?: number;
16
+ innerSize?: number;
17
+ } & NestedComponentThemes;
18
+ ScrollSlider: {
19
+ borderColor?: number;
20
+ trackColor?: number;
21
+ thumbColor?: number;
22
+ borderWidth?: number;
23
+ size?: number;
24
+ minThumbSize?: number;
25
+ } & NestedComponentThemes;
26
+ Button: ViewTheme & {
27
+ disabledColor?: number;
28
+ textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
29
+ iconSize?: number;
30
+ primary?: Record<string, unknown>;
31
+ secondary?: Record<string, unknown>;
32
+ outline?: Record<string, unknown>;
33
+ small?: Record<string, unknown>;
34
+ medium?: Record<string, unknown>;
35
+ large?: Record<string, unknown>;
36
+ };
37
+ Sidebar: ViewTheme & {
38
+ variant?: SidebarVariant;
39
+ size?: SidebarSize;
40
+ variants?: Partial<Record<SidebarVariant, ViewTheme>>;
41
+ sizes?: Partial<Record<SidebarSize, ViewTheme>>;
42
+ dividerColor?: number;
43
+ dividerAlpha?: number;
44
+ headerStyle?: ViewTheme;
45
+ footerStyle?: ViewTheme;
46
+ sectionStyle?: ViewTheme & {
47
+ titleStyle?: Phaser.Types.GameObjects.Text.TextStyle;
48
+ };
49
+ itemStyle?: ViewTheme & {
50
+ textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
51
+ active?: ViewTheme;
52
+ disabledAlpha?: number;
53
+ };
54
+ badgeStyle?: ViewTheme & {
55
+ textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
56
+ };
57
+ scrollable?: boolean;
58
+ itemGap?: number;
59
+ sectionGap?: number;
60
+ } & NestedComponentThemes;
61
+ Accordion: ViewTheme & {
62
+ headerStyle?: ViewTheme;
63
+ contentStyle?: ViewTheme;
64
+ textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
65
+ animated?: boolean;
66
+ animationConfig?: AnimationConfig;
67
+ effect?: string;
68
+ effectConfig?: Record<string, unknown>;
69
+ };
70
+ NineSliceButton: ViewTheme & {
71
+ effect?: string;
72
+ effectConfig?: Record<string, unknown>;
73
+ };
74
+ CharText: {
75
+ disabledColor?: number;
76
+ textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
77
+ charSpacing?: number;
78
+ cursorColor?: number;
79
+ cursorWidth?: number;
80
+ cursorBlinkSpeed?: number;
81
+ selectionColor?: number;
82
+ selectionAlpha?: number;
83
+ lineHeight?: number;
84
+ wordWrap?: boolean;
85
+ } & ViewTheme;
86
+ CharTextInput: {
87
+ textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
88
+ charSpacing?: number;
89
+ cursorColor?: number;
90
+ cursorWidth?: number;
91
+ cursorBlinkSpeed?: number;
92
+ selectionColor?: number;
93
+ selectionAlpha?: number;
94
+ lineHeight?: number;
95
+ wordWrap?: boolean;
96
+ focusedBorderColor?: number;
97
+ disabledColor?: number;
98
+ } & ViewTheme;
99
+ Dropdown: ViewTheme & {
100
+ trigger?: ViewTheme;
101
+ triggerHover?: ViewTheme;
102
+ triggerOpen?: ViewTheme;
103
+ triggerDisabled?: ViewTheme;
104
+ arrow?: {
105
+ color?: number;
106
+ size?: number;
107
+ };
108
+ overlay?: ViewTheme & {
109
+ maxHeight?: number;
110
+ };
111
+ option?: ViewTheme;
112
+ optionSelected?: ViewTheme & {
113
+ Text?: TextTheme;
114
+ };
115
+ optionDisabled?: ViewTheme;
116
+ textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
117
+ placeholderStyle?: Phaser.Types.GameObjects.Text.TextStyle;
118
+ filterInput?: ViewTheme & {
119
+ height?: number;
120
+ };
121
+ animationConfig?: AnimationConfig;
122
+ optionGap?: number;
123
+ effect?: string;
124
+ effectConfig?: Record<string, unknown>;
125
+ };
126
+ Slider: ViewTheme & {
127
+ trackColor?: number;
128
+ trackFilledColor?: number;
129
+ trackHeight?: number;
130
+ trackBorderRadius?: number;
131
+ trackLength?: number;
132
+ trackHoverColor?: number;
133
+ thumbColor?: number;
134
+ thumbSize?: number;
135
+ thumbBorderColor?: number;
136
+ thumbBorderWidth?: number;
137
+ thumbHoverColor?: number;
138
+ thumbActiveColor?: number;
139
+ thumbDragScale?: number;
140
+ markColor?: number;
141
+ markHeight?: number;
142
+ markWidth?: number;
143
+ labelStyle?: Phaser.Types.GameObjects.Text.TextStyle;
144
+ labelOffset?: number;
145
+ valueLabel?: {
146
+ backgroundColor?: number;
147
+ textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
148
+ padding?: number | {
149
+ left?: number;
150
+ right?: number;
151
+ top?: number;
152
+ bottom?: number;
153
+ };
154
+ cornerRadius?: number;
155
+ offset?: number;
156
+ };
157
+ minDistance?: number;
158
+ disabledAlpha?: number;
159
+ animated?: boolean;
160
+ animationConfig?: AnimationConfig;
161
+ effect?: string;
162
+ effectConfig?: Record<string, unknown>;
163
+ };
164
+ Toggle: {
165
+ width?: number;
166
+ height?: number;
167
+ thumbSize?: number;
168
+ trackColorOff?: number;
169
+ trackColorOn?: number;
170
+ thumbColor?: number;
171
+ disabledColor?: number;
172
+ padding?: number;
173
+ duration?: number;
174
+ gap?: number;
175
+ labelStyle?: Phaser.Types.GameObjects.Text.TextStyle;
176
+ labelPosition?: 'left' | 'right' | 'none';
177
+ } & NestedComponentThemes;
178
+ Modal: {
179
+ backdropColor?: number;
180
+ backdropOpacity?: number;
181
+ } & NestedComponentThemes;
182
+ Dialog: ViewTheme & {
183
+ showClose?: boolean;
184
+ maxWidth?: number;
185
+ prefix?: ChildrenType;
186
+ closeIcon?: ChildrenType;
187
+ Header?: ViewTheme & {
188
+ gap?: number;
189
+ textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
190
+ closeButton?: {
191
+ size?: number;
192
+ cornerRadius?: number;
193
+ backgroundColor?: number;
194
+ borderColor?: number;
195
+ borderWidth?: number;
196
+ };
197
+ };
198
+ Content?: ViewTheme & {
199
+ gap?: number;
200
+ };
201
+ Actions?: ViewTheme & {
202
+ gap?: number;
203
+ justifyContent?: 'start' | 'center' | 'end' | 'space-between' | 'space-around' | 'space-evenly';
204
+ };
205
+ };
206
+ AlertDialog: {
207
+ maxWidth?: number;
208
+ variants?: {
209
+ info?: {
210
+ prefix?: ChildrenType;
211
+ buttonVariant?: ButtonVariant;
212
+ prefixTint?: number;
213
+ };
214
+ warning?: {
215
+ prefix?: ChildrenType;
216
+ buttonVariant?: ButtonVariant;
217
+ prefixTint?: number;
218
+ };
219
+ destructive?: {
220
+ prefix?: ChildrenType;
221
+ buttonVariant?: ButtonVariant;
222
+ prefixTint?: number;
223
+ };
224
+ success?: {
225
+ prefix?: ChildrenType;
226
+ buttonVariant?: ButtonVariant;
227
+ prefixTint?: number;
228
+ };
229
+ };
230
+ } & NestedComponentThemes;
231
+ WrapText: {
232
+ wrap?: boolean;
233
+ paddingOffset?: number;
234
+ textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
235
+ minWidth?: number;
236
+ } & NestedComponentThemes;
237
+ Tooltip: {
238
+ /** Preferred position */
239
+ position?: 'top' | 'bottom' | 'left' | 'right';
240
+ /** Show delay in ms */
241
+ showDelay?: number;
242
+ /** Hide delay in ms */
243
+ hideDelay?: number;
244
+ /** Offset from target */
245
+ offset?: number;
246
+ /** Text style */
247
+ textStyle?: Phaser.Types.GameObjects.Text.TextStyle;
248
+ /** Background corner radius */
249
+ cornerRadius?: number;
250
+ /** Default animation config */
251
+ animation?: {
252
+ fadeIn?: number;
253
+ fadeOut?: number;
254
+ move?: {
255
+ dx?: number;
256
+ dy?: number;
257
+ };
258
+ pulse?: boolean;
259
+ };
260
+ } & NestedComponentThemes;
261
+ }
262
+ //# sourceMappingURL=theme-custom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-custom.d.ts","sourceRoot":"","sources":["../src/theme-custom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Theme } from './theme-base';
2
+ /**
3
+ * Default theme values for all built-in and custom components
4
+ */
5
+ export declare const defaultTheme: Theme;
6
+ //# sourceMappingURL=theme-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-defaults.d.ts","sourceRoot":"","sources":["../src/theme-defaults.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,gBAAgB,CAAA;AAOvB;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAwc1B,CAAA"}
@@ -0,0 +1,132 @@
1
+ import { ColorTokens } from './colors';
2
+ import { ComponentThemes, PartialTheme, Theme } from './theme-base';
3
+ import { defaultTheme } from './theme-defaults';
4
+ export type { BuiltInComponentThemes, ComponentThemes, CustomComponentThemes, GraphicsTheme, ImageTheme, NestedComponentThemes, NineSliceTheme, PartialTheme, SpriteTheme, TextTheme, Theme, TileSpriteTheme, ViewTheme, } from './theme-base';
5
+ export { defaultTheme };
6
+ /**
7
+ * Global theme registry
8
+ * Stores the current global theme and custom component themes
9
+ */
10
+ declare class ThemeRegistry {
11
+ private globalTheme;
12
+ private customThemes;
13
+ private colorTokens;
14
+ private colorMode;
15
+ private currentPresetName;
16
+ private listeners;
17
+ /**
18
+ * Get the complete global theme
19
+ */
20
+ getGlobalTheme(): Readonly<Theme>;
21
+ /**
22
+ * Update global theme (deep merge)
23
+ * @param theme - Partial theme to merge with current global theme
24
+ */
25
+ updateGlobalTheme(theme: PartialTheme): void;
26
+ /**
27
+ * Set the entire global theme (replaces current theme)
28
+ * @param theme - Complete theme to set
29
+ */
30
+ setGlobalTheme(theme: Theme): void;
31
+ /**
32
+ * Reset global theme to default values
33
+ */
34
+ resetGlobalTheme(): void;
35
+ /**
36
+ * Register a custom component theme
37
+ * @param componentName - Name of the custom component
38
+ * @param defaultStyles - Default styles for the component
39
+ */
40
+ registerCustomComponent<T extends Record<string, unknown>>(componentName: string, defaultStyles: T): void;
41
+ /**
42
+ * Get theme for a specific component
43
+ * @param componentName - Component name
44
+ * @returns Theme for the component
45
+ */
46
+ getComponentTheme<K extends keyof ComponentThemes>(componentName: K): ComponentThemes[K];
47
+ /**
48
+ * Get all registered custom component names
49
+ * @returns Set of custom component names
50
+ */
51
+ getCustomComponentNames(): Set<string>;
52
+ /**
53
+ * Set color tokens for the global theme
54
+ * @param colors - ColorTokens to use globally
55
+ */
56
+ setColorTokens(colors: ColorTokens | undefined): void;
57
+ /**
58
+ * Get current color tokens
59
+ * @returns Current ColorTokens or undefined
60
+ */
61
+ getColorTokens(): ColorTokens | undefined;
62
+ /**
63
+ * Get current color mode
64
+ * @returns Current color mode
65
+ */
66
+ getColorMode(): 'light' | 'dark';
67
+ /**
68
+ * Set color mode and notify listeners
69
+ * Updates color tokens if a preset is active
70
+ * @param mode - Color mode to set
71
+ */
72
+ setColorMode(mode: 'light' | 'dark'): void;
73
+ /**
74
+ * Get current preset name
75
+ * @returns Current preset name or undefined
76
+ */
77
+ getCurrentPresetName(): string | undefined;
78
+ /**
79
+ * Set current preset name
80
+ * @param name - Preset name
81
+ */
82
+ setCurrentPresetName(name: string | undefined): void;
83
+ /**
84
+ * Subscribe to theme changes
85
+ * @param listener - Callback to invoke on theme change
86
+ * @returns Unsubscribe function
87
+ */
88
+ subscribe(listener: () => void): () => void;
89
+ /**
90
+ * Notify all listeners of theme change
91
+ */
92
+ private notifyListeners;
93
+ }
94
+ /**
95
+ * Global theme registry instance
96
+ */
97
+ export declare const themeRegistry: ThemeRegistry;
98
+ /**
99
+ * Deep merge two theme objects
100
+ * @param base - Base theme
101
+ * @param override - Override theme
102
+ * @returns Merged theme
103
+ */
104
+ export declare function mergeThemes(base: PartialTheme, override: PartialTheme): PartialTheme;
105
+ /**
106
+ * Helper to create a partial theme with type safety
107
+ * Optionally accepts a color preset to automatically populate color tokens
108
+ * @param theme - Partial theme definition
109
+ * @param colorPreset - Optional color preset to apply
110
+ * @returns The same theme (for type checking)
111
+ * @example
112
+ * ```typescript
113
+ * import { getPreset } from './colors'
114
+ *
115
+ * const preset = getPreset('oceanBlue')
116
+ * const theme = createTheme({
117
+ * Button: {
118
+ * backgroundColor: preset.colors.primary.DEFAULT
119
+ * }
120
+ * }, preset)
121
+ * ```
122
+ */
123
+ export declare function createTheme(theme: PartialTheme, colorPreset?: {
124
+ name: string;
125
+ colors: ColorTokens;
126
+ mode?: 'light' | 'dark';
127
+ }): PartialTheme;
128
+ export declare function getThemedProps<K extends keyof ComponentThemes, P extends Partial<ComponentThemes[K]>>(componentName: K, localTheme: PartialTheme | undefined, explicitProps: P): {
129
+ props: ComponentThemes[K] & P;
130
+ nestedTheme: PartialTheme;
131
+ };
132
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAG3C,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACxE,OAAO,gBAAgB,CAAA;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAG/C,YAAY,EACV,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,SAAS,EACT,KAAK,EACL,eAAe,EACf,SAAS,GACV,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,YAAY,EAAE,CAAA;AAEvB;;;GAGG;AACH,cAAM,aAAa;IACjB,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,YAAY,CAAkD;IACtE,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,iBAAiB,CAAgC;IACzD,OAAO,CAAC,SAAS,CAA6B;IAE9C;;OAEG;IACH,cAAc,IAAI,QAAQ,CAAC,KAAK,CAAC;IAIjC;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAoB5C;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAIlC;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAKxB;;;;OAIG;IACH,uBAAuB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvD,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,CAAC,GACf,IAAI;IAIP;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,aAAa,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAQxF;;;OAGG;IACH,uBAAuB,IAAI,GAAG,CAAC,MAAM,CAAC;IAItC;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI;IAIrD;;;OAGG;IACH,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC;;;OAGG;IACH,YAAY,IAAI,OAAO,GAAG,MAAM;IAIhC;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAc1C;;;OAGG;IACH,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAI1C;;;OAGG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAOpD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAO3C;;OAEG;IACH,OAAO,CAAC,eAAe;CAGxB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,eAAsB,CAAA;AAEhD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,YAAY,CAepF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,YAAY,EACnB,WAAW,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,GAC3E,YAAY,CAgBd;AAqED,wBAAgB,cAAc,CAC5B,CAAC,SAAS,MAAM,eAAe,EAC/B,CAAC,SAAS,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAErC,aAAa,EAAE,CAAC,EAChB,UAAU,EAAE,YAAY,GAAG,SAAS,EACpC,aAAa,EAAE,CAAC,GACf;IAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAAC,WAAW,EAAE,YAAY,CAAA;CAAE,CA+C9D"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Tooltip system types
3
+ * Provides tooltip configuration for any component via onTooltip callback
4
+ */
5
+ /**
6
+ * Tooltip position relative to target element
7
+ */
8
+ export type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';
9
+ /**
10
+ * Native Phaser animation configuration for tooltips
11
+ */
12
+ export interface TooltipNativeAnimation {
13
+ /** Fade in duration in ms (default: 200) */
14
+ fadeIn?: number;
15
+ /** Fade out duration in ms (default: 200) */
16
+ fadeOut?: number;
17
+ /** Move animation offset in pixels (default: { dx: 0, dy: 0 }) */
18
+ move?: {
19
+ dx?: number;
20
+ dy?: number;
21
+ };
22
+ /** Pulse/scale animation (default: false) */
23
+ pulse?: boolean;
24
+ /** Scale range for pulse [from, to] (default: [0.75, 1.25]) */
25
+ pulseScale?: [number, number];
26
+ }
27
+ /**
28
+ * Tooltip configuration returned by onTooltip callback
29
+ * Can be a simple string or full configuration object
30
+ * Always renders as native Phaser text with animations (text only, no JSX)
31
+ */
32
+ export interface TooltipConfig {
33
+ /** Tooltip content (text only) */
34
+ content: string;
35
+ /** Preferred position (auto-adjusted if out of bounds) */
36
+ position?: TooltipPosition;
37
+ /** Delay before showing tooltip in ms */
38
+ showDelay?: number;
39
+ /** Delay before hiding tooltip in ms */
40
+ hideDelay?: number;
41
+ /** Offset from target in pixels */
42
+ offset?: number;
43
+ /** Disabled state (tooltip won't show) */
44
+ disabled?: boolean;
45
+ /** Auto-dismiss after duration in ms (independent of hover, 0 = no auto-dismiss) */
46
+ autoDismiss?: number;
47
+ /** Animation configuration */
48
+ animation?: TooltipNativeAnimation;
49
+ }
50
+ /**
51
+ * Tooltip callback function
52
+ * Called when hover starts to determine tooltip configuration
53
+ * Return null/undefined to disable tooltip
54
+ * Return string as shortcut for { content: string }
55
+ */
56
+ export type TooltipCallback = () => TooltipConfig | string | null | undefined;
57
+ //# sourceMappingURL=tooltip-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip-types.d.ts","sourceRoot":"","sources":["../../src/tooltip/tooltip-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAEjE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kEAAkE;IAClE,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACnC,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,+DAA+D;IAC/D,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAA;IAEf,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,eAAe,CAAA;IAE1B,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,sBAAsB,CAAA;CACnC;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,aAAa,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA"}
@@ -0,0 +1,34 @@
1
+ import { default as Phaser } from 'phaser';
2
+ import { VNode } from './hooks';
3
+ import { PartialTheme } from './theme';
4
+ export type SignalLike<T> = {
5
+ value: T;
6
+ } | T;
7
+ /**
8
+ * Type for parent objects that can contain children
9
+ */
10
+ export type ParentType = Phaser.Scene | Phaser.GameObjects.Container;
11
+ /**
12
+ * Ref callback that receives the underlying Phaser object instance
13
+ */
14
+ export type RefCallback<T> = (instance: T | null) => void;
15
+ /**
16
+ * Ref object that holds a reference to the underlying Phaser object
17
+ */
18
+ export interface RefObject<T> {
19
+ current: T | null;
20
+ }
21
+ /**
22
+ * Ref type - can be either a callback or an object
23
+ */
24
+ export type Ref<T> = RefCallback<T> | RefObject<T>;
25
+ export interface PropsDefaultExtension<T = unknown> {
26
+ key?: string | number | undefined;
27
+ ref?: Ref<T> | undefined;
28
+ theme?: PartialTheme | undefined;
29
+ }
30
+ export type ChildrenType = VNode | VNode[] | null | undefined;
31
+ export interface PropsContainerExtension {
32
+ children?: ChildrenType;
33
+ }
34
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG,CAAC,CAAA;AAE5C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAA;AAEpE;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAA;AAEzD;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;AAElD,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,OAAO;IAChD,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACjC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACxB,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;CACjC;AAED,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,KAAK,EAAE,GAAG,IAAI,GAAG,SAAS,CAAA;AAE7D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,YAAY,CAAA;CACxB"}