@bravostudioai/react 0.1.31 → 0.1.34

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 (83) hide show
  1. package/dist/cli/commands/download.js +22 -39
  2. package/dist/cli/commands/download.js.map +1 -1
  3. package/dist/cli/commands/generate.js +130 -147
  4. package/dist/cli/commands/generate.js.map +1 -1
  5. package/dist/cli.js +21 -24
  6. package/dist/cli.js.map +1 -1
  7. package/dist/codegen/generator.js +126 -125
  8. package/dist/codegen/generator.js.map +1 -1
  9. package/dist/codegen/parser.js +256 -593
  10. package/dist/codegen/parser.js.map +1 -1
  11. package/dist/codegen/propQualification.js +117 -0
  12. package/dist/codegen/propQualification.js.map +1 -0
  13. package/dist/components/DynamicComponent.js.map +1 -1
  14. package/dist/components/EncoreApp.js +156 -265
  15. package/dist/components/EncoreApp.js.map +1 -1
  16. package/dist/components/EncoreContextProviders.js +24 -0
  17. package/dist/components/EncoreContextProviders.js.map +1 -0
  18. package/dist/components.js +179 -174
  19. package/dist/components.js.map +1 -1
  20. package/dist/hooks/useFontLoader.js +41 -0
  21. package/dist/hooks/useFontLoader.js.map +1 -0
  22. package/dist/hooks/usePusherUpdates.js +41 -45
  23. package/dist/hooks/usePusherUpdates.js.map +1 -1
  24. package/dist/hooks/useRepeatingContainers.js +79 -0
  25. package/dist/hooks/useRepeatingContainers.js.map +1 -0
  26. package/dist/index.js +13 -14
  27. package/dist/index.js.map +1 -1
  28. package/dist/lib/dataPatching.js +24 -0
  29. package/dist/lib/dataPatching.js.map +1 -0
  30. package/dist/lib/dynamicModules.js +44 -45
  31. package/dist/lib/dynamicModules.js.map +1 -1
  32. package/dist/lib/fetcher.js +6 -13
  33. package/dist/lib/fetcher.js.map +1 -1
  34. package/dist/lib/logger.js +35 -0
  35. package/dist/lib/logger.js.map +1 -0
  36. package/dist/lib/moduleRegistry.js +9 -8
  37. package/dist/lib/moduleRegistry.js.map +1 -1
  38. package/dist/src/cli/commands/download.d.ts +1 -1
  39. package/dist/src/cli/commands/download.d.ts.map +1 -1
  40. package/dist/src/cli/commands/generate.d.ts +1 -1
  41. package/dist/src/cli/commands/generate.d.ts.map +1 -1
  42. package/dist/src/codegen/generator.d.ts +75 -1
  43. package/dist/src/codegen/generator.d.ts.map +1 -1
  44. package/dist/src/codegen/parser.d.ts +39 -0
  45. package/dist/src/codegen/parser.d.ts.map +1 -1
  46. package/dist/src/codegen/propQualification.d.ts +42 -0
  47. package/dist/src/codegen/propQualification.d.ts.map +1 -0
  48. package/dist/src/components/DynamicComponent.d.ts +1 -1
  49. package/dist/src/components/DynamicComponent.d.ts.map +1 -1
  50. package/dist/src/components/EncoreApp.d.ts +58 -3
  51. package/dist/src/components/EncoreApp.d.ts.map +1 -1
  52. package/dist/src/components/EncoreContextProviders.d.ts +34 -0
  53. package/dist/src/components/EncoreContextProviders.d.ts.map +1 -0
  54. package/dist/src/components.d.ts.map +1 -1
  55. package/dist/src/hooks/useFontLoader.d.ts +17 -0
  56. package/dist/src/hooks/useFontLoader.d.ts.map +1 -0
  57. package/dist/src/hooks/usePusherUpdates.d.ts.map +1 -1
  58. package/dist/src/hooks/useRepeatingContainers.d.ts +31 -0
  59. package/dist/src/hooks/useRepeatingContainers.d.ts.map +1 -0
  60. package/dist/src/index.d.ts +2 -0
  61. package/dist/src/index.d.ts.map +1 -1
  62. package/dist/src/lib/dataPatching.d.ts +18 -0
  63. package/dist/src/lib/dataPatching.d.ts.map +1 -0
  64. package/dist/src/lib/dynamicModules.d.ts.map +1 -1
  65. package/dist/src/lib/fetcher.d.ts.map +1 -1
  66. package/dist/src/lib/logger.d.ts +33 -0
  67. package/dist/src/lib/logger.d.ts.map +1 -0
  68. package/dist/src/lib/moduleRegistry.d.ts.map +1 -1
  69. package/dist/src/stores/useEncoreState.d.ts +43 -1
  70. package/dist/src/stores/useEncoreState.d.ts.map +1 -1
  71. package/dist/src/version.d.ts +1 -1
  72. package/dist/stores/useEncoreState.js.map +1 -1
  73. package/dist/version.js +1 -1
  74. package/dist/version.js.map +1 -1
  75. package/package.json +2 -1
  76. package/src/cli/commands/download.ts +8 -28
  77. package/src/cli/commands/generate.ts +44 -45
  78. package/src/cli/index.ts +49 -32
  79. package/src/codegen/generator.ts +6 -3
  80. package/src/components/DynamicComponent.tsx +1 -1
  81. package/src/components/EncoreApp.tsx +111 -21
  82. package/src/hooks/useRepeatingContainers.ts +1 -1
  83. package/src/version.ts +1 -1
