@number10/phaserjsx 4.3.0 → 4.5.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 (101) hide show
  1. package/README.md +9 -3
  2. package/dist/colors/color-presets.d.ts +1 -1
  3. package/dist/colors/color-presets.d.ts.map +1 -1
  4. package/dist/colors/color-types.d.ts +20 -8
  5. package/dist/colors/color-types.d.ts.map +1 -1
  6. package/dist/colors/color-utils.d.ts +29 -27
  7. package/dist/colors/color-utils.d.ts.map +1 -1
  8. package/dist/colors/index.d.ts +3 -3
  9. package/dist/colors/index.d.ts.map +1 -1
  10. package/dist/colors/preset-manager.d.ts.map +1 -1
  11. package/dist/colors/use-colors.d.ts +0 -4
  12. package/dist/colors/use-colors.d.ts.map +1 -1
  13. package/dist/components/backgroundImage.d.ts.map +1 -1
  14. package/dist/components/custom/ActivityIndicator.d.ts +43 -0
  15. package/dist/components/custom/ActivityIndicator.d.ts.map +1 -0
  16. package/dist/components/custom/Badge.d.ts.map +1 -1
  17. package/dist/components/custom/BottomSheet.d.ts +86 -0
  18. package/dist/components/custom/BottomSheet.d.ts.map +1 -0
  19. package/dist/components/custom/Button.d.ts +25 -2
  20. package/dist/components/custom/Button.d.ts.map +1 -1
  21. package/dist/components/custom/CharTextInput.d.ts +10 -0
  22. package/dist/components/custom/CharTextInput.d.ts.map +1 -1
  23. package/dist/components/custom/Checkbox.d.ts.map +1 -1
  24. package/dist/components/custom/ColorPicker.d.ts +72 -0
  25. package/dist/components/custom/ColorPicker.d.ts.map +1 -0
  26. package/dist/components/custom/Dropdown.d.ts +1 -1
  27. package/dist/components/custom/Dropdown.d.ts.map +1 -1
  28. package/dist/components/custom/Icon.d.ts.map +1 -1
  29. package/dist/components/custom/Icon.test.d.ts +2 -0
  30. package/dist/components/custom/Icon.test.d.ts.map +1 -0
  31. package/dist/components/custom/ListBox.d.ts +77 -0
  32. package/dist/components/custom/ListBox.d.ts.map +1 -0
  33. package/dist/components/custom/MenuButton.d.ts +40 -0
  34. package/dist/components/custom/MenuButton.d.ts.map +1 -0
  35. package/dist/components/custom/NumberInput.d.ts +143 -0
  36. package/dist/components/custom/NumberInput.d.ts.map +1 -0
  37. package/dist/components/custom/PalettePicker.d.ts +96 -0
  38. package/dist/components/custom/PalettePicker.d.ts.map +1 -0
  39. package/dist/components/custom/Popover.d.ts +9 -0
  40. package/dist/components/custom/Popover.d.ts.map +1 -1
  41. package/dist/components/custom/ProgressBar.d.ts.map +1 -1
  42. package/dist/components/custom/ProgressView.d.ts +47 -0
  43. package/dist/components/custom/ProgressView.d.ts.map +1 -0
  44. package/dist/components/custom/RadioButton.d.ts +8 -0
  45. package/dist/components/custom/RadioButton.d.ts.map +1 -1
  46. package/dist/components/custom/RadioGroup.d.ts +4 -0
  47. package/dist/components/custom/RadioGroup.d.ts.map +1 -1
  48. package/dist/components/custom/RatingBar.d.ts +48 -0
  49. package/dist/components/custom/RatingBar.d.ts.map +1 -0
  50. package/dist/components/custom/ScrollSlider.d.ts +7 -1
  51. package/dist/components/custom/ScrollSlider.d.ts.map +1 -1
  52. package/dist/components/custom/ScrollView.d.ts.map +1 -1
  53. package/dist/components/custom/SegmentedControl.d.ts +99 -0
  54. package/dist/components/custom/SegmentedControl.d.ts.map +1 -0
  55. package/dist/components/custom/Toast.d.ts +89 -0
  56. package/dist/components/custom/Toast.d.ts.map +1 -0
  57. package/dist/components/custom/Toggle.d.ts.map +1 -1
  58. package/dist/components/custom/Toolbar.d.ts +134 -0
  59. package/dist/components/custom/Toolbar.d.ts.map +1 -0
  60. package/dist/components/custom/WheelPicker.d.ts +63 -0
  61. package/dist/components/custom/WheelPicker.d.ts.map +1 -0
  62. package/dist/components/custom/index.cjs +39 -1
  63. package/dist/components/custom/index.d.ts +18 -5
  64. package/dist/components/custom/index.d.ts.map +1 -1
  65. package/dist/components/custom/index.js +2 -2
  66. package/dist/components/custom/useOverlayPresence.d.ts +9 -0
  67. package/dist/components/custom/useOverlayPresence.d.ts.map +1 -0
  68. package/dist/components/index.d.ts +16 -5
  69. package/dist/components/index.d.ts.map +1 -1
  70. package/dist/{custom-DMZASXll.js → custom-pRNJ0_kS.js} +17044 -27908
  71. package/dist/custom-pRNJ0_kS.js.map +1 -0
  72. package/dist/{custom-37gL0VZG.cjs → custom-rkdLsk0U.cjs} +17358 -27863
  73. package/dist/custom-rkdLsk0U.cjs.map +1 -0
  74. package/dist/design-tokens/component-size-presets.d.ts +52 -0
  75. package/dist/design-tokens/component-size-presets.d.ts.map +1 -0
  76. package/dist/design-tokens/index.d.ts +2 -0
  77. package/dist/design-tokens/index.d.ts.map +1 -1
  78. package/dist/dev-config.d.ts.map +1 -1
  79. package/dist/index.cjs +61 -254
  80. package/dist/index.cjs.map +1 -1
  81. package/dist/index.js +2 -242
  82. package/dist/index.js.map +1 -1
  83. package/dist/jsx-runtime.cjs +4 -1
  84. package/dist/jsx-runtime.cjs.map +1 -1
  85. package/dist/jsx-runtime.d.ts.map +1 -1
  86. package/dist/jsx-runtime.js +4 -1
  87. package/dist/jsx-runtime.js.map +1 -1
  88. package/dist/layout/utils/child-utils.d.ts.map +1 -1
  89. package/dist/layout/utils/dimension-calculator.d.ts.map +1 -1
  90. package/dist/scripts/generate-icon-loaders.js +27 -1
  91. package/dist/scripts/generate-icons.d.ts.map +1 -1
  92. package/dist/scripts/generate-icons.js +27 -1
  93. package/dist/theme-custom.d.ts +293 -8
  94. package/dist/theme-custom.d.ts.map +1 -1
  95. package/dist/theme-defaults.d.ts.map +1 -1
  96. package/dist/theme.d.ts +9 -0
  97. package/dist/theme.d.ts.map +1 -1
  98. package/dist/vdom.d.ts.map +1 -1
  99. package/package.json +1 -3
  100. package/dist/custom-37gL0VZG.cjs.map +0 -1
  101. package/dist/custom-DMZASXll.js.map +0 -1
