@number10/phaserjsx 4.1.0 → 4.3.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 (67) hide show
  1. package/README.md +14 -1
  2. package/dist/clip/index.cjs +7 -695
  3. package/dist/clip/index.js +1 -687
  4. package/dist/clip/stencil-clip-depth.d.ts +10 -0
  5. package/dist/clip/stencil-clip-depth.d.ts.map +1 -0
  6. package/dist/clip/stencil-clip-fbo-bridge.d.ts +7 -0
  7. package/dist/clip/stencil-clip-fbo-bridge.d.ts.map +1 -0
  8. package/dist/clip/stencil-clip-renderer.d.ts +7 -0
  9. package/dist/clip/stencil-clip-renderer.d.ts.map +1 -0
  10. package/dist/clip/stencil-clip-state.d.ts +28 -0
  11. package/dist/clip/stencil-clip-state.d.ts.map +1 -0
  12. package/dist/clip/stencil-clip-types.d.ts +67 -0
  13. package/dist/clip/stencil-clip-types.d.ts.map +1 -0
  14. package/dist/clip/stencil-clip.d.ts +3 -84
  15. package/dist/clip/stencil-clip.d.ts.map +1 -1
  16. package/dist/clip-CHmjztBQ.cjs +705 -0
  17. package/dist/clip-CHmjztBQ.cjs.map +1 -0
  18. package/dist/clip-CPufWCSD.js +668 -0
  19. package/dist/clip-CPufWCSD.js.map +1 -0
  20. package/dist/components/appliers/applyParticles.d.ts.map +1 -1
  21. package/dist/components/custom/Badge.d.ts +73 -0
  22. package/dist/components/custom/Badge.d.ts.map +1 -0
  23. package/dist/components/custom/Checkbox.d.ts +41 -0
  24. package/dist/components/custom/Checkbox.d.ts.map +1 -0
  25. package/dist/components/custom/DebugPanel.d.ts +30 -0
  26. package/dist/components/custom/DebugPanel.d.ts.map +1 -0
  27. package/dist/components/custom/Particles.d.ts +14 -3
  28. package/dist/components/custom/Particles.d.ts.map +1 -1
  29. package/dist/components/custom/Popover.d.ts +89 -0
  30. package/dist/components/custom/Popover.d.ts.map +1 -0
  31. package/dist/components/custom/ProgressBar.d.ts +52 -0
  32. package/dist/components/custom/ProgressBar.d.ts.map +1 -0
  33. package/dist/components/custom/Toggle.d.ts.map +1 -1
  34. package/dist/components/custom/index.cjs +15 -1
  35. package/dist/components/custom/index.d.ts +5 -0
  36. package/dist/components/custom/index.d.ts.map +1 -1
  37. package/dist/components/custom/index.js +2 -2
  38. package/dist/components/index.d.ts +5 -1
  39. package/dist/components/index.d.ts.map +1 -1
  40. package/dist/components/primitives/graphics.d.ts +2 -2
  41. package/dist/components/primitives/particles.d.ts +14 -4
  42. package/dist/components/primitives/particles.d.ts.map +1 -1
  43. package/dist/components/primitives/tilesprite.d.ts +15 -19
  44. package/dist/components/primitives/tilesprite.d.ts.map +1 -1
  45. package/dist/{custom-Dp3yAJdU.cjs → custom-37gL0VZG.cjs} +1578 -264
  46. package/dist/custom-37gL0VZG.cjs.map +1 -0
  47. package/dist/{custom-C_w8D39m.js → custom-DMZASXll.js} +1455 -231
  48. package/dist/custom-DMZASXll.js.map +1 -0
  49. package/dist/gestures/gesture-manager.d.ts +1 -1
  50. package/dist/index.cjs +49 -111
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.js +29 -105
  53. package/dist/index.js.map +1 -1
  54. package/dist/particles/emit-zone.d.ts +34 -12
  55. package/dist/particles/emit-zone.d.ts.map +1 -1
  56. package/dist/particles/index.d.ts +1 -1
  57. package/dist/particles/index.d.ts.map +1 -1
  58. package/dist/particles/use-particles.d.ts +6 -2
  59. package/dist/particles/use-particles.d.ts.map +1 -1
  60. package/dist/theme-custom.d.ts +68 -0
  61. package/dist/theme-custom.d.ts.map +1 -1
  62. package/dist/theme-defaults.d.ts.map +1 -1
  63. package/package.json +3 -2
  64. package/dist/clip/index.cjs.map +0 -1
  65. package/dist/clip/index.js.map +0 -1
  66. package/dist/custom-C_w8D39m.js.map +0 -1
  67. package/dist/custom-Dp3yAJdU.cjs.map +0 -1
