canvasengine 2.0.0-beta.42 → 2.0.0-beta.44

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 (77) hide show
  1. package/dist/{DebugRenderer-BosXI2Pd.js → DebugRenderer-P5sZ-0Tq.js} +2 -2
  2. package/dist/{DebugRenderer-BosXI2Pd.js.map → DebugRenderer-P5sZ-0Tq.js.map} +1 -1
  3. package/dist/components/Button.d.ts +3 -1
  4. package/dist/components/Button.d.ts.map +1 -1
  5. package/dist/components/Canvas.d.ts +0 -1
  6. package/dist/components/DOMElement.d.ts +0 -1
  7. package/dist/components/DOMElement.d.ts.map +1 -1
  8. package/dist/components/Graphic.d.ts +1 -2
  9. package/dist/components/Graphic.d.ts.map +1 -1
  10. package/dist/components/NineSliceSprite.d.ts +0 -1
  11. package/dist/components/ParticleEmitter.d.ts +0 -1
  12. package/dist/components/Text.d.ts +0 -1
  13. package/dist/components/TilingSprite.d.ts +0 -1
  14. package/dist/components/Video.d.ts +0 -1
  15. package/dist/components/index.d.ts +2 -1
  16. package/dist/components/index.d.ts.map +1 -1
  17. package/dist/components/types/DisplayObject.d.ts +12 -16
  18. package/dist/components/types/DisplayObject.d.ts.map +1 -1
  19. package/dist/components/types/index.d.ts +0 -1
  20. package/dist/directives/Controls.d.ts +0 -1
  21. package/dist/directives/Drag.d.ts +0 -1
  22. package/dist/directives/Flash.d.ts +0 -1
  23. package/dist/directives/FocusNavigation.d.ts +70 -0
  24. package/dist/directives/FocusNavigation.d.ts.map +1 -0
  25. package/dist/directives/GamepadControls.d.ts +0 -1
  26. package/dist/directives/JoystickControls.d.ts +0 -1
  27. package/dist/directives/KeyboardControls.d.ts +0 -1
  28. package/dist/directives/KeyboardControls.d.ts.map +1 -1
  29. package/dist/directives/Scheduler.d.ts +0 -1
  30. package/dist/directives/Shake.d.ts +0 -1
  31. package/dist/directives/Sound.d.ts +0 -1
  32. package/dist/directives/Transition.d.ts +0 -1
  33. package/dist/directives/ViewportCull.d.ts +0 -1
  34. package/dist/directives/ViewportFollow.d.ts +0 -1
  35. package/dist/directives/ViewportFollow.d.ts.map +1 -1
  36. package/dist/engine/FocusManager.d.ts +173 -0
  37. package/dist/engine/FocusManager.d.ts.map +1 -0
  38. package/dist/engine/animation.d.ts +0 -1
  39. package/dist/engine/bootstrap.d.ts +0 -1
  40. package/dist/engine/directive.d.ts +0 -1
  41. package/dist/engine/reactive.d.ts +0 -1
  42. package/dist/engine/reactive.d.ts.map +1 -1
  43. package/dist/engine/signal.d.ts +0 -1
  44. package/dist/engine/utils.d.ts +0 -1
  45. package/dist/hooks/useFocus.d.ts +60 -0
  46. package/dist/hooks/useFocus.d.ts.map +1 -0
  47. package/dist/hooks/useRef.d.ts +0 -1
  48. package/dist/{index-DNwqVzaq.js → index-VPoz4ufu.js} +6792 -6117
  49. package/dist/index-VPoz4ufu.js.map +1 -0
  50. package/dist/index.d.ts +2 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.global.js +4 -28
  53. package/dist/index.global.js.map +1 -1
  54. package/dist/index.js +67 -61
  55. package/dist/utils/RadialGradient.d.ts +0 -1
  56. package/package.json +4 -4
  57. package/src/components/Button.ts +7 -4
  58. package/src/components/Canvas.ts +1 -1
  59. package/src/components/DOMContainer.ts +27 -2
  60. package/src/components/DOMElement.ts +37 -29
  61. package/src/components/DisplayObject.ts +15 -3
  62. package/src/components/FocusContainer.ts +372 -0
  63. package/src/components/Graphic.ts +43 -48
  64. package/src/components/Sprite.ts +4 -2
  65. package/src/components/Viewport.ts +65 -26
  66. package/src/components/index.ts +2 -1
  67. package/src/components/types/DisplayObject.ts +7 -4
  68. package/src/directives/Controls.ts +1 -1
  69. package/src/directives/ControlsBase.ts +1 -1
  70. package/src/directives/FocusNavigation.ts +251 -0
  71. package/src/directives/KeyboardControls.ts +12 -8
  72. package/src/directives/ViewportFollow.ts +8 -5
  73. package/src/engine/FocusManager.ts +495 -0
  74. package/src/engine/reactive.ts +20 -19
  75. package/src/hooks/useFocus.ts +94 -0
  76. package/src/index.ts +2 -0
  77. package/dist/index-DNwqVzaq.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { Bounds as F, Rectangle as C, Container as M, Graphics as x, BigPool as b } from "pixi.js";
2
- import { F as _, E as p } from "./index-DNwqVzaq.js";
2
+ import { E as p, F as _ } from "./index-VPoz4ufu.js";
3
3
  var l = /* @__PURE__ */ ((e) => (e.Margin = "margin", e.Padding = "padding", e.Border = "border", e.Flex = "flex", e.Content = "content", e))(l || {});
