canvasengine 2.0.0-beta.23 → 2.0.0-beta.25

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 (95) hide show
  1. package/dist/DebugRenderer-LPVGoCBJ.js +172 -0
  2. package/dist/DebugRenderer-LPVGoCBJ.js.map +1 -0
  3. package/dist/components/Canvas.d.ts +18 -0
  4. package/dist/components/Canvas.d.ts.map +1 -0
  5. package/dist/components/Container.d.ts +79 -0
  6. package/dist/components/Container.d.ts.map +1 -0
  7. package/dist/components/DOMContainer.d.ts +76 -0
  8. package/dist/components/DOMContainer.d.ts.map +1 -0
  9. package/dist/components/DOMElement.d.ts +44 -0
  10. package/dist/components/DOMElement.d.ts.map +1 -0
  11. package/dist/components/DisplayObject.d.ts +81 -0
  12. package/dist/components/DisplayObject.d.ts.map +1 -0
  13. package/dist/components/Graphic.d.ts +65 -0
  14. package/dist/components/Graphic.d.ts.map +1 -0
  15. package/dist/components/Mesh.d.ts +201 -0
  16. package/dist/components/Mesh.d.ts.map +1 -0
  17. package/dist/components/NineSliceSprite.d.ts +17 -0
  18. package/dist/components/NineSliceSprite.d.ts.map +1 -0
  19. package/dist/components/ParticleEmitter.d.ts +5 -0
  20. package/dist/components/ParticleEmitter.d.ts.map +1 -0
  21. package/dist/components/Scene.d.ts +2 -0
  22. package/dist/components/Scene.d.ts.map +1 -0
  23. package/dist/components/Sprite.d.ts +173 -0
  24. package/dist/components/Sprite.d.ts.map +1 -0
  25. package/dist/components/Text.d.ts +21 -0
  26. package/dist/components/Text.d.ts.map +1 -0
  27. package/dist/components/TilingSprite.d.ts +18 -0
  28. package/dist/components/TilingSprite.d.ts.map +1 -0
  29. package/dist/components/Video.d.ts +15 -0
  30. package/dist/components/Video.d.ts.map +1 -0
  31. package/dist/components/Viewport.d.ts +105 -0
  32. package/dist/components/Viewport.d.ts.map +1 -0
  33. package/dist/components/index.d.ts +16 -0
  34. package/dist/components/index.d.ts.map +1 -0
  35. package/dist/components/types/DisplayObject.d.ts +106 -0
  36. package/dist/components/types/DisplayObject.d.ts.map +1 -0
  37. package/dist/components/types/MouseEvent.d.ts +4 -0
  38. package/dist/components/types/MouseEvent.d.ts.map +1 -0
  39. package/dist/components/types/Spritesheet.d.ts +366 -0
  40. package/dist/components/types/Spritesheet.d.ts.map +1 -0
  41. package/dist/components/types/index.d.ts +5 -0
  42. package/dist/components/types/index.d.ts.map +1 -0
  43. package/dist/directives/Drag.d.ts +70 -0
  44. package/dist/directives/Drag.d.ts.map +1 -0
  45. package/dist/directives/KeyboardControls.d.ts +530 -0
  46. package/dist/directives/KeyboardControls.d.ts.map +1 -0
  47. package/dist/directives/Scheduler.d.ts +36 -0
  48. package/dist/directives/Scheduler.d.ts.map +1 -0
  49. package/dist/directives/Sound.d.ts +26 -0
  50. package/dist/directives/Sound.d.ts.map +1 -0
  51. package/dist/directives/Transition.d.ts +11 -0
  52. package/dist/directives/Transition.d.ts.map +1 -0
  53. package/dist/directives/ViewportCull.d.ts +12 -0
  54. package/dist/directives/ViewportCull.d.ts.map +1 -0
  55. package/dist/directives/ViewportFollow.d.ts +19 -0
  56. package/dist/directives/ViewportFollow.d.ts.map +1 -0
  57. package/dist/directives/index.d.ts +2 -0
  58. package/dist/directives/index.d.ts.map +1 -0
  59. package/dist/engine/animation.d.ts +59 -0
  60. package/dist/engine/animation.d.ts.map +1 -0
  61. package/dist/engine/bootstrap.d.ts +16 -0
  62. package/dist/engine/bootstrap.d.ts.map +1 -0
  63. package/dist/engine/directive.d.ts +14 -0
  64. package/dist/engine/directive.d.ts.map +1 -0
  65. package/dist/engine/reactive.d.ts +68 -0
  66. package/dist/engine/reactive.d.ts.map +1 -0
  67. package/dist/engine/signal.d.ts +72 -0
  68. package/dist/engine/signal.d.ts.map +1 -0
  69. package/dist/engine/trigger.d.ts +51 -0
  70. package/dist/engine/trigger.d.ts.map +1 -0
  71. package/dist/engine/utils.d.ts +90 -0
  72. package/dist/engine/utils.d.ts.map +1 -0
  73. package/dist/hooks/addContext.d.ts +2 -0
  74. package/dist/hooks/addContext.d.ts.map +1 -0
  75. package/dist/hooks/useProps.d.ts +42 -0
  76. package/dist/hooks/useProps.d.ts.map +1 -0
  77. package/dist/hooks/useRef.d.ts +5 -0
  78. package/dist/hooks/useRef.d.ts.map +1 -0
  79. package/dist/index-5TTorHyA.js +10931 -0
  80. package/dist/index-5TTorHyA.js.map +1 -0
  81. package/dist/index.d.ts +15 -1287
  82. package/dist/index.d.ts.map +1 -0
  83. package/dist/index.global.js +29 -0
  84. package/dist/index.global.js.map +1 -0
  85. package/dist/index.js +61 -4258
  86. package/dist/index.js.map +1 -1
  87. package/dist/utils/Ease.d.ts +17 -0
  88. package/dist/utils/Ease.d.ts.map +1 -0
  89. package/dist/utils/RadialGradient.d.ts +58 -0
  90. package/dist/utils/RadialGradient.d.ts.map +1 -0
  91. package/dist/utils/functions.d.ts +2 -0
  92. package/dist/utils/functions.d.ts.map +1 -0
  93. package/package.json +6 -4
  94. package/tsconfig.json +17 -0
  95. package/vite.config.ts +39 -0