@@ -0,0 +1,52 @@
1
+ import { ViewTheme } from '../theme-base';
2
+ /**
3
+ * Shared size preset for standard interactive controls
4
+ * (Button, SegmentedControl segments, Toolbar items, NumberInput buttons, etc.)
5
+ */
6
+ export interface ControlSizePreset {
7
+ height: number;
8
+ paddingH: number;
9
+ paddingV: number;
10
+ radius: number;
11
+ gap: number;
12
+ iconSize: number;
13
+ }
14
+ export declare const controlSizePresets: Record<'sm' | 'md' | 'lg', ControlSizePreset>;
15
+ /**
16
+ * Compact size preset for smaller interactive controls
17
+ * (SegmentedControl segments, NumberInput buttons, ContextMenu items)
18
+ * Scale: 28 → 34 → 40 (6px increments, aligns with 2px grid for tight layouts)
19
+ */
20
+ export declare const compactControlSizePresets: Record<'sm' | 'md' | 'lg', ControlSizePreset>;
21
+ /**
22
+ * Toolbar item size presets (density-based, not sm/md/lg)
23
+ * Toolbar uses density: 'compact' | 'normal' instead of size scale
24
+ */
25
+ export interface ToolbarItemSizePreset {
26
+ width: number;
27
+ height: number;
28
+ compactWidth: number;
29
+ compactHeight: number;
30
+ iconSize: number;
31
+ compactIconSize: number;
32
+ }
33
+ export declare const toolbarSizePresets: ToolbarItemSizePreset;
34
+ /**
35
+ * Size preset for compact indicators
36
+ * (Badge, Tag, small labels)
37
+ */
38
+ export interface IndicatorSizePreset {
39
+ height: number;
40
+ paddingH: number;
41
+ radius: number;
42
+ fontSize: string;
43
+ }
44
+ export declare const indicatorSizePresets: Record<'sm' | 'md' | 'lg', IndicatorSizePreset>;
45
+ /**
46
+ * Min-width scale aligned with control heights
47
+ * sm ≈ 2.25× height, md ≈ 2.3× height, lg ≈ 2.4× height
48
+ */
49
+ export declare const controlMinWidthPresets: Record<'sm' | 'md' | 'lg', number>;
50
+ /** Build ViewTheme padding from horizontal + vertical preset values */
51
+ export declare function controlPadding(preset: ControlSizePreset): ViewTheme['padding'];
52
+ //# sourceMappingURL=component-size-presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-size-presets.d.ts","sourceRoot":"","sources":["../../src/design-tokens/component-size-presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,iBAAiB,CAI5E,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,iBAAiB,CAInF,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,eAAO,MAAM,kBAAkB,EAAE,qBAOhC,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,mBAAmB,CAIhF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,MAAM,CAIrE,CAAA;AAED,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAAC,CAO9E"}
@@ -2,6 +2,8 @@
2
2
  * Design token system exports
