@number10/phaserjsx 0.4.2 → 0.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 (38) hide show
  1. package/dist/{TransformOriginView-CrzevUOh.cjs → TransformOriginView-DyhDBexY.cjs} +520 -539
  2. package/dist/TransformOriginView-DyhDBexY.cjs.map +1 -0
  3. package/dist/{TransformOriginView-TeXhLqNs.js → TransformOriginView-Y2LMZNcF.js} +587 -606
  4. package/dist/TransformOriginView-Y2LMZNcF.js.map +1 -0
  5. package/dist/animation/useSpring.d.ts.map +1 -1
  6. package/dist/colors/preset-manager.d.ts.map +1 -1
  7. package/dist/components/appliers/applyLayout.d.ts +4 -0
  8. package/dist/components/appliers/applyLayout.d.ts.map +1 -1
  9. package/dist/components/custom/Portal.d.ts.map +1 -1
  10. package/dist/components/custom/index.cjs +34 -34
  11. package/dist/components/custom/index.js +1 -1
  12. package/dist/effects/use-effect.d.ts +5 -0
  13. package/dist/effects/use-effect.d.ts.map +1 -1
  14. package/dist/hooks-svg.d.ts +1 -1
  15. package/dist/hooks-svg.d.ts.map +1 -1
  16. package/dist/hooks.d.ts +5 -0
  17. package/dist/hooks.d.ts.map +1 -1
  18. package/dist/host.d.ts +1 -1
  19. package/dist/host.d.ts.map +1 -1
  20. package/dist/index.cjs +496 -285
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.ts +1 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +292 -81
  25. package/dist/index.js.map +1 -1
  26. package/dist/render-context.d.ts +1 -1
  27. package/dist/render-context.d.ts.map +1 -1
  28. package/dist/scene-backgrounds.d.ts +19 -0
  29. package/dist/scene-backgrounds.d.ts.map +1 -0
  30. package/dist/theme.d.ts.map +1 -1
  31. package/dist/utils/phaser-guards.d.ts +7 -0
  32. package/dist/utils/phaser-guards.d.ts.map +1 -0
  33. package/dist/vdom.d.ts.map +1 -1
  34. package/jsx-dev-runtime.d.ts +1 -0
  35. package/jsx-runtime.d.ts +1 -0
  36. package/package.json +4 -2
  37. package/dist/TransformOriginView-CrzevUOh.cjs.map +0 -1
  38. package/dist/TransformOriginView-TeXhLqNs.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const vdom = require("./TransformOriginView-CrzevUOh.cjs");
4
- const Phaser$1 = require("phaser");
3
+ const TransformOriginView = require("./TransformOriginView-DyhDBexY.cjs");
4
+ const Phaser = require("phaser");
5
5
  const jsxRuntime = require("./jsx-runtime.cjs");
6
6
  const signalsCore = require("@preact/signals-core");