@@ -0,0 +1,172 @@
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-5TTorHyA.js";
3
+ var l = /* @__PURE__ */ ((e) => (e.Margin = "margin", e.Padding = "padding", e.Border = "border", e.Flex = "flex", e.Content = "content", e))(l || {});
4
+ function w(e, t) {
5
+ const r = `getComputed${t.charAt(0).toUpperCase() + t.slice(1)}`;
6
+ return {
7
+ top: e.yoga[r](p.Top),
8
+ right: e.yoga[r](p.Right),
9
+ bottom: e.yoga[r](p.Bottom),
10
+ left: e.yoga[r](p.Left)
11
+ };
12
+ }
13
+ function B(e, t) {
14
+ const { width: r, height: h } = e.computedLayout, a = w(e, "margin"), i = w(e, "border"), c = w(e, "padding"), n = t.get(
15
+ "margin"
16
+ /* Margin */
17
+ );
18
+ n.outer.x = -a.left, n.outer.y = -a.top, n.outer.width = r + a.left + a.right, n.outer.height = h + a.top + a.bottom, n.inner.x = 0, n.inner.y = 0, n.inner.width = r, n.inner.height = h;
19
+ const o = t.get(
20
+ "border"
21
+ /* Border */
22
+ );
23
+ o.outer.x = 0, o.outer.y = 0, o.outer.width = r, o.outer.height = h, o.inner.x = i.left, o.inner.y = i.top, o.inner.width = r - i.left - i.right, o.inner.height = h - i.top - i.bottom;
24
+ const s = t.get(
25
+ "padding"
26
+ /* Padding */
27
+ );
28
+ s.outer.copyFrom(o.inner), s.inner.x = c.left + i.left, s.inner.y = c.top + i.top, s.inner.width = r - c.left - c.right - i.left - i.right, s.inner.height = h - c.top - c.bottom - i.top - i.bottom, E(e, t);
29
+ }
30
+ function E(e, t) {
31
+ var r;
32
+ const h = t.get(
33
+ "flex"
34
+ /* Flex */
35
+ ), a = t.get(
36
+ "padding"
37
+ /* Padding */
38
+ );
39
+ h.outer.copyFrom(a.inner);
40
+ const i = new F(), c = e.yoga.getChildCount();
41
+ for (let o = 0; o < c; o++) {
42
+ const d = e.yoga.getChild(o).getComputedLayout();
43
+ i.addRect(
44
+ new C(d.left, d.top, d.width, d.height)
45
+ );
46
+ }
47
+ const n = e.yoga.getFlexDirection();
48
+ n === _.Column || n === _.ColumnReverse ? (i.width = h.outer.width, i.x = h.outer.x) : (i.height = h.outer.height, i.y = h.outer.y), (r = h.inner) == null || r.copyFrom(i.rectangle), t.get(
49
+ "content"
50
+ /* Content */
51
+ ).outer.copyFrom(i.rectangle);
52
+ }
53
+ var O = Object.defineProperty, A = (e, t, r) => t in e ? O(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, v = (e, t, r) => A(e, typeof t != "symbol" ? t + "" : t, r);
54
+ function P(e, t, r) {
55
+ const h = Math.round(e[0] + (t[0] - e[0]) * r), a = Math.round(e[1] + (t[1] - e[1]) * r), i = Math.round(e[2] + (t[2] - e[2]) * r);
56
+ return `rgb(${h},${a},${i})`;
57
+ }
58
+ class G extends M {
59
+ constructor() {
60
+ super(), v(this, "graphics"), v(this, "heatGraphics"), this.graphics = /* @__PURE__ */ new Map(), Object.values(l).forEach((t) => {
61
+ const r = new x();
62
+ this.graphics.set(t, r), this.addChild(r);
63
+ }), this.heatGraphics = new x(), this.addChild(this.heatGraphics);
64
+ }
65
+ /**
66
+ * Initialize the debug object with region data
67
+ */
68
+ init(t) {
69
+ const { target: r, alpha: h, heat: a } = t;
70
+ t.heatOnly || Object.entries(t).forEach(([n, o]) => {
71
+ if (n === "target" || n === "alpha" || n === "heat" || n === "heatOnly") return;
72
+ o = o;
73
+ const s = this.graphics.get(n);
74
+ if (!(!s || !o.draw))
75
+ if (o.inner)
76
+ this.drawCutBox(s, o.outer, o.inner, o.color, h);
77
+ else {
78
+ const { x: d, y: u, width: g, height: m } = o.outer;
79
+ s.rect(d, u, g, Math.max(m, 1)), s.fill({ color: o.color, alpha: h });
80
+ }
81
+ });
82
+ const { invalidationCount: i, draw: c } = a;
83
+ if (i > 0 && c) {
84
+ const o = Math.min(i / 20, 1), s = t[l.Margin], g = P([255, 255, 0], [255, 0, 0], o);
85
+ this.heatGraphics.rect(
86
+ s.outer.x,
87
+ s.outer.y,
88
+ s.outer.width,
89
+ s.outer.height
90
+ ), this.heatGraphics.fill({ color: g, alpha: Math.min(0.3, o) }), this.heatGraphics.stroke({ color: g, alpha: Math.max(0.3, o), pixelLine: !0 });
91
+ }
92
+ this.position.set(r.x, r.y);
93
+ }
94
+ /**
95
+ * Reset the debug object's state
96
+ */
97
+ reset() {
98
+ this.graphics.forEach((t) => t.clear()), this.heatGraphics.clear(), this.removeFromParent();
99
+ }
100
+ /**
101
+ * Draw a box with a cut-out center
102
+ */
103
+ drawCutBox(t, r, h, a, i) {
104
+ const { x: c, y: n, width: o, height: s } = r, { x: d, y: u, width: g, height: m } = h;
105
+ t.rect(c, n, o, s), t.fill({ color: a, alpha: i }), t.rect(d, u, g, m), t.cut();
106
+ }
107
+ }
108
+ var R = Object.defineProperty, $ = (e, t, r) => t in e ? R(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, f = (e, t, r) => $(e, typeof t != "symbol" ? t + "" : t, r);
109
+ class y {
110
+ constructor() {
111
+ f(this, "holder", new M()), f(this, "regions", /* @__PURE__ */ new Map()), f(this, "colors", {
112
+ [l.Margin]: "#B68655",
113
+ [l.Padding]: "#BAC57F",
114
+ [l.Border]: "#E7C583",
115
+ [l.Content]: "#89B1BE",
116
+ [l.Flex]: "#6E28D9"
117
+ }), f(this, "alpha", 0.75), Object.values(l).forEach((t) => {
118
+ this.regions.set(t, {
119
+ outer: new C(),
120
+ inner: new C()
121
+ });
122
+ }), this.holder.__devtoolIgnore = !0, this.holder.__devtoolIgnoreChildren = !0, this.holder.eventMode = "none", this.holder.interactiveChildren = !1;
123
+ }
124
+ /**
125
+ * Clean up previous render state
126
+ */
127
+ reset() {
128
+ for (let t = this.holder.children.length - 1; t >= 0; t--) {
129
+ const r = this.holder.children[t];
130
+ b.return(r);
131
+ }
132
+ }
133
+ /**
134
+ * Render debug visuals for the given layout
135
+ */
136
+ render(t) {
137
+ B(t, this.regions);
138
+ const r = Object.values(l).reduce(
139
+ (n, o) => {
140
+ const s = this.regions.get(o);
141
+ if (!s) return n;
142
+ const d = `debugDraw${o.charAt(0).toUpperCase()}${o.slice(1)}`;
143
+ return n[o] = {
144
+ ...s,
145
+ color: this.colors[o],
146
+ draw: t._styles.custom[d] ?? !0
147
+ }, n;
148
+ },
149
+ {}
150
+ ), { left: h, top: a } = t.computedLayout, i = t.target.getGlobalPosition(), c = b.get(G, {
151
+ ...r,
152
+ target: { x: i.x + h, y: i.y + a },
153
+ alpha: this.alpha,
154
+ heat: {
155
+ invalidationCount: t._modificationCount,
156
+ draw: t._styles.custom.debugHeat !== !1
157
+ },
158
+ heatOnly: !t._styles.custom.debug
159
+ });
160
+ this.holder.addChildAt(c, 0);
161
+ }
162
+ /**
163
+ * Clean up the debug renderer
164
+ */
165
+ destroy() {
166
+ this.reset(), this.holder.destroy(), this.regions.clear();
167
+ }
168
+ }
169
+ export {
170
+ y as DebugRenderer
171
+ };
172
+ //# sourceMappingURL=DebugRenderer-LPVGoCBJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebugRenderer-LPVGoCBJ.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":";;AAEA,IAAIA,IAAmC,kBAACC,OACtCA,EAAiB,SAAY,UAC7BA,EAAiB,UAAa,WAC9BA,EAAiB,SAAY,UAC7BA,EAAiB,OAAU,QAC3BA,EAAiB,UAAa,WACvBA,IACND,KAAmB,CAAA,CAAE;AACxB,SAASE,EAAcC,GAAQC,GAAM;AACnC,QAAMC,IAAS,cAAcD,EAAK,OAAO,CAAC,EAAE,YAAa,IAAGA,EAAK,MAAM,CAAC,CAAC;AACzE,SAAO;AAAA,IACL,KAAKD,EAAO,KAAKE,CAAM,EAAEC,EAAK,GAAG;AAAA,IACjC,OAAOH,EAAO,KAAKE,CAAM,EAAEC,EAAK,KAAK;AAAA,IACrC,QAAQH,EAAO,KAAKE,CAAM,EAAEC,EAAK,MAAM;AAAA,IACvC,MAAMH,EAAO,KAAKE,CAAM,EAAEC,EAAK,IAAI;AAAA,EACpC;AACH;AACA,SAASC,EAAiBJ,GAAQK,GAAS;AACzC,QAAM,EAAE,OAAAC,GAAO,QAAAC,EAAQ,IAAGP,EAAO,gBAC3BQ,IAAST,EAAcC,GAAQ,QAAQ,GACvCS,IAASV,EAAcC,GAAQ,QAAQ,GACvCU,IAAUX,EAAcC,GAAQ,SAAS,GACzCW,IAAeN,EAAQ;AAAA,IAC3B;AAAA;AAAA,EAED;AACD,EAAAM,EAAa,MAAM,IAAI,CAACH,EAAO,MAC/BG,EAAa,MAAM,IAAI,CAACH,EAAO,KAC/BG,EAAa,MAAM,QAAQL,IAAQE,EAAO,OAAOA,EAAO,OACxDG,EAAa,MAAM,SAASJ,IAASC,EAAO,MAAMA,EAAO,QACzDG,EAAa,MAAM,IAAI,GACvBA,EAAa,MAAM,IAAI,GACvBA,EAAa,MAAM,QAAQL,GAC3BK,EAAa,MAAM,SAASJ;AAC5B,QAAMK,IAAeP,EAAQ;AAAA,IAC3B;AAAA;AAAA,EAED;AACD,EAAAO,EAAa,MAAM,IAAI,GACvBA,EAAa,MAAM,IAAI,GACvBA,EAAa,MAAM,QAAQN,GAC3BM,EAAa,MAAM,SAASL,GAC5BK,EAAa,MAAM,IAAIH,EAAO,MAC9BG,EAAa,MAAM,IAAIH,EAAO,KAC9BG,EAAa,MAAM,QAAQN,IAAQG,EAAO,OAAOA,EAAO,OACxDG,EAAa,MAAM,SAASL,IAASE,EAAO,MAAMA,EAAO;AACzD,QAAMI,IAAgBR,EAAQ;AAAA,IAC5B;AAAA;AAAA,EAED;AACD,EAAAQ,EAAc,MAAM,SAASD,EAAa,KAAK,GAC/CC,EAAc,MAAM,IAAIH,EAAQ,OAAOD,EAAO,MAC9CI,EAAc,MAAM,IAAIH,EAAQ,MAAMD,EAAO,KAC7CI,EAAc,MAAM,QAAQP,IAAQI,EAAQ,OAAOA,EAAQ,QAAQD,EAAO,OAAOA,EAAO,OACxFI,EAAc,MAAM,SAASN,IAASG,EAAQ,MAAMA,EAAQ,SAASD,EAAO,MAAMA,EAAO,QACzFK,EAAoBd,GAAQK,CAAO;AACrC;AACA,SAASS,EAAoBd,GAAQK,GAAS;AAC5C,MAAIU;AACJ,QAAMC,IAAaX,EAAQ;AAAA,IACzB;AAAA;AAAA,EAED,GACKQ,IAAgBR,EAAQ;AAAA,IAC5B;AAAA;AAAA,EAED;AACD,EAAAW,EAAW,MAAM,SAASH,EAAc,KAAK;AAC7C,QAAMI,IAAS,IAAIC,EAAQ,GACrBC,IAAWnB,EAAO,KAAK,cAAe;AAC5C,WAASoB,IAAI,GAAGA,IAAID,GAAUC,KAAK;AAEjC,UAAMC,IADQrB,EAAO,KAAK,SAASoB,CAAC,EACP,kBAAmB;AAChD,IAAAH,EAAO;AAAA,MACL,IAAIK,EAAUD,EAAe,MAAMA,EAAe,KAAKA,EAAe,OAAOA,EAAe,MAAM;AAAA,IACnG;AAAA,EACL;AACE,QAAME,IAAUvB,EAAO,KAAK,iBAAkB;AAC9C,EAAIuB,MAAYC,EAAc,UAAUD,MAAYC,EAAc,iBAChEP,EAAO,QAAQD,EAAW,MAAM,OAChCC,EAAO,IAAID,EAAW,MAAM,MAE5BC,EAAO,SAASD,EAAW,MAAM,QACjCC,EAAO,IAAID,EAAW,MAAM,KAE7BD,IAAKC,EAAW,UAAU,QAAgBD,EAAG,SAASE,EAAO,SAAS,GACvEZ,EAAQ;AAAA,IACN;AAAA;AAAA,EAED,EAAC,MAAM,SAASY,EAAO,SAAS;AACnC;AC5FA,IAAIQ,IAAY,OAAO,gBACnBC,IAAkB,CAACC,GAAKC,GAAKC,MAAUD,KAAOD,IAAMF,EAAUE,GAAKC,GAAK,EAAE,YAAY,IAAM,cAAc,IAAM,UAAU,IAAM,OAAAC,EAAK,CAAE,IAAIF,EAAIC,CAAG,IAAIC,GACtJC,IAAgB,CAACH,GAAKC,GAAKC,MAAUH,EAAgBC,GAAK,OAAOC,KAAQ,WAAWA,IAAM,KAAKA,GAAKC,CAAK;AAG7G,SAASE,EAAUC,GAAOC,GAAKC,GAAG;AAChC,QAAMC,IAAI,KAAK,MAAMH,EAAM,CAAC,KAAKC,EAAI,CAAC,IAAID,EAAM,CAAC,KAAKE,CAAC,GACjDE,IAAI,KAAK,MAAMJ,EAAM,CAAC,KAAKC,EAAI,CAAC,IAAID,EAAM,CAAC,KAAKE,CAAC,GACjDG,IAAI,KAAK,MAAML,EAAM,CAAC,KAAKC,EAAI,CAAC,IAAID,EAAM,CAAC,KAAKE,CAAC;AACvD,SAAO,OAAOC,CAAC,IAAIC,CAAC,IAAIC,CAAC;AAC3B;AACA,MAAMC,UAAkBC,EAAU;AAAA,EAChC,cAAc;AACZ,UAAO,GAEPT,EAAc,MAAM,UAAU,GAC9BA,EAAc,MAAM,cAAc,GAClC,KAAK,WAA2B,oBAAI,IAAK,GACzC,OAAO,OAAOjC,CAAe,EAAE,QAAQ,CAACI,MAAS;AAC/C,YAAMuC,IAAW,IAAIC,EAAY;AACjC,WAAK,SAAS,IAAIxC,GAAMuC,CAAQ,GAChC,KAAK,SAASA,CAAQ;AAAA,IAC5B,CAAK,GACD,KAAK,eAAe,IAAIC,EAAY,GACpC,KAAK,SAAS,KAAK,YAAY;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAIE,KAAKpC,GAAS;AACZ,UAAM,EAAE,QAAAqC,GAAQ,OAAAC,GAAO,MAAAC,EAAM,IAAGvC;AAChC,IAAKA,EAAQ,YACX,OAAO,QAAQA,CAAO,EAAE,QAAQ,CAAC,CAACJ,GAAM4C,CAAM,MAAM;AAClD,UAAI5C,MAAS,YAAYA,MAAS,WAAWA,MAAS,UAAUA,MAAS,WAAY;AACrF,MAAA4C,IAASA;AACT,YAAML,IAAW,KAAK,SAAS,IAAIvC,CAAI;AACvC,UAAI,GAACuC,KAAY,CAACK,EAAO;AACzB,YAAIA,EAAO;AACT,eAAK,WAAWL,GAAUK,EAAO,OAAOA,EAAO,OAAOA,EAAO,OAAOF,CAAK;AAAA,aACpE;AACL,gBAAM,EAAE,GAAAG,GAAG,GAAAC,GAAG,OAAAzC,GAAO,QAAAC,EAAM,IAAKsC,EAAO;AACvC,UAAAL,EAAS,KAAKM,GAAGC,GAAGzC,GAAO,KAAK,IAAIC,GAAQ,CAAC,CAAC,GAC9CiC,EAAS,KAAK,EAAE,OAAOK,EAAO,OAAO,OAAAF,GAAO;AAAA,QACtD;AAAA,IACA,CAAO;AAEH,UAAM,EAAE,mBAAAK,GAAmB,MAAAC,EAAI,IAAKL;AACpC,QAAII,IAAoB,KAAKC,GAAM;AAEjC,YAAMC,IAAkB,KAAK,IAAIF,IAAoB,IAAsB,CAAC,GACtErC,IAAeN,EAAQR,EAAgB,MAAM,GAG7CsD,IAAQpB,EAFK,CAAC,KAAK,KAAK,CAAC,GACd,CAAC,KAAK,GAAG,CAAC,GACmBmB,CAAe;AAC7D,WAAK,aAAa;AAAA,QAChBvC,EAAa,MAAM;AAAA,QACnBA,EAAa,MAAM;AAAA,QACnBA,EAAa,MAAM;AAAA,QACnBA,EAAa,MAAM;AAAA,MACpB,GACD,KAAK,aAAa,KAAK,EAAE,OAAAwC,GAAO,OAAO,KAAK,IAAI,KAAKD,CAAe,GAAG,GACvE,KAAK,aAAa,OAAO,EAAE,OAAAC,GAAO,OAAO,KAAK,IAAI,KAAKD,CAAe,GAAG,WAAW,GAAI,CAAE;AAAA,IAChG;AACI,SAAK,SAAS,IAAIR,EAAO,GAAGA,EAAO,CAAC;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA,EAIE,QAAQ;AACN,SAAK,SAAS,QAAQ,CAACF,MAAaA,EAAS,OAAO,GACpD,KAAK,aAAa,MAAO,GACzB,KAAK,iBAAkB;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA,EAIE,WAAWA,GAAUY,GAAOC,GAAOF,GAAOR,GAAO;AAC/C,UAAM,EAAE,GAAAG,GAAG,GAAAC,GAAG,OAAAzC,GAAO,QAAAC,EAAQ,IAAG6C,GAC1B,EAAE,GAAGE,GAAQ,GAAGC,GAAQ,OAAOC,GAAY,QAAQC,EAAW,IAAKJ;AACzE,IAAAb,EAAS,KAAKM,GAAGC,GAAGzC,GAAOC,CAAM,GACjCiC,EAAS,KAAK,EAAE,OAAAW,GAAO,OAAAR,EAAK,CAAE,GAC9BH,EAAS,KAAKc,GAAQC,GAAQC,GAAYC,CAAW,GACrDjB,EAAS,IAAK;AAAA,EAClB;AACA;ACpFA,IAAIf,IAAY,OAAO,gBACnBC,IAAkB,CAACC,GAAKC,GAAKC,MAAUD,KAAOD,IAAMF,EAAUE,GAAKC,GAAK,EAAE,YAAY,IAAM,cAAc,IAAM,UAAU,IAAM,OAAAC,EAAK,CAAE,IAAIF,EAAIC,CAAG,IAAIC,GACtJC,IAAgB,CAACH,GAAKC,GAAKC,MAAUH,EAAgBC,GAAK,OAAOC,KAAQ,WAAWA,IAAM,KAAKA,GAAKC,CAAK;AAI7G,MAAM6B,EAAc;AAAA,EAClB,cAAc;AAEZ,IAAA5B,EAAc,MAAM,UAAU,IAAIS,EAAS,CAAE,GAE7CT,EAAc,MAAM,WAA2B,oBAAI,IAAG,CAAE,GAExDA,EAAc,MAAM,UAAU;AAAA,MAC5B,CAACjC,EAAgB,MAAM,GAAG;AAAA,MAC1B,CAACA,EAAgB,OAAO,GAAG;AAAA,MAC3B,CAACA,EAAgB,MAAM,GAAG;AAAA,MAC1B,CAACA,EAAgB,OAAO,GAAG;AAAA,MAC3B,CAACA,EAAgB,IAAI,GAAG;AAAA,IAC9B,CAAK,GAEDiC,EAAc,MAAM,SAAS,IAAI,GACjC,OAAO,OAAOjC,CAAe,EAAE,QAAQ,CAACI,MAAS;AAC/C,WAAK,QAAQ,IAAIA,GAAM;AAAA,QACrB,OAAO,IAAIqB,EAAW;AAAA,QACtB,OAAO,IAAIA,EAAS;AAAA,MAC5B,CAAO;AAAA,IACP,CAAK,GACD,KAAK,OAAO,kBAAkB,IAC9B,KAAK,OAAO,0BAA0B,IACtC,KAAK,OAAO,YAAY,QACxB,KAAK,OAAO,sBAAsB;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA,EAIE,QAAQ;AACN,aAASF,IAAI,KAAK,OAAO,SAAS,SAAS,GAAGA,KAAK,GAAGA,KAAK;AACzD,YAAMuC,IAAQ,KAAK,OAAO,SAASvC,CAAC;AACpC,MAAAwC,EAAQ,OAAOD,CAAK;AAAA,IAC1B;AAAA,EACA;AAAA;AAAA;AAAA;AAAA,EAIE,OAAO3D,GAAQ;AACb,IAAAI,EAAiBJ,GAAQ,KAAK,OAAO;AACrC,UAAM6D,IAAa,OAAO,OAAOhE,CAAe,EAAE;AAAA,MAChD,CAACiE,GAAK7D,MAAS;AACb,cAAM4C,IAAS,KAAK,QAAQ,IAAI5C,CAAI;AACpC,YAAI,CAAC4C,EAAQ,QAAOiB;AACpB,cAAMC,IAAa,YAAY9D,EAAK,OAAO,CAAC,EAAE,YAAW,CAAE,GAAGA,EAAK,MAAM,CAAC,CAAC;AAC3E,eAAA6D,EAAI7D,CAAI,IAAI;AAAA,UACV,GAAG4C;AAAA,UACH,OAAO,KAAK,OAAO5C,CAAI;AAAA,UACvB,MAAMD,EAAO,QAAQ,OAAO+D,CAAU,KAAK;AAAA,QAC5C,GACMD;AAAA,MACR;AAAA,MACD,CAAA;AAAA,IACD,GACK,EAAE,MAAAE,GAAM,KAAAC,EAAK,IAAGjE,EAAO,gBACvBkE,IAAMlE,EAAO,OAAO,kBAAmB,GACvCmE,IAAcP,EAAQ,IAAItB,GAAW;AAAA,MACzC,GAAGuB;AAAA,MACH,QAAQ,EAAE,GAAGK,EAAI,IAAIF,GAAM,GAAGE,EAAI,IAAID,EAAK;AAAA,MAC3C,OAAO,KAAK;AAAA,MACZ,MAAM;AAAA,QACJ,mBAAmBjE,EAAO;AAAA,QAC1B,MAAMA,EAAO,QAAQ,OAAO,cAAc;AAAA,MAC3C;AAAA,MACD,UAAU,CAACA,EAAO,QAAQ,OAAO;AAAA,IACvC,CAAK;AACD,SAAK,OAAO,WAAWmE,GAAa,CAAC;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA,EAIE,UAAU;AACR,SAAK,MAAO,GACZ,KAAK,OAAO,QAAS,GACrB,KAAK,QAAQ,MAAO;AAAA,EACxB;AACA;","x_google_ignoreList":[0,1,2]}
@@ -0,0 +1,18 @@
1
+ import { Props } from '../engine/reactive';
2
+ import { ComponentFunction } from '../engine/signal';
3
+ import { SignalOrPrimitive } from './types';
4
+ import { Size } from './types/DisplayObject';
5
+
6
+ export interface CanvasProps extends Props {
7
+ cursorStyles?: () => any;
8
+ width?: SignalOrPrimitive<Size>;
9
+ height?: SignalOrPrimitive<Size>;
10
+ canvasEl?: HTMLElement;
11
+ selector?: string;
12
+ isRoot?: boolean;
13
+ tick?: any;
14
+ class?: SignalOrPrimitive<string>;
15
+ background?: string;
16
+ }
17
+ export declare const Canvas: ComponentFunction<CanvasProps>;
18
+ //# sourceMappingURL=Canvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Canvas.d.ts","sourceRoot":"","sources":["../../src/components/Canvas.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EAIN,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAe7C,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC;IACzB,KAAK,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,MAAM,EAAE,iBAAiB,CAAC,WAAW,CAsGjD,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { ComponentFunction } from '../engine/signal';
2
+ import { DisplayObjectProps } from './types/DisplayObject';
3
+
4
+ interface ContainerProps extends DisplayObjectProps {
5
+ sortableChildren?: boolean;
6
+ }
7
+ declare const CanvasContainer_base: {
8
+ new (): {
9
+ [x: string]: any;
10
+ "__#1@#canvasContext": {
11
+ [key: string]: any;
12
+ } | null;
13
+ isFlex: boolean;
14
+ fullProps: import('..').Props;
15
+ isMounted: boolean;
16
+ _anchorPoints: import('pixi.js').ObservablePoint;
17
+ isCustomAnchor: boolean;
18
+ displayWidth: import('@signe/reactive').WritableSignal<number>;
19
+ displayHeight: import('@signe/reactive').WritableSignal<number>;
20
+ overrideProps: string[];
21
+ layout: any;
22
+ onBeforeDestroy: import('./DisplayObject').OnHook | null;
23
+ onAfterMount: import('./DisplayObject').OnHook | null;
24
+ subjectInit: import('rxjs').BehaviorSubject<any>;
25
+ disableLayout: boolean;
26
+ readonly deltaRatio: any;
27
+ readonly parentIsFlex: any;
28
+ onInit(props: import('..').Props): void;
29
+ onMount({ parent, props }: import('..').Element</*elided*/ any>, index?: number): Promise<void>;
30
+ onUpdate(props: import('..').Props): void;
31
+ onDestroy(parent: import('..').Element, afterDestroy?: () => void): Promise<void>;
32
+ setFlexDirection(direction: import('./types/DisplayObject').FlexDirection): void;
33
+ setFlexWrap(wrap: "wrap" | "nowrap" | "wrap-reverse"): void;
34
+ setAlignContent(align: import('./types/DisplayObject').AlignContent): void;
35
+ setAlignSelf(align: import('./types/DisplayObject').AlignContent): void;
36
+ setAlignItems(align: import('./types/DisplayObject').AlignContent): void;
37
+ setJustifyContent(justifyContent: "flex-start" | "flex-end" | "center" | "space-between" | "space-around"): void;
38
+ setPosition(position: import('./types/DisplayObject').EdgeSize): void;
39
+ setX(x: number): void;
40
+ setY(y: number): void;
41
+ setPadding(padding: import('./types/DisplayObject').EdgeSize): void;
42
+ setMargin(margin: import('./types/DisplayObject').EdgeSize): void;
43
+ setGap(gap: import('./types/DisplayObject').EdgeSize): void;
44
+ setBorder(border: import('./types/DisplayObject').EdgeSize): void;
45
+ setPositionType(positionType: "relative" | "absolute"): void;
46
+ setWidth(width: number): void;
47
+ setHeight(height: number): void;
48
+ getWidth(): number;
49
+ getHeight(): number;
50
+ setMinWidth(minWidth: number | string): void;
51
+ setMinHeight(minHeight: number | string): void;
52
+ setMaxWidth(maxWidth: number | string): void;
53
+ setMaxHeight(maxHeight: number | string): void;
54
+ setAspectRatio(aspectRatio: number): void;
55
+ setFlexGrow(flexGrow: number): void;
56
+ setFlexShrink(flexShrink: number): void;
57
+ setFlexBasis(flexBasis: number | string): void;
58
+ setRowGap(rowGap: number): void;
59
+ setColumnGap(columnGap: number): void;
60
+ setTop(top: number | string): void;
61
+ setLeft(left: number | string): void;
62
+ setRight(right: number | string): void;
63
+ setBottom(bottom: number | string): void;
64
+ setObjectFit(objectFit: import('./types/DisplayObject').ObjectFit): void;
65
+ setObjectPosition(objectPosition: import('./types/DisplayObject').ObjectPosition): void;
66
+ setTransformOrigin(transformOrigin: import('./types/DisplayObject').TransformOrigin): void;
67
+ };
68
+ [x: string]: any;
69
+ };
70
+ export declare class CanvasContainer extends CanvasContainer_base {
71
+ isCustomAnchor: boolean;
72
+ onUpdate(props: any): void;
73
+ onMount(args: any): Promise<void>;
74
+ }
75
+ export interface CanvasContainer extends DisplayObjectProps {
76
+ }
77
+ export declare const Container: ComponentFunction<ContainerProps>;
78
+ export {};
79
+ //# sourceMappingURL=Container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/components/Container.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,UAAU,cAAe,SAAQ,kBAAkB;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,eAAgB,SAAQ,oBAA4B;IAC/D,cAAc,UAAQ;IAEtB,QAAQ,CAAC,KAAK,KAAA;IAaR,OAAO,CAAC,IAAI,KAAA;CAUnB;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;CAAG;AAI9D,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAEvD,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { Element } from '../engine/reactive';
2
+ import { ComponentFunction } from '../engine/signal';
3
+ import { DisplayObjectProps } from './types/DisplayObject';
4
+
5
+ declare const CanvasDOMContainer_base: {
6
+ new (): {
7
+ [x: string]: any;
8
+ "__#1@#canvasContext": {
9
+ [key: string]: any;
10
+ } | null;
11
+ isFlex: boolean;
12
+ fullProps: import('..').Props;
13
+ isMounted: boolean;
14
+ _anchorPoints: import('pixi.js').ObservablePoint;
15
+ isCustomAnchor: boolean;
16
+ displayWidth: import('@signe/reactive').WritableSignal<number>;
17
+ displayHeight: import('@signe/reactive').WritableSignal<number>;
18
+ overrideProps: string[];
19
+ layout: any;
20
+ onBeforeDestroy: import('./DisplayObject').OnHook | null;
21
+ onAfterMount: import('./DisplayObject').OnHook | null;
22
+ subjectInit: import('rxjs').BehaviorSubject<any>;
23
+ disableLayout: boolean;
24
+ readonly deltaRatio: any;
25
+ readonly parentIsFlex: any;
26
+ onInit(props: import('..').Props): void;
27
+ onMount({ parent, props }: Element</*elided*/ any>, index?: number): Promise<void>;
28
+ onUpdate(props: import('..').Props): void;
29
+ onDestroy(parent: Element, afterDestroy?: () => void): Promise<void>;
30
+ setFlexDirection(direction: import('./types/DisplayObject').FlexDirection): void;
31
+ setFlexWrap(wrap: "wrap" | "nowrap" | "wrap-reverse"): void;
32
+ setAlignContent(align: import('./types/DisplayObject').AlignContent): void;
33
+ setAlignSelf(align: import('./types/DisplayObject').AlignContent): void;
34
+ setAlignItems(align: import('./types/DisplayObject').AlignContent): void;
35
+ setJustifyContent(justifyContent: "flex-start" | "flex-end" | "center" | "space-between" | "space-around"): void;
36
+ setPosition(position: import('./types/DisplayObject').EdgeSize): void;
37
+ setX(x: number): void;
38
+ setY(y: number): void;
39
+ setPadding(padding: import('./types/DisplayObject').EdgeSize): void;
40
+ setMargin(margin: import('./types/DisplayObject').EdgeSize): void;
41
+ setGap(gap: import('./types/DisplayObject').EdgeSize): void;
42
+ setBorder(border: import('./types/DisplayObject').EdgeSize): void;
43
+ setPositionType(positionType: "relative" | "absolute"): void;
44
+ setWidth(width: number): void;
45
+ setHeight(height: number): void;
46
+ getWidth(): number;
47
+ getHeight(): number;
48
+ setMinWidth(minWidth: number | string): void;
49
+ setMinHeight(minHeight: number | string): void;
50
+ setMaxWidth(maxWidth: number | string): void;
51
+ setMaxHeight(maxHeight: number | string): void;
52
+ setAspectRatio(aspectRatio: number): void;
53
+ setFlexGrow(flexGrow: number): void;
54
+ setFlexShrink(flexShrink: number): void;
55
+ setFlexBasis(flexBasis: number | string): void;
56
+ setRowGap(rowGap: number): void;
57
+ setColumnGap(columnGap: number): void;
58
+ setTop(top: number | string): void;
59
+ setLeft(left: number | string): void;
60
+ setRight(right: number | string): void;
61
+ setBottom(bottom: number | string): void;
62
+ setObjectFit(objectFit: import('./types/DisplayObject').ObjectFit): void;
63
+ setObjectPosition(objectPosition: import('./types/DisplayObject').ObjectPosition): void;
64
+ setTransformOrigin(transformOrigin: import('./types/DisplayObject').TransformOrigin): void;
65
+ };
66
+ [x: string]: any;
67
+ };
68
+ export declare class CanvasDOMContainer extends CanvasDOMContainer_base {
69
+ disableLayout: boolean;
70
+ onInit(props: any): void;
71
+ }
72
+ export interface CanvasDOMContainer extends DisplayObjectProps {
73
+ }
74
+ export declare const DOMContainer: ComponentFunction<any>;
75
+ export {};
76
+ //# sourceMappingURL=DOMContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DOMContainer.d.ts","sourceRoot":"","sources":["../../src/components/DOMContainer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,OAAO,EAER,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAK,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmG3D,qBAAa,kBAAmB,SAAQ,uBAA+B;IACrE,aAAa,UAAQ;IAErB,MAAM,CAAC,KAAK,EAAE,GAAG;CAIlB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;CAAG;AAIjE,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAE/C,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { Element } from '../engine/reactive';
2
+ import { OnHook } from './DisplayObject';
3
+ import { ComponentFunction } from '../engine/signal';
4
+ import { DisplayObjectProps } from './types/DisplayObject';
5
+
6
+ interface DOMContainerProps extends DisplayObjectProps {
7
+ element: string | {
8
+ value: HTMLElement;
9
+ };
10
+ textContent?: string;
11
+ attrs?: Record<string, any> & {
12
+ class?: string | string[] | Record<string, boolean> | {
13
+ items?: string[];
14
+ } | {
15
+ value?: string | string[] | Record<string, boolean>;
16
+ };
17
+ style?: string | Record<string, string | number> | {
18
+ value?: string | Record<string, string | number>;
19
+ };
20
+ };
21
+ onBeforeDestroy?: OnHook;
22
+ }
23
+ export declare class CanvasDOMElement {
24
+ element: HTMLElement;
25
+ private eventListeners;
26
+ private onBeforeDestroy;
27
+ private valueSignal;
28
+ private isFormElementType;
29
+ /**
30
+ * Checks if the element is a form element that supports the value attribute
31
+ * @param elementType - The element type string from props
32
+ * @returns true if the element is a form element with value support
33
+ */
34
+ private isFormElement;
35
+ onInit(props: DOMContainerProps): void;
36
+ onMount(context: Element<CanvasDOMElement>): void;
37
+ onUpdate(props: DOMContainerProps): void;
38
+ onDestroy(parent: Element<CanvasDOMElement>, afterDestroy: () => void): Promise<void>;
39
+ }
40
+ export interface CanvasDOMElement extends DisplayObjectProps {
41
+ }
42
+ export declare const DOMElement: ComponentFunction<DOMContainerProps>;
43
+ export {};
44
+ //# sourceMappingURL=DOMElement.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,81 @@
1
+ import { Element, Props } from '../engine/reactive';
2
+ import { AlignContent, EdgeSize, FlexDirection, ObjectFit, ObjectPosition, TransformOrigin } from './types/DisplayObject';
3
+ import { ObservablePoint } from 'pixi.js';
4
+ import { BehaviorSubject } from 'rxjs';
5
+
6
+ export interface ComponentInstance extends PixiMixins.ContainerOptions {
7
+ id?: string;
8
+ children?: ComponentInstance[];
9
+ onInit?(props: Props): void;
10
+ onUpdate?(props: Props): void;
11
+ onDestroy?(parent: Element, afterDestroy: () => void): void;
12
+ onMount?(context: Element, index?: number): void;
13
+ setWidth(width: number): void;
14
+ setHeight(height: number): void;
15
+ }
16
+ export declare const EVENTS: string[];
17
+ export type OnHook = (() => void) | (() => Promise<void> | void);
18
+ export declare function DisplayObject(extendClass: any): {
19
+ new (): {
20
+ [x: string]: any;
21
+ "__#1@#canvasContext": {
22
+ [key: string]: any;
23
+ } | null;
24
+ isFlex: boolean;
25
+ fullProps: Props;
26
+ isMounted: boolean;
27
+ _anchorPoints: ObservablePoint;
28
+ isCustomAnchor: boolean;
29
+ displayWidth: import('@signe/reactive').WritableSignal<number>;
30
+ displayHeight: import('@signe/reactive').WritableSignal<number>;
31
+ overrideProps: string[];
32
+ layout: any;
33
+ onBeforeDestroy: OnHook | null;
34
+ onAfterMount: OnHook | null;
35
+ subjectInit: BehaviorSubject<any>;
36
+ disableLayout: boolean;
37
+ readonly deltaRatio: any;
38
+ readonly parentIsFlex: any;
39
+ onInit(props: Props): void;
40
+ onMount({ parent, props }: Element</*elided*/ any>, index?: number): Promise<void>;
41
+ onUpdate(props: Props): void;
42
+ onDestroy(parent: Element, afterDestroy?: () => void): Promise<void>;
43
+ setFlexDirection(direction: FlexDirection): void;
44
+ setFlexWrap(wrap: "wrap" | "nowrap" | "wrap-reverse"): void;
45
+ setAlignContent(align: AlignContent): void;
46
+ setAlignSelf(align: AlignContent): void;
47
+ setAlignItems(align: AlignContent): void;
48
+ setJustifyContent(justifyContent: "flex-start" | "flex-end" | "center" | "space-between" | "space-around"): void;
49
+ setPosition(position: EdgeSize): void;
50
+ setX(x: number): void;
51
+ setY(y: number): void;
52
+ setPadding(padding: EdgeSize): void;
53
+ setMargin(margin: EdgeSize): void;
54
+ setGap(gap: EdgeSize): void;
55
+ setBorder(border: EdgeSize): void;
56
+ setPositionType(positionType: "relative" | "absolute"): void;
57
+ setWidth(width: number): void;
58
+ setHeight(height: number): void;
59
+ getWidth(): number;
60
+ getHeight(): number;
61
+ setMinWidth(minWidth: number | string): void;
62
+ setMinHeight(minHeight: number | string): void;
63
+ setMaxWidth(maxWidth: number | string): void;
64
+ setMaxHeight(maxHeight: number | string): void;
65
+ setAspectRatio(aspectRatio: number): void;
66
+ setFlexGrow(flexGrow: number): void;
67
+ setFlexShrink(flexShrink: number): void;
68
+ setFlexBasis(flexBasis: number | string): void;
69
+ setRowGap(rowGap: number): void;
70
+ setColumnGap(columnGap: number): void;
71
+ setTop(top: number | string): void;
72
+ setLeft(left: number | string): void;
73
+ setRight(right: number | string): void;
74
+ setBottom(bottom: number | string): void;
75
+ setObjectFit(objectFit: ObjectFit): void;
76
+ setObjectPosition(objectPosition: ObjectPosition): void;
77
+ setTransformOrigin(transformOrigin: TransformOrigin): void;
78
+ };
79
+ [x: string]: any;
80
+ };
81
+ //# sourceMappingURL=DisplayObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisplayObject.d.ts","sourceRoot":"","sources":["../../src/components/DisplayObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAa,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,SAAS,EACT,cAAc,EACd,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAc,eAAe,EAAE,MAAM,SAAS,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAmB,MAAM,MAAM,CAAC;AAExD,MAAM,WAAW,iBAAkB,SAAQ,UAAU,CAAC,gBAAgB;IACpE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC5D,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,eAAO,MAAM,MAAM,UAqElB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAEjE,wBAAgB,aAAa,CAAC,WAAW,KAAA;;;+BAErB;YACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;SACpB,GAAG,IAAI;gBACA,OAAO;mBACJ,KAAK;mBACL,OAAO;;wBAEF,OAAO;;;uBAGR,MAAM,EAAE;;yBAEN,MAAM,GAAG,IAAI;sBAChB,MAAM,GAAG,IAAI;;uBAEZ,OAAO;;;sBAWR,KAAK;mCAgCc,OAAO,gBAAe,UAAU,MAAM;wBAwBvD,KAAK;0BAoGG,OAAO,iBAAiB,MAAM,IAAI;oCAQ9B,aAAa;0BAIvB,MAAM,GAAG,QAAQ,GAAG,cAAc;+BAI7B,YAAY;4BAIf,YAAY;6BAIX,YAAY;0CAM3B,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,eAAe,GACf,cAAc;8BAKE,QAAQ;gBAoBtB,MAAM;gBAUN,MAAM;4BAUM,QAAQ;0BAoBV,QAAQ;oBAoBd,QAAQ;0BAIF,QAAQ;sCAoBI,UAAU,GAAG,UAAU;wBAIrC,MAAM;0BASJ,MAAM;;;8BAkBF,MAAM,GAAG,MAAM;gCAIb,MAAM,GAAG,MAAM;8BAIjB,MAAM,GAAG,MAAM;gCAIb,MAAM,GAAG,MAAM;oCAKX,MAAM;8BAKZ,MAAM;kCAIF,MAAM;gCAIR,MAAM,GAAG,MAAM;0BAKrB,MAAM;gCAIA,MAAM;oBAKlB,MAAM,GAAG,MAAM;sBAIb,MAAM,GAAG,MAAM;wBAIb,MAAM,GAAG,MAAM;0BAIb,MAAM,GAAG,MAAM;gCAKT,SAAS;0CAIC,cAAc;4CAIZ,eAAe;;;EAItD"}
@@ -0,0 +1,65 @@
1
+ import { Graphics as PixiGraphics } from 'pixi.js';
2
+ import { Element } from '../engine/reactive';
3
+ import { ComponentInstance } from './DisplayObject';
4
+ import { DisplayObjectProps } from './types/DisplayObject';
5
+ import { SignalOrPrimitive } from './types';
6
+
7
+ interface GraphicsProps extends DisplayObjectProps {
8
+ draw?: (graphics: PixiGraphics, width: number, height: number) => void;
9
+ }
10
+ interface RectProps extends DisplayObjectProps {
11
+ color: SignalOrPrimitive<string>;
12
+ }
13
+ interface CircleProps extends DisplayObjectProps {
14
+ radius: SignalOrPrimitive<number>;
15
+ color: SignalOrPrimitive<string>;
16
+ }
17
+ interface EllipseProps extends DisplayObjectProps {
18
+ color: SignalOrPrimitive<string>;
19
+ }
20
+ interface TriangleProps extends DisplayObjectProps {
21
+ base: SignalOrPrimitive<number>;
22
+ color: SignalOrPrimitive<string>;
23
+ }
24
+ interface SvgProps extends DisplayObjectProps {
25
+ /** SVG content as string (legacy prop) */
26
+ svg?: string;
27
+ /** URL source of the SVG file to load */
28
+ src?: string;
29
+ /** Direct SVG content as string */
30
+ content?: string;
31
+ }
32
+ export declare function Graphics(props: GraphicsProps): Element<ComponentInstance>;
33
+ export declare function Rect(props: RectProps): Element<ComponentInstance>;
34
+ export declare function Circle(props: CircleProps): Element<ComponentInstance>;
35
+ export declare function Ellipse(props: EllipseProps): Element<ComponentInstance>;
36
+ export declare function Triangle(props: TriangleProps): Element<ComponentInstance>;
37
+ /**
38
+ * Creates an SVG component that can render SVG graphics from URL, content, or legacy svg prop.
39
+ *
40
+ * This component provides three ways to display SVG graphics:
41
+ * - **src**: Load SVG from a URL using Assets.load with parseAsGraphicsContext option
42
+ * - **content**: Render SVG directly from string content using Graphics.svg() method
43
+ * - **svg**: Legacy prop for SVG content (for backward compatibility)
44
+ *
45
+ * @param props - Component properties including src, content, or svg
46
+ * @returns A reactive SVG component
47
+ * @example
48
+ * ```typescript
49
+ * // Load from URL
50
+ * const svgFromUrl = Svg({ src: "/assets/logo.svg" });
51
+ *
52
+ * // Direct content
53
+ * const svgFromContent = Svg({
54
+ * content: `<svg viewBox="0 0 100 100">
55
+ * <circle cx="50" cy="50" r="40" fill="blue"/>
56
+ * </svg>`
57
+ * });
58
+ *
59
+ * // Legacy usage
60
+ * const svgLegacy = Svg({ svg: "<svg>...</svg>" });
61
+ * ```
62
+ */
63
+ export declare function Svg(props: SvgProps): Element<ComponentInstance>;
64
+ export {};
65
+ //# sourceMappingURL=Graphic.d.ts.map
@@ -0,0 +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;AAkJD,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,8BAQ1C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,8BAkB5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,8BAyBlC"}