3
3
  * Provides semantic tokens for colors, text styles, spacing, sizes, and radius
4
4
  */
5
+ export { compactControlSizePresets, controlMinWidthPresets, controlPadding, controlSizePresets, indicatorSizePresets, toolbarSizePresets, } from './component-size-presets';
6
+ export type { ControlSizePreset, IndicatorSizePreset, ToolbarItemSizePreset, } from './component-size-presets';
5
7
  export { createTextStyleTokens, defaultRadiusTokens, defaultSizeTokens, defaultSpacingTokens, defaultTextStyleTokens, } from './design-token-presets';
6
8
  export type { DesignTokens, PhaserTextStyle, RadiusTokens, SizeTokens, SpacingTokens, TextStyleToken, TextStyleTokens, } from './design-token-types';
7
9
  export { useThemeTokens } from './use-theme-tokens';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/design-tokens/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,UAAU,EACV,aAAa,EACb,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/design-tokens/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,UAAU,EACV,aAAa,EACb,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"dev-config.d.ts","sourceRoot":"","sources":["../src/dev-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS;IACpB;;;OAGG;;QAED;;;WAGG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;;IAIL;;;OAGG;;QAED;;;;WAIG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;;IAIL;;;OAGG;;QAED;;;;WAIG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;;IAIL;;OAEG;;QAED;;;;WAIG;;QAGH;;;;WAIG;;;CAGN,CAAA;AAED;;;;;;;;;GASG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAkD;IAEjF;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAmB7F;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIxE;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIzE;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAOxE;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAM5E;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU;IACrB;;;OAGG;sBACa,IAAI;IAQpB;;;OAGG;uBACc,IAAI;IAWrB;;;OAGG;yBACgB,IAAI;IAcvB;;;OAGG;8BACqB,IAAI;IAY5B;;;OAGG;qBACY,IAAI;sBAWH,IAAI;IAYpB;;;OAGG;oBACW,IAAI;CAanB,CAAA"}
1
+ {"version":3,"file":"dev-config.d.ts","sourceRoot":"","sources":["../src/dev-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS;IACpB;;;OAGG;;QAED;;;WAGG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;;IAIL;;;OAGG;;QAED;;;;WAIG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;;IAIL;;;OAGG;;QAED;;;;WAIG;;QAGH;;;;WAIG;;QAGH;;;;WAIG;;;IAIL;;OAEG;;QAED;;;;WAIG;;QAGH;;;;WAIG;;;CAGN,CAAA;AAED;;;;;;;;;GASG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAkD;IAEjF;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAmB7F;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIxE;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIzE;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAOxE;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAM5E;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU;IACrB;;;OAGG;sBACa,IAAI;IAQpB;;;OAGG;uBACc,IAAI;IAWrB;;;OAGG;yBACgB,IAAI;IAcvB;;;OAGG;8BACqB,IAAI;IAY5B;;;OAGG;qBACY,IAAI;sBAWH,IAAI;IAYpB;;;OAGG;oBACW,IAAI;CAanB,CAAA"}
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-C2EiDwsr.cjs");
3
- const require_custom = require("./custom-37gL0VZG.cjs");
3
+ const require_custom = require("./custom-rkdLsk0U.cjs");
4
4
  const require_jsx_runtime = require("./jsx-runtime.cjs");
5
5
  const require_clip = require("./clip-CHmjztBQ.cjs");
6
6
  let phaser = require("phaser");
@@ -1171,246 +1171,6 @@ var PhaserJSXPlugin = class extends phaser.Plugins.BasePlugin {
1171
1171
  }
1172
1172
  };
1173
1173
  //#endregion