@@ -1,288 +1,177 @@
1
- import { jsx as a } from "react/jsx-runtime";
2
- import Z from "../node_modules/swr/dist/index/index.js";
3
- import z from "../lib/fetcher.js";
4
- import p from "../stores/useEncoreState.js";
5
- import le, { useRef as Y, useEffect as i, useState as O, useCallback as m, useMemo as ie, Suspense as pe } from "react";
6
- import { setLocalModeOverride as P, isLocalMode as U } from "../lib/localMode.js";
7
- import de from "../contexts/EncoreBindingContext.js";
8
- import fe from "../contexts/EncoreComponentIdContext.js";
9
- import ue from "../contexts/EncoreActionContext.js";
10
- import he from "../contexts/EncoreRepeatingContainerContext.js";
11
- import me from "./DynamicComponent.js";
12
- import { useEncoreRouter as ye } from "../contexts/EncoreRouterContext.js";
13
- import { usePusherUpdates as ge } from "../hooks/usePusherUpdates.js";
14
- const Ee = ({ to: r, children: l, style: v, ...A }) => {
15
- const { navigate: d } = ye();
16
- return /* @__PURE__ */ a(
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import K from "../node_modules/swr/dist/index/index.js";
3
+ import T from "../lib/fetcher.js";
4
+ import i from "../stores/useEncoreState.js";
5
+ import { useRef as _, useEffect as c, useState as H, useCallback as st, useMemo as nt, Suspense as ct } from "react";
6
+ import { setLocalModeOverride as A, isLocalMode as B } from "../lib/localMode.js";
7
+ import at from "./DynamicComponent.js";
8
+ import { useEncoreRouter as it } from "../contexts/EncoreRouterContext.js";
9
+ import { usePusherUpdates as lt } from "../hooks/usePusherUpdates.js";
10
+ import { useFontLoader as dt } from "../hooks/useFontLoader.js";
11
+ import { useRepeatingContainers as ut } from "../hooks/useRepeatingContainers.js";
12
+ import { EncoreContextProviders as ft } from "./EncoreContextProviders.js";
13
+ import { patchPageData as mt } from "../lib/dataPatching.js";
14
+ import { logger as f } from "../lib/logger.js";
15
+ const ht = ({ to: e, children: o, style: D, ...b }) => {
16
+ const { navigate: l } = it();
17
+ return /* @__PURE__ */ n(
17
18
  "a",
18
19
  {
19
- href: r,
20
- onClick: (y) => {
21
- y.preventDefault(), d(r);
20
+ href: e,
21
+ onClick: (m) => {
22
+ m.preventDefault(), l(e);
22
23
  },
23
- style: { cursor: "pointer", ...v },
24
- ...A,
25
- children: l
24
+ style: { cursor: "pointer", ...D },
25
+ ...b,
26
+ children: o
26
27
  }
27
28
  );
28
- }, Ae = (r) => r.setApp, $e = (r) => r.setAppId, we = (r) => r.setPageId, Re = (r) => r.assetsById, Me = ({
29
- appId: r,
30
- pageId: l,
31
- componentId: v,
32
- fallback: A,
33
- onSizeChange: d,
34
- onContentSizeChange: y,
35
- onAction: q,
36
- data: $,
37
- source: f,
38
- repeatingContainerControls: g,
39
- inputGroups: D,
40
- baseURL: b,
41
- appDefinition: w,
42
- pageDefinition: x,
43
- componentCode: Q
29
+ }, pt = (e) => e.setApp, yt = (e) => e.setAppId, gt = (e) => e.setPageId, vt = (e) => e.assetsById, Ut = ({
30
+ appId: e,
31
+ pageId: o,
32
+ componentId: D,
33
+ fallback: b,
34
+ onSizeChange: l,
35
+ onContentSizeChange: m,
36
+ onAction: Y,
37
+ data: w,
38
+ source: d,
39
+ repeatingContainerControls: q,
40
+ inputGroups: L,
41
+ baseURL: S,
42
+ appDefinition: h,
43
+ pageDefinition: R,
44
+ componentCode: O,
45
+ mode: P
44
46
  }) => {
45
- console.log("Render: EncoreApp"), console.log("🔥 ENCORE-LIB SOURCE CODE IS ACTIVE 🔥"), console.log("✨ ENCORE-LIB UPDATED - TEST MESSAGE "), console.log(
46
- `[AG_DEBUG] [EncoreApp] Render Start. appId: ${r}, pageId: ${l}`
47
- ), b && p.getState().baseURL !== b && p.getState().setBaseURL(b), f && P(f === "local" ? "local" : "remote");
48
- const X = !1, k = p(Ae), N = p($e), I = p(we), E = p(Re), M = Y(null), F = Y(null);
49
- i(() => {
50
- if (!y) return;
47
+ f.debug("EncoreApp render", { appId: e, pageId: o, mode: P }), S && i.getState().baseURL !== S && i.getState().setBaseURL(S), d && A(d === "local" ? "local" : "remote");
48
+ const G = !1, C = i(pt), M = i(yt), E = i(gt), p = i(vt), U = _(null), F = _(null);
49
+ c(() => {
50
+ if (!m) return;
51
51
  const t = F.current;
52
52
  if (!t) return;
53
- const o = () => {
54
- y({
53
+ const r = () => {
54
+ m({
55
55
  width: t.scrollWidth,
56
56
  height: t.scrollHeight
57
57
  });
58
- }, e = new ResizeObserver(() => {
59
- o();
58
+ }, s = new ResizeObserver(() => {
59
+ r();
60
60
  });
61
- return o(), e.observe(t), () => e.disconnect();
62
- }, [y]);
63
- const [ee, te] = O(0), oe = m(() => {
64
- te((t) => typeof t == "number" ? t + 1 : Date.now());
61
+ return r(), s.observe(t), () => s.disconnect();
62
+ }, [m]);
63
+ const [J, Q] = H(0), X = st(() => {
64
+ Q((t) => typeof t == "number" ? t + 1 : Date.now());
65
65
  }, []);
66
- ge({
67
- appId: r,
68
- pageId: l || void 0,
69
- enabled: !U() && !w,
70
- onUpdate: oe
66
+ lt({
67
+ appId: e,
68
+ pageId: o || void 0,
69
+ enabled: !B() && !h,
70
+ onUpdate: X
71
71
  });
72
- const C = f === "local" || U(), L = w ? null : r && `/devices/apps/${r}${C ? "?useLocal=1" : ""}`, ne = Z(L, z, {
73
- suspense: !!L
74
- // Only use suspense if we are fetching
75
- }), u = w ? { data: w } : ne;
76
- i(() => {
77
- k(u.data);
78
- }, [u.data, k]), i(() => {
79
- const t = u?.data?.app?.fonts ?? [];
80
- console.log(
81
- `[AG_DEBUG] [EncoreApp] 🔎 Font check initiated. Found ${t?.length || 0} fonts in app definition.`
82
- ), t && t.length > 0 && console.log(
83
- "[AG_DEBUG] [EncoreApp] Font list:",
84
- t.map(
85
- (o) => `${o.fontName?.family} (${o.fontName?.postScriptName}) - Broken: ${o.broken} - URL: ${o.url}`
86
- )
87
- ), !(!t || t.length === 0) && (typeof window > "u" || !("FontFace" in window) || t.forEach((o) => {
88
- try {
89
- const e = o?.fontName?.family, n = o?.url, s = o?.fontName?.postScriptName;
90
- if (!e || !n) return;
91
- if (o.broken) {
92
- console.warn(
93
- `[EncoreApp] Font "${s || e}" is marked as broken in the database. URL: ${n} - SKIPPING DOWNLOAD`
94
- );
95
- return;
96
- }
97
- const c = s || e;
98
- new FontFace(c, `url(${n})`, {
99
- weight: "100 900",
100
- style: "normal"
101
- }).load().then((G) => {
102
- document.fonts.add(G), console.log(
103
- `[AG_DEBUG] [EncoreApp] ✅ Font loaded successfully: "${c}" - Source: ${n}`
104
- );
105
- const ae = document.fonts.check(
106
- `400 12px "${c}"`
107
- );
108
- console.log(
109
- `[AG_DEBUG] [EncoreApp] 🧪 document.fonts.check result for "${c}": ${ae}`
110
- );
111
- }).catch((G) => {
112
- console.warn(
113
- `[AG_DEBUG] [EncoreApp] ❌ Failed to load font "${s || e}" from ${n}`,
114
- G
115
- );
116
- });
117
- } catch (e) {
118
- console.warn("[EncoreApp] Error processing font:", e);
119
- }
120
- }));
121
- }, [u?.data]), i(() => {
122
- N(r);
123
- }, [r, N]), i(() => {
124
- l && I(l);
125
- }, [l, I]), i(() => {
126
- Object.keys(E).length !== 0 && (async () => await Promise.allSettled(
127
- Object.keys(E).map((t) => E[t].url ? new Promise((o) => {
128
- const e = new Image();
129
- e.onload = o, e.onerror = o, e.src = E[t].url;
72
+ const j = d === "local" || B(), y = P === "production", u = P === "optimistic", W = !y && !u, N = !y && e ? `/devices/apps/${e}${j ? "?useLocal=1" : ""}` : null, Z = K(N, T, {
73
+ suspense: W && !!N,
74
+ // Suspense only for Dynamic mode
75
+ fallbackData: u && h ? h : void 0,
76
+ revalidateOnMount: !0
77
+ // Ensure we fetch fresh data in optimistic mode
78
+ }), g = y && h ? { data: h } : Z;
79
+ c(() => {
80
+ C(g.data);
81
+ }, [g.data, C]), dt(g?.data), c(() => {
82
+ M(e);
83
+ }, [e, M]), c(() => {
84
+ o && E(o);
85
+ }, [o, E]), c(() => {
86
+ Object.keys(p).length !== 0 && (async () => await Promise.allSettled(
87
+ Object.keys(p).map((t) => p[t].url ? new Promise((r) => {
88
+ const s = new Image();
89
+ s.onload = r, s.onerror = r, s.src = p[t].url;
130
90
  }) : Promise.resolve())
131
91
  ))();
132
- }, [E]);
133
- const B = x ? null : r && l && `/devices/apps/${r}/node/${l}${C ? "?useLocal=1" : ""}`;
134
- console.log(`[AG_DEBUG] [EncoreApp] pageUrl: ${B}`);
135
- const re = Z(B, z, { suspense: !!B }), h = x ? { data: x } : re;
136
- console.log(
137
- `[AG_DEBUG] [EncoreApp] pageData.data type: ${typeof h?.data}, hasData: ${!!h?.data}`
138
- ), h?.data && console.log(
139
- `[AG_DEBUG] [EncoreApp] pageData.data JSON: ${JSON.stringify(
140
- h.data
141
- ).substring(0, 1e3)}`
92
+ }, [p]);
93
+ const k = !y && e && o ? `/devices/apps/${e}/node/${o}${j ? "?useLocal=1" : ""}` : null;
94
+ f.debug("Page data fetch", { pageUrl: k, mode: P });
95
+ const z = K(k, T, {
96
+ suspense: W && !!k,
97
+ fallbackData: u && R ? R : void 0,
98
+ revalidateOnMount: !0
99
+ }), $ = y && R ? { data: R } : z, [I, V] = H(
100
+ O
142
101
  );
143
- const se = ie(() => {
144
- let t = h.data?.clientData;
145
- console.log(
146
- `[AG_DEBUG] [EncoreApp] useMemo: clientData present? ${!!t}, Keys: ${Object.keys(
147
- t || {}
148
- )}`
149
- );
150
- const o = (e) => {
151
- if (!(!e || typeof e != "object")) {
152
- if ((e.componentId || e.type === "component:text") && console.log(
153
- `[AG_DEBUG] [EncoreApp] 📦 Node ${e.id} (${e.type}) Style:`,
154
- JSON.stringify(e.style)
155
- ), e.children && Array.isArray(e.children) && e.children.length > 1) {
156
- let n = 0, s = 0;
157
- e.children.forEach((S) => {
158
- S.style?.width && (n += S.style.width, s++);
159
- }), (Math.abs(n - 100) < 1 || Math.abs(n - 375) < 5) && s >= 2 && (e.style || (e.style = {}), e.style.layout || (e.style.layout = {}), e.style.layout.mode || (console.log(
160
- `[PATCH] Forcing HORIZONTAL layout for node ${e.id} (${s} children, widths sum: ${n})`
161
- ), e.style.layout.mode = "HORIZONTAL", e.style.layout.primaryAxisAlignItems = "flex-start", e.style.layout.counterAxisAlignItems = "flex-start"));
102
+ c(() => {
103
+ u && e && o && !B() ? (async () => {
104
+ try {
105
+ const { CONST_COMPONENTS_CDN_URL: r } = await import("../packages/encore-lib/constants.js"), s = Math.round(Date.now() / 1e3), x = `${e}/draft/components/${o}`, v = `${r}/${x}.js?cacheBuster=${s}`, a = await fetch(v);
106
+ if (a.ok) {
107
+ const rt = await a.text();
108
+ V(rt), f.debug("Refreshed optimistic component code");
162
109
  }
163
- e.children && (Array.isArray(e.children) ? e.children.forEach(o) : o(e.children));
110
+ } catch (r) {
111
+ f.warn("Failed to background refresh optimistic component", r);
164
112
  }
165
- };
166
- return t && o(t), {
113
+ })() : V(O);
114
+ }, [O, u, e, o]);
115
+ const tt = u ? I : O;
116
+ f.debug("Page data loaded", {
117
+ hasData: !!$?.data,
118
+ dataType: typeof $?.data
119
+ });
120
+ const et = nt(() => {
121
+ let t = $.data?.clientData;
122
+ return f.debug("Building context", {
123
+ hasClientData: !!t,
124
+ clientDataKeys: Object.keys(t || {}).length
125
+ }), t && mt(t), {
167
126
  nodeData: void 0,
168
127
  // Allow overriding specific values by element id.
169
128
  // For now, this is used to override TextComponent content when the node has the PROP:TEXT_VAR tag.
170
- textOverridesById: $,
129
+ textOverridesById: w,
171
130
  // Support for encore:data:array tags - provide array data by component ID
172
- arrayDataById: $,
131
+ arrayDataById: w,
173
132
  // Support for standalone component data binding (encore:data tags at root level)
174
- rootData: $
133
+ rootData: w
175
134
  };
176
- }, [h.data?.clientData, $]), [_, W] = O(/* @__PURE__ */ new Map()), [R, j] = O(/* @__PURE__ */ new Map());
177
- i(() => {
178
- g && j((t) => {
179
- let o = !1;
180
- if (t.size !== Object.keys(g).length)
181
- o = !0;
182
- else
183
- for (const [n, s] of Object.entries(
184
- g
185
- )) {
186
- const c = t.get(n);
187
- if (!c) {
188
- o = !0;
189
- break;
190
- }
191
- if (c.currentIndex !== s.currentIndex || c.onIndexChange !== s.onIndexChange) {
192
- o = !0;
193
- break;
194
- }
195
- }
196
- if (!o) return t;
197
- const e = /* @__PURE__ */ new Map();
198
- return Object.entries(g).forEach(([n, s]) => {
199
- e.set(n, s);
200
- }), e;
201
- });
202
- }, [g]), i(() => {
203
- if (D) {
204
- const t = p.getState().setInputGroupValue;
205
- Object.entries(D).forEach(([o, e]) => {
206
- t(o, e);
135
+ }, [$.data?.clientData, w]), ot = ut(
136
+ q
137
+ );
138
+ return c(() => {
139
+ if (L) {
140
+ const t = i.getState().setInputGroupValue;
141
+ Object.entries(L).forEach(([r, s]) => {
142
+ t(r, s);
207
143
  });
208
144
  }
209
- }, [D]);
210
- const T = m(
211
- (t, o) => {
212
- W((e) => {
213
- const n = new Map(e);
214
- return n.set(t, o), n;
215
- });
216
- },
217
- []
218
- ), V = m((t) => {
219
- W((o) => {
220
- const e = new Map(o);
221
- return e.delete(t), e;
222
- });
223
- }, []), H = m(
224
- (t) => _.get(t),
225
- [_]
226
- ), K = m(
227
- (t, o) => {
228
- j((e) => {
229
- const n = new Map(e), s = n.get(t) || {}, c = typeof o == "function" ? o(s) : o;
230
- return n.set(t, c), n;
231
- });
232
- },
233
- []
234
- ), J = m(
235
- (t) => R.get(t),
236
- [R]
237
- ), ce = le.useMemo(
238
- () => ({
239
- registerContainer: T,
240
- unregisterContainer: V,
241
- getControl: H,
242
- setControlProps: K,
243
- getControlProps: J,
244
- // Include controlPropsMap size in the value to trigger re-renders when it changes
245
- _propsVersion: R.size
246
- }),
247
- [
248
- T,
249
- V,
250
- H,
251
- K,
252
- J,
253
- R.size
254
- ]
255
- );
256
- return i(() => {
257
- if (!d) return;
258
- const t = M.current;
145
+ }, [L]), c(() => {
146
+ if (!l) return;
147
+ const t = U.current;
259
148
  if (!t) return;
260
- const o = (s) => {
261
- const c = s.contentRect;
262
- d({ width: c.width, height: c.height });
263
- }, e = new ResizeObserver((s) => {
264
- for (const c of s)
265
- o(c);
266
- }), n = t.getBoundingClientRect();
267
- return d({ width: n.width, height: n.height }), e.observe(t), () => {
268
- e.disconnect();
149
+ const r = (v) => {
150
+ const a = v.contentRect;
151
+ l({ width: a.width, height: a.height });
152
+ }, s = new ResizeObserver((v) => {
153
+ for (const a of v)
154
+ r(a);
155
+ }), x = t.getBoundingClientRect();
156
+ return l({ width: x.width, height: x.height }), s.observe(t), () => {
157
+ s.disconnect();
269
158
  };
270
- }, [d]), i(() => {
271
- if (f)
272
- return P(f === "local" ? "local" : "remote"), () => {
273
- P(null);
159
+ }, [l]), c(() => {
160
+ if (d)
161
+ return A(d === "local" ? "local" : "remote"), () => {
162
+ A(null);
274
163
  };
275
- }, [f]), l ? /* @__PURE__ */ a(
164
+ }, [d]), o ? /* @__PURE__ */ n(
276
165
  "div",
277
166
  {
278
- ref: M,
167
+ ref: U,
279
168
  style: {
280
169
  width: "100%",
281
170
  height: "100%",
282
171
  position: "relative",
283
172
  overflow: "hidden"
284
173
  },
285
- children: /* @__PURE__ */ a(
174
+ children: /* @__PURE__ */ n(
286
175
  "div",
287
176
  {
288
177
  ref: F,
@@ -292,34 +181,36 @@ const Ee = ({ to: r, children: l, style: v, ...A }) => {
292
181
  display: "flex",
293
182
  flexDirection: "column"
294
183
  },
295
- children: /* @__PURE__ */ a(pe, { fallback: A || /* @__PURE__ */ a("div", {}), children: /* @__PURE__ */ a(fe.Provider, { value: { componentId: v }, children: /* @__PURE__ */ a(ue.Provider, { value: { onAction: q }, children: /* @__PURE__ */ a(
296
- he.Provider,
184
+ children: /* @__PURE__ */ n(ct, { fallback: b || /* @__PURE__ */ n("div", {}), children: /* @__PURE__ */ n(
185
+ ft,
297
186
  {
298
- value: ce,
299
- children: /* @__PURE__ */ a(de.Provider, { value: se, children: /* @__PURE__ */ a(
300
- me,
187
+ componentId: D,
188
+ onAction: Y,
189
+ repeatingContainerContextValue: ot,
190
+ bindingContextValue: et,
191
+ children: /* @__PURE__ */ n(
192
+ at,
301
193
  {
302
- name: `${r}/draft/components/${l}`,
303
- fallback: A,
304
- reloadKey: ee,
305
- componentCode: Q,
306
- children: " "
194
+ name: `${e}/draft/components/${o}`,
195
+ fallback: b,
196
+ reloadKey: J,
197
+ componentCode: tt
307
198
  }
308
- ) })
199
+ )
309
200
  }
310
- ) }) }) })
201
+ ) })
311
202
  }
312
203
  )
313
204
  }
314
- ) : /* @__PURE__ */ a("div", { style: { padding: "30px" }, children: /* @__PURE__ */ a("div", { style: { overflowY: "auto" }, children: (U() ? (
205
+ ) : /* @__PURE__ */ n("div", { style: { padding: "30px" }, children: /* @__PURE__ */ n("div", { style: { overflowY: "auto" }, children: (B() ? (
315
206
  // Local mode: app.json provides pages under app.data.pages
316
- (u?.data?.app?.data?.pages || []).map(
207
+ (g?.data?.app?.data?.pages || []).map(
317
208
  (t) => t?.id
318
209
  )
319
- ) : u?.data?.app.pageIds || []).map((t) => /* @__PURE__ */ a(
320
- Ee,
210
+ ) : g?.data?.app.pageIds || []).map((t) => /* @__PURE__ */ n(
211
+ ht,
321
212
  {
322
- to: `/apps/${r}/pages/${t}?noRedirect=${X}`,
213
+ to: `/apps/${e}/pages/${t}?noRedirect=${G}`,
323
214
  style: {
324
215
  fontSize: 20,
325
216
  display: "block",
@@ -331,6 +222,6 @@ const Ee = ({ to: r, children: l, style: v, ...A }) => {
331
222
  )) }) });
332
223
  };
333
224
  export {
334
- Me as default
225
+ Ut as default
335
226
  };
336
227
  //# sourceMappingURL=EncoreApp.js.map