@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,605 @@
1
+ import { FocusEventData, GestureEventData, InputEventData, KeyboardEventData, TouchMoveState, WheelEventData } from './gestures/gesture-types';
2
+ export type { FocusEventData, GestureEventData, InputEventData, KeyboardEventData, TouchMoveState, WheelEventData, };
3
+ /**
4
+ * Valid CSS-like size values with type safety
5
+ * - Fixed pixels: number or "20px"
6
+ * - Percentage: "50%", "100%"
7
+ * - Viewport units: "100vw", "50vh"
8
+ * - Keywords: "auto", "fill"
9
+ * - Calc expressions: "calc(100% - 20px)"
10
+ */
11
+ export type SizeValue = number | 'auto' | 'fill' | `${number}%` | `${number}px` | `${number}vw` | `${number}vh` | `calc(${string})`;
12
+ /**
13
+ * Flex basis size values (subset of SizeValue, no "fill" keyword)
14
+ * - Fixed pixels: number or "20px"
15
+ * - Percentage: "50%", "100%"
16
+ * - Viewport units: "100vw", "50vh"
17
+ * - Keyword: "auto"
18
+ * - Calc expressions: "calc(50% + 10px)"
19
+ */
20
+ export type FlexBasisValue = number | 'auto' | `${number}%` | `${number}px` | `${number}vw` | `${number}vh` | `calc(${string})`;
21
+ /**
22
+ * Display mode for visibility control
23
+ * - 'visible': Rendered and takes up layout space (default)
24
+ * - 'invisible': Not rendered but takes up layout space (like CSS visibility: hidden)
25
+ * - 'none': Not rendered and does not take up layout space (like CSS display: none)
26
+ */
27
+ export type Display = 'visible' | 'invisible' | 'none';
28
+ /**
29
+ * Transform properties - geometric transformations (position, rotation, scale)
30
+ */
31
+ export interface TransformProps {
32
+ x?: number;
33
+ y?: number;
34
+ rotation?: number;
35
+ scale?: number;
36
+ scaleX?: number;
37
+ scaleY?: number;
38
+ }
39
+ /**
40
+ * Phaser GameObject display properties - rendering and display list API
41
+ */
42
+ export interface PhaserProps {
43
+ /**
44
+ * Alpha transparency of the game object
45
+ * - 0: Fully transparent
46
+ * - 1: Fully opaque
47
+ */
48
+ alpha?: number;
49
+ /**
50
+ * Depth (Z-index) of the game object in the display list
51
+ * Higher values are rendered on top of lower values
52
+ * Allows manual control over rendering order independent of child array order
53
+ *
54
+ * @example
55
+ * // Layer system in stack layout
56
+ * <View direction="stack">
57
+ * <View depth={1}>Background</View>
58
+ * <View depth={2}>Content</View>
59
+ * <View depth={3}>Overlay</View>
60
+ * </View>
61
+ */
62
+ depth?: number;
63
+ /**
64
+ * Callback invoked when GameObject is created and fully initialized
65
+ * Useful for accessing GameObject properties (dimensions, bounds, etc.)
66
+ * without needing useRef
67
+ *
68
+ * @param node - The created Phaser GameObject
69
+ *
70
+ * @example
71
+ * // Display image dimensions
72
+ * <Image
73
+ * texture="icon"
74
+ * onReady={(img) => console.log(`${img.width}x${img.height}`)}
75
+ * />
76
+ *
77
+ * // Access View bounds
78
+ * <View
79
+ * width={200}
80
+ * height={100}
81
+ * onReady={(view) => console.log(view.getBounds())}
82
+ * />
83
+ */
84
+ onReady?: (node: Phaser.GameObjects.GameObject) => void;
85
+ /**
86
+ * Tooltip configuration callback (desktop/mouse only)
87
+ * Called when hover starts to determine tooltip configuration
88
+ * Return null/undefined to disable tooltip
89
+ * Return string as shortcut for { content: string }
90
+ *
91
+ * Note: Tooltips only work on desktop/mouse devices, not on touch devices (iPhone, iPad)
92
+ *
93
+ * @returns Tooltip configuration, string, or null to disable
94
+ *
95
+ * @example
96
+ * // Simple text tooltip
97
+ * <Button onTooltip={() => "Click to delete"} />
98
+ *
99
+ * // With i18n/translation
100
+ * <Button onTooltip={() => t('buttons.delete')} />
101
+ *
102
+ * // Conditional tooltip
103
+ * <Button onTooltip={() => isAdmin ? "Admin action" : null} />
104
+ *
105
+ * // Full configuration
106
+ * <Button onTooltip={() => ({
107
+ * content: "Delete item",
108
+ * position: "top",
109
+ * showDelay: 100
110
+ * })} />
111
+ *
112
+ * // From repository/API
113
+ * <Button onTooltip={() => tooltipRepo.get('delete-btn')} />
114
+ */
115
+ onTooltip?: import('./tooltip/tooltip-types').TooltipCallback;
116
+ }
117
+ /**
118
+ * Edge insets for margins and padding
119
+ */
120
+ export interface EdgeInsets {
121
+ top?: number;
122
+ right?: number;
123
+ bottom?: number;
124
+ left?: number;
125
+ }
126
+ /**
127
+ * Gap insets for horizontal and vertical gaps
128
+ */
129
+ export interface GapInsets {
130
+ horizontal?: number;
131
+ vertical?: number;
132
+ }
133
+ /**
134
+ * Corner radius specification
135
+ */
136
+ export interface CornerRadiusInsets {
137
+ tl?: number;
138
+ tr?: number;
139
+ bl?: number;
140
+ br?: number;
141
+ }
142
+ /**
143
+ * Normalize edge insets - converts number to all-sides object
144
+ * @param value - Number (all sides) or edge insets object
145
+ * @returns Normalized EdgeInsets object
146
+ */
147
+ export declare function normalizeEdgeInsets(value: number | EdgeInsets | undefined): EdgeInsets;
148
+ /**
149
+ * Normalize corner radius - converts number to all-corners object
150
+ * @param value - Number (all corners) or corner radius object
151
+ * @returns Normalized CornerRadiusInsets object or number
152
+ */
153
+ export declare function normalizeCornerRadius(value: number | CornerRadiusInsets | undefined): number | CornerRadiusInsets;
154
+ /**
155
+ * Normalize gap values - converts number to GapInsets object
156
+ * @param value - Number (uniform gap) or gap insets object
157
+ * @returns Normalized GapInsets object with horizontal and vertical values
158
+ */
159
+ export declare function normalizeGap(value: number | GapInsets | undefined): {
160
+ horizontal: number;
161
+ vertical: number;
162
+ };
163
+ /**
164
+ * Layout properties - sizing, spacing, and layout participation
165
+ */
166
+ export interface LayoutProps {
167
+ /**
168
+ * Visibility and layout participation
169
+ * - true / 'visible': Rendered and takes layout space (default)
170
+ * - false / 'invisible': Not rendered but takes layout space (like CSS visibility: hidden)
171
+ * - 'none': Not rendered and no layout space (like CSS display: none)
172
+ *
173
+ * @example
174
+ * <View visible={true}>Always visible</View>
175
+ * <View visible={false}>Hidden but occupies space</View>
176
+ * <View visible="none">Hidden and no space</View>
177
+ */
178
+ visible?: boolean | Display;
179
+ /**
180
+ * If true, object is rendered but excluded from layout calculations
181
+ * Use for decorative elements, sprites, particles, or absolute-positioned objects
182
+ * - true: Object is visual-only, doesn't affect parent/sibling layout
183
+ * - false/undefined: Object participates in layout (default for UI elements)
184
+ *
185
+ * @example
186
+ * // Decorative sprite that doesn't affect layout
187
+ * <Sprite texture="particle" headless={true} />
188
+ *
189
+ * // Text that participates in layout
190
+ * <Text text="Label" headless={false} />
191
+ */
192
+ headless?: boolean;
193
+ /**
194
+ * Width of the container
195
+ * - number: Fixed width in pixels (e.g., 200)
196
+ * - Percentage: "50%", "100%"
197
+ * - Viewport: "100vw"
198
+ * - Keywords: "auto", "fill"
199
+ * - Calc: "calc(100% - 20px)"
200
+ * - undefined: Auto - size to content
201
+ *
202
+ * @example
203
+ * width={200} // 200px fixed width
204
+ * width="75%" // 75% of parent width
205
+ * width="100vw" // 100% of viewport width
206
+ * width="fill" // Fill available space
207
+ * width="calc(50% + 10px)" // Calculated width
208
+ * width={undefined} // Auto-size to content
209
+ */
210
+ width?: SizeValue | undefined;
211
+ /**
212
+ * Height of the container
213
+ * - number: Fixed height in pixels (e.g., 100)
214
+ * - Percentage: "50%", "100%"
215
+ * - Viewport: "100vh"
216
+ * - Keywords: "auto", "fill"
217
+ * - Calc: "calc(100vh - 50px)"
218
+ * - undefined: Auto - size to content
219
+ *
220
+ * @example
221
+ * height={100} // 100px fixed height
222
+ * height="50%" // 50% of parent height
223
+ * height="100vh" // 100% of viewport height
224
+ * height="fill" // Fill available space
225
+ * height="calc(100% - 20px)" // Calculated height
226
+ * height={undefined} // Auto-size to content
227
+ */
228
+ height?: SizeValue | undefined;
229
+ /**
230
+ * Minimum width constraint
231
+ * Prevents element from shrinking below this size
232
+ * Works with flex, percentages, and auto sizing
233
+ * Supports all SizeValue formats (pixels, percentage, viewport units, calc)
234
+ *
235
+ * @example
236
+ * // Fixed minimum
237
+ * <View flex={1} minWidth={200}>Sidebar</View>
238
+ *
239
+ * // Percentage of parent
240
+ * <View width="100%" minWidth="20%" maxWidth="80%">Flexible</View>
241
+ *
242
+ * // Viewport-based
243
+ * <View flex={1} minWidth="200px">Responsive sidebar</View>
244
+ *
245
+ * // Calc expression
246
+ * <View width="100%" minWidth="calc(50% - 20px)">Dynamic</View>
247
+ */
248
+ minWidth?: SizeValue | undefined;
249
+ /**
250
+ * Minimum height constraint
251
+ * Prevents element from shrinking below this size
252
+ * Works with flex, percentages, and auto sizing
253
+ * Supports all SizeValue formats (pixels, percentage, viewport units, calc)
254
+ *
255
+ * @example
256
+ * // Fixed minimum
257
+ * <View height="auto" minHeight={100}>
258
+ * <Text text={dynamicContent} />
259
+ * </View>
260
+ *
261
+ * // Percentage of parent
262
+ * <View height="100%" minHeight="30%">Flexible height</View>
263
+ *
264
+ * // Viewport-based
265
+ * <View flex={1} minHeight="50vh">Half viewport min</View>
266
+ */
267
+ minHeight?: SizeValue | undefined;
268
+ /**
269
+ * Maximum width constraint
270
+ * Prevents element from growing beyond this size
271
+ * Works with flex, percentages, and auto sizing
272
+ * Supports all SizeValue formats (pixels, percentage, viewport units, calc)
273
+ *
274
+ * @example
275
+ * // Fixed maximum
276
+ * <View flex={1} maxWidth={800}>
277
+ * <Text text="Long content..." />
278
+ * </View>
279
+ *
280
+ * // Percentage of parent
281
+ * <View width="100%" maxWidth="80%">Responsive</View>
282
+ *
283
+ * // Viewport-based
284
+ * <View flex={1} maxWidth="90vw">Full width modal</View>
285
+ */
286
+ maxWidth?: SizeValue | undefined;
287
+ /**
288
+ * Maximum height constraint
289
+ * Prevents element from growing beyond this size
290
+ * Works with flex, percentages, and auto sizing
291
+ * Supports all SizeValue formats (pixels, percentage, viewport units, calc)
292
+ *
293
+ * @example
294
+ * // Fixed maximum
295
+ * <Image texture="photo" width="100%" maxHeight={400} />
296
+ *
297
+ * // Percentage of parent
298
+ * <View height="100%" maxHeight="80%">Constrained</View>
299
+ *
300
+ * // Viewport-based
301
+ * <View flex={1} maxHeight="80vh">Scrollable content</View>
302
+ */
303
+ maxHeight?: SizeValue | undefined;
304
+ /**
305
+ * * Margin outside the container
306
+ * - number: Uniform margin on all sides
307
+ * - EdgeInsets: Individual margin per side
308
+ * - undefined: No margin
309
+ */
310
+ margin?: number | EdgeInsets | undefined;
311
+ /**
312
+ * Padding inside the container
313
+ * - number: Uniform padding on all sides
314
+ * - EdgeInsets: Individual padding per side
315
+ * - undefined: No padding
316
+ */
317
+ padding?: number | EdgeInsets | undefined;
318
+ /**
319
+ * Layout direction for children
320
+ * - 'column': Stack children vertically (default, like SwiftUI's VStack)
321
+ * - 'row': Stack children horizontally (like SwiftUI's HStack)
322
+ * - 'stack': Overlay children at the same position (like SwiftUI's ZStack)
323
+ */
324
+ direction?: 'row' | 'column' | 'stack';
325
+ /**
326
+ * Gap between children
327
+ * - number: Uniform gap between all children
328
+ * - GapInsets: Separate horizontal and vertical gaps
329
+ * Applied between each child along the main axis (or both axes for GapInsets)
330
+ */
331
+ gap?: number | GapInsets | undefined;
332
+ /**
333
+ * Main axis alignment (along direction)
334
+ * - 'start': Align children to start (top for column, left for row)
335
+ * - 'center': Center children along main axis
336
+ * - 'end': Align children to end (bottom for column, right for row)
337
+ * - 'space-between': Distribute children evenly, first at start, last at end
338
+ * - 'space-around': Distribute children evenly with space around each
339
+ * - 'space-evenly': Distribute children with equal space between and around
340
+ */
341
+ justifyContent?: 'start' | 'center' | 'end' | 'space-between' | 'space-around' | 'space-evenly';
342
+ /**
343
+ * Cross axis alignment (perpendicular to direction)
344
+ * - 'start': Align to start (left for column, top for row)
345
+ * - 'center': Center along cross axis
346
+ * - 'end': Align to end (right for column, bottom for row)
347
+ * - 'stretch': Stretch children to fill cross axis (requires fixed container size)
348
+ */
349
+ alignItems?: 'start' | 'center' | 'end' | 'stretch';
350
+ /**
351
+ * Flex grow factor - how much of the remaining space this element should take
352
+ * Similar to CSS flexbox flex-grow
353
+ * - 0: Don't grow, use explicit width/height
354
+ * - 1: Take equal share of remaining space
355
+ * - 2+: Take proportionally more space
356
+ *
357
+ * @example
358
+ * // Sidebar fixed, main content fills rest
359
+ * <View direction="row">
360
+ * <View width={200}>Sidebar</View>
361
+ * <View flex={1}>Main</View>
362
+ * </View>
363
+ *
364
+ * // Two columns, second twice as wide
365
+ * <View direction="row">
366
+ * <View flex={1}>Col 1</View>
367
+ * <View flex={2}>Col 2</View>
368
+ * </View>
369
+ */
370
+ flex?: number;
371
+ /**
372
+ * Flex shrink factor - how much this element should shrink when space is limited
373
+ * Similar to CSS flexbox flex-shrink
374
+ * - 0: Don't shrink, maintain size even if container overflows
375
+ * - 1: Shrink proportionally with other flex items (default)
376
+ * - 2+: Shrink more than other items proportionally
377
+ *
378
+ * @example
379
+ * // Text that can shrink, icon that stays fixed
380
+ * <View direction="row" width={150}>
381
+ * <View width={50} flexShrink={0}>Icon</View>
382
+ * <View flex={1} flexShrink={1}>Long Text...</View>
383
+ * </View>
384
+ *
385
+ * // Two items, second shrinks twice as fast
386
+ * <View direction="row" width={100}>
387
+ * <View width={80} flexShrink={1}>Item 1</View>
388
+ * <View width={80} flexShrink={2}>Item 2</View>
389
+ * </View>
390
+ */
391
+ flexShrink?: number;
392
+ /**
393
+ * Flex basis - initial size before flex distribution
394
+ * Similar to CSS flexbox flex-basis
395
+ * - number: Fixed initial size in pixels
396
+ * - Percentage: "50%", "100%"
397
+ * - Viewport: "100vw", "50vh"
398
+ * - Keyword: "auto"
399
+ * - Calc: "calc(50% + 10px)"
400
+ * - undefined: Use width/height as basis
401
+ *
402
+ * Defines the starting size before flexGrow/flexShrink is applied
403
+ * Overrides width/height when flex is used
404
+ *
405
+ * @example
406
+ * // Item starts at 200px, then grows with flex
407
+ * <View flex={1} flexBasis={200}>Content</View>
408
+ *
409
+ * // Item starts at 50% of parent, then shrinks if needed
410
+ * <View flexBasis="50%" flexShrink={1}>Content</View>
411
+ *
412
+ * // Auto basis - uses content size
413
+ * <View flex={1} flexBasis="auto">Content</View>
414
+ *
415
+ * // Calc basis
416
+ * <View flex={1} flexBasis="calc(100% / 3)">Content</View>
417
+ */
418
+ flexBasis?: FlexBasisValue | undefined;
419
+ /**
420
+ * Controls how content that overflows the container bounds is displayed
421
+ * - 'visible': Content can overflow container bounds (default)
422
+ * - 'hidden': Content is clipped to container bounds using Phaser mask
423
+ *
424
+ * @example
425
+ * <View width={100} height={50} overflow="hidden">
426
+ * <Text text="This long text will be clipped" />
427
+ * </View>
428
+ */
429
+ overflow?: 'visible' | 'hidden';
430
+ /**
431
+ * Controls wrapping behavior for flex layouts
432
+ * - 'nowrap': All items in single line (default, current behavior)
433
+ * - 'wrap': Items wrap to new line/column when space exhausted
434
+ * - 'wrap-reverse': Items wrap in reverse order
435
+ *
436
+ * Only applies to 'row' and 'column' directions, ignored for 'stack'
437
+ * When wrapping, flex distribution is calculated per line
438
+ *
439
+ * @example
440
+ * // Auto-wrap grid with 100px items
441
+ * <View direction="row" flexWrap="wrap" gap={10} width={400}>
442
+ * {items.map(item => <Card width={100} />)}
443
+ * </View>
444
+ *
445
+ * // Responsive card grid
446
+ * <View direction="row" flexWrap="wrap" gap={15}>
447
+ * {cards.map(card => <View minWidth={180} flex={1}>{card}</View>)}
448
+ * </View>
449
+ */
450
+ flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
451
+ /**
452
+ * Alignment of wrapped lines in multi-line flex container
453
+ * Only applies when flexWrap !== 'nowrap' and there are multiple lines
454
+ * Controls distribution of lines along cross axis (perpendicular to direction)
455
+ *
456
+ * - 'start': Pack lines to start (top for row, left for column)
457
+ * - 'center': Center lines in container
458
+ * - 'end': Pack lines to end (bottom for row, right for column)
459
+ * - 'space-between': First line at start, last at end, equal space between
460
+ * - 'space-around': Equal space around each line
461
+ * - 'stretch': Lines stretch to fill cross axis (default)
462
+ *
463
+ * Difference from alignItems:
464
+ * - alignItems: Aligns items within each line
465
+ * - alignContent: Aligns the lines themselves within container
466
+ *
467
+ * @example
468
+ * ```tsx
469
+ * // Grid with lines distributed vertically
470
+ * <View
471
+ * direction="row"
472
+ * flexWrap="wrap"
473
+ * alignContent="space-between"
474
+ * height={400}
475
+ * >
476
+ * {items}
477
+ * </View>
478
+ * ```
479
+ */
480
+ alignContent?: 'start' | 'center' | 'end' | 'space-between' | 'space-around' | 'stretch';
481
+ }
482
+ /**
483
+ * Background styling properties
484
+ */
485
+ export interface BackgroundProps {
486
+ backgroundColor?: number | undefined;
487
+ backgroundAlpha?: number | undefined;
488
+ cornerRadius?: number | CornerRadiusInsets | undefined;
489
+ borderWidth?: number | undefined;
490
+ borderColor?: number | undefined;
491
+ borderAlpha?: number;
492
+ }
493
+ /**
494
+ * Text-specific styling properties
495
+ */
496
+ export interface TextSpecificProps {
497
+ text: string | undefined;
498
+ /**
499
+ * Maximum width for text wrapping
500
+ * Supports all SizeValue formats (pixels, percentage, viewport units, calc)
501
+ */
502
+ maxWidth?: SizeValue;
503
+ }
504
+ /**
505
+ * High-level gesture props - unified touch and mouse interaction
506
+ * These provide cross-platform gesture detection with transparent mouse/touch support
507
+ */
508
+ export interface GestureProps {
509
+ /**
510
+ * Enable gesture system for this container
511
+ * Must be true to receive any gesture events
512
+ * Default: false (no overhead for non-interactive containers)
513
+ */
514
+ enableGestures?: boolean;
515
+ /**
516
+ * Called on pointer down + up on the same target (click/tap)
517
+ * Works for both mouse click and touch tap
518
+ * Only fires if touch duration is within maxTouchDuration
519
+ */
520
+ onTouch?: (data: GestureEventData) => void;
521
+ /**
522
+ * Called when pointer up occurs outside the container
523
+ * Useful for click-outside detection (dropdowns, modals, tooltips)
524
+ * Only fires if touch duration is within maxTouchDuration
525
+ * Requires enableGestures: true
526
+ */
527
+ onTouchOutside?: (data: GestureEventData) => void;
528
+ /**
529
+ * Called during pointer movement - continues even when outside bounds
530
+ * Provides dx/dy deltas for tracking drag operations
531
+ * Includes isInside flag and state ('start' | 'move' | 'end')
532
+ * Requires enableGestures: true
533
+ */
534
+ onTouchMove?: (data: GestureEventData) => void;
535
+ /**
536
+ * Called when double tap/click is detected within configured delay
537
+ * Optional - only enable if needed to reduce overhead
538
+ */
539
+ onDoubleTap?: (data: GestureEventData) => void;
540
+ /**
541
+ * Called when pointer is held down for configured duration
542
+ * Optional - only enable if needed to reduce overhead
543
+ */
544
+ onLongPress?: (data: GestureEventData) => void;
545
+ /**
546
+ * Duration in ms to trigger long press
547
+ * Default: 500ms
548
+ */
549
+ longPressDuration?: number;
550
+ /**
551
+ * Max time in ms between taps for double tap detection
552
+ * Default: 300ms
553
+ */
554
+ doubleTapDelay?: number;
555
+ /**
556
+ * Max time in ms for a valid touch/click (prevents delayed touch after long hold)
557
+ * Default: 500ms
558
+ */
559
+ maxTouchDuration?: number;
560
+ /**
561
+ * Called when a key is pressed down
562
+ * Requires enableGestures: true
563
+ */
564
+ onKeyDown?: (data: KeyboardEventData) => void;
565
+ /**
566
+ * Called when a key is released
567
+ * Requires enableGestures: true
568
+ */
569
+ onKeyUp?: (data: KeyboardEventData) => void;
570
+ /**
571
+ * Called when input value changes
572
+ * Requires enableGestures: true
573
+ */
574
+ onInput?: (data: InputEventData) => void;
575
+ /**
576
+ * Called when element receives focus
577
+ * Requires enableGestures: true
578
+ */
579
+ onFocus?: (data: FocusEventData) => void;
580
+ /**
581
+ * Called when element loses focus
582
+ * Requires enableGestures: true
583
+ */
584
+ onBlur?: (data: FocusEventData) => void;
585
+ /**
586
+ * Called when pointer enters the container (desktop/mouse only)
587
+ * Does not work on touch devices (iPhone, iPad)
588
+ * Requires enableGestures: true
589
+ */
590
+ onHoverStart?: (data: import('./gestures/gesture-types').HoverEventData) => void;
591
+ /**
592
+ * Called when pointer exits the container (desktop/mouse only)
593
+ * Does not work on touch devices (iPhone, iPad)
594
+ * Requires enableGestures: true
595
+ */
596
+ onHoverEnd?: (data: import('./gestures/gesture-types').HoverEventData) => void;
597
+ /**
598
+ * Called when mouse wheel is scrolled over container (desktop/mouse only)
599
+ * Does not work on touch devices (iPhone, iPad)
600
+ * Provides deltaX/deltaY for scroll amounts
601
+ * Requires enableGestures: true
602
+ */
603
+ onWheel?: (data: WheelEventData) => void;
604
+ }
605
+ //# sourceMappingURL=core-props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-props.d.ts","sourceRoot":"","sources":["../src/core-props.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { default as Phaser } from 'phaser';
2
+ import { GraphicsBaseProps } from './components/primitives/graphics';
3
+ import { ImageBaseProps } from './components/primitives/image';
4
+ import { NineSliceBaseProps } from './components/primitives/nineslice';
5
+ import { SpriteBaseProps } from './components/primitives/sprite';
6
+ import { TextBaseProps } from './components/primitives/text';
7
+ import { TileSpriteBaseProps } from './components/primitives/tilesprite';
8
+ import { ViewBaseProps } from './components/primitives/view';
9
+ /**
10
+ * Maps node type names to Phaser GameObject classes
11
+ */
12
+ export interface NodeMap {
13
+ view: Phaser.GameObjects.Container;
14
+ text: Phaser.GameObjects.Text;
15
+ nineslice: Phaser.GameObjects.NineSlice;
16
+ sprite: Phaser.GameObjects.Sprite;
17
+ image: Phaser.GameObjects.Image;
18
+ graphics: Phaser.GameObjects.Graphics;
19
+ tilesprite: Phaser.GameObjects.TileSprite;
20
+ View: Phaser.GameObjects.Container;
21
+ Text: Phaser.GameObjects.Text;
22
+ NineSlice: Phaser.GameObjects.NineSlice;
23
+ Sprite: Phaser.GameObjects.Sprite;
24
+ Image: Phaser.GameObjects.Image;
25
+ Graphics: Phaser.GameObjects.Graphics;
26
+ TileSprite: Phaser.GameObjects.TileSprite;
27
+ }
28
+ /**
29
+ * Maps node type names to their props interfaces
30
+ */
31
+ export interface NodePropsMap {
32
+ view: ViewBaseProps;
33
+ text: TextBaseProps;
34
+ nineslice: NineSliceBaseProps;
35
+ sprite: SpriteBaseProps;
36
+ image: ImageBaseProps;
37
+ graphics: GraphicsBaseProps;
38
+ tilesprite: TileSpriteBaseProps;
39
+ View: ViewBaseProps;
40
+ Text: TextBaseProps;
41
+ NineSlice: NineSliceBaseProps;
42
+ Sprite: SpriteBaseProps;
43
+ Image: ImageBaseProps;
44
+ Graphics: GraphicsBaseProps;
45
+ TileSprite: TileSpriteBaseProps;
46
+ }
47
+ /**
48
+ * Union of all supported node type names
49
+ */
50
+ export type NodeType = keyof NodeMap;
51
+ /**
52
+ * Get the instance type for a given node type
53
+ */
54
+ export type NodeInstance<T extends NodeType = NodeType> = NodeMap[T];
55
+ /**
56
+ * Get the props type for a given node type
57
+ */
58
+ export type NodeProps<T extends NodeType = NodeType> = NodePropsMap[T];
59
+ //# sourceMappingURL=core-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-types.d.ts","sourceRoot":"","sources":["../src/core-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEjE;;GAEG;AACH,MAAM,WAAW,OAAO;IAEtB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAA;IAClC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAA;IACvC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAA;IACjC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IAC/B,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAA;IACrC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAA;IAEzC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAA;IAClC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAA;IACvC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAA;IACjC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IAC/B,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAA;IACrC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAA;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAE3B,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,EAAE,kBAAkB,CAAA;IAC7B,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,cAAc,CAAA;IACrB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,UAAU,EAAE,mBAAmB,CAAA;IAE/B,IAAI,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,EAAE,kBAAkB,CAAA;IAC7B,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,cAAc,CAAA;IACrB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,UAAU,EAAE,mBAAmB,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAA;AAEpC;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;AAEpE;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA"}