1174
- //#region src/colors/use-color-mode.ts
1175
- /**
1176
- * Color mode management for dynamic theme switching
1177
- */
1178
- /**
1179
- * Hook to manage color mode (light/dark) dynamically
1180
- * @returns Object with current mode, toggle function, and setter
1181
- * @example
1182
- * ```typescript
1183
- * function ThemeToggle() {
1184
- * const { colorMode, toggleColorMode } = useColorMode()
1185
- *
1186
- * return (
1187
- * <Button onClick={toggleColorMode}>
1188
- * {colorMode === 'light' ? 'Dark' : 'Light'} Mode
1189
- * </Button>
1190
- * )
1191
- * }
1192
- * ```
1193
- */
1194
- function useColorMode() {
1195
- const [colorMode, setColorModeState] = require_custom.useState(require_custom.themeRegistry.getColorMode());
1196
- require_custom.useEffect(() => {
1197
- return require_custom.themeRegistry.subscribe(() => {
1198
- setColorModeState(require_custom.themeRegistry.getColorMode());
1199
- });
1200
- }, []);
1201
- const setColorMode = (mode) => {
1202
- require_custom.themeRegistry.setColorMode(mode);
1203
- };
1204
- const toggleColorMode = () => {
1205
- setColorMode(colorMode === "light" ? "dark" : "light");
1206
- };
1207
- return {
1208
- colorMode,
1209
- setColorMode,
1210
- toggleColorMode
1211
- };
1212
- }
1213
- //#endregion
1214
- //#region src/colors/use-colors.ts
1215
- /**
1216
- * Color system hooks for component usage
1217
- */
1218
- /**
1219
- * Hook to access color tokens from theme context
1220
- * Automatically updates when color mode or preset changes
1221
- * @returns Current ColorTokens or undefined
1222
- * @deprecated Use `useThemeTokens()` instead for access to colors, text styles, spacing, and more
1223
- * @example
1224
- * ```typescript
1225
- * // Old way (deprecated):
1226
- * const colors = useColors()
1227
- *
1228
- * // New way:
1229
- * const tokens = useThemeTokens()
1230
- * const colors = tokens?.colors
1231
- *
1232
- * // Access text styles, spacing, etc.:
1233
- * <Text style={tokens.textStyles.DEFAULT} />
1234
- * <View padding={tokens.spacing.lg} />
1235
- * ```
1236
- */
1237
- function useColors() {
1238
- const localTheme = require_custom.useTheme();
1239
- const getInitialColors = () => {
1240
- if (localTheme?.__colorPreset) return require_custom.getPresetWithMode(localTheme.__colorPreset.name, localTheme.__colorPreset.mode ?? "light").colors;
1241
- return require_custom.themeRegistry.getColorTokens();
1242
- };
1243
- const [colors, setColors] = require_custom.useState(getInitialColors());
1244
- const [, forceUpdate] = require_custom.useState(0);
1245
- require_custom.useEffect(() => {
1246
- return require_custom.themeRegistry.subscribe(() => {
1247
- if (localTheme?.__colorPreset) {
1248
- const currentMode = require_custom.themeRegistry.getColorMode();
1249
- setColors(require_custom.getPresetWithMode(localTheme.__colorPreset.name, currentMode).colors);
1250
- } else setColors(require_custom.themeRegistry.getColorTokens());
1251
- forceUpdate((n) => n + 1);
1252
- });
1253
- }, [localTheme]);
1254
- return colors;
1255
- }
1256
- /**
1257
- * Hook to subscribe to theme changes without accessing colors
1258
- * Use this in parent components that don't need colors themselves
1259
- * but want to ensure children re-render when theme changes
1260
- *
1261
- * Note: Since useColors() now triggers re-renders automatically,
1262
- * this hook is mainly useful if you don't need the colors themselves
1263
- * but still want to react to theme changes.
1264
- *
1265
- * @example
1266
- * ```typescript
1267
- * function ParentComponent() {
1268
- * useThemeSubscription() // Children will re-render on theme changes
1269
- * return <ChildThatUsesColors />
1270
- * }
1271
- * ```
1272
- */
1273
- function useThemeSubscription() {
1274
- const [, forceUpdate] = require_custom.useState(0);
1275
- require_custom.useEffect(() => {
1276
- return require_custom.themeRegistry.subscribe(() => {
1277
- forceUpdate((n) => n + 1);
1278
- });
1279
- }, []);
1280
- }
1281
- //#endregion
1282
- //#region src/colors/color-theme-helpers.ts
1283
- /**
1284
- * Convert ColorTokens to a theme-compatible object
1285
- * Maps semantic color names to Phaser number format for View/Button components
1286
- * @param colors - ColorTokens to convert
1287
- * @returns Object with backgroundColor, borderColor, etc.
1288
- * @example
1289
- * ```typescript
1290
- * const colors = getPreset('oceanBlue').colors
1291
- * const buttonTheme = {
1292
- * ...colorsToTheme(colors, 'primary'),
1293
- * padding: 8,
1294
- * }
1295
- * // Returns: { backgroundColor: 0x2196f3, borderColor: 0x... }
1296
- * ```
1297
- */
1298
- function colorsToTheme(colors, colorKey, options = {}) {
1299
- const { backgroundShade = "DEFAULT", borderShade = "dark", includeBorder = true } = options;
1300
- const result = { backgroundColor: colors[colorKey][backgroundShade].toNumber() };
1301
- if (includeBorder) result.borderColor = colors[colorKey][borderShade].toNumber();
1302
- return result;
1303
- }
1304
- /**
1305
- * Get text color from ColorTokens as hex string for Phaser Text style
1306
- * @param colors - ColorTokens to use
1307
- * @param shade - Which text shade to use (default: 'DEFAULT')
1308
- * @param alphaValue - Optional alpha value (0-1)
1309
- * @returns Hex string or rgba string for Text style
1310
- * @example
1311
- * ```typescript
1312
- * const colors = getPreset('oceanBlue').colors
1313
- * const textStyle = {
1314
- * color: getTextColor(colors),
1315
- * fontSize: '18px'
1316
- * }
1317
- * ```
1318
- */
1319
- function getTextColor(colors, shade = "DEFAULT", alphaValue) {
1320
- const color = colors.text[shade];
1321
- return alphaValue !== void 0 ? require_custom.alpha(color.toNumber(), alphaValue) : color.toString();
1322
- }
1323
- /**
1324
- * Get background color from ColorTokens
1325
- * @param colors - ColorTokens to use
1326
- * @param shade - Which shade to use (default: 'DEFAULT')
1327
- * @returns Phaser color number
1328
- */
1329
- function getBackgroundColor(colors, shade = "DEFAULT") {
1330
- return colors.background[shade].toNumber();
1331
- }
1332
- /**
1333
- * Get surface color from ColorTokens
1334
- * @param colors - ColorTokens to use
1335
- * @param shade - Which shade to use (default: 'DEFAULT')
1336
- * @returns Phaser color number
1337
- */
1338
- function getSurfaceColor(colors, shade = "DEFAULT") {
1339
- return colors.surface[shade].toNumber();
1340
- }
1341
- /**
1342
- * Get border color from ColorTokens
1343
- * @param colors - ColorTokens to use
1344
- * @param shade - Which shade to use (default: 'DEFAULT')
1345
- * @returns Phaser color number
1346
- */
1347
- function getBorderColor(colors, shade = "DEFAULT") {
1348
- return colors.border[shade].toNumber();
1349
- }
1350
- //#endregion
1351
- //#region src/colors/preset-manager.ts
1352
- /**
1353
- * Dynamic color preset management
1354
- */
1355
- /**
1356
- * Set the active color preset globally
1357
- * Applies the preset with the current color mode and updates all components
1358
- * Triggers complete remount of all active mountJSX instances
1359
- * @param presetName - Name of the preset to apply
1360
- * @param colorMode - Optional color mode to apply together with the preset
1361
- * @example
1362
- * ```typescript
1363
- * // Switch to forest green theme
1364
- * setColorPreset('forestGreen')
1365
- *
1366
- * // Apply preset and force dark mode in one go
1367
- * setColorPreset('midnight', 'dark')
1368
- *
1369
- * // Current mode (light/dark) is preserved
1370
- * ```
1371
- */
1372
- function setColorPreset(presetName, colorMode) {
1373
- const preset = require_custom.getPresetWithMode(presetName, colorMode ?? require_custom.themeRegistry.getColorMode());
1374
- require_custom.themeRegistry.setColorTokens(preset.colors);
1375
- require_custom.themeRegistry.setCurrentPresetName(presetName, true);
1376
- if (colorMode && require_custom.themeRegistry.getColorMode() !== colorMode) {
1377
- require_custom.themeRegistry.setColorMode(colorMode);
1378
- return;
1379
- }
1380
- setTimeout(() => {
1381
- require_custom.remountAll();
1382
- }, 0);
1383
- }
1384
- /**
1385
- * Get the currently active preset name
1386
- * @returns Current preset name or undefined
1387
- */
1388
- function getCurrentPreset() {
1389
- return require_custom.themeRegistry.getCurrentPresetName();
1390
- }
1391
- /**
1392
- * Set the active color mode globally (without changing the preset)
1393
- * @param mode - Color mode to apply
1394
- */
1395
- function setColorMode(mode) {
1396
- require_custom.themeRegistry.setColorMode(mode);
1397
- }
1398
- /**
1399
- * Get all available preset names
1400
- * @returns Array of preset names
1401
- * @example
1402
- * ```typescript
1403
- * const presets = getAvailablePresets() // ['oceanBlue', 'forestGreen', 'midnight']
1404
- * ```
1405
- */
1406
- function getAvailablePresets() {
1407
- return [
1408
- "oceanBlue",
1409
- "forestGreen",
1410
- "midnight"
1411
- ];
1412
- }
1413
- //#endregion
1414
1174
  //#region src/index.ts
