@xmachines/play-solid 1.0.0-beta.31 → 1.0.0-beta.33

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,46 +1,46 @@
1
1
  import { createStateStore as e, flattenToPointers as t, getByPath as n } from "../../core/dist/chunk-AFLK3Q4T.js";
2
- import { evaluateVisibility as r, executeAction as i, resolveAction as a, resolveActionParam as o, resolveBindings as s, resolveElementProps as c } from "../../core/dist/index.js";
2
+ import { evaluateVisibility as r, executeAction as i, isDevtoolsActive as a, nextActionDispatchId as o, notifyActionDispatch as s, notifyActionSettle as c, resolveAction as l, resolveActionParam as u, resolveBindings as d, resolveElementProps as f, subscribeDevtoolsActive as p } from "../../core/dist/index.js";
3
3
  import "./chunk-XTSB6FIM.js";
4
4
  import "../../core/dist/store-utils.js";
5
- import { createComponent as l, delegateEvents as u } from "solid-js/web";
6
- import { ErrorBoundary as d, For as f, Show as p, createContext as m, createEffect as h, createMemo as g, createSignal as _, onCleanup as v, useContext as y } from "solid-js";
5
+ import { createComponent as m, delegateEvents as h, effect as g, insert as _, memo as v, setAttribute as y, template as b } from "solid-js/web";
6
+ import { ErrorBoundary as x, For as S, Show as C, createContext as w, createEffect as T, createMemo as E, createSignal as D, onCleanup as O, useContext as k } from "solid-js";
7
7
  //#region ../../node_modules/@json-render/solid/dist/index.mjs