@@ -97,7 +97,7 @@ export declare class GestureManager {
97
97
  /**
98
98
  * Handle global pointer down event
99
99
  * Registers all containers that were hit for move event tracking
100
- * Only the topmost gets touch/longpress callbacks
100
+ * Only the topmost gets touch/long-press callbacks
101
101
  */
102
102
  private handlePointerDown;
103
103
  /**
package/dist/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-C2EiDwsr.cjs");
3
- const require_custom = require("./custom-Dp3yAJdU.cjs");
3
+ const require_custom = require("./custom-37gL0VZG.cjs");
4
4
  const require_jsx_runtime = require("./jsx-runtime.cjs");
5
- const require_clip_index = require("./clip/index.cjs");
5
+ const require_clip = require("./clip-CHmjztBQ.cjs");
6
6
  let phaser = require("phaser");
7
7
  phaser = require_chunk.__toESM(phaser, 1);
8
8
  let _preact_signals_core = require("@preact/signals-core");
@@ -710,27 +710,34 @@ function useParticles(ref) {
710
710
  if (require_custom.isParticleEmitter(current)) return current;
711
711
  return require_custom.getFirstEmitter(current);
712
712
  }, [ref]);
713
+ const start = require_custom.useCallback(() => {
714
+ getEmitter()?.start();
715
+ }, [getEmitter]);
716
+ const stop = require_custom.useCallback(() => {
717
+ getEmitter()?.stop();
718
+ }, [getEmitter]);
719
+ const explode = require_custom.useCallback((count, x, y) => {
720
+ getEmitter()?.explode(count, x, y);
721
+ }, [getEmitter]);
722
+ const setConfig = require_custom.useCallback((config) => {
723
+ require_custom.applyEmitterConfig(getEmitter(), config);
724
+ }, [getEmitter]);
725
+ const setEmitZone = require_custom.useCallback((zone, width, height) => {
726
+ require_custom.applyEmitZone(getEmitter(), require_custom.buildEmitZoneFromLayout(zone, width, height));
727
+ }, [getEmitter]);
728
+ const setDeathZones = require_custom.useCallback((zones, width, height) => {
729
+ require_custom.applyDeathZone(getEmitter(), require_custom.buildDeathZonesFromLayout(zones, width, height, getManager() ?? void 0));
730
+ }, [getEmitter, getManager]);
713
731
  return {
714
732
  getManager,
715
733
  getEmitter,
716
- start: require_custom.useCallback(() => {
717
- getEmitter()?.start();
718
- }, [getEmitter]),
719
- stop: require_custom.useCallback(() => {
720
- getEmitter()?.stop();
721
- }, [getEmitter]),
722
- explode: require_custom.useCallback((count, x, y) => {
723
- getEmitter()?.explode(count, x, y);
724
- }, [getEmitter]),
725
- setConfig: require_custom.useCallback((config) => {
726
- require_custom.applyEmitterConfig(getEmitter(), config);
727
- }, [getEmitter]),
728
- setEmitZone: require_custom.useCallback((zone, width, height) => {
729
- require_custom.applyEmitZone(getEmitter(), require_custom.buildEmitZoneFromLayout(zone, width, height));
730
- }, [getEmitter]),
731
- setExcludeZones: require_custom.useCallback((zones, width, height) => {
732
- require_custom.applyDeathZone(getEmitter(), require_custom.buildDeathZonesFromLayout(zones, width, height));
733
- }, [getEmitter])
734
+ start,
735
+ stop,
736
+ explode,
737
+ setConfig,
738
+ setEmitZone,
739
+ setDeathZones,
740
+ setExcludeZones: setDeathZones
734
741
  };
735
742
  }
736
743
  //#endregion
@@ -1404,102 +1411,22 @@ function getAvailablePresets() {
1404
1411
  ];
1405
1412
  }
1406
1413
  //#endregion
1407
- //#region src/design-tokens/use-theme-tokens.ts
1408
- /**
1409
- * Hook to access complete design token system
1410
- * Combines colors with text styles, spacing, sizes, and radius tokens
1411
- */
1412
- /**
1413
- * Hook to access complete design token system from theme context
1414
- * Provides colors, text styles, spacing, sizes, and radius tokens
1415
- * Automatically updates when color mode or preset changes
1416
- * @returns Current DesignTokens or undefined
1417
- * @example
1418
- * ```typescript
1419
- * function MyComponent() {
1420
- * const tokens = useThemeTokens()
1421
- *
1422
- * if (!tokens) return null
1423
- *
1424
- * return (
1425
- * <View
1426
- * backgroundColor={tokens.colors.surface.DEFAULT}
1427
- * padding={tokens.spacing.lg}
1428
- * cornerRadius={tokens.radius.md}
1429
- * >
1430
- * <Text text="Title" style={tokens.textStyles.title} />
1431
- * <Text text="Body text" style={tokens.textStyles.DEFAULT} />
1432
- * </View>
1433
- * )
1434
- * }
1435
- * ```
1436
- */
1437
- function useThemeTokens() {
1438
- const localTheme = require_custom.useTheme();
1439
- const getInitialTokens = () => {
1440
- if (localTheme?.__colorPreset) {
1441
- const preset = require_custom.getPresetWithMode(localTheme.__colorPreset.name, localTheme.__colorPreset.mode ?? "light");
1442
- return {
1443
- colors: preset.colors,
1444
- textStyles: require_custom.createTextStyleTokens(preset.colors.text.DEFAULT.toString()),
1445
- spacing: require_custom.defaultSpacingTokens,
1446
- sizes: require_custom.defaultSizeTokens,
1447
- radius: require_custom.defaultRadiusTokens
1448
- };
1449
- }
1450
- const colors = require_custom.themeRegistry.getColorTokens();
1451
- if (!colors) return void 0;
1452
- return {
1453
- colors,
1454
- textStyles: require_custom.createTextStyleTokens(colors.text.DEFAULT.toString()),
1455
- spacing: require_custom.defaultSpacingTokens,
1456
- sizes: require_custom.defaultSizeTokens,
1457
- radius: require_custom.defaultRadiusTokens
1458
- };
1459
- };
1460
- const [tokens, setTokens] = require_custom.useState(getInitialTokens());
1461
- const [, forceUpdate] = require_custom.useState(0);
1462
- require_custom.useEffect(() => {
1463
- return require_custom.themeRegistry.subscribe(() => {
1464
- if (localTheme?.__colorPreset) {
1465
- const currentMode = require_custom.themeRegistry.getColorMode();
1466
- const preset = require_custom.getPresetWithMode(localTheme.__colorPreset.name, currentMode);
1467
- setTokens({
1468
- colors: preset.colors,
1469
- textStyles: require_custom.createTextStyleTokens(preset.colors.text.DEFAULT.toString()),
1470
- spacing: require_custom.defaultSpacingTokens,
1471
- sizes: require_custom.defaultSizeTokens,
1472
- radius: require_custom.defaultRadiusTokens
1473
- });
1474
- } else {
1475
- const colors = require_custom.themeRegistry.getColorTokens();
1476
- if (colors) setTokens({
1477
- colors,
1478
- textStyles: require_custom.createTextStyleTokens(colors.text.DEFAULT.toString()),
1479
- spacing: require_custom.defaultSpacingTokens,
1480
- sizes: require_custom.defaultSizeTokens,
1481
- radius: require_custom.defaultRadiusTokens
1482
- });
1483
- }
1484
- forceUpdate((n) => n + 1);
1485
- });
1486
- }, [localTheme]);
1487
- return tokens;
1488
- }
1489
- //#endregion
1490
1414
  //#region src/index.ts
1491
1415
  /**
1492
1416
  * PhaserJSX UI Library
1493
- * Provides JSX + hooks + VDOM for Phaser 3 game development
1417
+ * Provides JSX + hooks + VDOM for Phaser 4 game UI development
1494
1418
  */
1495
1419
  require_custom.registerBuiltins();
1496
1420
  //#endregion
1497
1421
  exports.Accordion = require_custom.Accordion;
1498
1422
  exports.AlertDialog = require_custom.AlertDialog;
1423
+ exports.Badge = require_custom.Badge;
1499
1424
  exports.Button = require_custom.Button;
1500
1425
  exports.CAMERA_FX_REGISTRY = CAMERA_FX_REGISTRY;
1501
1426
  exports.CharText = require_custom.CharText;
1502
1427
  exports.CharTextInput = require_custom.CharTextInput;
1428
+ exports.Checkbox = require_custom.Checkbox;
1429
+ exports.ContextMenu = require_custom.ContextMenu;
1503
1430
  exports.DEFAULT_BACKGROUND = DEFAULT_BACKGROUND;
1504
1431
  exports.DEFAULT_CAMERA_FX = DEFAULT_CAMERA_FX;
1505
1432
  exports.DEFAULT_EFFECT = require_custom.DEFAULT_EFFECT;
@@ -1507,6 +1434,7 @@ exports.DEFAULT_FX = DEFAULT_FX;
1507
1434
  exports.DEFAULT_SPRING_CONFIG = require_custom.DEFAULT_SPRING_CONFIG;
1508
1435
  exports.DOMInputElement = require_custom.DOMInputElement;
1509
1436
  exports.DebugLogger = require_custom.DebugLogger;
1437
+ exports.DebugPanel = require_custom.DebugPanel;
1510
1438
  exports.DevConfig = require_custom.DevConfig;
1511
1439
  exports.DevPresets = require_custom.DevPresets;
1512
1440
  exports.Dialog = require_custom.Dialog;
@@ -1527,7 +1455,9 @@ exports.NineSliceButton = require_custom.NineSliceButton;
1527
1455
  exports.PARTICLE_PRESET_REGISTRY = require_custom.PARTICLE_PRESET_REGISTRY;
1528
1456
  exports.Particles = require_custom.Particles;
1529
1457
  exports.PhaserJSXPlugin = PhaserJSXPlugin;
1458
+ exports.Popover = require_custom.Popover;
1530
1459
  exports.Portal = require_custom.Portal;
1460
+ exports.ProgressBar = require_custom.ProgressBar;
1531
1461
  exports.RadioButton = require_custom.RadioButton;
1532
1462
  exports.RadioGroup = require_custom.RadioGroup;
1533
1463
  exports.RangeSlider = require_custom.RangeSlider;
@@ -1542,6 +1472,7 @@ exports.Sprite = require_custom.Sprite;
1542
1472
  exports.Tab = require_custom.Tab;
1543
1473
  exports.TabPanel = require_custom.TabPanel;
1544
1474
  exports.Tabs = require_custom.Tabs;
1475
+ exports.Tag = require_custom.Tag;
1545
1476
  exports.Text = require_custom.Text;
1546
1477
  exports.TileSprite = require_custom.TileSprite;
1547
1478
  exports.Toggle = require_custom.Toggle;
@@ -1556,12 +1487,14 @@ exports.applyDarkMode = require_custom.applyDarkMode;
1556
1487
  exports.applyEffectByName = require_custom.applyEffectByName;
1557
1488
  exports.applyFXByName = applyFXByName;
1558
1489
  exports.applyLightMode = require_custom.applyLightMode;
1559
- exports.applyStencilClip = require_clip_index.applyStencilClip;
1490
+ exports.applyStencilClip = require_clip.applyStencilClip;
1560
1491
  exports.buildDeathZonesFromLayout = require_custom.buildDeathZonesFromLayout;
1561
1492
  exports.buildEmitZone = require_custom.buildEmitZone;
1562
1493
  exports.buildEmitZoneFromLayout = require_custom.buildEmitZoneFromLayout;
1494
+ exports.calculateOverlayPosition = require_custom.calculateOverlayPosition;
1563
1495
  exports.calculateSliderSize = require_custom.calculateSliderSize;
1564
- exports.clearStencilClip = require_clip_index.clearStencilClip;
1496
+ exports.clampProgressValue = require_custom.clampProgressValue;
1497
+ exports.clearStencilClip = require_clip.clearStencilClip;
1565
1498
  exports.colorsToTheme = colorsToTheme;
1566
1499
  exports.computed = _preact_signals_core.computed;
1567
1500
  exports.createBlurFX = createBlurFX;
@@ -1613,10 +1546,13 @@ exports.defaultTheme = require_custom.defaultTheme;
1613
1546
  exports.disposeCtx = require_custom.disposeCtx;
1614
1547
  exports.ensureContrast = require_custom.ensureContrast;
1615
1548
  exports.forestGreenPreset = require_custom.forestGreenPreset;
1549
+ exports.formatBadgeCount = require_custom.formatBadgeCount;
1616
1550
  exports.generateColorScale = require_custom.generateColorScale;
1617
1551
  exports.getAvailablePresets = getAvailablePresets;
1618
1552
  exports.getBackgroundColor = getBackgroundColor;
1619
1553
  exports.getBackgroundGraphics = require_custom.getBackgroundGraphics;
1554
+ exports.getBadgeSizeConfig = require_custom.getBadgeSizeConfig;
1555
+ exports.getBadgeText = require_custom.getBadgeText;
1620
1556
  exports.getBorderColor = getBorderColor;
1621
1557
  exports.getContrastRatio = require_custom.getContrastRatio;
1622
1558
  exports.getCurrent = require_custom.getCurrent;
@@ -1627,8 +1563,9 @@ exports.getLayoutSize = require_custom.getLayoutSize;
1627
1563
  exports.getMountStats = require_custom.getMountStats;
1628
1564
  exports.getPreset = require_custom.getPreset;
1629
1565
  exports.getPresetWithMode = require_custom.getPresetWithMode;
1566
+ exports.getProgressRatio = require_custom.getProgressRatio;
1630
1567
  exports.getRenderContext = require_custom.getRenderContext;
1631
- exports.getStencilClipHandle = require_clip_index.getStencilClipHandle;
1568
+ exports.getStencilClipHandle = require_clip.getStencilClipHandle;
1632
1569
  exports.getSurfaceColor = getSurfaceColor;
1633
1570
  exports.getTextColor = getTextColor;
1634
1571
  exports.getThemedProps = require_custom.getThemedProps;
@@ -1640,9 +1577,9 @@ exports.hexToNumber = require_custom.hexToNumber;
1640
1577
  exports.host = require_custom.host;
1641
1578
  exports.imageCreator = require_custom.imageCreator;
1642
1579
  exports.imagePatcher = require_custom.imagePatcher;
1643
- exports.installStencilClipExtension = require_clip_index.installStencilClipExtension;
1580
+ exports.installStencilClipExtension = require_clip.installStencilClipExtension;
1644
1581
  exports.isAnimatedSignal = require_custom.isAnimatedSignal;
1645
- exports.isBitmapStencilClipSource = require_clip_index.isBitmapStencilClipSource;
1582
+ exports.isBitmapStencilClipSource = require_clip.isBitmapStencilClipSource;
1646
1583
  exports.jsx = require_jsx_runtime.jsx;
1647
1584
  exports.jsxs = require_jsx_runtime.jsxs;
1648
1585
  exports.lighten = require_custom.lighten;
@@ -1675,6 +1612,7 @@ exports.releaseAllSVGTextures = require_custom.releaseAllSVGTextures;
1675
1612
  exports.releaseSVGTexture = require_custom.releaseSVGTexture;
1676
1613
  exports.releaseSVGTextures = require_custom.releaseSVGTextures;
1677
1614
  exports.remountAll = require_custom.remountAll;
1615
+ exports.resolveBadgeTextStyle = require_custom.resolveBadgeTextStyle;
1678
1616
  exports.resolveCameraFX = resolveCameraFX;
1679
1617
  exports.resolveEffect = require_custom.resolveEffect;
1680
1618
  exports.resolveFX = resolveFX;
@@ -1693,7 +1631,7 @@ exports.textPatcher = require_custom.textPatcher;
1693
1631
  exports.themeRegistry = require_custom.themeRegistry;
1694
1632
  exports.tileSpriteCreator = require_custom.tileSpriteCreator;
1695
1633
  exports.tileSpritePatcher = require_custom.tileSpritePatcher;
1696
- exports.uninstallStencilClipExtension = require_clip_index.uninstallStencilClipExtension;
1634
+ exports.uninstallStencilClipExtension = require_clip.uninstallStencilClipExtension;
1697
1635
  exports.unmount = require_custom.unmount;
1698
1636
  exports.unmountJSX = require_custom.unmountJSX;
1699
1637
  exports.unwrapSignal = require_custom.unwrapSignal;
@@ -1729,7 +1667,7 @@ exports.useSprings = require_custom.useSprings;
1729
1667
  exports.useState = require_custom.useState;
1730
1668
  exports.useTheme = require_custom.useTheme;
1731
1669
  exports.useThemeSubscription = useThemeSubscription;
1732
- exports.useThemeTokens = useThemeTokens;
1670
+ exports.useThemeTokens = require_custom.useThemeTokens;
1733
1671
  exports.useViewportSize = require_custom.useViewportSize;
1734
1672
  exports.useWorldLayoutRect = require_custom.useWorldLayoutRect;
1735
1673
  exports.viewCreator = require_custom.viewCreator;