1415
1175
  /**
1416
1176
  * PhaserJSX UI Library
@@ -1419,13 +1179,18 @@ function getAvailablePresets() {
1419
1179
  require_custom.registerBuiltins();
1420
1180
  //#endregion
1421
1181
  exports.Accordion = require_custom.Accordion;
1182
+ exports.ActivityIndicator = require_custom.ActivityIndicator;
1422
1183
  exports.AlertDialog = require_custom.AlertDialog;
1423
1184
  exports.Badge = require_custom.Badge;
1185
+ exports.BottomSheet = require_custom.BottomSheet;
1186
+ exports.BottomSheetDepth = require_custom.BottomSheetDepth;
1187
+ exports.BottomSheetHandle = require_custom.BottomSheetHandle;
1424
1188
  exports.Button = require_custom.Button;
1425
1189
  exports.CAMERA_FX_REGISTRY = CAMERA_FX_REGISTRY;
1426
1190
  exports.CharText = require_custom.CharText;
1427
1191
  exports.CharTextInput = require_custom.CharTextInput;
1428
1192
  exports.Checkbox = require_custom.Checkbox;
1193
+ exports.ColorPicker = require_custom.ColorPicker;
1429
1194
  exports.ContextMenu = require_custom.ContextMenu;
1430
1195
  exports.DEFAULT_BACKGROUND = DEFAULT_BACKGROUND;
1431
1196
  exports.DEFAULT_CAMERA_FX = DEFAULT_CAMERA_FX;
@@ -1449,22 +1214,31 @@ exports.Icon = require_custom.Icon;
1449
1214
  exports.Image = require_custom.Image;
1450
1215
  exports.Joystick = require_custom.Joystick;
1451
1216
  exports.KeyboardInputManager = require_custom.KeyboardInputManager;
1217
+ exports.ListBox = require_custom.ListBox;
1218
+ exports.MenuButton = require_custom.MenuButton;
1452
1219
  exports.Modal = require_custom.Modal;
1453
1220
  exports.NineSlice = require_custom.NineSlice;
1454
1221
  exports.NineSliceButton = require_custom.NineSliceButton;
1222
+ exports.NotificationStack = require_custom.NotificationStack;
1223
+ exports.NumberInput = require_custom.NumberInput;
1224
+ exports.NumberInputIndicator = require_custom.NumberInputIndicator;
1455
1225
  exports.PARTICLE_PRESET_REGISTRY = require_custom.PARTICLE_PRESET_REGISTRY;
1226
+ exports.PalettePicker = require_custom.PalettePicker;
1456
1227
  exports.Particles = require_custom.Particles;
1457
1228
  exports.PhaserJSXPlugin = PhaserJSXPlugin;
1458
1229
  exports.Popover = require_custom.Popover;
1459
1230
  exports.Portal = require_custom.Portal;
1460
1231
  exports.ProgressBar = require_custom.ProgressBar;
1232
+ exports.ProgressView = require_custom.ProgressView;
1461
1233
  exports.RadioButton = require_custom.RadioButton;
1462
1234
  exports.RadioGroup = require_custom.RadioGroup;
1463
1235
  exports.RangeSlider = require_custom.RangeSlider;
1236
+ exports.RatingBar = require_custom.RatingBar;
1464
1237
  exports.RefOriginView = require_custom.RefOriginView;
1465
1238
  exports.SPRING_PRESETS = require_custom.SPRING_PRESETS;
1466
1239
  exports.ScrollSlider = require_custom.ScrollSlider;
1467
1240
  exports.ScrollView = require_custom.ScrollView;
1241
+ exports.SegmentedControl = require_custom.SegmentedControl;
1468
1242
  exports.Sidebar = require_custom.Sidebar;
1469
1243
  exports.Slider = require_custom.Slider;
1470
1244
  exports.SpringPhysics = require_custom.SpringPhysics;
@@ -1475,9 +1249,13 @@ exports.Tabs = require_custom.Tabs;
1475
1249
  exports.Tag = require_custom.Tag;
1476
1250
  exports.Text = require_custom.Text;
1477
1251
  exports.TileSprite = require_custom.TileSprite;
1252
+ exports.Toast = require_custom.Toast;
1478
1253
  exports.Toggle = require_custom.Toggle;
1254
+ exports.ToolButtonGroup = require_custom.ToolButtonGroup;
1255
+ exports.Toolbar = require_custom.Toolbar;
1479
1256
  exports.TransformOriginView = require_custom.TransformOriginView;
1480
1257
  exports.View = require_custom.View;
1258
+ exports.WheelPicker = require_custom.WheelPicker;
1481
1259
  exports.WrapText = require_custom.WrapText;
1482
1260
  exports.addSceneBackground = addSceneBackground;
1483
1261
  exports.alpha = require_custom.alpha;
@@ -1493,10 +1271,15 @@ exports.buildEmitZone = require_custom.buildEmitZone;
1493
1271
  exports.buildEmitZoneFromLayout = require_custom.buildEmitZoneFromLayout;
1494
1272
  exports.calculateOverlayPosition = require_custom.calculateOverlayPosition;
1495
1273
  exports.calculateSliderSize = require_custom.calculateSliderSize;
1274
+ exports.chunkPalettePickerColors = require_custom.chunkPalettePickerColors;
1496
1275
  exports.clampProgressValue = require_custom.clampProgressValue;
1497
1276
  exports.clearStencilClip = require_clip.clearStencilClip;
1498
- exports.colorsToTheme = colorsToTheme;
1277
+ exports.colorsToTheme = require_custom.colorsToTheme;
1278
+ exports.compactControlSizePresets = require_custom.compactControlSizePresets;
1499
1279
  exports.computed = _preact_signals_core.computed;
1280
+ exports.controlMinWidthPresets = require_custom.controlMinWidthPresets;
1281
+ exports.controlPadding = require_custom.controlPadding;
1282
+ exports.controlSizePresets = require_custom.controlSizePresets;
1500
1283
  exports.createBlurFX = createBlurFX;
1501
1284
  exports.createBounceEffect = require_custom.createBounceEffect;
1502
1285
  exports.createBreatheEffect = require_custom.createBreatheEffect;
@@ -1545,41 +1328,54 @@ exports.defaultTextStyleTokens = require_custom.defaultTextStyleTokens;
1545
1328
  exports.defaultTheme = require_custom.defaultTheme;
1546
1329
  exports.disposeCtx = require_custom.disposeCtx;
1547
1330
  exports.ensureContrast = require_custom.ensureContrast;
1331
+ exports.findListBoxItem = require_custom.findListBoxItem;
1332
+ exports.findSegmentedControlOption = require_custom.findSegmentedControlOption;
1548
1333
  exports.forestGreenPreset = require_custom.forestGreenPreset;
1549
1334
  exports.formatBadgeCount = require_custom.formatBadgeCount;
1550
1335
  exports.generateColorScale = require_custom.generateColorScale;
1551
- exports.getAvailablePresets = getAvailablePresets;
1552
- exports.getBackgroundColor = getBackgroundColor;
1336
+ exports.getAvailablePresets = require_custom.getAvailablePresets;
1337
+ exports.getBackgroundColor = require_custom.getBackgroundColor;
1553
1338
  exports.getBackgroundGraphics = require_custom.getBackgroundGraphics;
1554
1339
  exports.getBadgeSizeConfig = require_custom.getBadgeSizeConfig;
1555
1340
  exports.getBadgeText = require_custom.getBadgeText;
1556
- exports.getBorderColor = getBorderColor;
1341
+ exports.getBorderColor = require_custom.getBorderColor;
1557
1342
  exports.getContrastRatio = require_custom.getContrastRatio;
1558
1343
  exports.getCurrent = require_custom.getCurrent;
1559
- exports.getCurrentPreset = getCurrentPreset;
1344
+ exports.getCurrentPreset = require_custom.getCurrentPreset;
1560
1345
  exports.getLayoutProps = require_custom.getLayoutProps;
1561
1346
  exports.getLayoutRect = require_custom.getLayoutRect;
1562
1347
  exports.getLayoutSize = require_custom.getLayoutSize;
1563
1348
  exports.getMountStats = require_custom.getMountStats;
1349
+ exports.getNextNumberInputValue = require_custom.getNextNumberInputValue;
1350
+ exports.getNumberInputPrecision = require_custom.getNumberInputPrecision;
1351
+ exports.getPalettePickerContrastColor = require_custom.getPalettePickerContrastColor;
1564
1352
  exports.getPreset = require_custom.getPreset;
1565
1353
  exports.getPresetWithMode = require_custom.getPresetWithMode;
1566
1354
  exports.getProgressRatio = require_custom.getProgressRatio;
1567
1355
  exports.getRenderContext = require_custom.getRenderContext;
1568
1356
  exports.getStencilClipHandle = require_clip.getStencilClipHandle;
1569
- exports.getSurfaceColor = getSurfaceColor;
1570
- exports.getTextColor = getTextColor;
1357
+ exports.getSurfaceColor = require_custom.getSurfaceColor;
1358
+ exports.getTextColor = require_custom.getTextColor;
1571
1359
  exports.getThemedProps = require_custom.getThemedProps;
1360
+ exports.getToastAutoDismissDuration = require_custom.getToastAutoDismissDuration;
1361
+ exports.getToolbarItemId = require_custom.getToolbarItemId;
1572
1362
  exports.getWorldLayoutRect = require_custom.getWorldLayoutRect;
1573
1363
  exports.graphicsCreator = require_custom.graphicsCreator;
1574
1364
  exports.graphicsPatcher = require_custom.graphicsPatcher;
1575
- exports.hex = require_custom.hex;
1576
1365
  exports.hexToNumber = require_custom.hexToNumber;
1577
1366
  exports.host = require_custom.host;
1367
+ exports.hslToNumber = require_custom.hslToNumber;
1368
+ exports.hslToRgb = require_custom.hslToRgb;
1578
1369
  exports.imageCreator = require_custom.imageCreator;
1579
1370
  exports.imagePatcher = require_custom.imagePatcher;
1371
+ exports.indicatorSizePresets = require_custom.indicatorSizePresets;
1580
1372
  exports.installStencilClipExtension = require_clip.installStencilClipExtension;
1581
1373
  exports.isAnimatedSignal = require_custom.isAnimatedSignal;
1582
1374
  exports.isBitmapStencilClipSource = require_clip.isBitmapStencilClipSource;
1375
+ exports.isSegmentedControlOptionSelectable = require_custom.isSegmentedControlOptionSelectable;
1376
+ exports.isToolbarMenuItem = require_custom.isToolbarMenuItem;
1377
+ exports.isToolbarSeparatorItem = require_custom.isToolbarSeparatorItem;
1378
+ exports.isToolbarToggleItem = require_custom.isToolbarToggleItem;
1583
1379
  exports.jsx = require_jsx_runtime.jsx;
1584
1380
  exports.jsxs = require_jsx_runtime.jsxs;
1585
1381
  exports.lighten = require_custom.lighten;
@@ -1594,11 +1390,16 @@ exports.nineSliceCreator = require_custom.nineSliceCreator;
1594
1390
  exports.nineSlicePatcher = require_custom.nineSlicePatcher;
1595
1391
  exports.noMemo = noMemo;
1596
1392
  exports.nodeRegistry = require_custom.nodeRegistry;
1393
+ exports.normalizeColorNumber = require_custom.normalizeColorNumber;
1597
1394
  exports.normalizeCornerRadius = require_custom.normalizeCornerRadius;
1598
1395
  exports.normalizeEdgeInsets = require_custom.normalizeEdgeInsets;
1599
1396
  exports.normalizeGap = require_custom.normalizeGap;
1397
+ exports.normalizeNumberInputValue = require_custom.normalizeNumberInputValue;
1398
+ exports.normalizePalettePickerColor = require_custom.normalizePalettePickerColor;
1399
+ exports.normalizePalettePickerColors = require_custom.normalizePalettePickerColors;
1600
1400
  exports.normalizeVNodeLike = require_custom.normalizeVNodeLike;
1601
1401
  exports.numberToHex = require_custom.numberToHex;
1402
+ exports.numberToHsl = require_custom.numberToHsl;
1602
1403
  exports.numberToRgb = require_custom.numberToRgb;
1603
1404
  exports.oceanBluePreset = require_custom.oceanBluePreset;
1604
1405
  exports.particlesCreator = require_custom.particlesCreator;
@@ -1616,11 +1417,16 @@ exports.resolveBadgeTextStyle = require_custom.resolveBadgeTextStyle;
1616
1417
  exports.resolveCameraFX = resolveCameraFX;
1617
1418
  exports.resolveEffect = require_custom.resolveEffect;
1618
1419
  exports.resolveFX = resolveFX;
1420
+ exports.resolveListBoxValue = require_custom.resolveListBoxValue;
1421
+ exports.resolveNotificationStackAlignment = require_custom.resolveNotificationStackAlignment;
1422
+ exports.resolvePalettePickerValue = require_custom.resolvePalettePickerValue;
1619
1423
  exports.resolveParticlePreset = require_custom.resolveParticlePreset;
1424
+ exports.resolveSegmentedControlValue = require_custom.resolveSegmentedControlValue;
1425
+ exports.resolveToolbarActiveId = require_custom.resolveToolbarActiveId;
1620
1426
  exports.rgbToHsl = require_custom.rgbToHsl;
1621
1427
  exports.rgbToNumber = require_custom.rgbToNumber;
1622
- exports.setColorMode = setColorMode;
1623
- exports.setColorPreset = setColorPreset;
1428
+ exports.setColorMode = require_custom.setColorMode;
1429
+ exports.setColorPreset = require_custom.setColorPreset;
1624
1430
  exports.shallowEqual = require_custom.shallowEqual;
1625
1431
  exports.shouldComponentUpdate = require_custom.shouldComponentUpdate;
1626
1432
  exports.spriteCreator = require_custom.spriteCreator;
@@ -1631,6 +1437,7 @@ exports.textPatcher = require_custom.textPatcher;
1631
1437
  exports.themeRegistry = require_custom.themeRegistry;
1632
1438
  exports.tileSpriteCreator = require_custom.tileSpriteCreator;
1633
1439
  exports.tileSpritePatcher = require_custom.tileSpritePatcher;
1440
+ exports.toolbarSizePresets = require_custom.toolbarSizePresets;
1634
1441
  exports.uninstallStencilClipExtension = require_clip.uninstallStencilClipExtension;
1635
1442
  exports.unmount = require_custom.unmount;
1636
1443
  exports.unmountJSX = require_custom.unmountJSX;
@@ -1642,8 +1449,8 @@ exports.useCameraFX = useCameraFX;
1642
1449
  exports.useCameraFade = useCameraFade;
1643
1450
  exports.useCameraFlash = useCameraFlash;
1644
1451
  exports.useCameraZoom = useCameraZoom;
1645
- exports.useColorMode = useColorMode;
1646
- exports.useColors = useColors;
1452
+ exports.useColorMode = require_custom.useColorMode;
1453
+ exports.useColors = require_custom.useColors;
1647
1454
  exports.useEffect = require_custom.useEffect;
1648
1455
  exports.useFX = useFX;
1649
1456
  exports.useForceRedraw = require_custom.useForceRedraw;
@@ -1666,7 +1473,7 @@ exports.useSpring = require_custom.useSpring;
1666
1473
  exports.useSprings = require_custom.useSprings;
1667
1474
  exports.useState = require_custom.useState;
1668
1475
  exports.useTheme = require_custom.useTheme;
1669
- exports.useThemeSubscription = useThemeSubscription;
1476
+ exports.useThemeSubscription = require_custom.useThemeSubscription;
1670
1477
  exports.useThemeTokens = require_custom.useThemeTokens;
1671
1478
  exports.useViewportSize = require_custom.useViewportSize;
1672
1479
  exports.useWorldLayoutRect = require_custom.useWorldLayoutRect;