4
4
  function w(e, t) {
5
5
  const r = `getComputed${t.charAt(0).toUpperCase() + t.slice(1)}`;
@@ -169,4 +169,4 @@ class y {
169
169
  export {
170
170
  y as DebugRenderer
171
171
  };
172
- //# sourceMappingURL=DebugRenderer-BosXI2Pd.js.map
172
+ //# sourceMappingURL=DebugRenderer-P5sZ-0Tq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DebugRenderer-BosXI2Pd.js","sources":["../../../node_modules/.pnpm/@pixi+layout@3.0.2_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/debug/calculateDebugRegions.mjs","../../../node_modules/.pnpm/@pixi+layout@3.0.2_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/debug/DebugNode.mjs","../../../node_modules/.pnpm/@pixi+layout@3.0.2_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/debug/DebugRenderer.mjs"],"sourcesContent":["import { Bounds, Rectangle } from \"pixi.js\";\nimport { Edge, FlexDirection } from \"yoga-layout/load\";\nvar DebugRegionType = /* @__PURE__ */ ((DebugRegionType2) => {\n DebugRegionType2[\"Margin\"] = \"margin\";\n DebugRegionType2[\"Padding\"] = \"padding\";\n DebugRegionType2[\"Border\"] = \"border\";\n DebugRegionType2[\"Flex\"] = \"flex\";\n DebugRegionType2[\"Content\"] = \"content\";\n return DebugRegionType2;\n})(DebugRegionType || {});\nfunction getEdgeValues(layout, type) {\n const method = `getComputed${type.charAt(0).toUpperCase() + type.slice(1)}`;\n return {\n top: layout.yoga[method](Edge.Top),\n right: layout.yoga[method](Edge.Right),\n bottom: layout.yoga[method](Edge.Bottom),\n left: layout.yoga[method](Edge.Left)\n };\n}\nfunction calculateRegions(layout, regions) {\n const { width, height } = layout.computedLayout;\n const margin = getEdgeValues(layout, \"margin\");\n const border = getEdgeValues(layout, \"border\");\n const padding = getEdgeValues(layout, \"padding\");\n const marginRegion = regions.get(\n \"margin\"\n /* Margin */\n );\n marginRegion.outer.x = -margin.left;\n marginRegion.outer.y = -margin.top;\n marginRegion.outer.width = width + margin.left + margin.right;\n marginRegion.outer.height = height + margin.top + margin.bottom;\n marginRegion.inner.x = 0;\n marginRegion.inner.y = 0;\n marginRegion.inner.width = width;\n marginRegion.inner.height = height;\n const borderRegion = regions.get(\n \"border\"\n /* Border */\n );\n borderRegion.outer.x = 0;\n borderRegion.outer.y = 0;\n borderRegion.outer.width = width;\n borderRegion.outer.height = height;\n borderRegion.inner.x = border.left;\n borderRegion.inner.y = border.top;\n borderRegion.inner.width = width - border.left - border.right;\n borderRegion.inner.height = height - border.top - border.bottom;\n const paddingRegion = regions.get(\n \"padding\"\n /* Padding */\n );\n paddingRegion.outer.copyFrom(borderRegion.inner);\n paddingRegion.inner.x = padding.left + border.left;\n paddingRegion.inner.y = padding.top + border.top;\n paddingRegion.inner.width = width - padding.left - padding.right - border.left - border.right;\n paddingRegion.inner.height = height - padding.top - padding.bottom - border.top - border.bottom;\n calculateFlexRegion(layout, regions);\n}\nfunction calculateFlexRegion(layout, regions) {\n var _a;\n const flexRegion = regions.get(\n \"flex\"\n /* Flex */\n );\n const paddingRegion = regions.get(\n \"padding\"\n /* Padding */\n );\n flexRegion.outer.copyFrom(paddingRegion.inner);\n const bounds = new Bounds();\n const children = layout.yoga.getChildCount();\n for (let i = 0; i < children; i++) {\n const child = layout.yoga.getChild(i);\n const computedBounds = child.getComputedLayout();\n bounds.addRect(\n new Rectangle(computedBounds.left, computedBounds.top, computedBounds.width, computedBounds.height)\n );\n }\n const flexDir = layout.yoga.getFlexDirection();\n if (flexDir === FlexDirection.Column || flexDir === FlexDirection.ColumnReverse) {\n bounds.width = flexRegion.outer.width;\n bounds.x = flexRegion.outer.x;\n } else {\n bounds.height = flexRegion.outer.height;\n bounds.y = flexRegion.outer.y;\n }\n (_a = flexRegion.inner) == null ? void 0 : _a.copyFrom(bounds.rectangle);\n regions.get(\n \"content\"\n /* Content */\n ).outer.copyFrom(bounds.rectangle);\n}\nexport {\n DebugRegionType,\n calculateRegions\n};\n//# sourceMappingURL=calculateDebugRegions.mjs.map\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nimport { Container, Graphics as Graphics$1 } from \"pixi.js\";\nimport { DebugRegionType } from \"./calculateDebugRegions.mjs\";\nfunction lerpColor(start, end, t) {\n const r = Math.round(start[0] + (end[0] - start[0]) * t);\n const g = Math.round(start[1] + (end[1] - start[1]) * t);\n const b = Math.round(start[2] + (end[2] - start[2]) * t);\n return `rgb(${r},${g},${b})`;\n}\nclass DebugNode extends Container {\n constructor() {\n super();\n /** Graphics objects for each region type */\n __publicField(this, \"graphics\");\n __publicField(this, \"heatGraphics\");\n this.graphics = /* @__PURE__ */ new Map();\n Object.values(DebugRegionType).forEach((type) => {\n const graphics = new Graphics$1();\n this.graphics.set(type, graphics);\n this.addChild(graphics);\n });\n this.heatGraphics = new Graphics$1();\n this.addChild(this.heatGraphics);\n }\n /**\n * Initialize the debug object with region data\n */\n init(regions) {\n const { target, alpha, heat } = regions;\n if (!regions.heatOnly) {\n Object.entries(regions).forEach(([type, region]) => {\n if (type === \"target\" || type === \"alpha\" || type === \"heat\" || type === \"heatOnly\") return;\n region = region;\n const graphics = this.graphics.get(type);\n if (!graphics || !region.draw) return;\n if (region.inner) {\n this.drawCutBox(graphics, region.outer, region.inner, region.color, alpha);\n } else {\n const { x, y, width, height } = region.outer;\n graphics.rect(x, y, width, Math.max(height, 1));\n graphics.fill({ color: region.color, alpha });\n }\n });\n }\n const { invalidationCount, draw } = heat;\n if (invalidationCount > 0 && draw) {\n const MAX_INVALIDATE_COUNT = 20;\n const normalizedAlpha = Math.min(invalidationCount / MAX_INVALIDATE_COUNT, 1);\n const marginRegion = regions[DebugRegionType.Margin];\n const startColor = [255, 255, 0];\n const endColor = [255, 0, 0];\n const color = lerpColor(startColor, endColor, normalizedAlpha);\n this.heatGraphics.rect(\n marginRegion.outer.x,\n marginRegion.outer.y,\n marginRegion.outer.width,\n marginRegion.outer.height\n );\n this.heatGraphics.fill({ color, alpha: Math.min(0.3, normalizedAlpha) });\n this.heatGraphics.stroke({ color, alpha: Math.max(0.3, normalizedAlpha), pixelLine: true });\n }\n this.position.set(target.x, target.y);\n }\n /**\n * Reset the debug object's state\n */\n reset() {\n this.graphics.forEach((graphics) => graphics.clear());\n this.heatGraphics.clear();\n this.removeFromParent();\n }\n /**\n * Draw a box with a cut-out center\n */\n drawCutBox(graphics, outer, inner, color, alpha) {\n const { x, y, width, height } = outer;\n const { x: innerX, y: innerY, width: innerWidth, height: innerHeight } = inner;\n graphics.rect(x, y, width, height);\n graphics.fill({ color, alpha });\n graphics.rect(innerX, innerY, innerWidth, innerHeight);\n graphics.cut();\n }\n}\nexport {\n DebugNode\n};\n//# sourceMappingURL=DebugNode.mjs.map\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nimport { Container, Rectangle, BigPool } from \"pixi.js\";\nimport { DebugRegionType, calculateRegions } from \"./calculateDebugRegions.mjs\";\nimport { DebugNode } from \"./DebugNode.mjs\";\nclass DebugRenderer {\n constructor() {\n /** Container for all debug visuals */\n __publicField(this, \"holder\", new Container());\n /** Region data for each debug type */\n __publicField(this, \"regions\", /* @__PURE__ */ new Map());\n /** Color configuration for each region type */\n __publicField(this, \"colors\", {\n [DebugRegionType.Margin]: \"#B68655\",\n [DebugRegionType.Padding]: \"#BAC57F\",\n [DebugRegionType.Border]: \"#E7C583\",\n [DebugRegionType.Content]: \"#89B1BE\",\n [DebugRegionType.Flex]: \"#6E28D9\"\n });\n /** Global alpha value for all regions */\n __publicField(this, \"alpha\", 0.75);\n Object.values(DebugRegionType).forEach((type) => {\n this.regions.set(type, {\n outer: new Rectangle(),\n inner: new Rectangle()\n });\n });\n this.holder.__devtoolIgnore = true;\n this.holder.__devtoolIgnoreChildren = true;\n this.holder.eventMode = \"none\";\n this.holder.interactiveChildren = false;\n }\n /**\n * Clean up previous render state\n */\n reset() {\n for (let i = this.holder.children.length - 1; i >= 0; i--) {\n const child = this.holder.children[i];\n BigPool.return(child);\n }\n }\n /**\n * Render debug visuals for the given layout\n */\n render(layout) {\n calculateRegions(layout, this.regions);\n const regionData = Object.values(DebugRegionType).reduce(\n (acc, type) => {\n const region = this.regions.get(type);\n if (!region) return acc;\n const drawString = `debugDraw${type.charAt(0).toUpperCase()}${type.slice(1)}`;\n acc[type] = {\n ...region,\n color: this.colors[type],\n draw: layout._styles.custom[drawString] ?? true\n };\n return acc;\n },\n {}\n );\n const { left, top } = layout.computedLayout;\n const pos = layout.target.getGlobalPosition();\n const debugObject = BigPool.get(DebugNode, {\n ...regionData,\n target: { x: pos.x + left, y: pos.y + top },\n alpha: this.alpha,\n heat: {\n invalidationCount: layout._modificationCount,\n draw: layout._styles.custom.debugHeat !== false\n },\n heatOnly: !layout._styles.custom.debug\n });\n this.holder.addChildAt(debugObject, 0);\n }\n /**\n * Clean up the debug renderer\n */\n destroy() {\n this.reset();\n this.holder.destroy();\n this.regions.clear();\n }\n}\nexport {\n DebugRenderer\n};\n//# sourceMappingURL=DebugRenderer.mjs.map\n"],"names":["DebugRegionType","DebugRegionType2","getEdgeValues","layout","type","method","Edge","calculateRegions","regions","width","height","margin","border","padding","marginRegion","borderRegion","paddingRegion","calculateFlexRegion","_a","flexRegion","bounds","Bounds","children","i","computedBounds","Rectangle","flexDir","FlexDirection","__defProp","__defNormalProp","obj","key","value","__publicField","lerpColor","start","end","t","r","g","b","DebugNode","Container","graphics","Graphics$1","target","alpha","heat","region","x","y","invalidationCount","draw","normalizedAlpha","color","outer","inner","innerX","innerY","innerWidth","innerHeight","DebugRenderer","child","BigPool","regionData","acc","drawString","left","top","pos","debugObject"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"DebugRenderer-P5sZ-0Tq.js","sources":["../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/debug/calculateDebugRegions.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/debug/DebugNode.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/debug/DebugRenderer.mjs"],"sourcesContent":["import { Bounds, Rectangle } from \"pixi.js\";\nimport { Edge, FlexDirection } from \"yoga-layout/load\";\nvar DebugRegionType = /* @__PURE__ */ ((DebugRegionType2) => {\n DebugRegionType2[\"Margin\"] = \"margin\";\n DebugRegionType2[\"Padding\"] = \"padding\";\n DebugRegionType2[\"Border\"] = \"border\";\n DebugRegionType2[\"Flex\"] = \"flex\";\n DebugRegionType2[\"Content\"] = \"content\";\n return DebugRegionType2;\n})(DebugRegionType || {});\nfunction getEdgeValues(layout, type) {\n const method = `getComputed${type.charAt(0).toUpperCase() + type.slice(1)}`;\n return {\n top: layout.yoga[method](Edge.Top),\n right: layout.yoga[method](Edge.Right),\n bottom: layout.yoga[method](Edge.Bottom),\n left: layout.yoga[method](Edge.Left)\n };\n}\nfunction calculateRegions(layout, regions) {\n const { width, height } = layout.computedLayout;\n const margin = getEdgeValues(layout, \"margin\");\n const border = getEdgeValues(layout, \"border\");\n const padding = getEdgeValues(layout, \"padding\");\n const marginRegion = regions.get(\n \"margin\"\n /* Margin */\n );\n marginRegion.outer.x = -margin.left;\n marginRegion.outer.y = -margin.top;\n marginRegion.outer.width = width + margin.left + margin.right;\n marginRegion.outer.height = height + margin.top + margin.bottom;\n marginRegion.inner.x = 0;\n marginRegion.inner.y = 0;\n marginRegion.inner.width = width;\n marginRegion.inner.height = height;\n const borderRegion = regions.get(\n \"border\"\n /* Border */\n );\n borderRegion.outer.x = 0;\n borderRegion.outer.y = 0;\n borderRegion.outer.width = width;\n borderRegion.outer.height = height;\n borderRegion.inner.x = border.left;\n borderRegion.inner.y = border.top;\n borderRegion.inner.width = width - border.left - border.right;\n borderRegion.inner.height = height - border.top - border.bottom;\n const paddingRegion = regions.get(\n \"padding\"\n /* Padding */\n );\n paddingRegion.outer.copyFrom(borderRegion.inner);\n paddingRegion.inner.x = padding.left + border.left;\n paddingRegion.inner.y = padding.top + border.top;\n paddingRegion.inner.width = width - padding.left - padding.right - border.left - border.right;\n paddingRegion.inner.height = height - padding.top - padding.bottom - border.top - border.bottom;\n calculateFlexRegion(layout, regions);\n}\nfunction calculateFlexRegion(layout, regions) {\n var _a;\n const flexRegion = regions.get(\n \"flex\"\n /* Flex */\n );\n const paddingRegion = regions.get(\n \"padding\"\n /* Padding */\n );\n flexRegion.outer.copyFrom(paddingRegion.inner);\n const bounds = new Bounds();\n const children = layout.yoga.getChildCount();\n for (let i = 0; i < children; i++) {\n const child = layout.yoga.getChild(i);\n const computedBounds = child.getComputedLayout();\n bounds.addRect(\n new Rectangle(computedBounds.left, computedBounds.top, computedBounds.width, computedBounds.height)\n );\n }\n const flexDir = layout.yoga.getFlexDirection();\n if (flexDir === FlexDirection.Column || flexDir === FlexDirection.ColumnReverse) {\n bounds.width = flexRegion.outer.width;\n bounds.x = flexRegion.outer.x;\n } else {\n bounds.height = flexRegion.outer.height;\n bounds.y = flexRegion.outer.y;\n }\n (_a = flexRegion.inner) == null ? void 0 : _a.copyFrom(bounds.rectangle);\n regions.get(\n \"content\"\n /* Content */\n ).outer.copyFrom(bounds.rectangle);\n}\nexport {\n DebugRegionType,\n calculateRegions\n};\n//# sourceMappingURL=calculateDebugRegions.mjs.map\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nimport { Container, Graphics as Graphics$1 } from \"pixi.js\";\nimport { DebugRegionType } from \"./calculateDebugRegions.mjs\";\nfunction lerpColor(start, end, t) {\n const r = Math.round(start[0] + (end[0] - start[0]) * t);\n const g = Math.round(start[1] + (end[1] - start[1]) * t);\n const b = Math.round(start[2] + (end[2] - start[2]) * t);\n return `rgb(${r},${g},${b})`;\n}\nclass DebugNode extends Container {\n constructor() {\n super();\n /** Graphics objects for each region type */\n __publicField(this, \"graphics\");\n __publicField(this, \"heatGraphics\");\n this.graphics = /* @__PURE__ */ new Map();\n Object.values(DebugRegionType).forEach((type) => {\n const graphics = new Graphics$1();\n this.graphics.set(type, graphics);\n this.addChild(graphics);\n });\n this.heatGraphics = new Graphics$1();\n this.addChild(this.heatGraphics);\n }\n /**\n * Initialize the debug object with region data\n */\n init(regions) {\n const { target, alpha, heat } = regions;\n if (!regions.heatOnly) {\n Object.entries(regions).forEach(([type, region]) => {\n if (type === \"target\" || type === \"alpha\" || type === \"heat\" || type === \"heatOnly\") return;\n region = region;\n const graphics = this.graphics.get(type);\n if (!graphics || !region.draw) return;\n if (region.inner) {\n this.drawCutBox(graphics, region.outer, region.inner, region.color, alpha);\n } else {\n const { x, y, width, height } = region.outer;\n graphics.rect(x, y, width, Math.max(height, 1));\n graphics.fill({ color: region.color, alpha });\n }\n });\n }\n const { invalidationCount, draw } = heat;\n if (invalidationCount > 0 && draw) {\n const MAX_INVALIDATE_COUNT = 20;\n const normalizedAlpha = Math.min(invalidationCount / MAX_INVALIDATE_COUNT, 1);\n const marginRegion = regions[DebugRegionType.Margin];\n const startColor = [255, 255, 0];\n const endColor = [255, 0, 0];\n const color = lerpColor(startColor, endColor, normalizedAlpha);\n this.heatGraphics.rect(\n marginRegion.outer.x,\n marginRegion.outer.y,\n marginRegion.outer.width,\n marginRegion.outer.height\n );\n this.heatGraphics.fill({ color, alpha: Math.min(0.3, normalizedAlpha) });\n this.heatGraphics.stroke({ color, alpha: Math.max(0.3, normalizedAlpha), pixelLine: true });\n }\n this.position.set(target.x, target.y);\n }\n /**\n * Reset the debug object's state\n */\n reset() {\n this.graphics.forEach((graphics) => graphics.clear());\n this.heatGraphics.clear();\n this.removeFromParent();\n }\n /**\n * Draw a box with a cut-out center\n */\n drawCutBox(graphics, outer, inner, color, alpha) {\n const { x, y, width, height } = outer;\n const { x: innerX, y: innerY, width: innerWidth, height: innerHeight } = inner;\n graphics.rect(x, y, width, height);\n graphics.fill({ color, alpha });\n graphics.rect(innerX, innerY, innerWidth, innerHeight);\n graphics.cut();\n }\n}\nexport {\n DebugNode\n};\n//# sourceMappingURL=DebugNode.mjs.map\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nimport { Container, Rectangle, BigPool } from \"pixi.js\";\nimport { DebugRegionType, calculateRegions } from \"./calculateDebugRegions.mjs\";\nimport { DebugNode } from \"./DebugNode.mjs\";\nclass DebugRenderer {\n constructor() {\n /** Container for all debug visuals */\n __publicField(this, \"holder\", new Container());\n /** Region data for each debug type */\n __publicField(this, \"regions\", /* @__PURE__ */ new Map());\n /** Color configuration for each region type */\n __publicField(this, \"colors\", {\n [DebugRegionType.Margin]: \"#B68655\",\n [DebugRegionType.Padding]: \"#BAC57F\",\n [DebugRegionType.Border]: \"#E7C583\",\n [DebugRegionType.Content]: \"#89B1BE\",\n [DebugRegionType.Flex]: \"#6E28D9\"\n });\n /** Global alpha value for all regions */\n __publicField(this, \"alpha\", 0.75);\n Object.values(DebugRegionType).forEach((type) => {\n this.regions.set(type, {\n outer: new Rectangle(),\n inner: new Rectangle()\n });\n });\n this.holder.__devtoolIgnore = true;\n this.holder.__devtoolIgnoreChildren = true;\n this.holder.eventMode = \"none\";\n this.holder.interactiveChildren = false;\n }\n /**\n * Clean up previous render state\n */\n reset() {\n for (let i = this.holder.children.length - 1; i >= 0; i--) {\n const child = this.holder.children[i];\n BigPool.return(child);\n }\n }\n /**\n * Render debug visuals for the given layout\n */\n render(layout) {\n calculateRegions(layout, this.regions);\n const regionData = Object.values(DebugRegionType).reduce(\n (acc, type) => {\n const region = this.regions.get(type);\n if (!region) return acc;\n const drawString = `debugDraw${type.charAt(0).toUpperCase()}${type.slice(1)}`;\n acc[type] = {\n ...region,\n color: this.colors[type],\n draw: layout._styles.custom[drawString] ?? true\n };\n return acc;\n },\n {}\n );\n const { left, top } = layout.computedLayout;\n const pos = layout.target.getGlobalPosition();\n const debugObject = BigPool.get(DebugNode, {\n ...regionData,\n target: { x: pos.x + left, y: pos.y + top },\n alpha: this.alpha,\n heat: {\n invalidationCount: layout._modificationCount,\n draw: layout._styles.custom.debugHeat !== false\n },\n heatOnly: !layout._styles.custom.debug\n });\n this.holder.addChildAt(debugObject, 0);\n }\n /**\n * Clean up the debug renderer\n */\n destroy() {\n this.reset();\n this.holder.destroy();\n this.regions.clear();\n }\n}\nexport {\n DebugRenderer\n};\n//# sourceMappingURL=DebugRenderer.mjs.map\n"],"names":["DebugRegionType","DebugRegionType2","getEdgeValues","layout","type","method","Edge","calculateRegions","regions","width","height","margin","border","padding","marginRegion","borderRegion","paddingRegion","calculateFlexRegion","_a","flexRegion","bounds","Bounds","children","i","computedBounds","Rectangle","flexDir","FlexDirection","__defProp","__defNormalProp","obj","key","value","__publicField","lerpColor","start","end","t","r","g","b","DebugNode","Container","graphics","Graphics$1","target","alpha","heat","region","x","y","invalidationCount","draw","normalizedAlpha","color","outer","inner","innerX","innerY","innerWidth","innerHeight","DebugRenderer","child","BigPool","regionData","acc","drawString","left","top","pos","debugObject"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,8 +1,8 @@
1
+ import { Signal } from '@signe/reactive';
1
2
  import { FederatedPointerEvent } from 'pixi.js';
2
3
  import { ControlsDirective } from '../directives/Controls';
3
4
  import { JoystickControls } from '../directives/JoystickControls';
4
5
  import { Element } from '../engine/reactive';
5
-
6
6
  /**
7
7
  * Button states for visual feedback
8
8
  */
@@ -87,6 +87,8 @@ export interface ButtonProps {
87
87
  background?: Element | any;
88
88
  /** Custom children components for button content (takes priority over text if provided) */
89
89
  children?: Element[];
90
+ /** Focus index for the button */
91
+ tabindex?: number | Signal<number>;
90
92
  }
91
93
  /**
92
94
  * Creates a Button component with interactive states and customizable styling.
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import { Props } from '../engine/reactive';
2
2
  import { ComponentFunction } from '../engine/signal';
3
3
  import { SignalOrPrimitive } from './types';
4
4
  import { Size } from './types/DisplayObject';
5
-
6
5
  export interface CanvasProps extends Props {
7
6
  cursorStyles?: () => any;
8
7
  width?: SignalOrPrimitive<Size>;
@@ -2,7 +2,6 @@ import { Element } from '../engine/reactive';
2
2
  import { OnHook } from './DisplayObject';
3
3
  import { ComponentFunction } from '../engine/signal';
4
4
  import { DisplayObjectProps } from './types/DisplayObject';
5
-
6
5
  interface DOMContainerProps extends DisplayObjectProps {
7
6
  element: string | {
8
7
  value: HTMLElement;
@@ -1 +1 @@
1
- {"version":3,"file":"DOMElement.d.ts","sourceRoot":"","sources":["../../src/components/DOMElement.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,OAAO,EAER,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAoC,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D,UAAU,iBAAkB,SAAQ,kBAAkB;IACpD,OAAO,EACH,MAAM,GACN;QACE,KAAK,EAAE,WAAW,CAAC;KACpB,CAAC;IACN,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;QAC5B,KAAK,CAAC,EACF,MAAM,GACN,MAAM,EAAE,GACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB;YAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,GACpB;YAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;QAC5D,KAAK,CAAC,EACF,MAAM,GACN,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAC/B;YAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;SAAE,CAAC;KAC1D,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAwKD,qBAAa,gBAAgB;IACpB,OAAO,EAAE,WAAW,CAAC;IAC5B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,iBAAiB,CAAkB;IAE3C;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAKrB,MAAM,CAAC,KAAK,EAAE,iBAAiB;IAgE/B,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAgC1C,QAAQ,CAAC,KAAK,EAAE,iBAAiB;IA2E3B,SAAS,CACb,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACjC,YAAY,EAAE,MAAM,IAAI,GACvB,OAAO,CAAC,IAAI,CAAC;CAqBjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;CAAG;AAI/D,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,iBAAiB,CAE3D,CAAC"}
1
+ {"version":3,"file":"DOMElement.d.ts","sourceRoot":"","sources":["../../src/components/DOMElement.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,OAAO,EAER,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAoC,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D,UAAU,iBAAkB,SAAQ,kBAAkB;IACpD,OAAO,EACL,MAAM,GACN;QACA,KAAK,EAAE,WAAW,CAAC;KACpB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;QAC5B,KAAK,CAAC,EACJ,MAAM,GACN,MAAM,EAAE,GACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB;YAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,GACpB;YAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;QAC1D,KAAK,CAAC,EACJ,MAAM,GACN,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAC/B;YAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;SAAE,CAAC;KACxD,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAwKD,qBAAa,gBAAgB;IACpB,OAAO,EAAE,WAAW,CAAC;IAC5B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,iBAAiB,CAAkB;IAE3C;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAKrB,MAAM,CAAC,KAAK,EAAE,iBAAiB;IAgE/B,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAgC1C,QAAQ,CAAC,KAAK,EAAE,iBAAiB;IAmF3B,SAAS,CACb,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACjC,YAAY,EAAE,MAAM,IAAI,GACvB,OAAO,CAAC,IAAI,CAAC;CAqBjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;CAAI;AAIhE,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,iBAAiB,CAE3D,CAAC"}
@@ -3,9 +3,8 @@ import { Element } from '../engine/reactive';
3
3
  import { ComponentInstance } from './DisplayObject';
4
4
  import { DisplayObjectProps } from './types/DisplayObject';
5
5
  import { SignalOrPrimitive } from './types';
6
-
7
6
  interface GraphicsProps extends DisplayObjectProps {
8
- draw?: (graphics: PixiGraphics, width: number, height: number) => void;
7
+ draw?: (graphics: PixiGraphics, width: number, height: number, anchor?: [number, number]) => void;
9
8
  }
10
9
  interface RectProps extends DisplayObjectProps {
11
10
  color: SignalOrPrimitive<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"Graphic.d.ts","sourceRoot":"","sources":["../../src/components/Graphic.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,QAAQ,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAmB,OAAO,EAAqB,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG5C,UAAU,aAAc,SAAQ,kBAAkB;IAChD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACxE;AAED,UAAU,SAAU,SAAQ,kBAAkB;IAC5C,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,WAAY,SAAQ,kBAAkB;IAC9C,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,YAAa,SAAQ,kBAAkB;IAC/C,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,aAAc,SAAQ,kBAAkB;IAChD,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,QAAS,SAAQ,kBAAkB;IAC3C,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAiID,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,8BAE5C;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,8BAoBpC;AAwBD,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,8BAQxC;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,8BAc1C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,8BAkB5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,8BAyBlC"}
1
+ {"version":3,"file":"Graphic.d.ts","sourceRoot":"","sources":["../../src/components/Graphic.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,QAAQ,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAmB,OAAO,EAAqB,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI5C,UAAU,aAAc,SAAQ,kBAAkB;IAChD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CACnG;AAED,UAAU,SAAU,SAAQ,kBAAkB;IAC5C,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,WAAY,SAAQ,kBAAkB;IAC9C,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,YAAa,SAAQ,kBAAkB;IAC/C,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,aAAc,SAAQ,kBAAkB;IAChD,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,QAAS,SAAQ,kBAAkB;IAC3C,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAsID,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,8BAE5C;AAWD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,8BAqBpC;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,8BAoBxC;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,8BAE1C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,8BAmB5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,8BAyBlC"}
@@ -1,6 +1,5 @@
1
1
  import { Texture } from 'pixi.js';
2
2
  import { DisplayObjectProps } from './types/DisplayObject';
3
-
4
3
  interface NineSliceSpriteProps extends DisplayObjectProps {
5
4
  image?: string;
6
5
  texture?: Texture;
@@ -1,5 +1,4 @@
1
1
  import { Element } from '../engine/reactive';
2
2
  import { ComponentInstance } from './DisplayObject';
3
-
4
3
  export declare function ParticlesEmitter(props: any): Element<ComponentInstance>;
5
4
  //# sourceMappingURL=ParticleEmitter.d.ts.map
@@ -2,7 +2,6 @@ import { TextStyle } from 'pixi.js';
2
2
  import { Element } from '../engine/reactive';
3
3
  import { ComponentInstance } from './DisplayObject';
4
4
  import { DisplayObjectProps } from './types/DisplayObject';
5
-
6
5
  export interface TextProps extends DisplayObjectProps {
7
6
  text?: string;
8
7
  style?: Partial<TextStyle>;
@@ -1,5 +1,4 @@
1
1
  import { DisplayObjectProps } from './types/DisplayObject';
2
-
3
2
  interface TilingSpriteProps extends DisplayObjectProps {
4
3
  image?: string;
5
4
  tileScale?: {
@@ -1,5 +1,4 @@
1
1
  import { Texture } from 'pixi.js';
2
-
3
2
  interface VideoProps {
4
3
  src: string;
5
4
  paused?: boolean;
@@ -14,5 +14,6 @@ export { type ComponentInstance } from './DisplayObject';
14
14
  export { DOMContainer } from './DOMContainer';
15
15
  export { DOMElement } from './DOMElement';
16
16
  export { Button, ButtonState, type ButtonProps, type ButtonStyle } from './Button';
17
- export { Joystick, type JoystickSettings, type JoystickChangeEvent } from './Joystick';
17
+ export { Joystick, type JoystickSettings } from './Joystick';
18
+ export { FocusContainer, type FocusContainerProps } from './FocusContainer';
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -13,6 +13,13 @@ export type ObjectFit = 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
13
13
  export type ObjectPosition = string;
14
14
  export type TransformOrigin = string;
15
15
  export type PositionType = 'relative' | 'absolute' | 'static';
16
+ export type ObservablePointSignal = [number, number] | SignalOrPrimitive<[number, number]> | {
17
+ x: number;
18
+ y: number;
19
+ } | SignalOrPrimitive<{
20
+ x: number;
21
+ y: number;
22
+ }>;
16
23
  export interface DisplayObjectProps {
17
24
  attach?: any;
18
25
  ref?: string;
@@ -46,18 +53,9 @@ export interface DisplayObjectProps {
46
53
  padding?: EdgeSize;
47
54
  border?: EdgeSize;
48
55
  absolute?: SignalOrPrimitive<boolean>;
49
- scale?: SignalOrPrimitive<{
50
- x: number;
51
- y: number;
52
- } | number>;
53
- anchor?: SignalOrPrimitive<{
54
- x: number;
55
- y: number;
56
- }>;
57
- skew?: SignalOrPrimitive<{
58
- x: number;
59
- y: number;
60
- }>;
56
+ scale?: ObservablePointSignal | number;
57
+ anchor?: ObservablePointSignal;
58
+ skew?: ObservablePointSignal;
61
59
  tint?: SignalOrPrimitive<number>;
62
60
  rotation?: SignalOrPrimitive<number>;
63
61
  angle?: SignalOrPrimitive<number>;
@@ -65,10 +63,7 @@ export interface DisplayObjectProps {
65
63
  roundPixels?: SignalOrPrimitive<boolean>;
66
64
  cursor?: SignalOrPrimitive<string>;
67
65
  visible?: SignalOrPrimitive<boolean>;
68
- pivot?: SignalOrPrimitive<{
69
- x: number;
70
- y: number;
71
- }>;
66
+ pivot?: ObservablePointSignal;
72
67
  filters?: any[];
73
68
  blendMode?: SignalOrPrimitive<PIXI.BLEND_MODES>;
74
69
  blur?: SignalOrPrimitive<number>;
@@ -106,5 +101,6 @@ export interface DisplayObjectProps {
106
101
  touchmove?: PIXI.FederatedEventHandler;
107
102
  touchstart?: PIXI.FederatedEventHandler;
108
103
  wheel?: PIXI.FederatedEventHandler<PIXI.FederatedWheelEvent>;
104
+ tabindex?: SignalOrPrimitive<number>;
109
105
  }
110
106
  //# sourceMappingURL=DisplayObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DisplayObject.d.ts","sourceRoot":"","sources":["../../../src/components/types/DisplayObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAChF,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,eAAe,GAAG,cAAc,CAAC;AACrG,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,eAAe,GAAG,cAAc,CAAC;AACnG,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;AACxC,MAAM,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AACxF,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC;AAC7E,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AACpC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AACrC,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,GAAG,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,KAAK,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,CAAC;IAC7D,MAAM,CAAC,EAAE,iBAAiB,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,iBAAiB,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAGjC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IAGnB,KAAK,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACnC,SAAS,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACvC,UAAU,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACxC,UAAU,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACxC,SAAS,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACvC,QAAQ,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACtC,SAAS,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACvC,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACrC,cAAc,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IAC5C,aAAa,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IAC3C,WAAW,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACzC,YAAY,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IAC1C,YAAY,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IAC1C,WAAW,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACzC,UAAU,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACxC,WAAW,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACzC,UAAU,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACxC,SAAS,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACvC,gBAAgB,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IAC9C,UAAU,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACxC,SAAS,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACvC,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACrC,cAAc,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IAC5C,GAAG,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACjC,WAAW,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACzC,QAAQ,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACtC,eAAe,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IAC7C,SAAS,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACvC,UAAU,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACxC,KAAK,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;CAChE"}
1
+ {"version":3,"file":"DisplayObject.d.ts","sourceRoot":"","sources":["../../../src/components/types/DisplayObject.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { Signal } from '@signe/reactive';
2
2
  import { AnimatedSignal } from '../../engine/animation';
3
-
4
3
  export type SignalOrPrimitive<T> = T | Signal<T> | AnimatedSignal<T>;
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -4,7 +4,6 @@ import { Controls } from './ControlsBase';
4
4
  import { KeyboardControls } from './KeyboardControls';
5
5
  import { GamepadControls } from './GamepadControls';
6
6
  import { JoystickControls } from './JoystickControls';
7
-
8
7
  /**
9
8
  * Controls directive that coordinates keyboard, gamepad, and joystick input systems
10
9
  *
@@ -2,7 +2,6 @@ import { Container, FederatedPointerEvent } from 'pixi.js';
2
2
  import { Directive } from '../engine/directive';
3
3
  import { Element } from '../engine/reactive';
4
4
  import { SignalOrPrimitive } from '../components/types';
5
-
6
5
  export type DragProps = {
7
6
  move?: (event: FederatedPointerEvent) => void;
8
7
  start?: () => void;
@@ -3,7 +3,6 @@ import { Directive } from '../engine/directive';
3
3
  import { Element } from '../engine/reactive';
4
4
  import { Trigger } from '../engine/trigger';
5
5
  import { SignalOrPrimitive } from '../components/types';
6
-
7
6
  export type FlashType = 'alpha' | 'tint' | 'both';
8
7
  export type FlashProps = {
9
8
  /**
@@ -0,0 +1,70 @@
1
+ import { Directive } from '../engine/directive';
2
+ import { Element } from '../engine/reactive';
3
+ import { CanvasFocusContainer } from '../components/FocusContainer';
4
+ /**
5
+ * FocusNavigation directive for automatic focus navigation via Controls
6
+ *
7
+ * This directive integrates with the Controls system to automatically navigate
8
+ * between focusable elements using keyboard arrows or gamepad input.
9
+ *
10
+ * The directive is automatically applied when a FocusContainer has a `controls` prop.
11
+ * It wraps the existing Controls configuration to add focus navigation behavior.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * // Automatic navigation with Controls
16
+ * <FocusContainer tabindex={0} controls={controlsConfig}>
17
+ * <Button tabindex={0} text="Button 1" />
18
+ * <Button tabindex={1} text="Button 2" />
19
+ * </FocusContainer>
20
+ * ```
21
+ */
22
+ export declare class FocusNavigationDirective extends Directive {
23
+ private element;
24
+ private controlsDirective;
25
+ private containerId;
26
+ private controlsSubscription;
27
+ private originalControls;
28
+ /**
29
+ * Initialize the focus navigation directive
30
+ *
31
+ * @param element - FocusContainer element
32
+ */
33
+ onInit(element: Element<CanvasFocusContainer>): void;
34
+ /**
35
+ * Set up navigation controls
36
+ *
37
+ * @param controls - Controls configuration
38
+ */
39
+ private setupNavigationControls;
40
+ /**
41
+ * Navigate to next or previous focusable element
42
+ *
43
+ * @param direction - Navigation direction
44
+ */
45
+ private navigate;
46
+ /**
47
+ * Trigger action on currently focused element
48
+ */
49
+ private triggerAction;
50
+ /**
51
+ * Mount hook
52
+ *
53
+ * @param element - FocusContainer element
54
+ */
55
+ onMount(element: Element<CanvasFocusContainer>): void;
56
+ /**
57
+ * Update hook
58
+ *
59
+ * @param props - Updated properties
60
+ * @param element - FocusContainer element
61
+ */
62
+ onUpdate(props: any, element: Element<CanvasFocusContainer>): void;
63
+ /**
64
+ * Destroy hook
65
+ *
66
+ * @param element - FocusContainer element
67
+ */
68
+ onDestroy(element: Element<CanvasFocusContainer>): void;
69
+ }
70
+ //# sourceMappingURL=FocusNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FocusNavigation.d.ts","sourceRoot":"","sources":["../../src/directives/FocusNavigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqC,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,wBAAyB,SAAQ,SAAS;IACrD,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,gBAAgB,CAAyB;IAEjD;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAuB7C;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAsE/B;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAKhB;;OAEG;IACH,OAAO,CAAC,aAAa;IAiBrB;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC;IA2C9C;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAW3D;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC;CAWjD"}
@@ -1,6 +1,5 @@
1
1
  import { ControlsBase, Controls } from './ControlsBase';
2
2
  import { WritableSignal } from '@signe/reactive';
3
-
4
3
  /**
5
4
  * Gamepad configuration interface
6
5
  *
@@ -1,5 +1,4 @@
1
1
  import { ControlsBase, Controls } from './ControlsBase';
2
-
3
2
  /**
4
3
  * Joystick directions reported by the Joystick component
5
4
  */
@@ -1,5 +1,4 @@
1
1
  import { ControlsBase, ControlOptions, Controls, BoundKey } from './ControlsBase';
2
-
3
2
  export declare enum Input {
4
3
  Break = "break",
5
4
  Backspace = "backspace",
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardControls.d.ts","sourceRoot":"","sources":["../../src/directives/KeyboardControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KeyboardControls.d.ts","sourceRoot":"","sources":["../../src/directives/KeyboardControls.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { Directive } from '../engine/directive';
2
2
  import { Element } from '../engine/reactive';
3
-
4
3
  export interface Tick {
5
4
  timestamp: number;
6
5
  deltaTime: number;
@@ -3,7 +3,6 @@ import { Directive } from '../engine/directive';
3
3
  import { Element } from '../engine/reactive';
4
4
  import { Trigger } from '../engine/trigger';
5
5
  import { SignalOrPrimitive } from '../components/types';
6
-
7
6
  export type ShakeProps = {
8
7
  /**
9
8
  * Trigger that activates the shake animation
@@ -1,7 +1,6 @@
1
1
  import { Container } from 'pixi.js';
2
2
  import { Directive } from '../engine/directive';
3
3
  import { Element } from '../engine/reactive';
4
-
5
4
  /**
6
5
  * Sound directive for playing audio with support for spatial audio and multiple sound sources
7
6
  *
@@ -1,7 +1,6 @@
1
1
  import { Container } from 'pixi.js';
2
2
  import { Directive } from '../engine/directive';
3
3
  import { Element } from '../engine/reactive';
4
-
5
4
  export declare class Transition extends Directive {
6
5
  onInit(element: Element<Container>): void;
7
6
  onMount(element: Element<Container>): void;
@@ -1,7 +1,6 @@
1
1
  import { Container } from 'pixi.js';
2
2
  import { Directive } from '../engine/directive';
3
3
  import { Element } from '../engine/reactive';
4
-
5
4
  export declare class ViewportCull extends Directive {
6
5
  private cull;
7
6
  onInit(element: any): void;
@@ -2,7 +2,6 @@ import { ComponentInstance } from '../components/DisplayObject';
2
2
  import { SignalOrPrimitive } from '../components/types';
3
3
  import { Directive } from '../engine/directive';
4
4
  import { Element } from '../engine/reactive';
5
-
6
5
  export type ViewportFollowProps = {
7
6
  viewportFollow?: boolean | {
8
7
  speed?: SignalOrPrimitive<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewportFollow.d.ts","sourceRoot":"","sources":["../../src/directives/ViewportFollow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAqB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,MAAM,MAAM,mBAAmB,GAAG;IAC9B,cAAc,CAAC,EAAE,OAAO,GAAG;QACvB,KAAK,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAClC,YAAY,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;KACtC,CAAC;CACL,CAAA;AAED,qBAAa,cAAe,SAAQ,SAAS;IACzC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAG1C,OAAO,CAAC,OAAO,EAAE,OAAO;IAGxB,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO;IAwB9C,SAAS,CAAC,OAAO,EAAE,OAAO;CAK7B"}
1
+ {"version":3,"file":"ViewportFollow.d.ts","sourceRoot":"","sources":["../../src/directives/ViewportFollow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAqB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,MAAM,MAAM,mBAAmB,GAAG;IAC9B,cAAc,CAAC,EAAE,OAAO,GAAG;QACvB,KAAK,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAClC,YAAY,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;KACtC,CAAC;CACL,CAAA;AAED,qBAAa,cAAe,SAAQ,SAAS;IACzC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAG1C,OAAO,CAAC,OAAO,EAAE,OAAO;IAGxB,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO;IA2B9C,SAAS,CAAC,OAAO,EAAE,OAAO;CAK7B"}