react-two.js 0.8.22 → 0.8.23

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.
@@ -1,29 +1,34 @@
1
- import { jsx as A, Fragment as L } from "react/jsx-runtime";
2
- import k, { createContext as M, useContext as D, useRef as z, useEffect as w, useState as F, useCallback as U, useMemo as _, useImperativeHandle as N, useLayoutEffect as Q } from "react";
3
- import I from "two.js";
4
- const X = M({
1
+ import { jsx as E, Fragment as T } from "react/jsx-runtime";
2
+ import k, { createContext as Z, useContext as X, useRef as A, useEffect as h, useState as $, useCallback as oe, useMemo as g, useImperativeHandle as R } from "react";
3
+ import H from "two.js";
4
+ const ee = Z({
5
5
  two: null,
6
- parent: null,
7
- width: 0,
8
- height: 0,
9
6
  registerEventShape: () => {
10
7
  },
11
8
  unregisterEventShape: () => {
12
9
  }
13
- }), q = () => D(X), se = (t, n = []) => {
14
- const { two: s } = q(), d = z(t);
15
- w(() => {
16
- d.current = t;
17
- }, [t, ...n]), w(() => {
18
- if (!s)
10
+ }), J = Z({
11
+ parent: null
12
+ }), Q = Z({
13
+ width: 0,
14
+ height: 0
15
+ }), ce = ee, C = () => {
16
+ const n = X(ee), s = X(J), r = X(Q);
17
+ return { ...n, ...s, ...r };
18
+ }, ve = (n, s = []) => {
19
+ const { two: r } = C(), l = A(n);
20
+ h(() => {
21
+ l.current = n;
22
+ }, [n, ...s]), h(() => {
23
+ if (!r)
19
24
  return;
20
- let f = 0;
21
- return s.bind("update", l), () => s.unbind("update", l);
22
- function l(a, m) {
23
- f += m / 1e3, d.current?.(f, m);
25
+ let t = 0;
26
+ return r.bind("update", u), () => r.unbind("update", u);
27
+ function u(a, e) {
28
+ t += e / 1e3, l.current?.(t, e);
24
29
  }
25
- }, [s, ...n]);
26
- }, J = [
30
+ }, [r, ...s]);
31
+ }, O = [
27
32
  "onClick",
28
33
  "onContextMenu",
29
34
  "onDoubleClick",
@@ -37,1183 +42,913 @@ const X = M({
37
42
  "onPointerMove",
38
43
  "onPointerCancel"
39
44
  ];
40
- function O(t, n, s) {
41
- const d = n.getBoundingClientRect(), f = t.clientX - d.left - s.width / 2, l = t.clientY - d.top - s.height / 2;
42
- return { x: f, y: l };
45
+ function ie(n, s, r) {
46
+ const l = s.getBoundingClientRect(), t = n.clientX - l.left - r.width / 2, u = n.clientY - l.top - r.height / 2;
47
+ return { x: t, y: u };
43
48
  }
44
- function B(t, n) {
45
- const s = n.getBoundingClientRect(), d = t.clientX - s.left, f = t.clientY - s.top;
46
- return { x: d, y: f };
49
+ function U(n, s) {
50
+ const r = s.getBoundingClientRect(), l = n.clientX - r.left, t = n.clientY - r.top;
51
+ return { x: l, y: t };
47
52
  }
48
- function W(t, n, s, d) {
49
- let f = !1;
53
+ function se(n, s, r, l) {
54
+ let t = !1;
50
55
  return {
51
- nativeEvent: t,
52
- target: n,
53
- currentTarget: s,
54
- point: d,
56
+ nativeEvent: n,
57
+ target: s,
58
+ currentTarget: r,
59
+ point: l,
55
60
  stopPropagation: () => {
56
- f = !0;
61
+ t = !0;
57
62
  },
58
63
  get stopped() {
59
- return f;
64
+ return t;
60
65
  }
61
66
  };
62
67
  }
63
- function C(t, n, s) {
64
- return "visible" in t && !t.visible ? !1 : typeof t.contains == "function" ? t.contains(n, s) : !1;
68
+ function ae(n, s, r) {
69
+ return "visible" in n && !n.visible ? !1 : typeof n.contains == "function" ? n.contains(s, r) : !1;
65
70
  }
66
- function $(t, n, s) {
67
- const d = [];
68
- for (const [f] of t)
69
- C(f, n, s) && d.push(f);
70
- return d;
71
+ function q(n, s, r) {
72
+ const l = [];
73
+ for (const [t] of n)
74
+ ae(t, s, r) && l.push(t);
75
+ return l;
71
76
  }
72
- function P(t, n) {
73
- const s = [t], d = n.get(t);
74
- if (d?.parent) {
75
- let f = d.parent;
76
- for (; f; )
77
- s.push(f), f = n.get(f)?.parent;
77
+ function le(n, s) {
78
+ const r = [n], l = s.get(n);
79
+ if (l?.parent) {
80
+ let t = l.parent;
81
+ for (; t; )
82
+ r.push(t), t = s.get(t)?.parent;
78
83
  }
79
- return s;
84
+ return r;
80
85
  }
81
- function K(t) {
82
- process.env.NODE_ENV !== "production" && k.Children.forEach(t, (n) => {
83
- if (!k.isValidElement(n))
86
+ function Y(n) {
87
+ process.env.NODE_ENV !== "production" && k.Children.forEach(n, (s) => {
88
+ if (!k.isValidElement(s))
84
89
  return;
85
- const s = n.type;
86
- if (typeof s == "string") {
90
+ const r = s.type;
91
+ if (typeof r == "string") {
87
92
  console.warn(
88
- `[react-two.js] <${s}> is not compatible with Canvas.
93
+ `[react-two.js] <${r}> is not compatible with Canvas.
89
94
  Only react-two.js components (Circle, Rectangle, Group, etc.) can be used inside <Canvas>.
90
95
  Place DOM elements outside of the Canvas component.
91
96
  See: https://github.com/jonobr1/react-two.js#usage`
92
97
  );
93
98
  return;
94
99
  }
95
- if (s === k.Fragment) {
96
- K(n.props.children);
100
+ if (r === k.Fragment) {
101
+ Y(
102
+ s.props.children
103
+ );
97
104
  return;
98
105
  }
99
- typeof s == "function" && n.props.children && K(n.props.children);
106
+ typeof r == "function" && s.props.children && Y(
107
+ s.props.children
108
+ );
100
109
  });
101
110
  }
102
- const fe = (t) => {
103
- const { two: n, parent: s } = q(), d = z(null), f = z(/* @__PURE__ */ new Map()), l = z(/* @__PURE__ */ new Set()), a = z(null), [m, i] = F({
104
- two: n,
105
- parent: s,
106
- width: 0,
107
- height: 0,
108
- registerEventShape: () => {
109
- },
110
- unregisterEventShape: () => {
111
- }
112
- }), o = U(
113
- (e, u, c) => {
114
- f.current.set(e, { shape: e, handlers: u, parent: c });
111
+ const pe = (n) => {
112
+ const { two: s, parent: r } = C(), l = A(null), t = A(/* @__PURE__ */ new Map()), u = A(/* @__PURE__ */ new Set()), a = A(null), [e, o] = $(s), [c, i] = $(r), [d, f] = $(0), [v, p] = $(0), j = oe(
113
+ (m, S, b) => {
114
+ t.current.set(m, { shape: m, handlers: S, parent: b });
115
115
  },
116
116
  []
117
- ), g = U((e) => {
118
- f.current.delete(e), l.current.delete(e), a.current === e && (a.current = null);
117
+ ), M = oe((m) => {
118
+ t.current.delete(m), u.current.delete(m), a.current === m && (a.current = null);
119
119
  }, []);
120
- w(S, [t]);
121
- function S() {
122
- let e = () => {
123
- };
124
- if (!n) {
125
- let c = function() {
126
- const H = b.width !== j, h = !1;
127
- H && (j = b.width), (H || h) && i((v) => ({ ...v, width: j, height: T }));
128
- };
129
- const E = { ...t };
130
- delete E.children, delete E.onPointerMissed;
131
- const b = new I(E).appendTo(d.current);
132
- let j = b.width, T = b.height;
133
- i((H) => ({
134
- ...H,
135
- two: b,
136
- parent: b.scene,
137
- width: j,
138
- height: T,
139
- registerEventShape: o,
140
- unregisterEventShape: g
141
- })), b.bind("update", c), e = () => {
120
+ h(() => {
121
+ if (!s) {
122
+ const S = { ...n };
123
+ delete S.children;
124
+ const b = new H(S).appendTo(l.current);
125
+ return o(b), i(b.scene), f(b.width), p(b.height), () => {
142
126
  b.renderer.domElement.parentElement?.removeChild(
143
127
  b.renderer.domElement
144
- ), b.unbind("update", c);
145
- const H = I.Instances.indexOf(b);
146
- I.Instances.splice(H, 1), b.pause();
128
+ ), b.pause(), b.unbind(), b.release();
129
+ const I = H.Instances.indexOf(b);
130
+ I >= 0 && H.Instances.splice(I, 1), b.clear();
147
131
  };
148
132
  }
149
- return e;
150
- }
151
- return w(() => {
152
- process.env.NODE_ENV !== "production" && K(t.children);
153
- }, [t.children]), w(() => {
154
- if (!m.two) return;
155
- const e = m.two.renderer.domElement, u = (r, y, p) => {
156
- if (r.length === 0) return;
157
- const R = r[0], G = O(p, e, m.two), V = P(R, f.current);
158
- for (const Y of V) {
159
- const Z = f.current.get(Y)?.handlers[y];
160
- if (Z) {
161
- const x = W(
162
- p,
163
- R,
164
- Y,
165
- G
133
+ }, []), h(() => {
134
+ !s && (typeof n.width == "number" && (e && (e.width = n.width), f(n.width)), typeof n.height == "number" && (e && (e.height = n.height), p(n.height)));
135
+ }, [s, e, n.width, n.height]), h(() => {
136
+ if (!s && e) {
137
+ let S = function() {
138
+ const V = b.width !== I, G = b.height !== L;
139
+ V && (I = b.width), G && (L = b.height), (V || G) && (f(I), p(L));
140
+ };
141
+ const b = e;
142
+ let I = b.width, L = b.height;
143
+ return (n.fullscreen || n.fitted) && b.bind("update", S), () => {
144
+ b.unbind("update", S);
145
+ };
146
+ }
147
+ }, [s, e, n.fullscreen, n.fitted]), h(() => {
148
+ process.env.NODE_ENV !== "production" && Y(n.children);
149
+ }, [n.children]), h(() => {
150
+ if (!e) return;
151
+ const m = e.renderer.domElement, S = (y, w, P) => {
152
+ if (y.length === 0) return;
153
+ const N = y[0], B = ie(P, m, e), F = le(N, t.current);
154
+ for (const ne of F) {
155
+ const te = t.current.get(ne)?.handlers[w];
156
+ if (te) {
157
+ const re = se(
158
+ P,
159
+ N,
160
+ ne,
161
+ B
166
162
  );
167
- if (Z(x), x.stopped)
163
+ if (te(re), re.stopped)
168
164
  break;
169
165
  }
170
166
  }
171
- }, c = (r) => {
172
- const y = B(r, e), p = $(f.current, y.x, y.y);
173
- p.length > 0 && u(p, "onClick", r);
174
- }, E = (r) => {
175
- const y = B(r, e), p = $(f.current, y.x, y.y);
176
- p.length > 0 && u(p, "onContextMenu", r);
177
- }, b = (r) => {
178
- const y = B(r, e), p = $(f.current, y.x, y.y);
179
- p.length > 0 && u(p, "onDoubleClick", r);
180
- }, j = (r) => {
181
- const y = B(r, e), p = $(f.current, y.x, y.y);
182
- p.length > 0 && u(p, "onWheel", r);
183
- }, T = (r) => {
184
- const y = B(r, e), p = $(f.current, y.x, y.y);
185
- p.length > 0 && (u(p, "onPointerDown", r), r.target instanceof Element && r.target.hasPointerCapture?.(r.pointerId) && (a.current = p[0]));
186
- }, H = (r) => {
167
+ }, b = (y) => {
168
+ const w = U(y, m), P = q(
169
+ t.current,
170
+ w.x,
171
+ w.y
172
+ );
173
+ P.length > 0 && S(P, "onClick", y);
174
+ }, I = (y) => {
175
+ const w = U(y, m), P = q(
176
+ t.current,
177
+ w.x,
178
+ w.y
179
+ );
180
+ P.length > 0 && S(P, "onContextMenu", y);
181
+ }, L = (y) => {
182
+ const w = U(y, m), P = q(
183
+ t.current,
184
+ w.x,
185
+ w.y
186
+ );
187
+ P.length > 0 && S(P, "onDoubleClick", y);
188
+ }, V = (y) => {
189
+ const w = U(y, m), P = q(
190
+ t.current,
191
+ w.x,
192
+ w.y
193
+ );
194
+ P.length > 0 && S(P, "onWheel", y);
195
+ }, G = (y) => {
196
+ const w = U(y, m), P = q(
197
+ t.current,
198
+ w.x,
199
+ w.y
200
+ );
201
+ P.length > 0 && (S(P, "onPointerDown", y), y.target instanceof Element && y.target.hasPointerCapture?.(y.pointerId) && (a.current = P[0]));
202
+ }, _ = (y) => {
187
203
  if (a.current) {
188
- const R = f.current.get(a.current);
189
- if (R?.handlers.onPointerUp) {
190
- const G = O(r, e, m.two), V = W(
191
- r,
204
+ const N = t.current.get(a.current);
205
+ if (N?.handlers.onPointerUp) {
206
+ const B = ie(y, m, e), F = se(
207
+ y,
192
208
  a.current,
193
209
  a.current,
194
- G
210
+ B
195
211
  );
196
- R.handlers.onPointerUp(V);
212
+ N.handlers.onPointerUp(F);
197
213
  }
198
214
  a.current = null;
199
215
  return;
200
216
  }
201
- const y = B(r, e), p = $(f.current, y.x, y.y);
202
- p.length > 0 ? u(p, "onPointerUp", r) : t.onPointerMissed && t.onPointerMissed(r);
203
- }, h = (r) => {
204
- const y = B(r, e), p = $(f.current, y.x, y.y), R = new Set(p);
205
- p.length > 0 && u(p, "onPointerMove", r);
206
- const G = l.current;
207
- for (const V of R)
208
- G.has(V) || (u([V], "onPointerEnter", r), u([V], "onPointerOver", r));
209
- for (const V of G)
210
- R.has(V) || (u([V], "onPointerLeave", r), u([V], "onPointerOut", r));
211
- l.current = R;
212
- }, v = (r) => {
213
- const y = B(r, e), p = $(f.current, y.x, y.y);
214
- p.length > 0 && u(p, "onPointerCancel", r), a.current = null;
217
+ const w = U(y, m), P = q(
218
+ t.current,
219
+ w.x,
220
+ w.y
221
+ );
222
+ P.length > 0 ? S(P, "onPointerUp", y) : n.onPointerMissed && n.onPointerMissed(y);
223
+ }, z = (y) => {
224
+ const w = U(y, m), P = q(
225
+ t.current,
226
+ w.x,
227
+ w.y
228
+ ), N = new Set(P);
229
+ P.length > 0 && S(P, "onPointerMove", y);
230
+ const B = u.current;
231
+ for (const F of N)
232
+ B.has(F) || (S([F], "onPointerEnter", y), S([F], "onPointerOver", y));
233
+ for (const F of B)
234
+ N.has(F) || (S([F], "onPointerLeave", y), S([F], "onPointerOut", y));
235
+ u.current = N;
236
+ }, W = (y) => {
237
+ const w = U(y, m), P = q(
238
+ t.current,
239
+ w.x,
240
+ w.y
241
+ );
242
+ P.length > 0 && S(P, "onPointerCancel", y), a.current = null;
215
243
  };
216
- return e.addEventListener("click", c), e.addEventListener("contextmenu", E), e.addEventListener("dblclick", b), e.addEventListener("wheel", j), e.addEventListener("pointerdown", T), e.addEventListener("pointerup", H), e.addEventListener("pointermove", h), e.addEventListener("pointercancel", v), () => {
217
- e.removeEventListener("click", c), e.removeEventListener("contextmenu", E), e.removeEventListener("dblclick", b), e.removeEventListener("wheel", j), e.removeEventListener("pointerdown", T), e.removeEventListener("pointerup", H), e.removeEventListener("pointermove", h), e.removeEventListener("pointercancel", v);
244
+ return m.addEventListener("click", b), m.addEventListener("contextmenu", I), m.addEventListener("dblclick", L), m.addEventListener("wheel", V), m.addEventListener("pointerdown", G), m.addEventListener("pointerup", _), m.addEventListener("pointermove", z), m.addEventListener("pointercancel", W), () => {
245
+ m.removeEventListener("click", b), m.removeEventListener("contextmenu", I), m.removeEventListener("dblclick", L), m.removeEventListener("wheel", V), m.removeEventListener("pointerdown", G), m.removeEventListener("pointerup", _), m.removeEventListener("pointermove", z), m.removeEventListener("pointercancel", W);
218
246
  };
219
- }, [m.two, t.onPointerMissed, o, g]), /* @__PURE__ */ A(X.Provider, { value: m, children: /* @__PURE__ */ A("div", { ref: d, children: t.children }) });
220
- }, ce = k.forwardRef(
221
- ({ x: t, y: n, ...s }, d) => {
247
+ }, [
248
+ e,
249
+ n.onPointerMissed,
250
+ j,
251
+ M
252
+ ]);
253
+ const x = g(
254
+ () => ({
255
+ two: e,
256
+ registerEventShape: j,
257
+ unregisterEventShape: M
258
+ }),
259
+ [e, j, M]
260
+ ), D = g(
261
+ () => ({
262
+ parent: c
263
+ }),
264
+ [c]
265
+ ), K = g(
266
+ () => ({
267
+ width: d,
268
+ height: v
269
+ }),
270
+ [d, v]
271
+ );
272
+ return /* @__PURE__ */ E(ee.Provider, { value: x, children: /* @__PURE__ */ E(J.Provider, { value: D, children: /* @__PURE__ */ E(Q.Provider, { value: K, children: /* @__PURE__ */ E("div", { ref: l, ...n.container, children: n.children }) }) }) });
273
+ }, ge = k.forwardRef(
274
+ ({ x: n, y: s, ...r }, l) => {
222
275
  const {
223
- two: f,
224
- parent: l,
276
+ two: t,
277
+ parent: u,
225
278
  width: a,
226
- height: m,
227
- registerEventShape: i,
228
- unregisterEventShape: o
229
- } = q(), [g, S] = F(null), { eventHandlers: e, shapeProps: u } = _(() => {
230
- const c = {}, E = {};
231
- for (const b in s)
232
- J.includes(b) ? c[b] = s[b] : E[b] = s[b];
233
- return { eventHandlers: c, shapeProps: E };
234
- }, [s]);
235
- return w(() => {
236
- if (f) {
237
- const c = new I.Group();
238
- return S(c), () => {
239
- S(null);
240
- };
241
- }
242
- }, [f]), w(() => {
243
- const c = g;
244
- if (l && c)
245
- return l.add(c), () => {
246
- l.remove(c);
279
+ height: e,
280
+ registerEventShape: o,
281
+ unregisterEventShape: c
282
+ } = C(), i = g(() => new H.Group(), []), { eventHandlers: d, shapeProps: f } = g(() => {
283
+ const M = {}, x = {};
284
+ for (const D in r)
285
+ O.includes(D) ? M[D] = r[
286
+ D
287
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
288
+ ] : x[D] = r[D];
289
+ return { eventHandlers: M, shapeProps: x };
290
+ }, [r]);
291
+ h(() => {
292
+ if (u)
293
+ return u.add(i), () => {
294
+ u.remove(i);
247
295
  };
248
- }, [g, l]), w(() => {
249
- if (g) {
250
- const c = g;
251
- typeof t == "number" && (c.translation.x = t), typeof n == "number" && (c.translation.y = n);
252
- const E = { ...u };
253
- delete E.children;
254
- for (const b in E)
255
- b in c && (c[b] = E[b]);
256
- }
257
- }, [g, t, n, u]), w(() => {
258
- if (g && Object.keys(e).length > 0)
259
- return i(g, e, l ?? void 0), () => {
260
- o(g);
296
+ }, [u, i]), h(() => {
297
+ typeof n == "number" && (i.translation.x = n), typeof s == "number" && (i.translation.y = s);
298
+ const M = { ...f };
299
+ delete M.children;
300
+ for (const x in M)
301
+ x in i && (i[x] = M[x]);
302
+ }, [i, n, s, f]), h(() => {
303
+ if (Object.keys(d).length > 0)
304
+ return o(i, d, u ?? void 0), () => {
305
+ c(i);
261
306
  };
262
- }, [g, i, o, l, e]), N(d, () => g, [g]), /* @__PURE__ */ A(
263
- X.Provider,
264
- {
265
- value: {
266
- two: f,
267
- parent: g,
268
- width: a,
269
- height: m,
270
- registerEventShape: i,
271
- unregisterEventShape: o
272
- },
273
- children: s.children
274
- }
307
+ }, [
308
+ i,
309
+ o,
310
+ c,
311
+ u,
312
+ d
313
+ ]), R(l, () => i, [i]);
314
+ const v = g(
315
+ () => ({
316
+ two: t,
317
+ registerEventShape: o,
318
+ unregisterEventShape: c
319
+ }),
320
+ [t, o, c]
321
+ ), p = g(
322
+ () => ({
323
+ parent: i
324
+ }),
325
+ [i]
326
+ ), j = g(
327
+ () => ({
328
+ width: a,
329
+ height: e
330
+ }),
331
+ [a, e]
275
332
  );
333
+ return /* @__PURE__ */ E(ce.Provider, { value: v, children: /* @__PURE__ */ E(J.Provider, { value: p, children: /* @__PURE__ */ E(Q.Provider, { value: j, children: r.children }) }) });
276
334
  }
277
- ), ie = k.forwardRef(
278
- ({
279
- manual: t,
280
- x: n,
281
- y: s,
282
- // Event handlers
283
- onClick: d,
284
- onContextMenu: f,
285
- onDoubleClick: l,
286
- onWheel: a,
287
- onPointerDown: m,
288
- onPointerUp: i,
289
- onPointerOver: o,
290
- onPointerOut: g,
291
- onPointerEnter: S,
292
- onPointerLeave: e,
293
- onPointerMove: u,
294
- onPointerCancel: c,
295
- // All other props are shape props
296
- ...E
297
- }, b) => {
298
- const { two: j, parent: T, registerEventShape: H, unregisterEventShape: h } = q(), [v, r] = F(null), y = _(
335
+ ), ye = k.forwardRef(
336
+ ({ x: n, y: s, src: r, content: l, onLoad: t, onError: u, ...a }, e) => {
337
+ const {
338
+ two: o,
339
+ parent: c,
340
+ width: i,
341
+ height: d,
342
+ registerEventShape: f,
343
+ unregisterEventShape: v
344
+ } = C(), p = g(() => new H.Group(), []), j = A(null), M = A(t), x = A(u), D = A({ two: null, key: null });
345
+ h(() => {
346
+ M.current = t;
347
+ }, [t]), h(() => {
348
+ x.current = u;
349
+ }, [u]);
350
+ const { eventHandlers: K, shapeProps: m } = g(() => {
351
+ const L = {}, V = {};
352
+ for (const G in a)
353
+ O.includes(G) ? L[G] = a[
354
+ G
355
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
356
+ ] : V[G] = a[G];
357
+ return { eventHandlers: L, shapeProps: V };
358
+ }, [a]);
359
+ h(() => {
360
+ j.current = p;
361
+ }, [p]), h(() => {
362
+ if (c && p)
363
+ return c.add(p), () => {
364
+ c.remove(p);
365
+ };
366
+ }, [p, c]), h(() => {
367
+ !r && !l && console.warn(
368
+ '[react-two.js] SVG component requires either "src" or "content" prop'
369
+ ), r && l && console.warn(
370
+ '[react-two.js] SVG component has both "src" and "content" props. Using "src" and ignoring "content"'
371
+ );
372
+ }, [r, l]), h(() => {
373
+ if (!o) return;
374
+ const L = r || l;
375
+ if (!L) return;
376
+ const V = L, G = D.current;
377
+ if (G.two === o && G.key === V)
378
+ return;
379
+ let _ = !0;
380
+ D.current = { two: o, key: V };
381
+ try {
382
+ o.load(
383
+ L,
384
+ (z, W) => {
385
+ if (!_) return;
386
+ j.current?.add(z.children);
387
+ const y = M.current;
388
+ if (y)
389
+ try {
390
+ requestAnimationFrame(() => y(j.current, W));
391
+ } catch (w) {
392
+ console.error(
393
+ "[react-two.js] Error in SVG onLoad callback:",
394
+ w
395
+ );
396
+ }
397
+ }
398
+ );
399
+ } catch (z) {
400
+ if (!_) return;
401
+ const W = z instanceof Error ? z : new Error("Failed to load SVG"), y = x.current;
402
+ if (y)
403
+ try {
404
+ y(W);
405
+ } catch (w) {
406
+ console.error(
407
+ "[react-two.js] Error in SVG onError callback:",
408
+ w
409
+ );
410
+ }
411
+ else
412
+ console.error("[react-two.js] SVG loading error:", W);
413
+ }
414
+ return () => {
415
+ _ = !1, D.current = { two: null, key: null }, j.current?.remove(j.current.children);
416
+ };
417
+ }, [o, r, l]), h(() => {
418
+ typeof n == "number" && (p.translation.x = n), typeof s == "number" && (p.translation.y = s);
419
+ const L = { ...m };
420
+ delete L.children;
421
+ for (const V in L)
422
+ V in p && (p[V] = L[V]);
423
+ }, [p, n, s, m]), h(() => {
424
+ if (Object.keys(K).length > 0)
425
+ return f(p, K, c ?? void 0), () => {
426
+ v(p);
427
+ };
428
+ }, [p, f, v, c, K]), R(e, () => p, [p]);
429
+ const S = g(
430
+ () => ({
431
+ two: o,
432
+ registerEventShape: f,
433
+ unregisterEventShape: v
434
+ }),
435
+ [o, f, v]
436
+ ), b = g(
299
437
  () => ({
300
- ...d && { onClick: d },
301
- ...f && { onContextMenu: f },
302
- ...l && { onDoubleClick: l },
303
- ...a && { onWheel: a },
304
- ...m && { onPointerDown: m },
305
- ...i && { onPointerUp: i },
306
- ...o && { onPointerOver: o },
307
- ...g && { onPointerOut: g },
308
- ...S && { onPointerEnter: S },
309
- ...e && { onPointerLeave: e },
310
- ...u && { onPointerMove: u },
311
- ...c && { onPointerCancel: c }
438
+ parent: p
312
439
  }),
313
- [
314
- d,
315
- f,
316
- l,
317
- a,
318
- m,
319
- i,
320
- o,
321
- g,
322
- S,
323
- e,
324
- u,
325
- c
326
- ]
440
+ [p]
441
+ ), I = g(
442
+ () => ({
443
+ width: i,
444
+ height: d
445
+ }),
446
+ [i, d]
327
447
  );
328
- return w(() => {
329
- const p = new I.Path();
330
- return r(p), () => {
331
- r(null);
332
- };
333
- }, [j]), w(() => {
334
- if (T && v)
335
- return T.add(v), () => {
336
- T.remove(v);
448
+ return /* @__PURE__ */ E(ce.Provider, { value: S, children: /* @__PURE__ */ E(J.Provider, { value: b, children: /* @__PURE__ */ E(Q.Provider, { value: I, children: a.children }) }) });
449
+ }
450
+ ), me = k.forwardRef(
451
+ ({ manual: n, x: s, y: r, ...l }, t) => {
452
+ const { parent: u, registerEventShape: a, unregisterEventShape: e } = C(), o = g(() => new H.Path(), []), { eventHandlers: c, shapeProps: i } = g(() => {
453
+ const d = {}, f = {};
454
+ for (const v in l)
455
+ O.includes(v) ? d[v] = l[
456
+ v
457
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
458
+ ] : f[v] = l[v];
459
+ return { eventHandlers: d, shapeProps: f };
460
+ }, [l]);
461
+ return h(() => {
462
+ if (u)
463
+ return u.add(o), () => {
464
+ u.remove(o);
337
465
  };
338
- }, [T, v]), w(() => {
339
- if (v && Object.keys(y).length > 0)
340
- return H(v, y, T ?? void 0), () => {
341
- h(v);
466
+ }, [u, o]), h(() => {
467
+ if (Object.keys(c).length > 0)
468
+ return a(o, c, u ?? void 0), () => {
469
+ e(o);
342
470
  };
343
- }, [v, H, h, T, y]), w(() => {
344
- if (v) {
345
- const p = v;
346
- typeof n == "number" && (p.translation.x = n), typeof s == "number" && (p.translation.y = s), typeof t < "u" && (p.automatic = !t);
347
- for (const R in E)
348
- R in p && (p[R] = E[R]);
349
- }
350
- }, [E, v, n, s, t]), N(b, () => v, [v]), /* @__PURE__ */ A(L, {});
471
+ }, [o, a, e, u, c]), h(() => {
472
+ typeof s == "number" && (o.translation.x = s), typeof r == "number" && (o.translation.y = r), typeof n < "u" && (o.automatic = !n);
473
+ for (const d in i)
474
+ d in o && (o[d] = i[d]);
475
+ }, [i, o, s, r, n]), R(t, () => o, [o]), /* @__PURE__ */ E(T, {});
351
476
  }
352
- ), ae = k.forwardRef(
353
- ({ x: t, y: n, ...s }, d) => {
354
- const { two: f, parent: l, registerEventShape: a, unregisterEventShape: m } = q(), [i, o] = F(null), { eventHandlers: g, shapeProps: S } = _(() => {
355
- const e = {}, u = {};
356
- for (const c in s)
357
- J.includes(c) ? e[c] = s[c] : u[c] = s[c];
358
- return { eventHandlers: e, shapeProps: u };
359
- }, [s]);
360
- return w(() => {
361
- const e = new I.Points();
362
- return o(e), () => {
363
- o(null);
364
- };
365
- }, [f, t, n]), w(() => {
366
- if (l && i)
367
- return l.add(i), () => {
368
- l.remove(i);
477
+ ), we = k.forwardRef(
478
+ ({ x: n, y: s, ...r }, l) => {
479
+ const { parent: t, registerEventShape: u, unregisterEventShape: a } = C(), e = g(() => new H.Points(), []), { eventHandlers: o, shapeProps: c } = g(() => {
480
+ const i = {}, d = {};
481
+ for (const f in r)
482
+ O.includes(f) ? i[f] = r[
483
+ f
484
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
485
+ ] : d[f] = r[f];
486
+ return { eventHandlers: i, shapeProps: d };
487
+ }, [r]);
488
+ return h(() => {
489
+ if (t)
490
+ return t.add(e), () => {
491
+ t.remove(e);
369
492
  };
370
- }, [l, i]), w(() => {
371
- if (i) {
372
- const e = i;
373
- typeof t == "number" && (e.translation.x = t), typeof n == "number" && (e.translation.y = n);
374
- for (const u in S)
375
- u in e && (e[u] = S[u]);
376
- }
377
- }, [S, i, t, n]), w(() => {
378
- if (i && Object.keys(g).length > 0)
379
- return a(i, g, l ?? void 0), () => {
380
- m(i);
493
+ }, [t, e]), h(() => {
494
+ typeof n == "number" && (e.translation.x = n), typeof s == "number" && (e.translation.y = s);
495
+ for (const i in c)
496
+ i in e && (e[i] = c[i]);
497
+ }, [c, e, n, s]), h(() => {
498
+ if (Object.keys(o).length > 0)
499
+ return u(e, o, t ?? void 0), () => {
500
+ a(e);
381
501
  };
382
- }, [i, a, m, l, g]), N(d, () => i, [i]), /* @__PURE__ */ A(L, {});
502
+ }, [
503
+ e,
504
+ u,
505
+ a,
506
+ t,
507
+ o
508
+ ]), R(l, () => e, [e]), /* @__PURE__ */ E(T, {});
383
509
  }
384
- ), ue = k.forwardRef(
385
- ({
386
- x: t,
387
- y: n,
388
- // Event handlers
389
- onClick: s,
390
- onContextMenu: d,
391
- onDoubleClick: f,
392
- onWheel: l,
393
- onPointerDown: a,
394
- onPointerUp: m,
395
- onPointerOver: i,
396
- onPointerOut: o,
397
- onPointerEnter: g,
398
- onPointerLeave: S,
399
- onPointerMove: e,
400
- onPointerCancel: u,
401
- // All other props are shape props
402
- ...c
403
- }, E) => {
404
- const { two: b, parent: j, registerEventShape: T, unregisterEventShape: H } = q(), [h, v] = F(null), r = _(
405
- () => ({
406
- ...s && { onClick: s },
407
- ...d && { onContextMenu: d },
408
- ...f && { onDoubleClick: f },
409
- ...l && { onWheel: l },
410
- ...a && { onPointerDown: a },
411
- ...m && { onPointerUp: m },
412
- ...i && { onPointerOver: i },
413
- ...o && { onPointerOut: o },
414
- ...g && { onPointerEnter: g },
415
- ...S && { onPointerLeave: S },
416
- ...e && { onPointerMove: e },
417
- ...u && { onPointerCancel: u }
418
- }),
419
- [
420
- s,
421
- d,
422
- f,
423
- l,
424
- a,
425
- m,
426
- i,
427
- o,
428
- g,
429
- S,
430
- e,
431
- u
432
- ]
433
- );
434
- return w(() => {
435
- const y = new I.Text();
436
- return v(y), () => {
437
- v(null);
438
- };
439
- }, [b]), w(() => {
440
- if (j && h)
441
- return j.add(h), () => {
442
- j.remove(h);
510
+ ), Pe = k.forwardRef(
511
+ ({ x: n, y: s, ...r }, l) => {
512
+ const { parent: t, registerEventShape: u, unregisterEventShape: a } = C(), e = g(() => new H.Text(), []), { eventHandlers: o, shapeProps: c } = g(() => {
513
+ const i = {}, d = {};
514
+ for (const f in r)
515
+ O.includes(f) ? i[f] = r[
516
+ f
517
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
518
+ ] : d[f] = r[f];
519
+ return { eventHandlers: i, shapeProps: d };
520
+ }, [r]);
521
+ return h(() => {
522
+ if (t)
523
+ return t.add(e), () => {
524
+ t.remove(e);
443
525
  };
444
- }, [j, h]), w(() => {
445
- if (h) {
446
- const y = h;
447
- typeof t == "number" && (y.translation.x = t), typeof n == "number" && (y.translation.y = n);
448
- for (const p in c)
449
- p in y && (y[p] = c[p]);
450
- }
451
- }, [c, h, t, n]), w(() => {
452
- if (h && Object.keys(r).length > 0)
453
- return T(h, r, j ?? void 0), () => {
454
- H(h);
526
+ }, [t, e]), h(() => {
527
+ typeof n == "number" && (e.translation.x = n), typeof s == "number" && (e.translation.y = s);
528
+ for (const i in c)
529
+ i in e && (e[i] = c[i]);
530
+ }, [c, e, n, s]), h(() => {
531
+ if (Object.keys(o).length > 0)
532
+ return u(e, o, t ?? void 0), () => {
533
+ a(e);
455
534
  };
456
- }, [h, T, H, j, r]), N(E, () => h, [h]), /* @__PURE__ */ A(L, {});
535
+ }, [e, u, a, t, o]), R(l, () => e, [e]), /* @__PURE__ */ E(T, {});
457
536
  }
458
- ), de = k.forwardRef(
459
- ({
460
- x: t,
461
- y: n,
462
- resolution: s,
463
- // Event handlers
464
- onClick: d,
465
- onContextMenu: f,
466
- onDoubleClick: l,
467
- onWheel: a,
468
- onPointerDown: m,
469
- onPointerUp: i,
470
- onPointerOver: o,
471
- onPointerOut: g,
472
- onPointerEnter: S,
473
- onPointerLeave: e,
474
- onPointerMove: u,
475
- onPointerCancel: c,
476
- // All other props are shape props
477
- ...E
478
- }, b) => {
479
- const { two: j, parent: T, registerEventShape: H, unregisterEventShape: h } = q(), [v, r] = F(null), y = _(
480
- () => ({
481
- ...d && { onClick: d },
482
- ...f && { onContextMenu: f },
483
- ...l && { onDoubleClick: l },
484
- ...a && { onWheel: a },
485
- ...m && { onPointerDown: m },
486
- ...i && { onPointerUp: i },
487
- ...o && { onPointerOver: o },
488
- ...g && { onPointerOut: g },
489
- ...S && { onPointerEnter: S },
490
- ...e && { onPointerLeave: e },
491
- ...u && { onPointerMove: u },
492
- ...c && { onPointerCancel: c }
493
- }),
494
- [
495
- d,
496
- f,
497
- l,
498
- a,
499
- m,
500
- i,
501
- o,
502
- g,
503
- S,
504
- e,
505
- u,
506
- c
507
- ]
508
- );
509
- return w(() => {
510
- const p = new I.ArcSegment(0, 0, 0, 0, 0, 0, s);
511
- return r(p), () => {
512
- r(null);
513
- };
514
- }, [s, j]), w(() => {
515
- if (T && v)
516
- return T.add(v), () => {
517
- T.remove(v);
537
+ ), be = k.forwardRef(
538
+ ({ x: n, y: s, resolution: r, ...l }, t) => {
539
+ const { parent: u, registerEventShape: a, unregisterEventShape: e } = C(), o = g(
540
+ () => new H.ArcSegment(0, 0, 0, 0, 0, 0, r),
541
+ [r]
542
+ ), { eventHandlers: c, shapeProps: i } = g(() => {
543
+ const d = {}, f = {};
544
+ for (const v in l)
545
+ O.includes(v) ? d[v] = l[
546
+ v
547
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
548
+ ] : f[v] = l[v];
549
+ return { eventHandlers: d, shapeProps: f };
550
+ }, [l]);
551
+ return h(() => {
552
+ if (u)
553
+ return u.add(o), () => {
554
+ u.remove(o);
518
555
  };
519
- }, [T, v]), w(() => {
520
- if (v) {
521
- const p = v;
522
- typeof t == "number" && (p.translation.x = t), typeof n == "number" && (p.translation.y = n);
523
- for (const R in E)
524
- R in p && (p[R] = E[R]);
525
- }
526
- }, [E, v, t, n]), w(() => {
527
- if (v && Object.keys(y).length > 0)
528
- return H(v, y, T ?? void 0), () => {
529
- h(v);
556
+ }, [u, o]), h(() => {
557
+ typeof n == "number" && (o.translation.x = n), typeof s == "number" && (o.translation.y = s);
558
+ for (const d in i)
559
+ d in o && (o[d] = i[d]);
560
+ }, [i, o, n, s]), h(() => {
561
+ if (Object.keys(c).length > 0)
562
+ return a(o, c, u ?? void 0), () => {
563
+ e(o);
530
564
  };
531
- }, [v, H, h, T, y]), N(b, () => v, [v]), /* @__PURE__ */ A(L, {});
565
+ }, [
566
+ o,
567
+ a,
568
+ e,
569
+ u,
570
+ c
571
+ ]), R(t, () => o, [o]), /* @__PURE__ */ E(T, {});
532
572
  }
533
- ), le = k.forwardRef(
534
- ({
535
- x: t,
536
- y: n,
537
- resolution: s,
538
- // Event handlers
539
- onClick: d,
540
- onContextMenu: f,
541
- onDoubleClick: l,
542
- onWheel: a,
543
- onPointerDown: m,
544
- onPointerUp: i,
545
- onPointerOver: o,
546
- onPointerOut: g,
547
- onPointerEnter: S,
548
- onPointerLeave: e,
549
- onPointerMove: u,
550
- onPointerCancel: c,
551
- // All other props are shape props
552
- ...E
553
- }, b) => {
554
- const { two: j, parent: T, registerEventShape: H, unregisterEventShape: h } = q(), [v, r] = F(null), y = _(
555
- () => ({
556
- ...d && { onClick: d },
557
- ...f && { onContextMenu: f },
558
- ...l && { onDoubleClick: l },
559
- ...a && { onWheel: a },
560
- ...m && { onPointerDown: m },
561
- ...i && { onPointerUp: i },
562
- ...o && { onPointerOver: o },
563
- ...g && { onPointerOut: g },
564
- ...S && { onPointerEnter: S },
565
- ...e && { onPointerLeave: e },
566
- ...u && { onPointerMove: u },
567
- ...c && { onPointerCancel: c }
568
- }),
569
- [
570
- d,
571
- f,
572
- l,
573
- a,
574
- m,
575
- i,
576
- o,
577
- g,
578
- S,
579
- e,
580
- u,
581
- c
582
- ]
583
- );
584
- return w(() => {
585
- const p = new I.Circle(0, 0, 0, s);
586
- return r(p), () => {
587
- r(null);
588
- };
589
- }, [s, j]), w(() => {
590
- if (v) {
591
- const p = v;
592
- typeof t == "number" && (p.translation.x = t), typeof n == "number" && (p.translation.y = n);
593
- for (const R in E)
594
- R in p && (p[R] = E[R]);
595
- }
596
- }, [v, E, t, n]), w(() => {
597
- if (T && v)
598
- return T.add(v), () => {
599
- T.remove(v);
573
+ ), Ee = k.forwardRef(
574
+ ({ x: n, y: s, resolution: r, ...l }, t) => {
575
+ const { parent: u, registerEventShape: a, unregisterEventShape: e } = C(), o = g(
576
+ () => new H.Circle(0, 0, 0, r),
577
+ [r]
578
+ ), { eventHandlers: c, shapeProps: i } = g(() => {
579
+ const d = {}, f = {};
580
+ for (const v in l)
581
+ O.includes(v) ? d[v] = l[
582
+ v
583
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
584
+ ] : f[v] = l[v];
585
+ return { eventHandlers: d, shapeProps: f };
586
+ }, [l]);
587
+ return h(() => {
588
+ typeof n == "number" && (o.translation.x = n), typeof s == "number" && (o.translation.y = s);
589
+ for (const d in i)
590
+ d in o && (o[d] = i[d]);
591
+ }, [o, i, n, s]), h(() => {
592
+ if (u)
593
+ return u.add(o), () => {
594
+ u.remove(o);
600
595
  };
601
- }, [T, v]), w(() => {
602
- if (v && Object.keys(y).length > 0)
603
- return H(v, y, T ?? void 0), () => {
604
- h(v);
596
+ }, [u, o]), h(() => {
597
+ if (Object.keys(c).length > 0)
598
+ return a(o, c, u ?? void 0), () => {
599
+ e(o);
605
600
  };
606
- }, [v, H, h, T, y]), N(b, () => v, [v]), /* @__PURE__ */ A(L, {});
601
+ }, [
602
+ o,
603
+ a,
604
+ e,
605
+ u,
606
+ c
607
+ ]), R(t, () => o, [o]), /* @__PURE__ */ E(T, {});
607
608
  }
608
- ), ge = k.forwardRef(
609
- ({ x: t, y: n, resolution: s, ...d }, f) => {
610
- const { two: l, parent: a, registerEventShape: m, unregisterEventShape: i } = q(), [o, g] = F(null), { eventHandlers: S, shapeProps: e } = _(() => {
611
- const u = {}, c = {};
612
- for (const E in d)
613
- J.includes(E) ? u[E] = d[E] : c[E] = d[E];
614
- return { eventHandlers: u, shapeProps: c };
615
- }, [d]);
616
- return w(() => {
617
- const u = new I.Ellipse(0, 0, 0, 0, s);
618
- return g(u), () => {
619
- g(null);
620
- };
621
- }, [s, l]), w(() => {
622
- if (a && o)
623
- return a.add(o), () => {
624
- a.remove(o);
609
+ ), Se = k.forwardRef(
610
+ ({ x: n, y: s, resolution: r, ...l }, t) => {
611
+ const { parent: u, registerEventShape: a, unregisterEventShape: e } = C(), o = g(
612
+ () => new H.Ellipse(0, 0, 0, 0, r),
613
+ [r]
614
+ ), { eventHandlers: c, shapeProps: i } = g(() => {
615
+ const d = {}, f = {};
616
+ for (const v in l)
617
+ O.includes(v) ? d[v] = l[
618
+ v
619
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
620
+ ] : f[v] = l[v];
621
+ return { eventHandlers: d, shapeProps: f };
622
+ }, [l]);
623
+ return h(() => {
624
+ if (u)
625
+ return u.add(o), () => {
626
+ u.remove(o);
625
627
  };
626
- }, [a, o]), w(() => {
627
- if (o) {
628
- const u = o;
629
- typeof t == "number" && (u.translation.x = t), typeof n == "number" && (u.translation.y = n);
630
- for (const c in e)
631
- c in u && (u[c] = e[c]);
632
- }
633
- }, [o, t, n, e]), w(() => {
634
- if (o && Object.keys(S).length > 0)
635
- return m(o, S, a ?? void 0), () => {
636
- i(o);
628
+ }, [u, o]), h(() => {
629
+ typeof n == "number" && (o.translation.x = n), typeof s == "number" && (o.translation.y = s);
630
+ for (const d in i)
631
+ d in o && (o[d] = i[d]);
632
+ }, [o, n, s, i]), h(() => {
633
+ if (Object.keys(c).length > 0)
634
+ return a(o, c, u ?? void 0), () => {
635
+ e(o);
637
636
  };
638
- }, [o, m, i, a, S]), N(f, () => o, [o]), /* @__PURE__ */ A(L, {});
637
+ }, [
638
+ o,
639
+ a,
640
+ e,
641
+ u,
642
+ c
643
+ ]), R(t, () => o, [o]), /* @__PURE__ */ E(T, {});
639
644
  }
640
- ), he = k.forwardRef(
641
- ({
642
- mode: t,
643
- texture: n,
644
- x: s,
645
- y: d,
646
- // Event handlers
647
- onClick: f,
648
- onContextMenu: l,
649
- onDoubleClick: a,
650
- onWheel: m,
651
- onPointerDown: i,
652
- onPointerUp: o,
653
- onPointerOver: g,
654
- onPointerOut: S,
655
- onPointerEnter: e,
656
- onPointerLeave: u,
657
- onPointerMove: c,
658
- onPointerCancel: E,
659
- // All other props are shape props
660
- ...b
661
- }, j) => {
662
- const { two: T, parent: H, registerEventShape: h, unregisterEventShape: v } = q(), [r, y] = F(null), p = _(
663
- () => ({
664
- ...f && { onClick: f },
665
- ...l && { onContextMenu: l },
666
- ...a && { onDoubleClick: a },
667
- ...m && { onWheel: m },
668
- ...i && { onPointerDown: i },
669
- ...o && { onPointerUp: o },
670
- ...g && { onPointerOver: g },
671
- ...S && { onPointerOut: S },
672
- ...e && { onPointerEnter: e },
673
- ...u && { onPointerLeave: u },
674
- ...c && { onPointerMove: c },
675
- ...E && { onPointerCancel: E }
676
- }),
677
- [
678
- f,
679
- l,
680
- a,
681
- m,
682
- i,
683
- o,
684
- g,
685
- S,
686
- e,
687
- u,
688
- c,
689
- E
690
- ]
691
- );
692
- return Q(() => {
693
- const R = new I.Image();
694
- return y(R), () => {
695
- y(null);
696
- };
697
- }, [T]), w(() => {
698
- if (H && r)
699
- return H.add(r), () => {
700
- H.remove(r);
645
+ ), ke = k.forwardRef(
646
+ ({ mode: n, src: s, texture: r, x: l, y: t, ...u }, a) => {
647
+ const { parent: e, registerEventShape: o, unregisterEventShape: c } = C(), i = g(() => new H.Image(s), [s]), { eventHandlers: d, shapeProps: f } = g(() => {
648
+ const v = {}, p = {};
649
+ for (const j in u)
650
+ O.includes(j) ? v[j] = u[
651
+ j
652
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
653
+ ] : p[j] = u[j];
654
+ return { eventHandlers: v, shapeProps: p };
655
+ }, [u]);
656
+ return h(() => {
657
+ if (e)
658
+ return e.add(i), () => {
659
+ e.remove(i);
701
660
  };
702
- }, [H, r]), w(() => {
703
- if (r) {
704
- const R = r;
705
- typeof t < "u" && (R.mode = t), typeof n < "u" && (R.texture = n), typeof s == "number" && (R.translation.x = s), typeof d == "number" && (R.translation.y = d);
706
- for (const G in b)
707
- G in R && (R[G] = b[G]);
708
- }
709
- }, [r, b, t, n, s, d]), w(() => {
710
- if (r && Object.keys(p).length > 0)
711
- return h(r, p, H ?? void 0), () => {
712
- v(r);
661
+ }, [e, i]), h(() => {
662
+ typeof n < "u" && (i.mode = n), typeof r < "u" && (i.texture = r), typeof l == "number" && (i.translation.x = l), typeof t == "number" && (i.translation.y = t);
663
+ for (const v in f)
664
+ v in i && (i[v] = f[v]);
665
+ }, [i, f, n, r, l, t]), h(() => {
666
+ if (Object.keys(d).length > 0)
667
+ return o(i, d, e ?? void 0), () => {
668
+ c(i);
713
669
  };
714
- }, [r, h, v, H, p]), N(j, () => r, [r]), /* @__PURE__ */ A(L, {});
670
+ }, [
671
+ i,
672
+ o,
673
+ c,
674
+ e,
675
+ d
676
+ ]), R(a, () => i, [i]), /* @__PURE__ */ E(T, {});
715
677
  }
716
- ), pe = k.forwardRef(
717
- ({ paths: t, x: n, y: s, autoPlay: d, ...f }, l) => {
718
- const { two: a, parent: m, registerEventShape: i, unregisterEventShape: o } = q(), [g, S] = F(null), { eventHandlers: e, shapeProps: u } = _(() => {
719
- const c = {}, E = {};
720
- for (const b in f)
721
- J.includes(b) ? c[b] = f[b] : E[b] = f[b];
722
- return { eventHandlers: c, shapeProps: E };
723
- }, [f]);
724
- return Q(() => {
725
- const c = new I.ImageSequence(t);
726
- return S(c), () => {
727
- S(null);
728
- };
729
- }, [a, t]), w(() => {
730
- if (m && g)
731
- return m.add(g), () => {
732
- m.remove(g);
678
+ ), He = k.forwardRef(
679
+ ({ src: n, x: s, y: r, autoPlay: l, ...t }, u) => {
680
+ const { parent: a, registerEventShape: e, unregisterEventShape: o } = C(), c = g(() => new H.ImageSequence(n), [n]), { eventHandlers: i, shapeProps: d } = g(() => {
681
+ const f = {}, v = {};
682
+ for (const p in t)
683
+ O.includes(p) ? f[p] = t[
684
+ p
685
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
686
+ ] : v[p] = t[p];
687
+ return { eventHandlers: f, shapeProps: v };
688
+ }, [t]);
689
+ return h(() => {
690
+ if (a)
691
+ return a.add(c), () => {
692
+ a.remove(c);
733
693
  };
734
- }, [m, g]), w(() => {
735
- if (g) {
736
- const c = g;
737
- d ? c.play() : c.pause(), typeof n == "number" && (c.translation.x = n), typeof s == "number" && (c.translation.y = s);
738
- for (const E in u)
739
- E in c && (c[E] = u[E]);
740
- }
741
- }, [u, g, t, n, s, d]), w(() => {
742
- if (g && Object.keys(e).length > 0)
743
- return i(g, e, m ?? void 0), () => {
744
- o(g);
694
+ }, [a, c]), h(() => {
695
+ l ? c.play() : c.pause(), typeof s == "number" && (c.translation.x = s), typeof r == "number" && (c.translation.y = r);
696
+ for (const f in d)
697
+ f in c && (c[f] = d[f]);
698
+ }, [d, c, s, r, l]), h(() => {
699
+ if (Object.keys(i).length > 0)
700
+ return e(c, i, a ?? void 0), () => {
701
+ o(c);
745
702
  };
746
- }, [g, i, o, m, e]), N(l, () => g, [g]), /* @__PURE__ */ A(L, {});
703
+ }, [
704
+ c,
705
+ e,
706
+ o,
707
+ a,
708
+ i
709
+ ]), R(u, () => c, [c]), /* @__PURE__ */ E(T, {});
747
710
  }
748
- ), me = k.forwardRef(
749
- ({
750
- x1: t,
751
- y1: n,
752
- x2: s,
753
- y2: d,
754
- // Event handlers
755
- onClick: f,
756
- onContextMenu: l,
757
- onDoubleClick: a,
758
- onWheel: m,
759
- onPointerDown: i,
760
- onPointerUp: o,
761
- onPointerOver: g,
762
- onPointerOut: S,
763
- onPointerEnter: e,
764
- onPointerLeave: u,
765
- onPointerMove: c,
766
- onPointerCancel: E,
767
- // All other props are shape props
768
- ...b
769
- }, j) => {
770
- const { two: T, parent: H, registerEventShape: h, unregisterEventShape: v } = q(), [r, y] = F(null), p = _(
771
- () => ({
772
- ...f && { onClick: f },
773
- ...l && { onContextMenu: l },
774
- ...a && { onDoubleClick: a },
775
- ...m && { onWheel: m },
776
- ...i && { onPointerDown: i },
777
- ...o && { onPointerUp: o },
778
- ...g && { onPointerOver: g },
779
- ...S && { onPointerOut: S },
780
- ...e && { onPointerEnter: e },
781
- ...u && { onPointerLeave: u },
782
- ...c && { onPointerMove: c },
783
- ...E && { onPointerCancel: E }
784
- }),
785
- [
786
- f,
787
- l,
788
- a,
789
- m,
790
- i,
791
- o,
792
- g,
793
- S,
794
- e,
795
- u,
796
- c,
797
- E
798
- ]
799
- );
800
- return w(() => {
801
- const R = new I.Line();
802
- return y(R), () => {
803
- y(null);
804
- };
805
- }, [T]), w(() => {
806
- const R = r;
807
- if (H && R)
808
- return H.add(R), () => {
809
- H.remove(R);
711
+ ), Re = k.forwardRef(
712
+ ({ x1: n, y1: s, x2: r, y2: l, ...t }, u) => {
713
+ const { parent: a, registerEventShape: e, unregisterEventShape: o } = C(), c = g(() => new H.Line(), []), { eventHandlers: i, shapeProps: d } = g(() => {
714
+ const f = {}, v = {};
715
+ for (const p in t)
716
+ O.includes(p) ? f[p] = t[
717
+ p
718
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
719
+ ] : v[p] = t[p];
720
+ return { eventHandlers: f, shapeProps: v };
721
+ }, [t]);
722
+ return h(() => {
723
+ if (a)
724
+ return a.add(c), () => {
725
+ a.remove(c);
810
726
  };
811
- }, [H, r]), w(() => {
812
- if (r) {
813
- const R = r;
814
- typeof t == "number" && (R.left.x = t), typeof n == "number" && (R.left.y = n), typeof s == "number" && (R.right.x = s), typeof d == "number" && (R.right.y = d);
815
- for (const G in b)
816
- G in R && (R[G] = b[G]);
817
- }
818
- }, [b, r, t, n, s, d]), w(() => {
819
- if (r && Object.keys(p).length > 0)
820
- return h(r, p, H ?? void 0), () => {
821
- v(r);
727
+ }, [a, c]), h(() => {
728
+ typeof n == "number" && (c.left.x = n), typeof s == "number" && (c.left.y = s), typeof r == "number" && (c.right.x = r), typeof l == "number" && (c.right.y = l);
729
+ for (const f in d)
730
+ f in c && (c[f] = d[f]);
731
+ }, [d, c, n, s, r, l]), h(() => {
732
+ if (Object.keys(i).length > 0)
733
+ return e(c, i, a ?? void 0), () => {
734
+ o(c);
822
735
  };
823
- }, [r, h, v, H, p]), N(j, () => r, [r]), /* @__PURE__ */ A(L, {});
736
+ }, [c, e, o, a, i]), R(u, () => c, [c]), /* @__PURE__ */ E(T, {});
824
737
  }
825
- ), ye = k.forwardRef(
826
- ({ x: t, y: n, ...s }, d) => {
827
- const { two: f, parent: l, registerEventShape: a, unregisterEventShape: m } = q(), [i, o] = F(null), { eventHandlers: g, shapeProps: S } = _(() => {
828
- const e = {}, u = {};
829
- for (const c in s)
830
- J.includes(c) ? e[c] = s[c] : u[c] = s[c];
831
- return { eventHandlers: e, shapeProps: u };
832
- }, [s]);
833
- return w(() => {
834
- const e = new I.Polygon();
835
- return o(e), () => {
836
- o(null);
837
- };
838
- }, [f]), w(() => {
839
- if (l && i)
840
- return l.add(i), () => {
841
- l.remove(i);
738
+ ), Ce = k.forwardRef(
739
+ ({ x: n, y: s, ...r }, l) => {
740
+ const { parent: t, registerEventShape: u, unregisterEventShape: a } = C(), e = g(() => new H.Polygon(), []), { eventHandlers: o, shapeProps: c } = g(() => {
741
+ const i = {}, d = {};
742
+ for (const f in r)
743
+ O.includes(f) ? i[f] = r[
744
+ f
745
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
746
+ ] : d[f] = r[f];
747
+ return { eventHandlers: i, shapeProps: d };
748
+ }, [r]);
749
+ return h(() => {
750
+ if (t)
751
+ return t.add(e), () => {
752
+ t.remove(e);
842
753
  };
843
- }, [l, i]), w(() => {
844
- if (i) {
845
- const e = i;
846
- typeof t == "number" && (e.translation.x = t), typeof n == "number" && (e.translation.y = n);
847
- for (const u in S)
848
- u in e && (e[u] = S[u]);
849
- }
850
- }, [S, i, t, n]), w(() => {
851
- if (i && Object.keys(g).length > 0)
852
- return a(i, g, l ?? void 0), () => {
853
- m(i);
754
+ }, [t, e]), h(() => {
755
+ typeof n == "number" && (e.translation.x = n), typeof s == "number" && (e.translation.y = s);
756
+ for (const i in c)
757
+ i in e && (e[i] = c[i]);
758
+ }, [c, e, n, s]), h(() => {
759
+ if (Object.keys(o).length > 0)
760
+ return u(e, o, t ?? void 0), () => {
761
+ a(e);
854
762
  };
855
- }, [i, a, m, l, g]), N(d, () => i, [i]), /* @__PURE__ */ A(L, {});
763
+ }, [
764
+ e,
765
+ u,
766
+ a,
767
+ t,
768
+ o
769
+ ]), R(l, () => e, [e]), /* @__PURE__ */ E(T, {});
856
770
  }
857
- ), oe = k.forwardRef(
858
- ({
859
- x: t,
860
- y: n,
861
- // Event handlers
862
- onClick: s,
863
- onContextMenu: d,
864
- onDoubleClick: f,
865
- onWheel: l,
866
- onPointerDown: a,
867
- onPointerUp: m,
868
- onPointerOver: i,
869
- onPointerOut: o,
870
- onPointerEnter: g,
871
- onPointerLeave: S,
872
- onPointerMove: e,
873
- onPointerCancel: u,
874
- // All other props are shape props
875
- ...c
876
- }, E) => {
877
- const { two: b, parent: j, registerEventShape: T, unregisterEventShape: H } = q(), [h, v] = F(null), r = _(
878
- () => ({
879
- ...s && { onClick: s },
880
- ...d && { onContextMenu: d },
881
- ...f && { onDoubleClick: f },
882
- ...l && { onWheel: l },
883
- ...a && { onPointerDown: a },
884
- ...m && { onPointerUp: m },
885
- ...i && { onPointerOver: i },
886
- ...o && { onPointerOut: o },
887
- ...g && { onPointerEnter: g },
888
- ...S && { onPointerLeave: S },
889
- ...e && { onPointerMove: e },
890
- ...u && { onPointerCancel: u }
891
- }),
892
- [
893
- s,
894
- d,
895
- f,
896
- l,
897
- a,
898
- m,
899
- i,
900
- o,
901
- g,
902
- S,
903
- e,
904
- u
905
- ]
906
- );
907
- return w(() => {
908
- const y = new I.Rectangle();
909
- return v(y), () => {
910
- v(null);
911
- };
912
- }, [b]), w(() => {
913
- if (j && h)
914
- return j.add(h), () => {
915
- j.remove(h);
771
+ ), je = k.forwardRef(
772
+ ({ x: n, y: s, ...r }, l) => {
773
+ const { parent: t, registerEventShape: u, unregisterEventShape: a } = C(), e = g(() => new H.Rectangle(), []), { eventHandlers: o, shapeProps: c } = g(() => {
774
+ const i = {}, d = {};
775
+ for (const f in r)
776
+ O.includes(f) ? i[f] = r[
777
+ f
778
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
779
+ ] : d[f] = r[f];
780
+ return { eventHandlers: i, shapeProps: d };
781
+ }, [r]);
782
+ return h(() => {
783
+ if (t)
784
+ return t.add(e), () => {
785
+ t.remove(e);
916
786
  };
917
- }, [j, h]), w(() => {
918
- if (h) {
919
- const y = h;
920
- typeof t == "number" && (y.translation.x = t), typeof n == "number" && (y.translation.y = n);
921
- for (const p in c)
922
- p in y && (y[p] = c[p]);
923
- }
924
- }, [c, h, t, n]), w(() => {
925
- if (h && Object.keys(r).length > 0)
926
- return T(h, r, j ?? void 0), () => {
927
- H(h);
787
+ }, [t, e]), h(() => {
788
+ typeof n == "number" && (e.translation.x = n), typeof s == "number" && (e.translation.y = s);
789
+ for (const i in c)
790
+ i in e && (e[i] = c[i]);
791
+ }, [c, e, n, s]), h(() => {
792
+ if (Object.keys(o).length > 0)
793
+ return u(e, o, t ?? void 0), () => {
794
+ a(e);
928
795
  };
929
- }, [h, T, H, j, r]), N(E, () => h, [h]), /* @__PURE__ */ A(L, {});
796
+ }, [
797
+ e,
798
+ u,
799
+ a,
800
+ t,
801
+ o
802
+ ]), R(l, () => e, [e]), /* @__PURE__ */ E(T, {});
930
803
  }
931
- ), ve = k.forwardRef(
932
- ({
933
- x: t,
934
- y: n,
935
- // Event handlers
936
- onClick: s,
937
- onContextMenu: d,
938
- onDoubleClick: f,
939
- onWheel: l,
940
- onPointerDown: a,
941
- onPointerUp: m,
942
- onPointerOver: i,
943
- onPointerOut: o,
944
- onPointerEnter: g,
945
- onPointerLeave: S,
946
- onPointerMove: e,
947
- onPointerCancel: u,
948
- // All other props are shape props
949
- ...c
950
- }, E) => {
951
- const { two: b, parent: j, registerEventShape: T, unregisterEventShape: H } = q(), [h, v] = F(null), r = _(
952
- () => ({
953
- ...s && { onClick: s },
954
- ...d && { onContextMenu: d },
955
- ...f && { onDoubleClick: f },
956
- ...l && { onWheel: l },
957
- ...a && { onPointerDown: a },
958
- ...m && { onPointerUp: m },
959
- ...i && { onPointerOver: i },
960
- ...o && { onPointerOut: o },
961
- ...g && { onPointerEnter: g },
962
- ...S && { onPointerLeave: S },
963
- ...e && { onPointerMove: e },
964
- ...u && { onPointerCancel: u }
965
- }),
966
- [
967
- s,
968
- d,
969
- f,
970
- l,
971
- a,
972
- m,
973
- i,
974
- o,
975
- g,
976
- S,
977
- e,
978
- u
979
- ]
980
- );
981
- return w(() => {
982
- const y = new I.RoundedRectangle();
983
- return v(y), () => {
984
- v(null);
985
- };
986
- }, [b]), w(() => {
987
- if (j && h)
988
- return j.add(h), () => {
989
- j.remove(h);
804
+ ), Le = k.forwardRef(
805
+ ({ x: n, y: s, ...r }, l) => {
806
+ const { parent: t, registerEventShape: u, unregisterEventShape: a } = C(), e = g(() => new H.RoundedRectangle(), []), { eventHandlers: o, shapeProps: c } = g(() => {
807
+ const i = {}, d = {};
808
+ for (const f in r)
809
+ O.includes(f) ? i[f] = r[
810
+ f
811
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
812
+ ] : d[f] = r[f];
813
+ return { eventHandlers: i, shapeProps: d };
814
+ }, [r]);
815
+ return h(() => {
816
+ if (t)
817
+ return t.add(e), () => {
818
+ t.remove(e);
990
819
  };
991
- }, [j, h]), w(() => {
992
- if (h) {
993
- const y = h;
994
- typeof t == "number" && (y.translation.x = t), typeof n == "number" && (y.translation.y = n);
995
- for (const p in c)
996
- p in y && (y[p] = c[p]);
997
- }
998
- }, [c, h, t, n]), w(() => {
999
- if (h && Object.keys(r).length > 0)
1000
- return T(h, r, j ?? void 0), () => {
1001
- H(h);
820
+ }, [t, e]), h(() => {
821
+ typeof n == "number" && (e.translation.x = n), typeof s == "number" && (e.translation.y = s);
822
+ for (const i in c)
823
+ i in e && (e[i] = c[i]);
824
+ }, [c, e, n, s]), h(() => {
825
+ if (Object.keys(o).length > 0)
826
+ return u(
827
+ e,
828
+ o,
829
+ t ?? void 0
830
+ ), () => {
831
+ a(e);
1002
832
  };
1003
- }, [h, T, H, j, r]), N(E, () => h, [h]), /* @__PURE__ */ A(L, {});
833
+ }, [
834
+ e,
835
+ u,
836
+ a,
837
+ t,
838
+ o
839
+ ]), R(l, () => e, [
840
+ e
841
+ ]), /* @__PURE__ */ E(T, {});
1004
842
  }
1005
- ), we = k.forwardRef(
1006
- ({
1007
- path: t,
1008
- x: n,
1009
- y: s,
1010
- autoPlay: d,
1011
- // Event handlers
1012
- onClick: f,
1013
- onContextMenu: l,
1014
- onDoubleClick: a,
1015
- onWheel: m,
1016
- onPointerDown: i,
1017
- onPointerUp: o,
1018
- onPointerOver: g,
1019
- onPointerOut: S,
1020
- onPointerEnter: e,
1021
- onPointerLeave: u,
1022
- onPointerMove: c,
1023
- onPointerCancel: E,
1024
- // All other props are shape props
1025
- ...b
1026
- }, j) => {
1027
- const { two: T, parent: H, registerEventShape: h, unregisterEventShape: v } = q(), [r, y] = F(null), p = _(
1028
- () => ({
1029
- ...f && { onClick: f },
1030
- ...l && { onContextMenu: l },
1031
- ...a && { onDoubleClick: a },
1032
- ...m && { onWheel: m },
1033
- ...i && { onPointerDown: i },
1034
- ...o && { onPointerUp: o },
1035
- ...g && { onPointerOver: g },
1036
- ...S && { onPointerOut: S },
1037
- ...e && { onPointerEnter: e },
1038
- ...u && { onPointerLeave: u },
1039
- ...c && { onPointerMove: c },
1040
- ...E && { onPointerCancel: E }
1041
- }),
1042
- [
1043
- f,
1044
- l,
1045
- a,
1046
- m,
1047
- i,
1048
- o,
1049
- g,
1050
- S,
1051
- e,
1052
- u,
1053
- c,
1054
- E
1055
- ]
1056
- );
1057
- return Q(() => {
1058
- const R = new I.Sprite(t);
1059
- return y(R), () => {
1060
- y(null);
1061
- };
1062
- }, [t, T]), w(() => {
1063
- if (H && r)
1064
- return H.add(r), () => {
1065
- H.remove(r);
843
+ ), Oe = k.forwardRef(
844
+ ({ src: n, x: s, y: r, autoPlay: l, ...t }, u) => {
845
+ const { parent: a, registerEventShape: e, unregisterEventShape: o } = C(), c = g(() => new H.Sprite(n), [n]), { eventHandlers: i, shapeProps: d } = g(() => {
846
+ const f = {}, v = {};
847
+ for (const p in t)
848
+ O.includes(p) ? f[p] = t[
849
+ p
850
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
851
+ ] : v[p] = t[p];
852
+ return { eventHandlers: f, shapeProps: v };
853
+ }, [t]);
854
+ return h(() => {
855
+ if (a)
856
+ return a.add(c), () => {
857
+ a.remove(c);
1066
858
  };
1067
- }, [H, r]), w(() => {
1068
- if (r) {
1069
- const R = r;
1070
- typeof n == "number" && (R.translation.x = n), typeof s == "number" && (R.translation.y = s), d ? R.play() : R.pause();
1071
- for (const G in b)
1072
- G in R && (R[G] = b[G]);
1073
- }
1074
- }, [b, r, n, s, d]), w(() => {
1075
- if (r && Object.keys(p).length > 0)
1076
- return h(r, p, H ?? void 0), () => {
1077
- v(r);
859
+ }, [a, c]), h(() => {
860
+ typeof s == "number" && (c.translation.x = s), typeof r == "number" && (c.translation.y = r), l ? c.play() : c.pause();
861
+ for (const f in d)
862
+ f in c && (c[f] = d[f]);
863
+ }, [d, c, s, r, l]), h(() => {
864
+ if (Object.keys(i).length > 0)
865
+ return e(c, i, a ?? void 0), () => {
866
+ o(c);
1078
867
  };
1079
- }, [r, h, v, H, p]), N(j, () => r, [r]), /* @__PURE__ */ A(L, {});
868
+ }, [
869
+ c,
870
+ e,
871
+ o,
872
+ a,
873
+ i
874
+ ]), R(u, () => c, [c]), /* @__PURE__ */ E(T, {});
1080
875
  }
1081
- ), Se = k.forwardRef(
1082
- ({
1083
- x: t,
1084
- y: n,
1085
- // Event handlers
1086
- onClick: s,
1087
- onContextMenu: d,
1088
- onDoubleClick: f,
1089
- onWheel: l,
1090
- onPointerDown: a,
1091
- onPointerUp: m,
1092
- onPointerOver: i,
1093
- onPointerOut: o,
1094
- onPointerEnter: g,
1095
- onPointerLeave: S,
1096
- onPointerMove: e,
1097
- onPointerCancel: u,
1098
- // All other props are shape props
1099
- ...c
1100
- }, E) => {
1101
- const { two: b, parent: j, registerEventShape: T, unregisterEventShape: H } = q(), [h, v] = F(null), r = _(
1102
- () => ({
1103
- ...s && { onClick: s },
1104
- ...d && { onContextMenu: d },
1105
- ...f && { onDoubleClick: f },
1106
- ...l && { onWheel: l },
1107
- ...a && { onPointerDown: a },
1108
- ...m && { onPointerUp: m },
1109
- ...i && { onPointerOver: i },
1110
- ...o && { onPointerOut: o },
1111
- ...g && { onPointerEnter: g },
1112
- ...S && { onPointerLeave: S },
1113
- ...e && { onPointerMove: e },
1114
- ...u && { onPointerCancel: u }
1115
- }),
1116
- [
1117
- s,
1118
- d,
1119
- f,
1120
- l,
1121
- a,
1122
- m,
1123
- i,
1124
- o,
1125
- g,
1126
- S,
1127
- e,
1128
- u
1129
- ]
1130
- );
1131
- return w(() => {
1132
- const y = new I.Star();
1133
- return v(y), () => {
1134
- v(null);
1135
- };
1136
- }, [b]), w(() => {
1137
- if (j && h)
1138
- return j.add(h), () => {
1139
- j.remove(h);
876
+ ), Ve = k.forwardRef(
877
+ ({ x: n, y: s, ...r }, l) => {
878
+ const { parent: t, registerEventShape: u, unregisterEventShape: a } = C(), e = g(() => new H.Star(), []), { eventHandlers: o, shapeProps: c } = g(() => {
879
+ const i = {}, d = {};
880
+ for (const f in r)
881
+ O.includes(f) ? i[f] = r[
882
+ f
883
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
884
+ ] : d[f] = r[f];
885
+ return { eventHandlers: i, shapeProps: d };
886
+ }, [r]);
887
+ return h(() => {
888
+ if (t)
889
+ return t.add(e), () => {
890
+ t.remove(e);
1140
891
  };
1141
- }, [j, h]), w(() => {
1142
- if (h) {
1143
- const y = h;
1144
- typeof t == "number" && (y.translation.x = t), typeof n == "number" && (y.translation.y = n);
1145
- for (const p in c)
1146
- p in y && (y[p] = c[p]);
1147
- }
1148
- }, [c, h, t, n]), w(() => {
1149
- if (h && Object.keys(r).length > 0)
1150
- return T(h, r, j ?? void 0), () => {
1151
- H(h);
892
+ }, [t, e]), h(() => {
893
+ typeof n == "number" && (e.translation.x = n), typeof s == "number" && (e.translation.y = s);
894
+ for (const i in c)
895
+ i in e && (e[i] = c[i]);
896
+ }, [c, e, n, s]), h(() => {
897
+ if (Object.keys(o).length > 0)
898
+ return u(e, o, t ?? void 0), () => {
899
+ a(e);
1152
900
  };
1153
- }, [h, T, H, j, r]), N(E, () => h, [h]), /* @__PURE__ */ A(L, {});
901
+ }, [e, u, a, t, o]), R(l, () => e, [e]), /* @__PURE__ */ E(T, {});
1154
902
  }
1155
- ), Ee = k.forwardRef(
1156
- ({ x1: t, y1: n, x2: s, y2: d, ...f }, l) => {
1157
- const a = _(() => new I.LinearGradient(), []);
1158
- return w(() => {
1159
- if (a) {
1160
- const m = a;
1161
- typeof t == "number" && (m.left.x = t), typeof n == "number" && (m.left.y = n), typeof s == "number" && (m.right.x = s), typeof d == "number" && (m.right.y = d);
1162
- for (const i in f)
1163
- i in m && (m[i] = f[i]);
1164
- }
1165
- }, [a, t, n, s, d, f]), N(l, () => a, [a]), null;
903
+ ), Ge = k.forwardRef(
904
+ ({ x1: n, y1: s, x2: r, y2: l, ...t }, u) => {
905
+ const a = g(() => new H.LinearGradient(), []);
906
+ return h(() => {
907
+ typeof n == "number" && (a.left.x = n), typeof s == "number" && (a.left.y = s), typeof r == "number" && (a.right.x = r), typeof l == "number" && (a.right.y = l);
908
+ for (const e in t)
909
+ e in a && (a[e] = t[e]);
910
+ }, [a, n, s, r, l, t]), R(u, () => a, [a]), null;
1166
911
  }
1167
- ), be = k.forwardRef(
1168
- ({ x: t, y: n, focalX: s, focalY: d, ...f }, l) => {
1169
- const a = _(() => new I.RadialGradient(), []);
1170
- return w(() => {
1171
- if (a) {
1172
- const m = a;
1173
- typeof t == "number" && (a.center.x = t), typeof n == "number" && (a.center.y = n), typeof s == "number" && (a.focal.x = s), typeof d == "number" && (a.focal.y = d);
1174
- for (const i in f)
1175
- i in m && (m[i] = f[i]);
1176
- }
1177
- }, [f, a, t, n, s, d]), N(l, () => a, [a]), null;
912
+ ), Te = k.forwardRef(
913
+ ({ x: n, y: s, focalX: r, focalY: l, ...t }, u) => {
914
+ const a = g(() => new H.RadialGradient(), []);
915
+ return h(() => {
916
+ typeof n == "number" && (a.center.x = n), typeof s == "number" && (a.center.y = s), typeof r == "number" && (a.focal.x = r), typeof l == "number" && (a.focal.y = l);
917
+ for (const e in t)
918
+ e in a && (a[e] = t[e]);
919
+ }, [t, a, n, s, r, l]), R(u, () => a, [a]), null;
1178
920
  }
1179
- ), Re = k.forwardRef(
1180
- ({ source: t, ...n }, s) => {
1181
- const [d, f] = F(null);
1182
- return w(() => {
1183
- const l = new I.Texture(t);
1184
- return f(l), () => {
1185
- f(null);
1186
- };
1187
- }, [t]), w(() => {
1188
- if (d) {
1189
- const l = d;
1190
- for (const a in n)
1191
- a in l && (l[a] = n[a]);
1192
- }
1193
- }, [n, d]), N(s, () => d, [d]), null;
921
+ ), Me = k.forwardRef(
922
+ ({ src: n, ...s }, r) => {
923
+ const l = g(() => new H.Texture(n), [n]);
924
+ return h(() => {
925
+ for (const t in s)
926
+ t in l && (l[t] = s[t]);
927
+ }, [s, l]), R(r, () => l, [l]), null;
1194
928
  }
1195
929
  );
1196
930
  export {
1197
- de as ArcSegment,
1198
- fe as Canvas,
1199
- le as Circle,
1200
- X as Context,
1201
- ge as Ellipse,
1202
- ce as Group,
1203
- he as Image,
1204
- pe as ImageSequence,
1205
- me as Line,
1206
- Ee as LinearGradient,
1207
- ie as Path,
1208
- ae as Points,
1209
- ye as Polygon,
1210
- be as RadialGradient,
1211
- oe as Rectangle,
1212
- ve as RoundedRectangle,
1213
- we as Sprite,
1214
- Se as Star,
1215
- ue as Text,
1216
- Re as Texture,
1217
- se as useFrame,
1218
- q as useTwo
931
+ be as ArcSegment,
932
+ pe as Canvas,
933
+ Ee as Circle,
934
+ ce as Context,
935
+ Se as Ellipse,
936
+ ge as Group,
937
+ ke as Image,
938
+ He as ImageSequence,
939
+ Re as Line,
940
+ Ge as LinearGradient,
941
+ me as Path,
942
+ we as Points,
943
+ Ce as Polygon,
944
+ Te as RadialGradient,
945
+ je as Rectangle,
946
+ Le as RoundedRectangle,
947
+ ye as SVG,
948
+ Oe as Sprite,
949
+ Ve as Star,
950
+ Pe as Text,
951
+ Me as Texture,
952
+ ve as useFrame,
953
+ C as useTwo
1219
954
  };