7
7
  function _interopNamespaceDefault(e) {
@@ -20,7 +20,7 @@ function _interopNamespaceDefault(e) {
20
20
  n.default = e;
21
21
  return Object.freeze(n);
22
22
  }
23
- const Phaser__namespace = /* @__PURE__ */ _interopNamespaceDefault(Phaser$1);
23
+ const Phaser__namespace = /* @__PURE__ */ _interopNamespaceDefault(Phaser);
24
24
  function shallowEqual(a, b) {
25
25
  if (!a || !b) return a === b;
26
26
  if (a.length !== b.length) return false;
@@ -935,7 +935,7 @@ function applyTextProps(node, prev, next) {
935
935
  node.setText(next.text);
936
936
  needsUpdate = true;
937
937
  }
938
- if (next.style !== void 0 && !vdom.equal(next.style, prev.style || {})) {
938
+ if (next.style !== void 0 && !TransformOriginView.equal(next.style, prev.style || {})) {
939
939
  try {
940
940
  node.setStyle(next.style);
941
941
  needsUpdate = true;
@@ -944,9 +944,9 @@ function applyTextProps(node, prev, next) {
944
944
  }
945
945
  }
946
946
  if (next.maxWidth !== prev.maxWidth && next.maxWidth !== void 0) {
947
- const viewport = vdom.viewportRegistry.getViewport();
948
- const parsedMaxWidth = vdom.parseSize(next.maxWidth);
949
- const resolvedMaxWidth = vdom.resolveSize(parsedMaxWidth, viewport?.width, void 0, void 0);
947
+ const viewport = TransformOriginView.viewportRegistry.getViewport();
948
+ const parsedMaxWidth = TransformOriginView.parseSize(next.maxWidth);
949
+ const resolvedMaxWidth = TransformOriginView.resolveSize(parsedMaxWidth, viewport?.width, void 0, void 0);
950
950
  node.setWordWrapWidth(resolvedMaxWidth, true);
951
951
  needsUpdate = true;
952
952
  }
@@ -1153,7 +1153,7 @@ function applyGesturesProps(scene, container, prev, next) {
1153
1153
  const hadAnyGesture = !!(prev.onTouch || prev.onTouchOutside || prev.onTouchMove || prev.onDoubleTap || prev.onLongPress || prev.onHoverStart || prev.onHoverEnd || prev.onWheel);
1154
1154
  const prevEnabled = hadAnyGesture && prev.enableGestures !== false;
1155
1155
  const nextEnabled = hasAnyGesture && next.enableGestures !== false;
1156
- const manager = vdom.getGestureManager(scene);
1156
+ const manager = TransformOriginView.getGestureManager(scene);
1157
1157
  if (!prevEnabled && nextEnabled && hasAnyGesture) {
1158
1158
  const containerWithLayout = container;
1159
1159
  let width = 100;
@@ -1221,9 +1221,9 @@ function updateGestureHitAreaIfNeeded(node) {
1221
1221
  const containerWithLayout = node;
1222
1222
  if (!containerWithLayout.__getLayoutSize) return;
1223
1223
  try {
1224
- const manager = vdom.getGestureManager(containerWithLayout.scene);
1224
+ const manager = TransformOriginView.getGestureManager(containerWithLayout.scene);
1225
1225
  const size = containerWithLayout.__getLayoutSize();
1226
- const hitArea = new Phaser.Geom.Rectangle(0, 0, size.width, size.height);
1226
+ const hitArea = new Phaser__namespace.Geom.Rectangle(0, 0, size.width, size.height);
1227
1227
  manager.updateHitArea(node, hitArea);
1228
1228
  } catch {
1229
1229
  }
@@ -1250,7 +1250,7 @@ function hasLayoutPropsChanged(prev, next) {
1250
1250
  const oldVal = prev[prop];
1251
1251
  const newVal = next[prop];
1252
1252
  if (DEEP_COMPARE_PROPS.has(prop)) {
1253
- if (!vdom.equal(oldVal, newVal)) {
1253
+ if (!TransformOriginView.equal(oldVal, newVal)) {
1254
1254
  return true;
1255
1255
  }
1256
1256
  } else {
@@ -1294,7 +1294,7 @@ function applyLayoutProps(node, prev, next) {
1294
1294
  node.__layoutProps = next;
1295
1295
  if (hasLayoutPropsChanged(prev, next)) {
1296
1296
  const { parentSize, parentPadding } = getParentLayoutContext(node);
1297
- vdom.calculateLayout(node, next, parentSize, parentPadding);
1297
+ TransformOriginView.calculateLayout(node, next, parentSize, parentPadding);
1298
1298
  updateGestureHitAreaIfNeeded(node);
1299
1299
  }
1300
1300
  }
@@ -1333,7 +1333,7 @@ function showTooltip(scene, container, config) {
1333
1333
  if (!state || state.isVisible) return;
1334
1334
  state.isVisible = true;
1335
1335
  state.currentConfig = config;
1336
- const theme = vdom.themeRegistry.getGlobalTheme();
1336
+ const theme = TransformOriginView.themeRegistry.getGlobalTheme();
1337
1337
  const tooltipTheme = theme.Tooltip || {};
1338
1338
  const position = config.position ?? tooltipTheme.position ?? "top";
1339
1339
  const offset = config.offset ?? tooltipTheme.offset ?? 8;
@@ -1438,7 +1438,7 @@ function hideTooltip(container) {
1438
1438
  if (!state.tooltip) return;
1439
1439
  const tooltip = state.tooltip;
1440
1440
  const scene = tooltip.scene;
1441
- const theme = vdom.themeRegistry.getGlobalTheme();
1441
+ const theme = TransformOriginView.themeRegistry.getGlobalTheme();
1442
1442
  const tooltipTheme = theme.Tooltip || {};
1443
1443
  const themeAnim = tooltipTheme.animation || {};
1444
1444
  const anim = config?.animation || {};
@@ -1483,7 +1483,7 @@ function applyTooltip(scene, container, nextCallback, existingOnHoverStart, exis
1483
1483
  if (!state) {
1484
1484
  throw new Error("applyTooltip: state not initialized");
1485
1485
  }
1486
- const theme = vdom.themeRegistry.getGlobalTheme();
1486
+ const theme = TransformOriginView.themeRegistry.getGlobalTheme();
1487
1487
  const tooltipTheme = theme.Tooltip || {};
1488
1488
  const onHoverStart = (data) => {
1489
1489
  if (existingOnHoverStart) existingOnHoverStart(data);
@@ -1567,7 +1567,7 @@ function createGestures(scene, container, props) {
1567
1567
  if (!shouldEnable) {
1568
1568
  return;
1569
1569
  }
1570
- const manager = vdom.getGestureManager(scene);
1570
+ const manager = TransformOriginView.getGestureManager(scene);
1571
1571
  const containerWithLayout = container;
1572
1572
  let width = 100;
1573
1573
  let height = 100;
@@ -1607,7 +1607,7 @@ function createLayout(container, props) {
1607
1607
  const paddingTop = padding.top ?? 0;
1608
1608
  const paddingRight = padding.right ?? 0;
1609
1609
  const paddingBottom = padding.bottom ?? 0;
1610
- const gapNormalized = vdom.normalizeGap(props.gap);
1610
+ const gapNormalized = TransformOriginView.normalizeGap(props.gap);
1611
1611
  let maxWidth = 0;
1612
1612
  let maxHeight = 0;
1613
1613
  let totalMainSize = 0;
@@ -1623,7 +1623,7 @@ function createLayout(container, props) {
1623
1623
  const marginBottom = margin.bottom ?? 0;
1624
1624
  const marginLeft = margin.left ?? 0;
1625
1625
  const marginRight = margin.right ?? 0;
1626
- const childSize = vdom.getChildSize(child);
1626
+ const childSize = TransformOriginView.getChildSize(child);
1627
1627
  if (direction === "row") {
1628
1628
  totalMainSize += marginLeft + childSize.width + marginRight;
1629
1629
  const childTotalHeight = marginTop + childSize.height + marginBottom;
@@ -1640,10 +1640,10 @@ function createLayout(container, props) {
1640
1640
  }
1641
1641
  const defaultWidth = direction === "row" ? totalMainSize + paddingLeft + paddingRight : maxWidth + paddingLeft + paddingRight;
1642
1642
  const defaultHeight = direction === "row" ? maxHeight + paddingTop + paddingBottom : totalMainSize + paddingTop + paddingBottom;
1643
- const parsedWidth = vdom.parseSize(props.width);
1644
- const finalWidth = vdom.resolveSize(parsedWidth, void 0, defaultWidth);
1645
- const parsedHeight = vdom.parseSize(props.height);
1646
- const finalHeight = vdom.resolveSize(parsedHeight, void 0, defaultHeight);
1643
+ const parsedWidth = TransformOriginView.parseSize(props.width);
1644
+ const finalWidth = TransformOriginView.resolveSize(parsedWidth, void 0, defaultWidth);
1645
+ const parsedHeight = TransformOriginView.parseSize(props.height);
1646
+ const finalHeight = TransformOriginView.resolveSize(parsedHeight, void 0, defaultHeight);
1647
1647
  return {
1648
1648
  width: finalWidth,
1649
1649
  height: finalHeight
@@ -1673,7 +1673,7 @@ function normalizeBackgroundProps(props) {
1673
1673
  }
1674
1674
  const viewCreator = (scene, props) => {
1675
1675
  if (props.backgroundColor !== void 0 || props.cornerRadius !== void 0) {
1676
- vdom.DebugLogger.log("theme", "View Creator - Props received:", {
1676
+ TransformOriginView.DebugLogger.log("theme", "View Creator - Props received:", {
1677
1677
  backgroundColor: props.backgroundColor,
1678
1678
  cornerRadius: props.cornerRadius,
1679
1679
  width: props.width,
@@ -1702,7 +1702,7 @@ const viewCreator = (scene, props) => {
1702
1702
  normalizedProps.onHoverEnd = handlers.onHoverEnd;
1703
1703
  }
1704
1704
  createGestures(scene, container, normalizedProps);
1705
- vdom.DebugLogger.log(
1705
+ TransformOriginView.DebugLogger.log(
1706
1706
  "layout",
1707
1707
  "View creator storing __layoutProps with padding:",
1708
1708
  normalizedProps.padding
@@ -1735,32 +1735,32 @@ const viewPatcher = (node, prev, next) => {
1735
1735
  applyLayoutProps(container, normalizedPrev, normalizedNext);
1736
1736
  };
1737
1737
  function Sprite(props) {
1738
- const localTheme = vdom.useTheme();
1739
- const { props: themed, nestedTheme } = vdom.getThemedProps("Sprite", localTheme, props);
1738
+ const localTheme = TransformOriginView.useTheme();
1739
+ const { props: themed, nestedTheme } = TransformOriginView.getThemedProps("Sprite", localTheme, props);
1740
1740
  return /* @__PURE__ */ jsxRuntime.jsx("sprite", { ...themed, theme: nestedTheme });
1741
1741
  }
1742
1742
  function TileSprite(props) {
1743
- const localTheme = vdom.useTheme();
1744
- const { props: themed, nestedTheme } = vdom.getThemedProps("TileSprite", localTheme, props);
1743
+ const localTheme = TransformOriginView.useTheme();
1744
+ const { props: themed, nestedTheme } = TransformOriginView.getThemedProps("TileSprite", localTheme, props);
1745
1745
  return /* @__PURE__ */ jsxRuntime.jsx("tilesprite", { ...themed, theme: nestedTheme });
1746
1746
  }
1747
1747
  function registerBuiltins() {
1748
- vdom.register("view", { create: viewCreator, patch: viewPatcher });
1749
- vdom.register("text", { create: textCreator, patch: textPatcher });
1750
- vdom.register("nineslice", { create: nineSliceCreator, patch: nineSlicePatcher });
1751
- vdom.register("particles", { create: particlesCreator, patch: particlesPatcher });
1752
- vdom.register("sprite", { create: spriteCreator, patch: spritePatcher });
1753
- vdom.register("image", { create: imageCreator, patch: imagePatcher });
1754
- vdom.register("graphics", { create: graphicsCreator, patch: graphicsPatcher });
1755
- vdom.register("tilesprite", { create: tileSpriteCreator, patch: tileSpritePatcher });
1756
- vdom.register("View", { create: viewCreator, patch: viewPatcher });
1757
- vdom.register("Text", { create: textCreator, patch: textPatcher });
1758
- vdom.register("NineSlice", { create: nineSliceCreator, patch: nineSlicePatcher });
1759
- vdom.register("Particles", { create: particlesCreator, patch: particlesPatcher });
1760
- vdom.register("Sprite", { create: spriteCreator, patch: spritePatcher });
1761
- vdom.register("Image", { create: imageCreator, patch: imagePatcher });
1762
- vdom.register("Graphics", { create: graphicsCreator, patch: graphicsPatcher });
1763
- vdom.register("TileSprite", { create: tileSpriteCreator, patch: tileSpritePatcher });
1748
+ TransformOriginView.register("view", { create: viewCreator, patch: viewPatcher });
1749
+ TransformOriginView.register("text", { create: textCreator, patch: textPatcher });
1750
+ TransformOriginView.register("nineslice", { create: nineSliceCreator, patch: nineSlicePatcher });
1751
+ TransformOriginView.register("particles", { create: particlesCreator, patch: particlesPatcher });
1752
+ TransformOriginView.register("sprite", { create: spriteCreator, patch: spritePatcher });
1753
+ TransformOriginView.register("image", { create: imageCreator, patch: imagePatcher });
1754
+ TransformOriginView.register("graphics", { create: graphicsCreator, patch: graphicsPatcher });
1755
+ TransformOriginView.register("tilesprite", { create: tileSpriteCreator, patch: tileSpritePatcher });
1756
+ TransformOriginView.register("View", { create: viewCreator, patch: viewPatcher });
1757
+ TransformOriginView.register("Text", { create: textCreator, patch: textPatcher });
1758
+ TransformOriginView.register("NineSlice", { create: nineSliceCreator, patch: nineSlicePatcher });
1759
+ TransformOriginView.register("Particles", { create: particlesCreator, patch: particlesPatcher });
1760
+ TransformOriginView.register("Sprite", { create: spriteCreator, patch: spritePatcher });
1761
+ TransformOriginView.register("Image", { create: imageCreator, patch: imagePatcher });
1762
+ TransformOriginView.register("Graphics", { create: graphicsCreator, patch: graphicsPatcher });
1763
+ TransformOriginView.register("TileSprite", { create: tileSpriteCreator, patch: tileSpritePatcher });
1764
1764
  }
1765
1765
  const createCameraShakeFX = (camera, config) => {
1766
1766
  const duration = config.duration ?? 250;
@@ -1794,13 +1794,13 @@ const createCameraZoomFX = (camera, config) => {
1794
1794
  camera.zoomTo(targetZoom, duration, config.ease, config.force ?? false, config.onComplete);
1795
1795
  };
1796
1796
  function useCameraFX(cameraRef, options = {}) {
1797
- const scene = vdom.useScene();
1798
- const activeFxRef = vdom.useRef(/* @__PURE__ */ new Set());
1799
- const baseZoomRef = vdom.useRef(null);
1800
- const getCamera = vdom.useCallback(() => {
1797
+ const scene = TransformOriginView.useScene();
1798
+ const activeFxRef = TransformOriginView.useRef(/* @__PURE__ */ new Set());
1799
+ const baseZoomRef = TransformOriginView.useRef(null);
1800
+ const getCamera = TransformOriginView.useCallback(() => {
1801
1801
  return cameraRef?.current ?? scene.cameras.main;
1802
1802
  }, [cameraRef, scene]);
1803
- const applyCameraFX = vdom.useCallback(
1803
+ const applyCameraFX = TransformOriginView.useCallback(
1804
1804
  (fx, config) => {
1805
1805
  const camera = getCamera();
1806
1806
  if (!camera) {
@@ -1817,7 +1817,7 @@ function useCameraFX(cameraRef, options = {}) {
1817
1817
  },
1818
1818
  [getCamera]
1819
1819
  );
1820
- const clearCameraFX = vdom.useCallback(() => {
1820
+ const clearCameraFX = TransformOriginView.useCallback(() => {
1821
1821
  const camera = getCamera();
1822
1822
  activeFxRef.current.forEach((cleanup) => cleanup());
1823
1823
  activeFxRef.current.clear();
@@ -1830,14 +1830,14 @@ function useCameraFX(cameraRef, options = {}) {
1830
1830
  camera.setZoom(baseZoomRef.current);
1831
1831
  }
1832
1832
  }, [getCamera, options.resetZoomOnClear]);
1833
- vdom.useEffect(() => {
1833
+ TransformOriginView.useEffect(() => {
1834
1834
  return () => clearCameraFX();
1835
1835
  }, [clearCameraFX]);
1836
1836
  return { applyCameraFX, clearCameraFX };
1837
1837
  }
1838
1838
  function useScreenShake(config = {}, cameraRef) {
1839
1839
  const { applyCameraFX, clearCameraFX } = useCameraFX(cameraRef);
1840
- vdom.useEffect(() => {
1840
+ TransformOriginView.useEffect(() => {
1841
1841
  applyCameraFX(createCameraShakeFX, config);
1842
1842
  return () => clearCameraFX();
1843
1843
  }, [applyCameraFX, clearCameraFX, config]);
@@ -1845,7 +1845,7 @@ function useScreenShake(config = {}, cameraRef) {
1845
1845
  }
1846
1846
  function useCameraFlash(config = {}, cameraRef) {
1847
1847
  const { applyCameraFX, clearCameraFX } = useCameraFX(cameraRef);
1848
- vdom.useEffect(() => {
1848
+ TransformOriginView.useEffect(() => {
1849
1849
  applyCameraFX(createCameraFlashFX, config);
1850
1850
  return () => clearCameraFX();
1851
1851
  }, [applyCameraFX, clearCameraFX, config]);
@@ -1853,7 +1853,7 @@ function useCameraFlash(config = {}, cameraRef) {
1853
1853
  }
1854
1854
  function useCameraFade(config = {}, cameraRef) {
1855
1855
  const { applyCameraFX, clearCameraFX } = useCameraFX(cameraRef);
1856
- vdom.useEffect(() => {
1856
+ TransformOriginView.useEffect(() => {
1857
1857
  const fx = config.direction === "in" ? createCameraFadeInFX : createCameraFadeOutFX;
1858
1858
  applyCameraFX(fx, config);
1859
1859
  return () => clearCameraFX();
@@ -1862,7 +1862,7 @@ function useCameraFade(config = {}, cameraRef) {
1862
1862
  }
1863
1863
  function useCameraZoom(config = {}, cameraRef) {
1864
1864
  const { applyCameraFX, clearCameraFX } = useCameraFX(cameraRef);
1865
- vdom.useEffect(() => {
1865
+ TransformOriginView.useEffect(() => {
1866
1866
  applyCameraFX(createCameraZoomFX, config);
1867
1867
  return () => clearCameraFX();
1868
1868
  }, [applyCameraFX, clearCameraFX, config]);
@@ -1896,8 +1896,8 @@ function resolveCameraFX(props) {
1896
1896
  };
1897
1897
  }
1898
1898
  function useFX(ref) {
1899
- const activeEffectsRef = vdom.useRef(/* @__PURE__ */ new Set());
1900
- vdom.useEffect(() => {
1899
+ const activeEffectsRef = TransformOriginView.useRef(/* @__PURE__ */ new Set());
1900
+ TransformOriginView.useEffect(() => {
1901
1901
  return () => {
1902
1902
  activeEffectsRef.current.forEach((cleanup) => {
1903
1903
  if (typeof cleanup === "function") {
@@ -2072,7 +2072,7 @@ function applyFXByName(applyFXFn, fxName, config = {}) {
2072
2072
  }
2073
2073
  function useBlur(ref, config = {}) {
2074
2074
  const { applyFX, clearFX } = useFX(ref);
2075
- vdom.useEffect(() => {
2075
+ TransformOriginView.useEffect(() => {
2076
2076
  if (!ref.current) return;
2077
2077
  clearFX();
2078
2078
  applyFX(createBlurFX, config);
@@ -2082,7 +2082,7 @@ function useBlur(ref, config = {}) {
2082
2082
  }
2083
2083
  function useGlow(ref, config = {}) {
2084
2084
  const { applyFX, clearFX } = useFX(ref);
2085
- vdom.useEffect(() => {
2085
+ TransformOriginView.useEffect(() => {
2086
2086
  if (!ref.current) return;
2087
2087
  clearFX();
2088
2088
  applyFX(createGlowFX, config);
@@ -2092,7 +2092,7 @@ function useGlow(ref, config = {}) {
2092
2092
  }
2093
2093
  function useShadow(ref, config = {}) {
2094
2094
  const { applyFX, clearFX } = useFX(ref);
2095
- vdom.useEffect(() => {
2095
+ TransformOriginView.useEffect(() => {
2096
2096
  if (!ref.current) return;
2097
2097
  clearFX();
2098
2098
  applyFX(createShadowFX, config);
@@ -2114,36 +2114,36 @@ function memo(vnode) {
2114
2114
  return setMemoSafe(vnode, true);
2115
2115
  }
2116
2116
  function useParticles(ref) {
2117
- const getManager = vdom.useCallback(() => ref.current ?? null, [ref]);
2118
- const getEmitter = vdom.useCallback(() => {
2117
+ const getManager = TransformOriginView.useCallback(() => ref.current ?? null, [ref]);
2118
+ const getEmitter = TransformOriginView.useCallback(() => {
2119
2119
  const current = ref.current;
2120
2120
  if (!current) return null;
2121
2121
  if (isParticleEmitter(current)) return current;
2122
2122
  return getFirstEmitter(current);
2123
2123
  }, [ref]);
2124
- const start = vdom.useCallback(() => {
2124
+ const start = TransformOriginView.useCallback(() => {
2125
2125
  const emitter = getEmitter();
2126
2126
  emitter?.start();
2127
2127
  }, [getEmitter]);
2128
- const stop = vdom.useCallback(() => {
2128
+ const stop = TransformOriginView.useCallback(() => {
2129
2129
  const emitter = getEmitter();
2130
2130
  emitter?.stop();
2131
2131
  }, [getEmitter]);
2132
- const explode = vdom.useCallback(
2132
+ const explode = TransformOriginView.useCallback(
2133
2133
  (count, x, y) => {
2134
2134
  const emitter = getEmitter();
2135
2135
  emitter?.explode(count, x, y);
2136
2136
  },
2137
2137
  [getEmitter]
2138
2138
  );
2139
- const setConfig = vdom.useCallback(
2139
+ const setConfig = TransformOriginView.useCallback(
2140
2140
  (config) => {
2141
2141
  const emitter = getEmitter();
2142
2142
  applyEmitterConfig(emitter, config);
2143
2143
  },
2144
2144
  [getEmitter]
2145
2145
  );
2146
- const setEmitZone = vdom.useCallback(
2146
+ const setEmitZone = TransformOriginView.useCallback(
2147
2147
  (zone, width, height) => {
2148
2148
  const emitter = getEmitter();
2149
2149
  const emitZone = buildEmitZoneFromLayout(zone, width, height);
@@ -2151,7 +2151,7 @@ function useParticles(ref) {
2151
2151
  },
2152
2152
  [getEmitter]
2153
2153
  );
2154
- const setExcludeZones = vdom.useCallback(
2154
+ const setExcludeZones = TransformOriginView.useCallback(
2155
2155
  (zones, width, height) => {
2156
2156
  const emitter = getEmitter();
2157
2157
  const deathZones = buildDeathZonesFromLayout(zones, width, height);
@@ -2170,6 +2170,217 @@ function useParticles(ref) {
2170
2170
  setExcludeZones
2171
2171
  };
2172
2172
  }
2173
+ const DEFAULT_LOGO_KEY = "phaser-jsx-logo";
2174
+ const DEFAULT_BACKGROUND = {
2175
+ type: "grid",
2176
+ animation: "lemniscate",
2177
+ opacity: 0.15,
2178
+ color: 4890367
2179
+ };
2180
+ function addSceneBackground(scene, config = DEFAULT_BACKGROUND) {
2181
+ const bgConfig = config ?? DEFAULT_BACKGROUND;
2182
+ if (bgConfig.type === "none") return null;
2183
+ let background;
2184
+ let backgroundTween;
2185
+ const particleTweens = [];
2186
+ let resizeFn;
2187
+ let destroyed = false;
2188
+ const createGridBackground = () => {
2189
+ const graphics = scene.add.graphics();
2190
+ const gridSize = 40;
2191
+ const color = bgConfig.color ?? 4890367;
2192
+ const opacity = bgConfig.opacity ?? 0.15;
2193
+ const drawGrid = (offsetX, offsetY) => {
2194
+ graphics.clear();
2195
+ graphics.lineStyle(1, color, opacity);
2196
+ const width = scene.scale.width;
2197
+ const height = scene.scale.height;
2198
+ for (let x = offsetX % gridSize; x < width; x += gridSize) {
2199
+ graphics.lineBetween(x, 0, x, height);
2200
+ }
2201
+ for (let y = offsetY % gridSize; y < height; y += gridSize) {
2202
+ graphics.lineBetween(0, y, width, y);
2203
+ }
2204
+ };
2205
+ drawGrid(0, 0);
2206
+ graphics.__redrawFn = drawGrid;
2207
+ background = graphics;
2208
+ resizeFn = () => drawGrid(0, 0);
2209
+ };
2210
+ const createLogoBackground = () => {
2211
+ const container = scene.add.container(scene.scale.width / 2, scene.scale.height / 2);
2212
+ const opacity = bgConfig.opacity ?? 0.1;
2213
+ const logoKey = bgConfig.logoKey ?? DEFAULT_LOGO_KEY;
2214
+ const logo = scene.add.image(0, 0, logoKey);
2215
+ logo.setAlpha(opacity);
2216
+ logo.setScale(0.5);
2217
+ container.add(logo);
2218
+ background = container;
2219
+ resizeFn = (width, height) => {
2220
+ container.setPosition(width / 2, height / 2);
2221
+ };
2222
+ };
2223
+ const createGradientBackground = () => {
2224
+ const graphics = scene.add.graphics();
2225
+ const color1 = bgConfig.color ?? 4890367;
2226
+ const color2 = bgConfig.colorSecondary ?? 7031551;
2227
+ const opacity = bgConfig.opacity ?? 0.2;
2228
+ const drawGradient = () => {
2229
+ graphics.clear();
2230
+ graphics.fillGradientStyle(color1, color1, color2, color2, opacity, opacity, opacity, opacity);
2231
+ graphics.fillRect(0, 0, scene.scale.width, scene.scale.height);
2232
+ };
2233
+ drawGradient();
2234
+ background = graphics;
2235
+ resizeFn = drawGradient;
2236
+ };
2237
+ const createParticlesBackground = () => {
2238
+ const container = scene.add.container(0, 0);
2239
+ const particleCount = 20;
2240
+ const color = bgConfig.color ?? 4890367;
2241
+ const opacity = bgConfig.opacity ?? 0.1;
2242
+ const particles = [];
2243
+ for (let i = 0; i < particleCount; i += 1) {
2244
+ const size = Phaser__namespace.Math.Between(2, 6);
2245
+ const x = Phaser__namespace.Math.Between(0, scene.scale.width);
2246
+ const y = Phaser__namespace.Math.Between(0, scene.scale.height);
2247
+ const particle = scene.add.circle(x, y, size, color, opacity);
2248
+ container.add(particle);
2249
+ particles.push(particle);
2250
+ particleTweens.push(
2251
+ scene.tweens.add({
2252
+ targets: particle,
2253
+ y: particle.y + Phaser__namespace.Math.Between(-50, 50),
2254
+ x: particle.x + Phaser__namespace.Math.Between(-50, 50),
2255
+ alpha: opacity * 1.5,
2256
+ duration: Phaser__namespace.Math.Between(2e3, 4e3),
2257
+ yoyo: true,
2258
+ repeat: -1,
2259
+ ease: "Sine.easeInOut"
2260
+ })
2261
+ );
2262
+ }
2263
+ background = container;
2264
+ resizeFn = (width, height) => {
2265
+ for (const particle of particles) {
2266
+ particle.setPosition(Phaser__namespace.Math.Between(0, width), Phaser__namespace.Math.Between(0, height));
2267
+ }
2268
+ };
2269
+ };
2270
+ switch (bgConfig.type) {
2271
+ case "grid":
2272
+ createGridBackground();
2273
+ break;
2274
+ case "logo":
2275
+ createLogoBackground();
2276
+ break;
2277
+ case "gradient":
2278
+ createGradientBackground();
2279
+ break;
2280
+ case "particles":
2281
+ createParticlesBackground();
2282
+ break;
2283
+ }
2284
+ if (!background) return null;
2285
+ if (bgConfig.animation && bgConfig.animation !== "static") {
2286
+ backgroundTween = applyAnimation(scene, background, bgConfig.animation);
2287
+ }
2288
+ const onResize = () => {
2289
+ if (resizeFn) resizeFn(scene.scale.width, scene.scale.height);
2290
+ };
2291
+ const cleanup = () => {
2292
+ if (destroyed) return;
2293
+ destroyed = true;
2294
+ backgroundTween?.stop();
2295
+ for (const tween of particleTweens) {
2296
+ tween.stop();
2297
+ }
2298
+ background?.destroy();
2299
+ background = void 0;
2300
+ scene.scale.off(Phaser__namespace.Scale.Events.RESIZE, onResize);
2301
+ scene.events.off(Phaser__namespace.Scenes.Events.SHUTDOWN, cleanup);
2302
+ scene.events.off(Phaser__namespace.Scenes.Events.DESTROY, cleanup);
2303
+ };
2304
+ scene.scale.on(Phaser__namespace.Scale.Events.RESIZE, onResize);
2305
+ scene.events.once(Phaser__namespace.Scenes.Events.SHUTDOWN, cleanup);
2306
+ scene.events.once(Phaser__namespace.Scenes.Events.DESTROY, cleanup);
2307
+ return {
2308
+ background,
2309
+ destroy: cleanup,
2310
+ resize: (width, height) => {
2311
+ if (resizeFn) resizeFn(width, height);
2312
+ }
2313
+ };
2314
+ }
2315
+ function applyAnimation(scene, target, animation) {
2316
+ const redrawFn = target.__redrawFn;
2317
+ switch (animation) {
2318
+ case "lemniscate":
2319
+ return redrawFn ? animateLemniscate(scene, redrawFn) : animatePulse(scene, target);
2320
+ case "wave":
2321
+ return redrawFn ? animateWave(scene, redrawFn) : animatePulse(scene, target);
2322
+ case "pulse":
2323
+ return animatePulse(scene, target);
2324
+ case "rotate":
2325
+ return animateRotate(scene, target);
2326
+ case "static":
2327
+ default:
2328
+ return void 0;
2329
+ }
2330
+ }
2331
+ function animateLemniscate(scene, drawFn) {
2332
+ const amplitude = 30;
2333
+ const duration = 8e3;
2334
+ return scene.tweens.addCounter({
2335
+ from: 0,
2336
+ to: Math.PI * 2,
2337
+ duration,
2338
+ repeat: -1,
2339
+ onUpdate: (tween) => {
2340
+ const t = tween.getValue();
2341
+ if (t !== null) {
2342
+ const offsetX = amplitude * Math.cos(t);
2343
+ const offsetY = amplitude * Math.sin(2 * t) / 2;
2344
+ drawFn(offsetX, offsetY);
2345
+ }
2346
+ }
2347
+ });
2348
+ }
2349
+ function animateWave(scene, drawFn) {
2350
+ return scene.tweens.addCounter({
2351
+ from: 0,
2352
+ to: 40,
2353
+ duration: 3e3,
2354
+ yoyo: true,
2355
+ repeat: -1,
2356
+ onUpdate: (tween) => {
2357
+ const offset = tween.getValue();
2358
+ if (offset !== null) {
2359
+ drawFn(offset, 0);
2360
+ }
2361
+ }
2362
+ });
2363
+ }
2364
+ function animatePulse(scene, target) {
2365
+ return scene.tweens.add({
2366
+ targets: target,
2367
+ scaleX: 1.1,
2368
+ scaleY: 1.1,
2369
+ duration: 2e3,
2370
+ yoyo: true,
2371
+ repeat: -1,
2372
+ ease: "Sine.easeInOut"
2373
+ });
2374
+ }
2375
+ function animateRotate(scene, target) {
2376
+ return scene.tweens.add({
2377
+ targets: target,
2378
+ angle: 360,
2379
+ duration: 2e4,
2380
+ repeat: -1,
2381
+ ease: "Linear"
2382
+ });
2383
+ }
2173
2384
  function createPhaserJSXPlugin(config) {
2174
2385
  return {
2175
2386
  key: "PhaserJSX",
@@ -2249,7 +2460,7 @@ class PhaserJSXPlugin extends Phaser__namespace.Plugins.BasePlugin {
2249
2460
  const props = this.config.props || {};
2250
2461
  const width = props.width ?? gameSize.width;
2251
2462
  const height = props.height ?? gameSize.height;
2252
- this.mountHandle = vdom.mountJSX(this.container, this.config.component, {
2463
+ this.mountHandle = TransformOriginView.mountJSX(this.container, this.config.component, {
2253
2464
  ...props,
2254
2465
  width,
2255
2466
  height
@@ -2294,7 +2505,7 @@ class PhaserJSXPlugin extends Phaser__namespace.Plugins.BasePlugin {
2294
2505
  const props = this.config.props || {};
2295
2506
  const width = props.width ?? this.targetScene.scale.width;
2296
2507
  const height = props.height ?? this.targetScene.scale.height;
2297
- this.mountHandle = vdom.mountJSX(this.container, this.config.component, {
2508
+ this.mountHandle = TransformOriginView.mountJSX(this.container, this.config.component, {
2298
2509
  ...props,
2299
2510
  width,
2300
2511
  height
@@ -2329,15 +2540,15 @@ class PhaserJSXPlugin extends Phaser__namespace.Plugins.BasePlugin {
2329
2540
  }
2330
2541
  }
2331
2542
  function useColorMode() {
2332
- const [colorMode, setColorModeState] = vdom.useState(vdom.themeRegistry.getColorMode());
2333
- vdom.useEffect(() => {
2334
- const unsubscribe = vdom.themeRegistry.subscribe(() => {
2335
- setColorModeState(vdom.themeRegistry.getColorMode());
2543
+ const [colorMode, setColorModeState] = TransformOriginView.useState(TransformOriginView.themeRegistry.getColorMode());
2544
+ TransformOriginView.useEffect(() => {
2545
+ const unsubscribe = TransformOriginView.themeRegistry.subscribe(() => {
2546
+ setColorModeState(TransformOriginView.themeRegistry.getColorMode());
2336
2547
  });
2337
2548
  return unsubscribe;
2338
2549
  }, []);
2339
2550
  const setColorMode2 = (mode) => {
2340
- vdom.themeRegistry.setColorMode(mode);
2551
+ TransformOriginView.themeRegistry.setColorMode(mode);
2341
2552
  };
2342
2553
  const toggleColorMode = () => {
2343
2554
  const newMode = colorMode === "light" ? "dark" : "light";
@@ -2350,30 +2561,30 @@ function useColorMode() {
2350
2561
  };
2351
2562
  }
2352
2563
  function useColors() {
2353
- const localTheme = vdom.useTheme();
2564
+ const localTheme = TransformOriginView.useTheme();
2354
2565
  const getInitialColors = () => {
2355
2566
  if (localTheme?.__colorPreset) {
2356
- const preset = vdom.getPresetWithMode(
2567
+ const preset = TransformOriginView.getPresetWithMode(
2357
2568
  localTheme.__colorPreset.name,
2358
2569
  localTheme.__colorPreset.mode ?? "light"
2359
2570
  );
2360
2571
  return preset.colors;
2361
2572
  }
2362
- return vdom.themeRegistry.getColorTokens();
2573
+ return TransformOriginView.themeRegistry.getColorTokens();
2363
2574
  };
2364
- const [colors, setColors] = vdom.useState(getInitialColors());
2365
- const [, forceUpdate] = vdom.useState(0);
2366
- vdom.useEffect(() => {
2367
- const unsubscribe = vdom.themeRegistry.subscribe(() => {
2575
+ const [colors, setColors] = TransformOriginView.useState(getInitialColors());
2576
+ const [, forceUpdate] = TransformOriginView.useState(0);
2577
+ TransformOriginView.useEffect(() => {
2578
+ const unsubscribe = TransformOriginView.themeRegistry.subscribe(() => {
2368
2579
  if (localTheme?.__colorPreset) {
2369
- const currentMode = vdom.themeRegistry.getColorMode();
2370
- const preset = vdom.getPresetWithMode(
2580
+ const currentMode = TransformOriginView.themeRegistry.getColorMode();
2581
+ const preset = TransformOriginView.getPresetWithMode(
2371
2582
  localTheme.__colorPreset.name,
2372
2583
  currentMode
2373
2584
  );
2374
2585
  setColors(preset.colors);
2375
2586
  } else {
2376
- setColors(vdom.themeRegistry.getColorTokens());
2587
+ setColors(TransformOriginView.themeRegistry.getColorTokens());
2377
2588
  }
2378
2589
  forceUpdate((n) => n + 1);
2379
2590
  });
@@ -2382,9 +2593,9 @@ function useColors() {
2382
2593
  return colors;
2383
2594
  }
2384
2595
  function useThemeSubscription() {
2385
- const [, forceUpdate] = vdom.useState(0);
2386
- vdom.useEffect(() => {
2387
- const unsubscribe = vdom.themeRegistry.subscribe(() => {
2596
+ const [, forceUpdate] = TransformOriginView.useState(0);
2597
+ TransformOriginView.useEffect(() => {
2598
+ const unsubscribe = TransformOriginView.themeRegistry.subscribe(() => {
2388
2599
  forceUpdate((n) => n + 1);
2389
2600
  });
2390
2601
  return unsubscribe;
@@ -2402,7 +2613,7 @@ function colorsToTheme(colors, colorKey, options = {}) {
2402
2613
  }
2403
2614
  function getTextColor(colors, shade = "DEFAULT", alphaValue) {
2404
2615
  const color = colors.text[shade];
2405
- return alphaValue !== void 0 ? vdom.alpha(color.toNumber(), alphaValue) : color.toString();
2616
+ return alphaValue !== void 0 ? TransformOriginView.alpha(color.toNumber(), alphaValue) : color.toString();
2406
2617
  }
2407
2618
  function getBackgroundColor(colors, shade = "DEFAULT") {
2408
2619
  return colors.background[shade].toNumber();
@@ -2414,81 +2625,79 @@ function getBorderColor(colors, shade = "DEFAULT") {
2414
2625
  return colors.border[shade].toNumber();
2415
2626
  }
2416
2627
  function setColorPreset(presetName, colorMode) {
2417
- const targetMode = colorMode ?? vdom.themeRegistry.getColorMode();
2418
- const preset = vdom.getPresetWithMode(presetName, targetMode);
2419
- vdom.themeRegistry.setColorTokens(preset.colors);
2420
- vdom.themeRegistry.setCurrentPresetName(presetName, true);
2421
- if (colorMode && vdom.themeRegistry.getColorMode() !== colorMode) {
2422
- vdom.themeRegistry.setColorMode(colorMode);
2628
+ const targetMode = colorMode ?? TransformOriginView.themeRegistry.getColorMode();
2629
+ const preset = TransformOriginView.getPresetWithMode(presetName, targetMode);
2630
+ TransformOriginView.themeRegistry.setColorTokens(preset.colors);
2631
+ TransformOriginView.themeRegistry.setCurrentPresetName(presetName, true);
2632
+ if (colorMode && TransformOriginView.themeRegistry.getColorMode() !== colorMode) {
2633
+ TransformOriginView.themeRegistry.setColorMode(colorMode);
2423
2634
  return;
2424
2635
  }
2425
2636
  setTimeout(() => {
2426
- Promise.resolve().then(() => require("./TransformOriginView-CrzevUOh.cjs")).then((n) => n.vdom).then(({ remountAll }) => {
2427
- remountAll();
2428
- });
2637
+ TransformOriginView.remountAll();
2429
2638
  }, 0);
2430
2639
  }
2431
2640
  function getCurrentPreset() {
2432
- return vdom.themeRegistry.getCurrentPresetName();
2641
+ return TransformOriginView.themeRegistry.getCurrentPresetName();
2433
2642
  }
2434
2643
  function setColorMode(mode) {
2435
- vdom.themeRegistry.setColorMode(mode);
2644
+ TransformOriginView.themeRegistry.setColorMode(mode);
2436
2645
  }
2437
2646
  function getAvailablePresets() {
2438
2647
  return ["oceanBlue", "forestGreen", "midnight"];
2439
2648
  }
2440
2649
  function useThemeTokens() {
2441
- const localTheme = vdom.useTheme();
2650
+ const localTheme = TransformOriginView.useTheme();
2442
2651
  const getInitialTokens = () => {
2443
2652
  if (localTheme?.__colorPreset) {
2444
- const preset = vdom.getPresetWithMode(
2653
+ const preset = TransformOriginView.getPresetWithMode(
2445
2654
  localTheme.__colorPreset.name,
2446
2655
  localTheme.__colorPreset.mode ?? "light"
2447
2656
  );
2448
2657
  return {
2449
2658
  colors: preset.colors,
2450
- textStyles: vdom.createTextStyleTokens(preset.colors.text.DEFAULT.toString()),
2451
- spacing: vdom.defaultSpacingTokens,
2452
- sizes: vdom.defaultSizeTokens,
2453
- radius: vdom.defaultRadiusTokens
2659
+ textStyles: TransformOriginView.createTextStyleTokens(preset.colors.text.DEFAULT.toString()),
2660
+ spacing: TransformOriginView.defaultSpacingTokens,
2661
+ sizes: TransformOriginView.defaultSizeTokens,
2662
+ radius: TransformOriginView.defaultRadiusTokens
2454
2663
  };
2455
2664
  }
2456
- const colors = vdom.themeRegistry.getColorTokens();
2665
+ const colors = TransformOriginView.themeRegistry.getColorTokens();
2457
2666
  if (!colors) return void 0;
2458
2667
  return {
2459
2668
  colors,
2460
- textStyles: vdom.createTextStyleTokens(colors.text.DEFAULT.toString()),
2461
- spacing: vdom.defaultSpacingTokens,
2462
- sizes: vdom.defaultSizeTokens,
2463
- radius: vdom.defaultRadiusTokens
2669
+ textStyles: TransformOriginView.createTextStyleTokens(colors.text.DEFAULT.toString()),
2670
+ spacing: TransformOriginView.defaultSpacingTokens,
2671
+ sizes: TransformOriginView.defaultSizeTokens,
2672
+ radius: TransformOriginView.defaultRadiusTokens
2464
2673
  };
2465
2674
  };
2466
- const [tokens, setTokens] = vdom.useState(getInitialTokens());
2467
- const [, forceUpdate] = vdom.useState(0);
2468
- vdom.useEffect(() => {
2469
- const unsubscribe = vdom.themeRegistry.subscribe(() => {
2675
+ const [tokens, setTokens] = TransformOriginView.useState(getInitialTokens());
2676
+ const [, forceUpdate] = TransformOriginView.useState(0);
2677
+ TransformOriginView.useEffect(() => {
2678
+ const unsubscribe = TransformOriginView.themeRegistry.subscribe(() => {
2470
2679
  if (localTheme?.__colorPreset) {
2471
- const currentMode = vdom.themeRegistry.getColorMode();
2472
- const preset = vdom.getPresetWithMode(
2680
+ const currentMode = TransformOriginView.themeRegistry.getColorMode();
2681
+ const preset = TransformOriginView.getPresetWithMode(
2473
2682
  localTheme.__colorPreset.name,
2474
2683
  currentMode
2475
2684
  );
2476
2685
  setTokens({
2477
2686
  colors: preset.colors,
2478
- textStyles: vdom.createTextStyleTokens(preset.colors.text.DEFAULT.toString()),
2479
- spacing: vdom.defaultSpacingTokens,
2480
- sizes: vdom.defaultSizeTokens,
2481
- radius: vdom.defaultRadiusTokens
2687
+ textStyles: TransformOriginView.createTextStyleTokens(preset.colors.text.DEFAULT.toString()),
2688
+ spacing: TransformOriginView.defaultSpacingTokens,
2689
+ sizes: TransformOriginView.defaultSizeTokens,
2690
+ radius: TransformOriginView.defaultRadiusTokens
2482
2691
  });
2483
2692
  } else {
2484
- const colors = vdom.themeRegistry.getColorTokens();
2693
+ const colors = TransformOriginView.themeRegistry.getColorTokens();
2485
2694
  if (colors) {
2486
2695
  setTokens({
2487
2696
  colors,
2488
- textStyles: vdom.createTextStyleTokens(colors.text.DEFAULT.toString()),
2489
- spacing: vdom.defaultSpacingTokens,
2490
- sizes: vdom.defaultSizeTokens,
2491
- radius: vdom.defaultRadiusTokens
2697
+ textStyles: TransformOriginView.createTextStyleTokens(colors.text.DEFAULT.toString()),
2698
+ spacing: TransformOriginView.defaultSpacingTokens,
2699
+ sizes: TransformOriginView.defaultSizeTokens,
2700
+ radius: TransformOriginView.defaultRadiusTokens
2492
2701
  });
2493
2702
  }
2494
2703
  }
@@ -2499,165 +2708,165 @@ function useThemeTokens() {
2499
2708
  return tokens;
2500
2709
  }
2501
2710
  registerBuiltins();
2502
- exports.Accordion = vdom.Accordion;
2503
- exports.AlertDialog = vdom.AlertDialog;
2504
- exports.Button = vdom.Button;
2505
- exports.CharText = vdom.CharText;
2506
- exports.CharTextInput = vdom.CharTextInput;
2507
- exports.DEFAULT_EFFECT = vdom.DEFAULT_EFFECT;
2508
- exports.DEFAULT_SPRING_CONFIG = vdom.DEFAULT_SPRING_CONFIG;
2509
- exports.DOMInputElement = vdom.DOMInputElement;
2510
- exports.DebugLogger = vdom.DebugLogger;
2511
- exports.DevConfig = vdom.DevConfig;
2512
- exports.DevPresets = vdom.DevPresets;
2513
- exports.Dialog = vdom.Dialog;
2514
- exports.Divider = vdom.Divider;
2515
- exports.Dropdown = vdom.Dropdown;
2516
- exports.EFFECT_REGISTRY = vdom.EFFECT_REGISTRY;
2517
- exports.Graphics = vdom.Graphics;
2518
- exports.HexColor = vdom.HexColor;
2519
- exports.Icon = vdom.Icon;
2520
- exports.Image = vdom.Image;
2521
- exports.Joystick = vdom.Joystick;
2522
- exports.KeyboardInputManager = vdom.KeyboardInputManager;
2523
- exports.Modal = vdom.Modal;
2524
- exports.NineSlice = vdom.NineSlice;
2525
- exports.NineSliceButton = vdom.NineSliceButton;
2526
- exports.Particles = vdom.Particles;
2527
- exports.Portal = vdom.Portal;
2528
- exports.RadioButton = vdom.RadioButton;
2529
- exports.RadioGroup = vdom.RadioGroup;
2530
- exports.RangeSlider = vdom.RangeSlider;
2531
- exports.RefOriginView = vdom.RefOriginView;
2532
- exports.SPRING_PRESETS = vdom.SPRING_PRESETS;
2533
- exports.ScrollSlider = vdom.ScrollSlider;
2534
- exports.ScrollView = vdom.ScrollView;
2535
- exports.Sidebar = vdom.Sidebar;
2536
- exports.Slider = vdom.Slider;
2537
- exports.SpringPhysics = vdom.SpringPhysics;
2538
- exports.Tab = vdom.Tab;
2539
- exports.TabPanel = vdom.TabPanel;
2540
- exports.Tabs = vdom.Tabs;
2541
- exports.Text = vdom.Text;
2542
- exports.Toggle = vdom.Toggle;
2543
- exports.TransformOriginView = vdom.TransformOriginView;
2544
- exports.View = vdom.View;
2545
- exports.WrapText = vdom.WrapText;
2546
- exports.alpha = vdom.alpha;
2547
- exports.animatedSignal = vdom.animatedSignal;
2548
- exports.applyDarkMode = vdom.applyDarkMode;
2549
- exports.applyEffectByName = vdom.applyEffectByName;
2550
- exports.applyLightMode = vdom.applyLightMode;
2551
- exports.calculateSliderSize = vdom.calculateSliderSize;
2552
- exports.createBounceEffect = vdom.createBounceEffect;
2553
- exports.createBreatheEffect = vdom.createBreatheEffect;
2554
- exports.createDefaultTheme = vdom.createDefaultTheme;
2555
- exports.createElement = vdom.createElement;
2556
- exports.createFadeEffect = vdom.createFadeEffect;
2557
- exports.createFlashEffect = vdom.createFlashEffect;
2558
- exports.createFlipInEffect = vdom.createFlipInEffect;
2559
- exports.createFlipOutEffect = vdom.createFlipOutEffect;
2560
- exports.createFloatEffect = vdom.createFloatEffect;
2561
- exports.createIconComponent = vdom.createIconComponent;
2562
- exports.createJelloEffect = vdom.createJelloEffect;
2563
- exports.createNoneEffect = vdom.createNoneEffect;
2564
- exports.createPressEffect = vdom.createPressEffect;
2565
- exports.createPulseEffect = vdom.createPulseEffect;
2566
- exports.createShakeEffect = vdom.createShakeEffect;
2567
- exports.createSlideInEffect = vdom.createSlideInEffect;
2568
- exports.createSlideOutEffect = vdom.createSlideOutEffect;
2569
- exports.createSpinEffect = vdom.createSpinEffect;
2570
- exports.createSwingEffect = vdom.createSwingEffect;
2571
- exports.createTadaEffect = vdom.createTadaEffect;
2572
- exports.createTextStyle = vdom.createTextStyle;
2573
- exports.createTextStyleTokens = vdom.createTextStyleTokens;
2574
- exports.createTheme = vdom.createTheme;
2575
- exports.createWiggleEffect = vdom.createWiggleEffect;
2576
- exports.createWobbleEffect = vdom.createWobbleEffect;
2577
- exports.createZoomInEffect = vdom.createZoomInEffect;
2578
- exports.createZoomOutEffect = vdom.createZoomOutEffect;
2579
- exports.darken = vdom.darken;
2580
- exports.darkenHex = vdom.darkenHex;
2581
- exports.defaultRadiusTokens = vdom.defaultRadiusTokens;
2582
- exports.defaultSizeTokens = vdom.defaultSizeTokens;
2583
- exports.defaultSpacingTokens = vdom.defaultSpacingTokens;
2584
- exports.defaultTextStyleTokens = vdom.defaultTextStyleTokens;
2585
- exports.defaultTheme = vdom.defaultTheme;
2586
- exports.disposeCtx = vdom.disposeCtx;
2587
- exports.ensureContrast = vdom.ensureContrast;
2588
- exports.forestGreenPreset = vdom.forestGreenPreset;
2589
- exports.generateColorScale = vdom.generateColorScale;
2590
- exports.getBackgroundGraphics = vdom.getBackgroundGraphics;
2591
- exports.getContrastRatio = vdom.getContrastRatio;
2592
- exports.getCurrent = vdom.getCurrent;
2593
- exports.getLayoutProps = vdom.getLayoutProps;
2594
- exports.getLayoutRect = vdom.getLayoutRect;
2595
- exports.getLayoutSize = vdom.getLayoutSize;
2596
- exports.getMountStats = vdom.getMountStats;
2597
- exports.getPreset = vdom.getPreset;
2598
- exports.getPresetWithMode = vdom.getPresetWithMode;
2599
- exports.getRenderContext = vdom.getRenderContext;
2600
- exports.getThemedProps = vdom.getThemedProps;
2601
- exports.getWorldLayoutRect = vdom.getWorldLayoutRect;
2602
- exports.hex = vdom.hex;
2603
- exports.hexToNumber = vdom.hexToNumber;
2604
- exports.host = vdom.host;
2605
- exports.isAnimatedSignal = vdom.isAnimatedSignal;
2606
- exports.lighten = vdom.lighten;
2607
- exports.lightenHex = vdom.lightenHex;
2608
- exports.mergeThemes = vdom.mergeThemes;
2609
- exports.midnightPreset = vdom.midnightPreset;
2610
- exports.mount = vdom.mount;
2611
- exports.mountComponent = vdom.mountJSX;
2612
- exports.mountJSX = vdom.mountJSX;
2613
- exports.nodeRegistry = vdom.nodeRegistry;
2614
- exports.normalizeCornerRadius = vdom.normalizeCornerRadius;
2615
- exports.normalizeEdgeInsets = vdom.normalizeEdgeInsets;
2616
- exports.normalizeGap = vdom.normalizeGap;
2617
- exports.normalizeVNodeLike = vdom.normalizeVNodeLike;
2618
- exports.numberToHex = vdom.numberToHex;
2619
- exports.numberToRgb = vdom.numberToRgb;
2620
- exports.oceanBluePreset = vdom.oceanBluePreset;
2621
- exports.patchVNode = vdom.patchVNode;
2622
- exports.portalRegistry = vdom.portalRegistry;
2623
- exports.presets = vdom.presets;
2624
- exports.register = vdom.register;
2625
- exports.releaseAllSVGTextures = vdom.releaseAllSVGTextures;
2626
- exports.releaseSVGTexture = vdom.releaseSVGTexture;
2627
- exports.releaseSVGTextures = vdom.releaseSVGTextures;
2628
- exports.remountAll = vdom.remountAll;
2629
- exports.resolveEffect = vdom.resolveEffect;
2630
- exports.rgbToNumber = vdom.rgbToNumber;
2631
- exports.shallowEqual = vdom.shallowEqual;
2632
- exports.shouldComponentUpdate = vdom.shouldComponentUpdate;
2633
- exports.svgToTexture = vdom.svgToTexture;
2634
- exports.themeRegistry = vdom.themeRegistry;
2635
- exports.unmount = vdom.unmount;
2636
- exports.unmountJSX = vdom.unmountJSX;
2637
- exports.unwrapSignal = vdom.unwrapSignal;
2638
- exports.useBackgroundGraphics = vdom.useBackgroundGraphics;
2639
- exports.useCallback = vdom.useCallback;
2640
- exports.useEffect = vdom.useEffect;
2641
- exports.useForceRedraw = vdom.useForceRedraw;
2642
- exports.useGameObjectEffect = vdom.useGameObjectEffect;
2643
- exports.useIconPreload = vdom.useIconPreload;
2644
- exports.useLayoutEffect = vdom.useLayoutEffect;
2645
- exports.useLayoutRect = vdom.useLayoutRect;
2646
- exports.useLayoutSize = vdom.useLayoutSize;
2647
- exports.useMemo = vdom.useMemo;
2648
- exports.useRedraw = vdom.useRedraw;
2649
- exports.useRef = vdom.useRef;
2650
- exports.useSVGTexture = vdom.useSVGTexture;
2651
- exports.useSVGTextures = vdom.useSVGTextures;
2652
- exports.useScene = vdom.useScene;
2653
- exports.useSpring = vdom.useSpring;
2654
- exports.useSprings = vdom.useSprings;
2655
- exports.useState = vdom.useState;
2656
- exports.useTheme = vdom.useTheme;
2657
- exports.useViewportSize = vdom.useViewportSize;
2658
- exports.useWorldLayoutRect = vdom.useWorldLayoutRect;
2659
- exports.viewportRegistry = vdom.viewportRegistry;
2660
- exports.withHooks = vdom.withHooks;
2711
+ exports.Accordion = TransformOriginView.Accordion;
2712
+ exports.AlertDialog = TransformOriginView.AlertDialog;
2713
+ exports.Button = TransformOriginView.Button;
2714
+ exports.CharText = TransformOriginView.CharText;
2715
+ exports.CharTextInput = TransformOriginView.CharTextInput;
2716
+ exports.DEFAULT_EFFECT = TransformOriginView.DEFAULT_EFFECT;
2717
+ exports.DEFAULT_SPRING_CONFIG = TransformOriginView.DEFAULT_SPRING_CONFIG;
2718
+ exports.DOMInputElement = TransformOriginView.DOMInputElement;
2719
+ exports.DebugLogger = TransformOriginView.DebugLogger;
2720
+ exports.DevConfig = TransformOriginView.DevConfig;
2721
+ exports.DevPresets = TransformOriginView.DevPresets;
2722
+ exports.Dialog = TransformOriginView.Dialog;
2723
+ exports.Divider = TransformOriginView.Divider;
2724
+ exports.Dropdown = TransformOriginView.Dropdown;
2725
+ exports.EFFECT_REGISTRY = TransformOriginView.EFFECT_REGISTRY;
2726
+ exports.Graphics = TransformOriginView.Graphics;
2727
+ exports.HexColor = TransformOriginView.HexColor;
2728
+ exports.Icon = TransformOriginView.Icon;
2729
+ exports.Image = TransformOriginView.Image;
2730
+ exports.Joystick = TransformOriginView.Joystick;
2731
+ exports.KeyboardInputManager = TransformOriginView.KeyboardInputManager;
2732
+ exports.Modal = TransformOriginView.Modal;
2733
+ exports.NineSlice = TransformOriginView.NineSlice;
2734
+ exports.NineSliceButton = TransformOriginView.NineSliceButton;
2735
+ exports.Particles = TransformOriginView.Particles;
2736
+ exports.Portal = TransformOriginView.Portal;
2737
+ exports.RadioButton = TransformOriginView.RadioButton;
2738
+ exports.RadioGroup = TransformOriginView.RadioGroup;
2739
+ exports.RangeSlider = TransformOriginView.RangeSlider;
2740
+ exports.RefOriginView = TransformOriginView.RefOriginView;
2741
+ exports.SPRING_PRESETS = TransformOriginView.SPRING_PRESETS;
2742
+ exports.ScrollSlider = TransformOriginView.ScrollSlider;
2743
+ exports.ScrollView = TransformOriginView.ScrollView;
2744
+ exports.Sidebar = TransformOriginView.Sidebar;
2745
+ exports.Slider = TransformOriginView.Slider;
2746
+ exports.SpringPhysics = TransformOriginView.SpringPhysics;
2747
+ exports.Tab = TransformOriginView.Tab;
2748
+ exports.TabPanel = TransformOriginView.TabPanel;
2749
+ exports.Tabs = TransformOriginView.Tabs;
2750
+ exports.Text = TransformOriginView.Text;
2751
+ exports.Toggle = TransformOriginView.Toggle;
2752
+ exports.TransformOriginView = TransformOriginView.TransformOriginView;
2753
+ exports.View = TransformOriginView.View;
2754
+ exports.WrapText = TransformOriginView.WrapText;
2755
+ exports.alpha = TransformOriginView.alpha;
2756
+ exports.animatedSignal = TransformOriginView.animatedSignal;
2757
+ exports.applyDarkMode = TransformOriginView.applyDarkMode;
2758
+ exports.applyEffectByName = TransformOriginView.applyEffectByName;
2759
+ exports.applyLightMode = TransformOriginView.applyLightMode;
2760
+ exports.calculateSliderSize = TransformOriginView.calculateSliderSize;
2761
+ exports.createBounceEffect = TransformOriginView.createBounceEffect;
2762
+ exports.createBreatheEffect = TransformOriginView.createBreatheEffect;
2763
+ exports.createDefaultTheme = TransformOriginView.createDefaultTheme;
2764
+ exports.createElement = TransformOriginView.createElement;
2765
+ exports.createFadeEffect = TransformOriginView.createFadeEffect;
2766
+ exports.createFlashEffect = TransformOriginView.createFlashEffect;
2767
+ exports.createFlipInEffect = TransformOriginView.createFlipInEffect;
2768
+ exports.createFlipOutEffect = TransformOriginView.createFlipOutEffect;
2769
+ exports.createFloatEffect = TransformOriginView.createFloatEffect;
2770
+ exports.createIconComponent = TransformOriginView.createIconComponent;
2771
+ exports.createJelloEffect = TransformOriginView.createJelloEffect;
2772
+ exports.createNoneEffect = TransformOriginView.createNoneEffect;
2773
+ exports.createPressEffect = TransformOriginView.createPressEffect;
2774
+ exports.createPulseEffect = TransformOriginView.createPulseEffect;
2775
+ exports.createShakeEffect = TransformOriginView.createShakeEffect;
2776
+ exports.createSlideInEffect = TransformOriginView.createSlideInEffect;
2777
+ exports.createSlideOutEffect = TransformOriginView.createSlideOutEffect;
2778
+ exports.createSpinEffect = TransformOriginView.createSpinEffect;
2779
+ exports.createSwingEffect = TransformOriginView.createSwingEffect;
2780
+ exports.createTadaEffect = TransformOriginView.createTadaEffect;
2781
+ exports.createTextStyle = TransformOriginView.createTextStyle;
2782
+ exports.createTextStyleTokens = TransformOriginView.createTextStyleTokens;
2783
+ exports.createTheme = TransformOriginView.createTheme;
2784
+ exports.createWiggleEffect = TransformOriginView.createWiggleEffect;
2785
+ exports.createWobbleEffect = TransformOriginView.createWobbleEffect;
2786
+ exports.createZoomInEffect = TransformOriginView.createZoomInEffect;
2787
+ exports.createZoomOutEffect = TransformOriginView.createZoomOutEffect;
2788
+ exports.darken = TransformOriginView.darken;
2789
+ exports.darkenHex = TransformOriginView.darkenHex;
2790
+ exports.defaultRadiusTokens = TransformOriginView.defaultRadiusTokens;
2791
+ exports.defaultSizeTokens = TransformOriginView.defaultSizeTokens;
2792
+ exports.defaultSpacingTokens = TransformOriginView.defaultSpacingTokens;
2793
+ exports.defaultTextStyleTokens = TransformOriginView.defaultTextStyleTokens;
2794
+ exports.defaultTheme = TransformOriginView.defaultTheme;
2795
+ exports.disposeCtx = TransformOriginView.disposeCtx;
2796
+ exports.ensureContrast = TransformOriginView.ensureContrast;
2797
+ exports.forestGreenPreset = TransformOriginView.forestGreenPreset;
2798
+ exports.generateColorScale = TransformOriginView.generateColorScale;
2799
+ exports.getBackgroundGraphics = TransformOriginView.getBackgroundGraphics;
2800
+ exports.getContrastRatio = TransformOriginView.getContrastRatio;
2801
+ exports.getCurrent = TransformOriginView.getCurrent;
2802
+ exports.getLayoutProps = TransformOriginView.getLayoutProps;
2803
+ exports.getLayoutRect = TransformOriginView.getLayoutRect;
2804
+ exports.getLayoutSize = TransformOriginView.getLayoutSize;
2805
+ exports.getMountStats = TransformOriginView.getMountStats;
2806
+ exports.getPreset = TransformOriginView.getPreset;
2807
+ exports.getPresetWithMode = TransformOriginView.getPresetWithMode;
2808
+ exports.getRenderContext = TransformOriginView.getRenderContext;
2809
+ exports.getThemedProps = TransformOriginView.getThemedProps;
2810
+ exports.getWorldLayoutRect = TransformOriginView.getWorldLayoutRect;
2811
+ exports.hex = TransformOriginView.hex;
2812
+ exports.hexToNumber = TransformOriginView.hexToNumber;
2813
+ exports.host = TransformOriginView.host;
2814
+ exports.isAnimatedSignal = TransformOriginView.isAnimatedSignal;
2815
+ exports.lighten = TransformOriginView.lighten;
2816
+ exports.lightenHex = TransformOriginView.lightenHex;
2817
+ exports.mergeThemes = TransformOriginView.mergeThemes;
2818
+ exports.midnightPreset = TransformOriginView.midnightPreset;
2819
+ exports.mount = TransformOriginView.mount;
2820
+ exports.mountComponent = TransformOriginView.mountJSX;
2821
+ exports.mountJSX = TransformOriginView.mountJSX;
2822
+ exports.nodeRegistry = TransformOriginView.nodeRegistry;
2823
+ exports.normalizeCornerRadius = TransformOriginView.normalizeCornerRadius;
2824
+ exports.normalizeEdgeInsets = TransformOriginView.normalizeEdgeInsets;
2825
+ exports.normalizeGap = TransformOriginView.normalizeGap;
2826
+ exports.normalizeVNodeLike = TransformOriginView.normalizeVNodeLike;
2827
+ exports.numberToHex = TransformOriginView.numberToHex;
2828
+ exports.numberToRgb = TransformOriginView.numberToRgb;
2829
+ exports.oceanBluePreset = TransformOriginView.oceanBluePreset;
2830
+ exports.patchVNode = TransformOriginView.patchVNode;
2831
+ exports.portalRegistry = TransformOriginView.portalRegistry;
2832
+ exports.presets = TransformOriginView.presets;
2833
+ exports.register = TransformOriginView.register;
2834
+ exports.releaseAllSVGTextures = TransformOriginView.releaseAllSVGTextures;
2835
+ exports.releaseSVGTexture = TransformOriginView.releaseSVGTexture;
2836
+ exports.releaseSVGTextures = TransformOriginView.releaseSVGTextures;
2837
+ exports.remountAll = TransformOriginView.remountAll;
2838
+ exports.resolveEffect = TransformOriginView.resolveEffect;
2839
+ exports.rgbToNumber = TransformOriginView.rgbToNumber;
2840
+ exports.shallowEqual = TransformOriginView.shallowEqual;
2841
+ exports.shouldComponentUpdate = TransformOriginView.shouldComponentUpdate;
2842
+ exports.svgToTexture = TransformOriginView.svgToTexture;
2843
+ exports.themeRegistry = TransformOriginView.themeRegistry;
2844
+ exports.unmount = TransformOriginView.unmount;
2845
+ exports.unmountJSX = TransformOriginView.unmountJSX;
2846
+ exports.unwrapSignal = TransformOriginView.unwrapSignal;
2847
+ exports.useBackgroundGraphics = TransformOriginView.useBackgroundGraphics;
2848
+ exports.useCallback = TransformOriginView.useCallback;
2849
+ exports.useEffect = TransformOriginView.useEffect;
2850
+ exports.useForceRedraw = TransformOriginView.useForceRedraw;
2851
+ exports.useGameObjectEffect = TransformOriginView.useGameObjectEffect;
2852
+ exports.useIconPreload = TransformOriginView.useIconPreload;
2853
+ exports.useLayoutEffect = TransformOriginView.useLayoutEffect;
2854
+ exports.useLayoutRect = TransformOriginView.useLayoutRect;
2855
+ exports.useLayoutSize = TransformOriginView.useLayoutSize;
2856
+ exports.useMemo = TransformOriginView.useMemo;
2857
+ exports.useRedraw = TransformOriginView.useRedraw;
2858
+ exports.useRef = TransformOriginView.useRef;
2859
+ exports.useSVGTexture = TransformOriginView.useSVGTexture;
2860
+ exports.useSVGTextures = TransformOriginView.useSVGTextures;
2861
+ exports.useScene = TransformOriginView.useScene;
2862
+ exports.useSpring = TransformOriginView.useSpring;
2863
+ exports.useSprings = TransformOriginView.useSprings;
2864
+ exports.useState = TransformOriginView.useState;
2865
+ exports.useTheme = TransformOriginView.useTheme;
2866
+ exports.useViewportSize = TransformOriginView.useViewportSize;
2867
+ exports.useWorldLayoutRect = TransformOriginView.useWorldLayoutRect;
2868
+ exports.viewportRegistry = TransformOriginView.viewportRegistry;
2869
+ exports.withHooks = TransformOriginView.withHooks;
2661
2870
  exports.Fragment = jsxRuntime.Fragment;
2662
2871
  exports.jsx = jsxRuntime.jsx;
2663
2872
  exports.jsxs = jsxRuntime.jsxs;
@@ -2666,6 +2875,7 @@ Object.defineProperty(exports, "computed", {
2666
2875
  get: () => signalsCore.computed
2667
2876
  });
2668
2877
  exports.CAMERA_FX_REGISTRY = CAMERA_FX_REGISTRY;
2878
+ exports.DEFAULT_BACKGROUND = DEFAULT_BACKGROUND;
2669
2879
  exports.DEFAULT_CAMERA_FX = DEFAULT_CAMERA_FX;
2670
2880
  exports.DEFAULT_FX = DEFAULT_FX;
2671
2881
  exports.FX_REGISTRY = FX_REGISTRY;
@@ -2673,6 +2883,7 @@ exports.PARTICLE_PRESET_REGISTRY = PARTICLE_PRESET_REGISTRY;
2673
2883
  exports.PhaserJSXPlugin = PhaserJSXPlugin;
2674
2884
  exports.Sprite = Sprite;
2675
2885
  exports.TileSprite = TileSprite;
2886
+ exports.addSceneBackground = addSceneBackground;
2676
2887
  exports.applyCameraFXByName = applyCameraFXByName;
2677
2888
  exports.applyFXByName = applyFXByName;
2678
2889
  exports.buildDeathZonesFromLayout = buildDeathZonesFromLayout;