8
- var b = m(null);
9
- function x(e, n) {
8
+ var A = w(null);
9
+ function j(e, n) {
10
10
  return e ? null : Object.keys(n).length === 0 ? {} : t(n);
11
11
  }
12
- function S(r) {
12
+ function M(r) {
13
13
  let i;
14
14
  r.store || (i = e(r.initialState ?? {}));
15
15
  let a = () => r.store ?? i, o = r.store ? "controlled" : "uncontrolled", s = !1;
16
- typeof globalThis < "u" && globalThis.process?.env?.NODE_ENV !== "production" && h(() => {
16
+ typeof globalThis < "u" && globalThis.process?.env?.NODE_ENV !== "production" && T(() => {
17
17
  let e = r.store ? "controlled" : "uncontrolled";
18
18
  e !== o && !s && (s = !0, console.warn(`StateProvider: switching from ${o} to ${e} mode is not supported.`));
19
19
  });
20
- let c = r.initialState, u = x(!!r.store, r.initialState ?? {});
21
- h(() => {
20
+ let c = r.initialState, l = j(!!r.store, r.initialState ?? {});
21
+ T(() => {
22
22
  if (r.store) return;
23
23
  let e = r.initialState ?? {};
24
24
  if (e === c) return;
25
25
  c = e;
26
- let n = e && Object.keys(e).length > 0 ? t(e) : {}, i = u ?? {}, o = /* @__PURE__ */ new Set([...Object.keys(i), ...Object.keys(n)]), s = {};
26
+ let n = e && Object.keys(e).length > 0 ? t(e) : {}, i = l ?? {}, o = /* @__PURE__ */ new Set([...Object.keys(i), ...Object.keys(n)]), s = {};
27
27
  for (let e of o) i[e] !== n[e] && (s[e] = e in n ? n[e] : void 0);
28
- u = n, Object.keys(s).length > 0 && a().update(s);
28
+ l = n, Object.keys(s).length > 0 && a().update(s);
29
29
  });
30
- let [d, f] = _(a().getSnapshot(), { equals: !1 }), p = /* @__PURE__ */ new Set(), m = (e) => (p.add(e), () => {
31
- p.delete(e);
32
- }), g = (e) => {
33
- for (let t of p) t(e);
30
+ let [u, d] = D(a().getSnapshot(), { equals: !1 }), f = /* @__PURE__ */ new Set(), p = (e) => (f.add(e), () => {
31
+ f.delete(e);
32
+ }), h = (e) => {
33
+ for (let t of f) t(e);
34
34
  };
35
- h(() => {
35
+ T(() => {
36
36
  let e = a();
37
- f(e.getSnapshot()), v(e.subscribe(() => {
38
- f(e.getSnapshot());
37
+ d(e.getSnapshot()), O(e.subscribe(() => {
38
+ d(e.getSnapshot());
39
39
  }));
40
40
  });
41
- let y = {
41
+ let g = {
42
42
  get state() {
43
- return d();
43
+ return u();
44
44
  },
45
45
  get: (e) => a().get(e),
46
46
  set: (e, t) => {
@@ -50,7 +50,7 @@ function S(r) {
50
50
  path: e,
51
51
  value: t
52
52
  }];
53
- g(n), !r.store && i.getSnapshot() !== o && r.onStateChange?.(n);
53
+ h(n), !r.store && i.getSnapshot() !== o && r.onStateChange?.(n);
54
54
  }
55
55
  },
56
56
  update: (e) => {
@@ -61,213 +61,234 @@ function S(r) {
61
61
  path: t,
62
62
  value: r
63
63
  });
64
- o.length > 0 && (g(o), !r.store && t.getSnapshot() !== i && r.onStateChange?.(o));
64
+ o.length > 0 && (h(o), !r.store && t.getSnapshot() !== i && r.onStateChange?.(o));
65
65
  },
66
66
  getSnapshot: () => a().getSnapshot(),
67
- subscribeChanges: m
67
+ subscribeChanges: p
68
68
  };
69
- return l(b.Provider, {
70
- value: y,
69
+ return m(A.Provider, {
70
+ value: g,
71
71
  get children() {
72
72
  return r.children;
73
73
  }
74
74
  });
75
75
  }
76
- function C() {
77
- let e = y(b);
76
+ function N() {
77
+ let e = k(A);
78
78
  if (!e) throw Error("useStateStore must be used within a StateProvider");
79
79
  return e;
80
80
  }
81
- var w = m(null);
82
- function T(e) {
83
- let t = C(), n = { get stateModel() {
81
+ var P = w(null);
82
+ function F(e) {
83
+ let t = N(), n = { get stateModel() {
84
84
  return t.state;
85
85
  } }, i = {
86
86
  isVisible: (e) => r(e, n),
87
87
  ctx: n
88
88
  };
89
- return l(w.Provider, {
89
+ return m(P.Provider, {
90
90
  value: i,
91
91
  get children() {
92
92
  return e.children;
93
93
  }
94
94
  });
95
95
  }
96
- function E() {
97
- let e = y(w);
96
+ function I() {
97
+ let e = k(P);
98
98
  if (!e) throw Error("useVisibility must be used within a VisibilityProvider");
99
99
  return e;
100
100
  }
101
- var D = m(null);
102
- function O() {
103
- return y(D);
101
+ var L = w(null);
102
+ function R() {
103
+ return k(L);
104
104
  }
105
- var k = 0;
106
- function A() {
107
- return k += 1, `${Date.now()}-${k}`;
105
+ var z = 0;
106
+ function B() {
107
+ return z += 1, `${Date.now()}-${z}`;
108
108
  }
109
- function j(e, t) {
109
+ function V(e, t) {
110
110
  if (e == null) return e;
111
- if (e === "$id") return A();
111
+ if (e === "$id") return B();
112
112
  if (typeof e == "object" && !Array.isArray(e)) {
113
113
  let n = e, r = Object.keys(n);
114
114
  if (r.length === 1 && typeof n.$state == "string") return t(n.$state);
115
- if (r.length === 1 && "$id" in n) return A();
115
+ if (r.length === 1 && "$id" in n) return B();
116
116
  }
117
- if (Array.isArray(e)) return e.map((e) => j(e, t));
117
+ if (Array.isArray(e)) return e.map((e) => V(e, t));
118
118
  if (typeof e == "object") {
119
119
  let n = {};
120
- for (let [r, i] of Object.entries(e)) n[r] = j(i, t);
120
+ for (let [r, i] of Object.entries(e)) n[r] = V(i, t);
121
121
  return n;
122
122
  }
123
123
  return e;
124
124
  }
125
- var M = m(null);
126
- function N(e) {
127
- let { get: t, set: n, getSnapshot: r } = C(), o = O(), [s, c] = _(e.handlers ?? {}), [u, d] = _(/* @__PURE__ */ new Set()), [f, p] = _(null), m = (e, t) => {
128
- c((n) => ({
125
+ var H = w(null);
126
+ function U(e) {
127
+ let { get: t, set: n, getSnapshot: r } = N(), a = R(), [u, d] = D(e.handlers ?? {}), [f, p] = D(/* @__PURE__ */ new Set()), [h, g] = D(null), _ = (e, t) => {
128
+ d((n) => ({
129
129
  ...n,
130
130
  [e]: t
131
131
  }));
132
- }, h = async (c) => {
133
- let l = a(c, r());
134
- if (l.action === "setState" && l.params) {
135
- let e = l.params.statePath, t = l.params.value;
136
- e && n(e, t);
137
- return;
138
- }
139
- if (l.action === "pushState" && l.params) {
140
- let e = l.params.statePath, r = l.params.value;
141
- if (e) {
142
- let i = j(r, t);
143
- n(e, [...t(e) ?? [], i]);
144
- let a = l.params.clearStatePath;
145
- a && n(a, "");
132
+ }, v = async (d) => {
133
+ let f = l(d, r()), m = o(), h = Date.now();
134
+ s({
135
+ id: m,
136
+ name: f.action,
137
+ params: f.params,
138
+ at: h
139
+ });
140
+ let _ = !0, y;
141
+ try {
142
+ if (f.action === "setState" && f.params) {
143
+ let e = f.params.statePath, t = f.params.value;
144
+ e && n(e, t);
145
+ return;
146
146
  }
147
- return;
148
- }
149
- if (l.action === "removeState" && l.params) {
150
- let e = l.params.statePath, r = l.params.index;
151
- e !== void 0 && r !== void 0 && n(e, (t(e) ?? []).filter((e, t) => t !== r));
152
- return;
153
- }
154
- if (l.action === "push" && l.params) {
155
- let e = l.params.screen;
156
- if (e) {
157
- let r = t("/currentScreen"), i = t("/navStack") ?? [];
158
- r ? n("/navStack", [...i, r]) : n("/navStack", [...i, ""]), n("/currentScreen", e);
147
+ if (f.action === "pushState" && f.params) {
148
+ let e = f.params.statePath, r = f.params.value;
149
+ if (e) {
150
+ let i = V(r, t);
151
+ n(e, [...t(e) ?? [], i]);
152
+ let a = f.params.clearStatePath;
153
+ a && n(a, "");
154
+ }
155
+ return;
159
156
  }
160
- return;
161
- }
162
- if (l.action === "pop") {
163
- let e = t("/navStack") ?? [];
164
- if (e.length > 0) {
165
- let t = e[e.length - 1];
166
- n("/navStack", e.slice(0, -1)), t ? n("/currentScreen", t) : n("/currentScreen", void 0);
157
+ if (f.action === "removeState" && f.params) {
158
+ let e = f.params.statePath, r = f.params.index;
159
+ e !== void 0 && r !== void 0 && n(e, (t(e) ?? []).filter((e, t) => t !== r));
160
+ return;
167
161
  }
168
- return;
169
- }
170
- if (l.action === "validateForm") {
171
- let e = o?.validateAll;
172
- if (!e) {
173
- console.warn("validateForm action was dispatched but no ValidationProvider is connected. Ensure ValidationProvider is rendered inside the provider tree.");
162
+ if (f.action === "push" && f.params) {
163
+ let e = f.params.screen;
164
+ if (e) {
165
+ let r = t("/currentScreen"), i = t("/navStack") ?? [];
166
+ r ? n("/navStack", [...i, r]) : n("/navStack", [...i, ""]), n("/currentScreen", e);
167
+ }
174
168
  return;
175
169
  }
176
- let t = e(), r = {};
177
- for (let [e, t] of Object.entries(o.fieldStates)) t.result && !t.result.valid && (r[e] = t.result.errors);
178
- n(l.params?.statePath || "/formValidation", {
179
- valid: t,
180
- errors: r
181
- });
182
- return;
183
- }
184
- let u = s()[l.action];
185
- if (!u) {
186
- console.warn(`No handler registered for action: ${l.action}`);
187
- return;
188
- }
189
- if (l.confirm) return new Promise((e, t) => {
190
- p({
191
- action: l,
192
- handler: u,
193
- resolve: () => {
194
- p(null), e();
195
- },
196
- reject: () => {
197
- p(null), t(/* @__PURE__ */ Error("Action cancelled"));
170
+ if (f.action === "pop") {
171
+ let e = t("/navStack") ?? [];
172
+ if (e.length > 0) {
173
+ let t = e[e.length - 1];
174
+ n("/navStack", e.slice(0, -1)), t ? n("/currentScreen", t) : n("/currentScreen", void 0);
175
+ }
176
+ return;
177
+ }
178
+ if (f.action === "validateForm") {
179
+ let e = a?.validateAll;
180
+ if (!e) {
181
+ console.warn("validateForm action was dispatched but no ValidationProvider is connected. Ensure ValidationProvider is rendered inside the provider tree.");
182
+ return;
183
+ }
184
+ let t = e(), r = {};
185
+ for (let [e, t] of Object.entries(a.fieldStates)) t.result && !t.result.valid && (r[e] = t.result.errors);
186
+ n(f.params?.statePath || "/formValidation", {
187
+ valid: t,
188
+ errors: r
189
+ });
190
+ return;
191
+ }
192
+ let r = u()[f.action];
193
+ if (!r) {
194
+ console.warn(`No handler registered for action: ${f.action}`);
195
+ return;
196
+ }
197
+ if (f.confirm) return new Promise((e, t) => {
198
+ g({
199
+ action: f,
200
+ handler: r,
201
+ resolve: () => {
202
+ g(null), e();
203
+ },
204
+ reject: () => {
205
+ g(null), t(/* @__PURE__ */ Error("Action cancelled"));
206
+ }
207
+ });
208
+ }).then(async () => {
209
+ p((e) => new Set(e).add(f.action));
210
+ try {
211
+ await i({
212
+ action: f,
213
+ handler: r,
214
+ setState: n,
215
+ navigate: e.navigate,
216
+ executeAction: async (e) => {
217
+ await v({ action: e });
218
+ }
219
+ });
220
+ } finally {
221
+ p((e) => {
222
+ let t = new Set(e);
223
+ return t.delete(f.action), t;
224
+ });
198
225
  }
199
226
  });
200
- }).then(async () => {
201
- d((e) => new Set(e).add(l.action));
227
+ p((e) => new Set(e).add(f.action));
202
228
  try {
203
229
  await i({
204
- action: l,
205
- handler: u,
230
+ action: f,
231
+ handler: r,
206
232
  setState: n,
207
233
  navigate: e.navigate,
208
234
  executeAction: async (e) => {
209
- await h({ action: e });
235
+ await v({ action: e });
210
236
  }
211
237
  });
212
238
  } finally {
213
- d((e) => {
239
+ p((e) => {
214
240
  let t = new Set(e);
215
- return t.delete(l.action), t;
241
+ return t.delete(f.action), t;
216
242
  });
217
243
  }
218
- });
219
- d((e) => new Set(e).add(l.action));
220
- try {
221
- await i({
222
- action: l,
223
- handler: u,
224
- setState: n,
225
- navigate: e.navigate,
226
- executeAction: async (e) => {
227
- await h({ action: e });
228
- }
229
- });
244
+ } catch (e) {
245
+ throw _ = !1, y = e, e;
230
246
  } finally {
231
- d((e) => {
232
- let t = new Set(e);
233
- return t.delete(l.action), t;
247
+ let e = Date.now();
248
+ c({
249
+ id: m,
250
+ name: f.action,
251
+ ok: _,
252
+ at: e,
253
+ durationMs: e - h,
254
+ error: y
234
255
  });
235
256
  }
236
- }, g = {
257
+ }, y = {
237
258
  get handlers() {
238
- return s();
259
+ return u();
239
260
  },
240
261
  get loadingActions() {
241
- return u();
262
+ return f();
242
263
  },
243
264
  get pendingConfirmation() {
244
- return f();
265
+ return h();
245
266
  },
246
- execute: h,
267
+ execute: v,
247
268
  confirm: () => {
248
- f()?.resolve();
269
+ h()?.resolve();
249
270
  },
250
271
  cancel: () => {
251
- f()?.reject();
272
+ h()?.reject();
252
273
  },
253
- registerHandler: m
274
+ registerHandler: _
254
275
  };
255
- return l(M.Provider, {
256
- value: g,
276
+ return m(H.Provider, {
277
+ value: y,
257
278
  get children() {
258
279
  return e.children;
259
280
  }
260
281
  });
261
282
  }
262
- function P() {
263
- let e = y(M);
283
+ function W() {
284
+ let e = k(H);
264
285
  if (!e) throw Error("useActions must be used within an ActionProvider");
265
286
  return e;
266
287
  }
267
- u(["click"]);
268
- var F = m(null);
269
- function I(e) {
270
- return l(F.Provider, {
288
+ h(["click"]);
289
+ var G = w(null);
290
+ function K(e) {
291
+ return m(G.Provider, {
271
292
  get value() {
272
293
  return {
273
294
  item: e.item,
@@ -280,15 +301,27 @@ function I(e) {
280
301
  }
281
302
  });
282
303
  }
283
- function L() {
284
- return y(F);
304
+ function q() {
305
+ return k(G);
285
306
  }
286
- var R = {}, z = m(R);
287
- function B() {
288
- return y(z) ?? R;
307
+ var J = /* @__PURE__ */ b("<span style=display:contents>");
308
+ function Y(e, t, n) {
309
+ if (typeof e?.onRenderError == "function") {
310
+ e.onRenderError(n, t);
311
+ return;
312
+ }
313
+ console.error(`[json-render] Rendering error in <${t}>:`, n);
314
+ }
315
+ var X = {}, Z = w(X);
316
+ function Q() {
317
+ return k(Z) ?? X;
289
318
  }
290
- function V(e) {
291
- let t = L(), { ctx: n } = E(), { execute: i } = P(), a = C(), u = () => a.getSnapshot(), f = B(), m = g(() => {
319
+ function ee() {
320
+ let [e, t] = D(a());
321
+ return O(p(() => t(a()))), e;
322
+ }
323
+ function $(e) {
324
+ let t = q(), { ctx: n } = I(), { execute: i } = W(), a = N(), o = () => a.getSnapshot(), s = Q(), c = E(() => {
292
325
  let e = t?.item, r = t?.index, i = t?.basePath;
293
326
  return {
294
327
  get stateModel() {
@@ -297,9 +330,9 @@ function V(e) {
297
330
  ...e === void 0 ? {} : { repeatItem: e },
298
331
  ...r === void 0 ? {} : { repeatIndex: r },
299
332
  ...i === void 0 ? {} : { repeatBasePath: i },
300
- functions: f
333
+ functions: s
301
334
  };
302
- }), _ = g(() => e.element.visible === void 0 ? !0 : r(e.element.visible, m())), y = async (t) => {
335
+ }), l = E(() => e.element.visible === void 0 ? !0 : r(e.element.visible, c())), p = async (t) => {
303
336
  let n = e.element.on?.[t];
304
337
  if (!n) return;
305
338
  let r = Array.isArray(n) ? n : [n];
@@ -309,19 +342,19 @@ function V(e) {
309
342
  continue;
310
343
  }
311
344
  let t = {
312
- ...m(),
313
- stateModel: u()
345
+ ...c(),
346
+ stateModel: o()
314
347
  }, n = {};
315
- for (let [r, i] of Object.entries(e.params)) n[r] = o(i, t);
348
+ for (let [r, i] of Object.entries(e.params)) n[r] = u(i, t);
316
349
  await i({
317
350
  ...e,
318
351
  params: n
319
352
  });
320
353
  }
321
- }, b = (t) => {
354
+ }, h = (t) => {
322
355
  let n = e.element.on?.[t];
323
356
  return n ? {
324
- emit: () => y(t),
357
+ emit: () => p(t),
325
358
  shouldPreventDefault: (Array.isArray(n) ? n : [n]).some((e) => e.preventDefault),
326
359
  bound: !0
327
360
  } : {
@@ -330,7 +363,7 @@ function V(e) {
330
363
  bound: !1
331
364
  };
332
365
  };
333
- h(() => {
366
+ T(() => {
334
367
  let t = e.element.watch;
335
368
  if (!t) return;
336
369
  let n = Object.keys(t);
@@ -349,10 +382,10 @@ function V(e) {
349
382
  continue;
350
383
  }
351
384
  let t = {
352
- ...m(),
353
- stateModel: u()
385
+ ...c(),
386
+ stateModel: o()
354
387
  }, n = {};
355
- for (let [r, i] of Object.entries(e.params)) n[r] = o(i, t);
388
+ for (let [r, i] of Object.entries(e.params)) n[r] = u(i, t);
356
389
  await i({
357
390
  ...e,
358
391
  params: n
@@ -361,31 +394,34 @@ function V(e) {
361
394
  }
362
395
  })().catch(console.error);
363
396
  });
364
- v(() => {
397
+ O(() => {
365
398
  r();
366
399
  });
367
400
  });
368
- let x = g(() => {
401
+ let g = E(() => {
369
402
  let t = e.element.props;
370
- return s(t, m());
371
- }), S = g(() => {
372
- let t = e.element.props, n = c(t, m());
403
+ return d(t, c());
404
+ }), _ = E(() => {
405
+ let t = e.element.props, n = f(t, c());
373
406
  return n === e.element.props ? e.element : {
374
407
  ...e.element,
375
408
  props: n
376
409
  };
377
410
  });
378
- return l(p, {
411
+ return m(C, {
379
412
  get when() {
380
- return _();
413
+ return l();
381
414
  },
382
415
  get children() {
383
- return l(d, {
384
- fallback: (t) => (console.error(`[json-render] Rendering error in <${e.element.type}>:`, t), null),
416
+ return m(x, {
417
+ fallback: (t) => (Y(e.registry, e.element.type, t), null),
385
418
  get children() {
386
- return l(H, {
419
+ return m(te, {
387
420
  get resolvedElement() {
388
- return S();
421
+ return _();
422
+ },
423
+ get elementKey() {
424
+ return e.elementKey;
389
425
  },
390
426
  get spec() {
391
427
  return e.spec;
@@ -399,10 +435,10 @@ function V(e) {
399
435
  get fallback() {
400
436
  return e.fallback;
401
437
  },
402
- emit: y,
403
- on: b,
438
+ emit: p,
439
+ on: h,
404
440
  get bindings() {
405
- return x();
441
+ return g();
406
442
  }
407
443
  });
408
444
  }
@@ -410,17 +446,17 @@ function V(e) {
410
446
  }
411
447
  });
412
448
  }
413
- function H(e) {
414
- let t = () => e.registry[e.resolvedElement.type] ?? e.fallback;
415
- return l(p, {
449
+ function te(e) {
450
+ let t = ee(), n = () => e.registry[e.resolvedElement.type] ?? e.fallback;
451
+ return m(C, {
416
452
  get when() {
417
- return t();
453
+ return n();
418
454
  },
419
455
  get fallback() {
420
456
  return console.warn(`No renderer for component type: ${e.resolvedElement.type}`), null;
421
457
  },
422
- children: (t) => {
423
- let n = t(), r = () => e.resolvedElement.repeat ? l(U, {
458
+ children: (n) => {
459
+ let r = n(), i = () => e.resolvedElement.repeat ? m(ne, {
424
460
  get element() {
425
461
  return e.resolvedElement;
426
462
  },
@@ -436,23 +472,24 @@ function H(e) {
436
472
  get fallback() {
437
473
  return e.fallback;
438
474
  }
439
- }) : l(f, {
475
+ }) : m(S, {
440
476
  get each() {
441
477
  return e.resolvedElement.children ?? [];
442
478
  },
443
479
  children: (t) => {
444
480
  let n = () => e.spec.elements[t];
445
- return l(p, {
481
+ return m(C, {
446
482
  get when() {
447
483
  return n();
448
484
  },
449
485
  get fallback() {
450
486
  return e.loading || console.warn(`[json-render] Missing element "${t}" referenced as child of "${e.resolvedElement.type}". This element will not render.`), null;
451
487
  },
452
- children: (t) => l(V, {
488
+ children: (n) => m($, {
453
489
  get element() {
454
- return t();
490
+ return n();
455
491
  },
492
+ elementKey: t,
456
493
  get spec() {
457
494
  return e.spec;
458
495
  },
@@ -468,8 +505,7 @@ function H(e) {
468
505
  })
469
506
  });
470
507
  }
471
- });
472
- return l(n, {
508
+ }), a = m(r, {
473
509
  get element() {
474
510
  return e.resolvedElement;
475
511
  },
@@ -486,19 +522,29 @@ function H(e) {
486
522
  return e.loading;
487
523
  },
488
524
  get children() {
489
- return r();
525
+ return i();
526
+ }
527
+ });
528
+ return m(C, {
529
+ get when() {
530
+ return v(() => !!t())() && e.elementKey;
531
+ },
532
+ fallback: a,
533
+ get children() {
534
+ var t = J();
535
+ return _(t, a), g(() => y(t, "data-jr-key", e.elementKey)), t;
490
536
  }
491
537
  });
492
538
  }
493
539
  });
494
540
  }
495
- function U(e) {
496
- let t = C(), r = () => e.element.repeat, i = () => r().statePath, a = () => n(t.state, i()) ?? [];
497
- return l(f, {
541
+ function ne(e) {
542
+ let t = N(), r = () => e.element.repeat, i = () => r().statePath, a = () => n(t.state, i()) ?? [];
543
+ return m(S, {
498
544
  get each() {
499
545
  return a();
500
546
  },
501
- children: (t, n) => l(I, {
547
+ children: (t, n) => m(K, {
502
548
  item: t,
503
549
  get index() {
504
550
  return n();
@@ -507,20 +553,20 @@ function U(e) {
507
553
  return `${i()}/${n()}`;
508
554
  },
509
555
  get children() {
510
- return l(f, {
556
+ return m(S, {
511
557
  get each() {
512
558
  return e.element.children ?? [];
513
559
  },
514
560
  children: (t) => {
515
561
  let n = () => e.spec.elements[t];
516
- return l(p, {
562
+ return m(C, {
517
563
  get when() {
518
564
  return n();
519
565
  },
520
566
  get fallback() {
521
567
  return e.loading || console.warn(`[json-render] Missing element "${t}" referenced as child of "${e.element.type}" (repeat). This element will not render.`), null;
522
568
  },
523
- children: (t) => l(V, {
569
+ children: (t) => m($, {
524
570
  get element() {
525
571
  return t();
526
572
  },
@@ -544,19 +590,22 @@ function U(e) {
544
590
  })
545
591
  });
546
592
  }
547
- function W(e) {
548
- let t = g(() => {
593
+ function re(e) {
594
+ let t = E(() => {
549
595
  let t = e.spec;
550
596
  if (!(!t || !t.root)) return t.elements[t.root];
551
597
  });
552
- return l(p, {
598
+ return m(C, {
553
599
  get when() {
554
600
  return t();
555
601
  },
556
- children: (t) => l(V, {
602
+ children: (t) => m($, {
557
603
  get element() {
558
604
  return t();
559
605
  },
606
+ get elementKey() {
607
+ return e.spec.root;
608
+ },
560
609
  get spec() {
561
610
  return e.spec;
562
611
  },
@@ -572,7 +621,7 @@ function W(e) {
572
621
  })
573
622
  });
574
623
  }
575
- function G(e, t) {
624
+ function ie(e, t) {
576
625
  let n = {};
577
626
  if (t.components) for (let [e, r] of Object.entries(t.components)) n[e] = (e) => r({
578
627
  get props() {
@@ -591,7 +640,11 @@ function G(e, t) {
591
640
  }
592
641
  });
593
642
  let r = t.actions ? Object.entries(t.actions) : [];
594
- return {
643
+ return t.onRenderError && Object.defineProperty(n, "onRenderError", {
644
+ value: t.onRenderError,
645
+ enumerable: !1,
646
+ configurable: !0
647
+ }), {
595
648
  registry: n,
596
649
  handlers: (e, t) => {
597
650
  let n = {};
@@ -607,13 +660,13 @@ function G(e, t) {
607
660
  }
608
661
  };
609
662
  }
610
- function K(e, t) {
611
- let { set: n } = C();
663
+ function ae(e, t) {
664
+ let { set: n } = N();
612
665
  return [e, (e) => {
613
666
  t && n(t, e);
614
667
  }];
615
668
  }
616
669
  //#endregion
617
- export { N as ActionProvider, W as Renderer, S as StateProvider, T as VisibilityProvider, G as defineRegistry, K as useBoundProp, C as useStateStore };
670
+ export { U as ActionProvider, re as Renderer, M as StateProvider, F as VisibilityProvider, ie as defineRegistry, ae as useBoundProp, N as useStateStore };
618
671
 
619
672
  //# sourceMappingURL=index.js.map