@ikonai/sdk-react-ui 1.0.52 → 1.0.54

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.
package/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { IkonUiCore as jt, UiStreamStore as Dt } from "@ikonai/sdk-ui";
2
- import { UiStreamStore as Qo } from "@ikonai/sdk-ui";
3
- import Bt, { useSyncExternalStore as Ve, useMemo as $, memo as z, useRef as v, useCallback as U, Fragment as Ft, useEffect as P, useState as q, use as Ke, createContext as gt } from "react";
4
- import { createLogger as fe, isInspectModeEnabled as $t, getOrCreateDeviceId as Vt, deriveAuthUrl as de, parseUrlParams as Kt, clearSessionParamsFromUrl as zt, isCloudEnvironment as Ge, extractUserIdFromToken as Yt, deriveBackendType as Je, IkonClient as Wt, AccessDeniedError as qt, AuthenticationError as Ht, subscribeToLogEvents as Gt, isDebugModeEnabled as Jt, LogLevel as Xe, getLangParam as Xt } from "@ikonai/sdk";
1
+ import { IkonUiCore as Dt, UiStreamStore as Bt } from "@ikonai/sdk-ui";
2
+ import { UiStreamStore as ns } from "@ikonai/sdk-ui";
3
+ import Ft, { useSyncExternalStore as Ve, useMemo as V, memo as Y, useRef as v, useCallback as U, Fragment as $t, useEffect as N, useState as $, use as Ke, createContext as gt } from "react";
4
+ import { createLogger as fe, isInspectModeEnabled as Vt, getOrCreateDeviceId as Kt, deriveAuthUrl as de, parseUrlParams as zt, clearSessionParamsFromUrl as Yt, isCloudEnvironment as Ge, extractUserIdFromToken as Wt, deriveBackendType as Je, IkonClient as Ht, AccessDeniedError as qt, AuthenticationError as Gt, subscribeToLogEvents as Jt, isDebugModeEnabled as Xt, LogLevel as Xe, getLangParam as Zt } from "@ikonai/sdk";
5
5
  var Se = { exports: {} }, ie = {};
6
6
  /**
7
7
  * @license React
@@ -13,7 +13,7 @@ var Se = { exports: {} }, ie = {};
13
13
  * LICENSE file in the root directory of this source tree.
14
14
  */
15
15
  var Ze;
16
- function Zt() {
16
+ function Qt() {
17
17
  if (Ze) return ie;
18
18
  Ze = 1;
19
19
  var t = Symbol.for("react.transitional.element"), e = Symbol.for("react.fragment");
@@ -45,7 +45,7 @@ var ae = {};
45
45
  * LICENSE file in the root directory of this source tree.
46
46
  */
47
47
  var Qe;
48
- function Qt() {
48
+ function er() {
49
49
  return Qe || (Qe = 1, process.env.NODE_ENV !== "production" && (function() {
50
50
  function t(d) {
51
51
  if (d == null) return null;
@@ -72,16 +72,16 @@ function Qt() {
72
72
  ), d.$$typeof) {
73
73
  case m:
74
74
  return "Portal";
75
- case _:
75
+ case C:
76
76
  return d.displayName || "Context";
77
77
  case O:
78
78
  return (d._context.displayName || "Context") + ".Consumer";
79
- case M:
79
+ case P:
80
80
  var w = d.render;
81
81
  return d = d.displayName, d || (d = w.displayName || w.name || "", d = d !== "" ? "ForwardRef(" + d + ")" : "ForwardRef"), d;
82
- case T:
82
+ case I:
83
83
  return w = d.displayName || null, w !== null ? w : t(d.type) || "Memo";
84
- case N:
84
+ case M:
85
85
  w = d._payload, d = d._init;
86
86
  try {
87
87
  return t(d(w));
@@ -102,17 +102,17 @@ function Qt() {
102
102
  }
103
103
  if (w) {
104
104
  w = console;
105
- var A = w.error, E = typeof Symbol == "function" && Symbol.toStringTag && d[Symbol.toStringTag] || d.constructor.name || "Object";
105
+ var A = w.error, R = typeof Symbol == "function" && Symbol.toStringTag && d[Symbol.toStringTag] || d.constructor.name || "Object";
106
106
  return A.call(
107
107
  w,
108
108
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
109
- E
109
+ R
110
110
  ), e(d);
111
111
  }
112
112
  }
113
113
  function n(d) {
114
114
  if (d === g) return "<>";
115
- if (typeof d == "object" && d !== null && d.$$typeof === N)
115
+ if (typeof d == "object" && d !== null && d.$$typeof === M)
116
116
  return "<...>";
117
117
  try {
118
118
  var w = t(d);
@@ -129,7 +129,7 @@ function Qt() {
129
129
  return Error("react-stack-top-frame");
130
130
  }
131
131
  function i(d) {
132
- if (V.call(d, "key")) {
132
+ if (K.call(d, "key")) {
133
133
  var w = Object.getOwnPropertyDescriptor(d, "key").get;
134
134
  if (w && w.isReactWarning) return !1;
135
135
  }
@@ -153,15 +153,15 @@ function Qt() {
153
153
  "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
154
154
  )), d = this.props.ref, d !== void 0 ? d : null;
155
155
  }
156
- function f(d, w, A, E, K, Z) {
157
- var C = A.ref;
156
+ function f(d, w, A, R, z, Z) {
157
+ var _ = A.ref;
158
158
  return d = {
159
159
  $$typeof: l,
160
160
  type: d,
161
161
  key: w,
162
162
  props: A,
163
- _owner: E
164
- }, (C !== void 0 ? C : null) !== null ? Object.defineProperty(d, "ref", {
163
+ _owner: R
164
+ }, (_ !== void 0 ? _ : null) !== null ? Object.defineProperty(d, "ref", {
165
165
  enumerable: !1,
166
166
  get: u
167
167
  }) : Object.defineProperty(d, "ref", { enumerable: !1, value: null }), d._store = {}, Object.defineProperty(d._store, "validated", {
@@ -178,7 +178,7 @@ function Qt() {
178
178
  configurable: !1,
179
179
  enumerable: !1,
180
180
  writable: !0,
181
- value: K
181
+ value: z
182
182
  }), Object.defineProperty(d, "_debugTask", {
183
183
  configurable: !1,
184
184
  enumerable: !1,
@@ -186,61 +186,61 @@ function Qt() {
186
186
  value: Z
187
187
  }), Object.freeze && (Object.freeze(d.props), Object.freeze(d)), d;
188
188
  }
189
- function h(d, w, A, E, K, Z) {
190
- var C = w.children;
191
- if (C !== void 0)
192
- if (E)
193
- if (he(C)) {
194
- for (E = 0; E < C.length; E++)
195
- p(C[E]);
196
- Object.freeze && Object.freeze(C);
189
+ function h(d, w, A, R, z, Z) {
190
+ var _ = w.children;
191
+ if (_ !== void 0)
192
+ if (R)
193
+ if (he(_)) {
194
+ for (R = 0; R < _.length; R++)
195
+ p(_[R]);
196
+ Object.freeze && Object.freeze(_);
197
197
  } else
198
198
  console.error(
199
199
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
200
200
  );
201
- else p(C);
202
- if (V.call(w, "key")) {
203
- C = t(d);
204
- var Y = Object.keys(w).filter(function(se) {
201
+ else p(_);
202
+ if (K.call(w, "key")) {
203
+ _ = t(d);
204
+ var W = Object.keys(w).filter(function(se) {
205
205
  return se !== "key";
206
206
  });
207
- E = 0 < Y.length ? "{key: someKey, " + Y.join(": ..., ") + ": ...}" : "{key: someKey}", ye[C + E] || (Y = 0 < Y.length ? "{" + Y.join(": ..., ") + ": ...}" : "{}", console.error(
207
+ R = 0 < W.length ? "{key: someKey, " + W.join(": ..., ") + ": ...}" : "{key: someKey}", ye[_ + R] || (W = 0 < W.length ? "{" + W.join(": ..., ") + ": ...}" : "{}", console.error(
208
208
  `A props object containing a "key" prop is being spread into JSX:
209
209
  let props = %s;
210
210
  <%s {...props} />
211
211
  React keys must be passed directly to JSX without using spread:
212
212
  let props = %s;
213
213
  <%s key={someKey} {...props} />`,
214
- E,
215
- C,
216
- Y,
217
- C
218
- ), ye[C + E] = !0);
214
+ R,
215
+ _,
216
+ W,
217
+ _
218
+ ), ye[_ + R] = !0);
219
219
  }
220
- if (C = null, A !== void 0 && (r(A), C = "" + A), i(w) && (r(w.key), C = "" + w.key), "key" in w) {
220
+ if (_ = null, A !== void 0 && (r(A), _ = "" + A), i(w) && (r(w.key), _ = "" + w.key), "key" in w) {
221
221
  A = {};
222
222
  for (var be in w)
223
223
  be !== "key" && (A[be] = w[be]);
224
224
  } else A = w;
225
- return C && a(
225
+ return _ && a(
226
226
  A,
227
227
  typeof d == "function" ? d.displayName || d.name || "Unknown" : d
228
228
  ), f(
229
229
  d,
230
- C,
230
+ _,
231
231
  A,
232
232
  o(),
233
- K,
233
+ z,
234
234
  Z
235
235
  );
236
236
  }
237
237
  function p(d) {
238
- y(d) ? d._store && (d._store.validated = 1) : typeof d == "object" && d !== null && d.$$typeof === N && (d._payload.status === "fulfilled" ? y(d._payload.value) && d._payload.value._store && (d._payload.value._store.validated = 1) : d._store && (d._store.validated = 1));
238
+ y(d) ? d._store && (d._store.validated = 1) : typeof d == "object" && d !== null && d.$$typeof === M && (d._payload.status === "fulfilled" ? y(d._payload.value) && d._payload.value._store && (d._payload.value._store.validated = 1) : d._store && (d._store.validated = 1));
239
239
  }
240
240
  function y(d) {
241
241
  return typeof d == "object" && d !== null && d.$$typeof === l;
242
242
  }
243
- var c = Bt, l = Symbol.for("react.transitional.element"), m = Symbol.for("react.portal"), g = Symbol.for("react.fragment"), b = Symbol.for("react.strict_mode"), S = Symbol.for("react.profiler"), O = Symbol.for("react.consumer"), _ = Symbol.for("react.context"), M = Symbol.for("react.forward_ref"), L = Symbol.for("react.suspense"), G = Symbol.for("react.suspense_list"), T = Symbol.for("react.memo"), N = Symbol.for("react.lazy"), D = Symbol.for("react.activity"), j = Symbol.for("react.client.reference"), B = c.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, V = Object.prototype.hasOwnProperty, he = Array.isArray, ne = console.createTask ? console.createTask : function() {
243
+ var c = Ft, l = Symbol.for("react.transitional.element"), m = Symbol.for("react.portal"), g = Symbol.for("react.fragment"), b = Symbol.for("react.strict_mode"), S = Symbol.for("react.profiler"), O = Symbol.for("react.consumer"), C = Symbol.for("react.context"), P = Symbol.for("react.forward_ref"), L = Symbol.for("react.suspense"), G = Symbol.for("react.suspense_list"), I = Symbol.for("react.memo"), M = Symbol.for("react.lazy"), D = Symbol.for("react.activity"), j = Symbol.for("react.client.reference"), B = c.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, K = Object.prototype.hasOwnProperty, he = Array.isArray, ne = console.createTask ? console.createTask : function() {
244
244
  return null;
245
245
  };
246
246
  c = {
@@ -253,34 +253,34 @@ React keys must be passed directly to JSX without using spread:
253
253
  s
254
254
  )(), X = ne(n(s)), ye = {};
255
255
  ae.Fragment = g, ae.jsx = function(d, w, A) {
256
- var E = 1e4 > B.recentlyCreatedOwnerStacks++;
256
+ var R = 1e4 > B.recentlyCreatedOwnerStacks++;
257
257
  return h(
258
258
  d,
259
259
  w,
260
260
  A,
261
261
  !1,
262
- E ? Error("react-stack-top-frame") : ge,
263
- E ? ne(n(d)) : X
262
+ R ? Error("react-stack-top-frame") : ge,
263
+ R ? ne(n(d)) : X
264
264
  );
265
265
  }, ae.jsxs = function(d, w, A) {
266
- var E = 1e4 > B.recentlyCreatedOwnerStacks++;
266
+ var R = 1e4 > B.recentlyCreatedOwnerStacks++;
267
267
  return h(
268
268
  d,
269
269
  w,
270
270
  A,
271
271
  !0,
272
- E ? Error("react-stack-top-frame") : ge,
273
- E ? ne(n(d)) : X
272
+ R ? Error("react-stack-top-frame") : ge,
273
+ R ? ne(n(d)) : X
274
274
  );
275
275
  };
276
276
  })()), ae;
277
277
  }
278
278
  var et;
279
- function er() {
280
- return et || (et = 1, process.env.NODE_ENV === "production" ? Se.exports = Zt() : Se.exports = Qt()), Se.exports;
279
+ function tr() {
280
+ return et || (et = 1, process.env.NODE_ENV === "production" ? Se.exports = Qt() : Se.exports = er()), Se.exports;
281
281
  }
282
- var R = er();
283
- function tr(t, e) {
282
+ var E = tr();
283
+ function rr(t, e) {
284
284
  const r = Ve(
285
285
  (n) => t.subscribe(n),
286
286
  () => {
@@ -292,7 +292,7 @@ function tr(t, e) {
292
292
  return `${o ?? ""}:${s?.id ?? ""}`;
293
293
  }
294
294
  );
295
- return $(() => {
295
+ return V(() => {
296
296
  const [n, o] = r.split(":");
297
297
  return {
298
298
  rootViewId: n || void 0,
@@ -306,10 +306,10 @@ function J(t, e) {
306
306
  () => t.getNodeVersion(e),
307
307
  () => t.getNodeVersion(e)
308
308
  );
309
- return $(() => t.getNode(e), [t, e, r]);
309
+ return V(() => t.getNode(e), [t, e, r]);
310
310
  }
311
- const rr = fe("UIRenderer");
312
- function nr(t) {
311
+ const nr = fe("UIRenderer");
312
+ function or(t) {
313
313
  if (t === void 0)
314
314
  return "{}";
315
315
  if (typeof t == "string")
@@ -320,18 +320,18 @@ function nr(t) {
320
320
  return "{}";
321
321
  }
322
322
  }
323
- function or(t) {
323
+ function sr(t) {
324
324
  const e = t.styleIds;
325
325
  return Array.isArray(e) ? e : [];
326
326
  }
327
- function sr(t) {
327
+ function ir(t) {
328
328
  const e = t.children;
329
329
  return Array.isArray(e) ? e : [];
330
330
  }
331
- function ir(t, e) {
331
+ function ar(t, e) {
332
332
  return t.nodeId === e.nodeId && t.context === e.context;
333
333
  }
334
- function ar(t) {
334
+ function cr(t) {
335
335
  if (t.length === 0) return "";
336
336
  if (t.length === 1) return t[0].id;
337
337
  let e = t[0].id;
@@ -339,30 +339,30 @@ function ar(t) {
339
339
  e += "," + t[r].id;
340
340
  return e;
341
341
  }
342
- const xe = z(function t({ nodeId: e, context: r }) {
343
- const n = J(r.store, e), o = n ? sr(n) : [], s = ar(o), i = $(
344
- () => o.length === 0 ? null : o.map((p) => /* @__PURE__ */ R.jsx(t, { nodeId: p.id, context: r }, p.id)),
342
+ const xe = Y(function t({ nodeId: e, context: r }) {
343
+ const n = J(r.store, e), o = n ? ir(n) : [], s = cr(o), i = V(
344
+ () => o.length === 0 ? null : o.map((p) => /* @__PURE__ */ E.jsx(t, { nodeId: p.id, context: r }, p.id)),
345
345
  // eslint-disable-next-line react-hooks/exhaustive-deps
346
346
  [s, r]
347
347
  );
348
348
  if (!n)
349
349
  return null;
350
350
  if (n.type === "root")
351
- return /* @__PURE__ */ R.jsx(Ft, { children: i }, n.id);
351
+ return /* @__PURE__ */ E.jsx($t, { children: i }, n.id);
352
352
  const a = r.library.resolve(n);
353
353
  if (!a)
354
- return rr.warn(`No renderer for node type ${n.type}`), null;
355
- const u = or(n), f = u.length > 0 ? u.join(" ") : void 0, h = a;
356
- return /* @__PURE__ */ R.jsx(h, { nodeId: e, context: r, className: f });
357
- }, ir);
358
- function cr(t, e) {
359
- return !Array.isArray(t) || t.length === 0 ? null : t.map((r) => /* @__PURE__ */ R.jsx(xe, { nodeId: r.id, context: e }, r.id));
360
- }
354
+ return nr.warn(`No renderer for node type ${n.type}`), null;
355
+ const u = sr(n), f = u.length > 0 ? u.join(" ") : void 0, h = a;
356
+ return /* @__PURE__ */ E.jsx(h, { nodeId: e, context: r, className: f });
357
+ }, ar);
361
358
  function ur(t, e) {
359
+ return !Array.isArray(t) || t.length === 0 ? null : t.map((r) => /* @__PURE__ */ E.jsx(xe, { nodeId: r.id, context: e }, r.id));
360
+ }
361
+ function lr(t, e) {
362
362
  return t.store === e.store && t.library === e.library && t.viewId === e.viewId && t.emptyFallback === e.emptyFallback;
363
363
  }
364
- const lr = z(function({ store: e, library: r, viewId: n, emptyFallback: o = null, onAction: s, client: i, video: a }) {
365
- const { rootViewId: u, rootNodeId: f } = tr(e, n), h = v(s);
364
+ const dr = Y(function({ store: e, library: r, viewId: n, emptyFallback: o = null, onAction: s, client: i, video: a }) {
365
+ const { rootViewId: u, rootNodeId: f } = rr(e, n), h = v(s);
366
366
  h.current = s;
367
367
  const p = v(i);
368
368
  p.current = i;
@@ -371,19 +371,19 @@ const lr = z(function({ store: e, library: r, viewId: n, emptyFallback: o = null
371
371
  const c = U((m, g) => {
372
372
  if (!m)
373
373
  return;
374
- const b = nr(g);
374
+ const b = or(g);
375
375
  h.current?.(m, b);
376
- }, []), l = $(() => {
376
+ }, []), l = V(() => {
377
377
  const m = {
378
378
  store: e,
379
379
  library: r,
380
380
  handlerCache: e.handlerCache,
381
381
  // Access payloads from store at call time, not captured snapshot
382
382
  getPayload: (g) => e.getSnapshot().payloads.get(g),
383
- renderChildren: (g) => cr(g, m),
383
+ renderChildren: (g) => ur(g, m),
384
384
  renderView: (g) => {
385
385
  const b = e.getSnapshot().views.get(g);
386
- return b ? /* @__PURE__ */ R.jsx(xe, { nodeId: b.id, context: m }) : null;
386
+ return b ? /* @__PURE__ */ E.jsx(xe, { nodeId: b.id, context: m }) : null;
387
387
  },
388
388
  dispatchAction: c,
389
389
  // Access client/video via refs to avoid context recreation
@@ -396,9 +396,9 @@ const lr = z(function({ store: e, library: r, viewId: n, emptyFallback: o = null
396
396
  };
397
397
  return m;
398
398
  }, [e, r, c]);
399
- return !u || !f ? o : /* @__PURE__ */ R.jsx("div", { "data-ikon-view-id": u, style: { display: "contents" }, children: /* @__PURE__ */ R.jsx(xe, { nodeId: f, context: l }) });
400
- }, ur);
401
- class dr {
399
+ return !u || !f ? o : /* @__PURE__ */ E.jsx("div", { "data-ikon-view-id": u, style: { display: "contents" }, children: /* @__PURE__ */ E.jsx(xe, { nodeId: f, context: l }) });
400
+ }, lr);
401
+ class fr {
402
402
  constructor(e, r) {
403
403
  if (this.fallback = r, e)
404
404
  for (const [n, o] of e)
@@ -415,20 +415,20 @@ class dr {
415
415
  return this.renderers.get(e.type) ?? this.fallback;
416
416
  }
417
417
  }
418
- function Uo(t, e) {
418
+ function Bo(t, e) {
419
419
  const r = Object.entries(t);
420
- return new dr(r, e);
420
+ return new fr(r, e);
421
421
  }
422
- function jo(t) {
422
+ function Fo(t) {
423
423
  return Ve(
424
424
  (e) => t.subscribe(e),
425
425
  () => t.getSnapshot(),
426
426
  () => t.getSnapshot()
427
427
  );
428
428
  }
429
- function fr() {
430
- const t = $t();
431
- return P(() => {
429
+ function pr() {
430
+ const t = Vt();
431
+ return N(() => {
432
432
  if (!t)
433
433
  return;
434
434
  let e = window.parent === window, r = null, n = [];
@@ -531,18 +531,18 @@ function fr() {
531
531
  }
532
532
  }
533
533
  if (c.data?.type === "ikon-inspect-rect") {
534
- const { x1: l, y1: m, x2: g, y2: b, append: S } = c.data, O = document.querySelectorAll("[data-ikon-source]"), _ = [];
535
- for (const M of O) {
536
- const L = M.getBoundingClientRect();
537
- L.right > l && L.left < g && L.bottom > m && L.top < b && _.push({
538
- sourceMarker: M.getAttribute("data-ikon-source") ?? "",
539
- tagName: M.tagName.toLowerCase(),
540
- textContent: (M.textContent ?? "").trim().substring(0, 200)
534
+ const { x1: l, y1: m, x2: g, y2: b, append: S } = c.data, O = document.querySelectorAll("[data-ikon-source]"), C = [];
535
+ for (const P of O) {
536
+ const L = P.getBoundingClientRect();
537
+ L.right > l && L.left < g && L.bottom > m && L.top < b && C.push({
538
+ sourceMarker: P.getAttribute("data-ikon-source") ?? "",
539
+ tagName: P.tagName.toLowerCase(),
540
+ textContent: (P.textContent ?? "").trim().substring(0, 200)
541
541
  });
542
542
  }
543
- _.length > 0 && window.parent.postMessage({
543
+ C.length > 0 && window.parent.postMessage({
544
544
  type: "ikon-inspect-rect-result",
545
- payload: { elements: _, append: S ?? !1 }
545
+ payload: { elements: C, append: S ?? !1 }
546
546
  }, "*");
547
547
  }
548
548
  c.data?.type === "ikon-inspect-highlight" && i(c.data.markers ?? []), c.data?.type === "ikon-inspect-clear" && s();
@@ -552,35 +552,35 @@ function fr() {
552
552
  };
553
553
  }, [t]), null;
554
554
  }
555
- const pr = fe("IkonUiSurface"), Ue = "ikon-ui";
556
- function hr(t, e) {
555
+ const hr = fe("IkonUiSurface"), Ue = "ikon-ui";
556
+ function mr(t, e) {
557
557
  return t === e;
558
558
  }
559
- const Do = z(function({ stores: e, registry: r, category: n = Ue, onAction: o, client: s }) {
560
- const i = $(() => Array.from(e.keys()).sort().join(","), [e]), a = v(o);
559
+ const gr = Y(function({ stores: e, registry: r, category: n = Ue, onAction: o, client: s }) {
560
+ const i = V(() => Array.from(e.keys()).sort().join(","), [e]), a = v(o);
561
561
  a.current = o;
562
562
  const u = v(s);
563
563
  u.current = s;
564
- const f = $(
564
+ const f = V(
565
565
  () => {
566
566
  const y = [];
567
567
  for (const [c, l] of e) {
568
568
  const m = l.store.getSnapshot();
569
- hr(l.category, n) && (!m.rootViewId || !m.views.has(m.rootViewId) || y.push({ key: c, store: l.store }));
569
+ mr(l.category, n) && (!m.rootViewId || !m.views.has(m.rootViewId) || y.push({ key: c, store: l.store }));
570
570
  }
571
571
  return y;
572
572
  },
573
573
  // eslint-disable-next-line react-hooks/exhaustive-deps
574
574
  [e, n, i]
575
575
  ), h = v(!1), p = f.length > 0;
576
- return P(() => {
577
- p && !h.current && (h.current = !0, pr.debug("First UI render"));
578
- }, [p]), p ? /* @__PURE__ */ R.jsxs(R.Fragment, { children: [
579
- /* @__PURE__ */ R.jsx(fr, {}),
580
- f.map(({ key: y, store: c }) => /* @__PURE__ */ R.jsx(lr, { store: c, library: r, onAction: a.current, client: u.current, video: u.current?.media?.video }, y))
576
+ return N(() => {
577
+ p && !h.current && (h.current = !0, hr.debug("First UI render"));
578
+ }, [p]), p ? /* @__PURE__ */ E.jsxs(E.Fragment, { children: [
579
+ /* @__PURE__ */ E.jsx(pr, {}),
580
+ f.map(({ key: y, store: c }) => /* @__PURE__ */ E.jsx(dr, { store: c, library: r, onAction: a.current, client: u.current, video: u.current?.media?.video }, y))
581
581
  ] }) : null;
582
582
  });
583
- class mr {
583
+ class yr {
584
584
  core;
585
585
  ownsCore;
586
586
  stores = /* @__PURE__ */ new Map();
@@ -588,7 +588,7 @@ class mr {
588
588
  unsubscribeClears;
589
589
  unsubscribeStoreChanges;
590
590
  constructor(e) {
591
- this.core = e?.core ?? new jt({ client: e?.client }), this.ownsCore = !e?.core, this.unsubscribeClears = this.core.subscribeToUiStreamCleared(this.handleUiStreamCleared), this.unsubscribeStoreChanges = this.core.uiStore.subscribe(this.syncStreamSnapshot), this.syncAllStreams();
591
+ this.core = e?.core ?? new Dt({ client: e?.client }), this.ownsCore = !e?.core, this.unsubscribeClears = this.core.subscribeToUiStreamCleared(this.handleUiStreamCleared), this.unsubscribeStoreChanges = this.core.uiStore.subscribe(this.syncStreamSnapshot), this.syncAllStreams();
592
592
  }
593
593
  dispose() {
594
594
  this.unsubscribeClears(), this.unsubscribeStoreChanges(), this.ownsCore && this.core.dispose(), this.listeners.clear(), this.stores.clear();
@@ -639,7 +639,7 @@ class mr {
639
639
  return r;
640
640
  const n = {
641
641
  category: Ue,
642
- store: new Dt()
642
+ store: new Bt()
643
643
  };
644
644
  return this.stores.set(e, n), n;
645
645
  }
@@ -655,7 +655,7 @@ class mr {
655
655
  r(e);
656
656
  }
657
657
  }
658
- function gr(t) {
658
+ function br(t) {
659
659
  if (typeof t == "string") {
660
660
  const e = t.trim();
661
661
  return e.length > 0 ? e : void 0;
@@ -680,10 +680,10 @@ function ze(...t) {
680
680
  }
681
681
  return e || void 0;
682
682
  }
683
- const tt = /* @__PURE__ */ new WeakMap(), yr = {};
683
+ const tt = /* @__PURE__ */ new WeakMap(), Sr = {};
684
684
  function Ye(t) {
685
685
  if (!t)
686
- return yr;
686
+ return Sr;
687
687
  const e = tt.get(t);
688
688
  if (e)
689
689
  return e;
@@ -692,7 +692,7 @@ function Ye(t) {
692
692
  o != null && (typeof o == "string" || typeof o == "number" || typeof o == "boolean") && (r[n] = o);
693
693
  return tt.set(t, r), r;
694
694
  }
695
- function br(t) {
695
+ function wr(t) {
696
696
  let e = t.parentElement;
697
697
  for (; e; ) {
698
698
  const n = window.getComputedStyle(e).overflowY;
@@ -702,26 +702,27 @@ function br(t) {
702
702
  }
703
703
  return null;
704
704
  }
705
- function yt(t, e) {
705
+ const yt = 1.5;
706
+ function bt(t, e) {
706
707
  requestAnimationFrame(() => {
707
- const r = t.getBoundingClientRect(), n = e.getBoundingClientRect(), o = t.scrollTop + (n.bottom - r.bottom) + 16;
708
- "scrollBehavior" in document.documentElement.style ? t.scrollTo({ top: o, behavior: "smooth" }) : t.scrollTop = o;
708
+ const r = t.getBoundingClientRect(), n = e.getBoundingClientRect(), o = t.scrollTop + (n.bottom - r.bottom) + 16, i = Math.abs(o - t.scrollTop) > t.clientHeight * yt ? "auto" : "smooth";
709
+ "scrollBehavior" in document.documentElement.style ? t.scrollTo({ top: o, behavior: i }) : t.scrollTop = o;
709
710
  });
710
711
  }
711
- const je = "data-ikon-scroll-indicator", Sr = 0.15, Ee = "data-ikon-at-bottom";
712
- function bt(t) {
713
- return Math.max(t.clientHeight * Sr, 20);
712
+ const je = "data-ikon-scroll-indicator", vr = 0.15, Ee = "data-ikon-at-bottom";
713
+ function St(t) {
714
+ return Math.max(t.clientHeight * vr, 20);
714
715
  }
715
- function wr(t) {
716
+ function Er(t) {
716
717
  return t.getAttribute(Ee) !== "false";
717
718
  }
718
- function vr(t) {
719
+ function Rr(t) {
719
720
  t.getAttribute(Ee) === null && (t.setAttribute(Ee, "true"), t.addEventListener("scroll", () => {
720
- const { scrollTop: e, scrollHeight: r, clientHeight: n } = t, s = r - e - n <= bt(t);
721
+ const { scrollTop: e, scrollHeight: r, clientHeight: n } = t, s = r - e - n <= St(t);
721
722
  t.setAttribute(Ee, s ? "true" : "false");
722
723
  }, { passive: !0 }));
723
724
  }
724
- function Er(t) {
725
+ function kr(t) {
725
726
  const e = t.parentElement ?? t, r = e.querySelector(`[${je}]`);
726
727
  if (r)
727
728
  return r;
@@ -754,23 +755,23 @@ function Er(t) {
754
755
  n.style.opacity = "0.9";
755
756
  }), e.appendChild(n), n;
756
757
  }
757
- function Rr(t, e) {
758
- const r = Er(t);
758
+ function Ar(t, e) {
759
+ const r = kr(t);
759
760
  r.style.display = "flex";
760
761
  const n = () => {
761
- yt(t, e), r.style.display = "none";
762
+ bt(t, e), r.style.display = "none";
762
763
  }, o = () => {
763
764
  const { scrollTop: s, scrollHeight: i, clientHeight: a } = t;
764
- i - s - a <= bt(t) && (r.style.display = "none");
765
+ i - s - a <= St(t) && (r.style.display = "none");
765
766
  };
766
767
  return r.addEventListener("click", n), t.addEventListener("scroll", o, { passive: !0 }), () => {
767
768
  r.removeEventListener("click", n), t.removeEventListener("scroll", o);
768
769
  };
769
770
  }
770
- function kr() {
771
- const t = z(function({ nodeId: r, context: n }) {
771
+ function Tr() {
772
+ const t = Y(function({ nodeId: r, context: n }) {
772
773
  const o = J(n.store, r), s = v(null), i = te(o?.props?.targetViewId), a = o?.props?.focusOnly, u = typeof a == "boolean" ? a : void 0, f = te(o?.props?.priority), h = te(o?.props?.key), p = o?.props?.preciseGeneratedAt;
773
- return P(() => {
774
+ return N(() => {
774
775
  if (typeof document > "u")
775
776
  return;
776
777
  const c = s.current;
@@ -778,17 +779,18 @@ function kr() {
778
779
  return;
779
780
  let l;
780
781
  if (u !== !0) {
781
- const S = br(c);
782
+ const S = wr(c);
782
783
  if (S)
783
- if (vr(S), f === "Polite" && !wr(S))
784
- l = Rr(S, c);
784
+ if (Rr(S), f === "Polite" && !Er(S))
785
+ l = Ar(S, c);
785
786
  else {
786
787
  const L = (S.parentElement ?? S).querySelector(`[${je}]`);
787
- L && (L.style.display = "none"), yt(S, c);
788
+ L && (L.style.display = "none"), bt(S, c);
788
789
  }
789
790
  else typeof c.scrollIntoView == "function" && requestAnimationFrame(() => {
791
+ const O = c.getBoundingClientRect().top, C = typeof window < "u" ? window.innerHeight : 0, P = Math.abs(O) > C * yt ? "auto" : "smooth";
790
792
  try {
791
- c.scrollIntoView({ behavior: "smooth", block: "end", inline: "nearest" });
793
+ c.scrollIntoView({ behavior: P, block: "end", inline: "nearest" });
792
794
  } catch {
793
795
  c.scrollIntoView(!1);
794
796
  }
@@ -802,7 +804,7 @@ function kr() {
802
804
  c.focus();
803
805
  }
804
806
  return l;
805
- }, [u, f, i, h, p]), o ? /* @__PURE__ */ R.jsx(
807
+ }, [u, f, i, h, p]), o ? /* @__PURE__ */ E.jsx(
806
808
  "span",
807
809
  {
808
810
  ref: s,
@@ -819,9 +821,9 @@ function kr() {
819
821
  return t;
820
822
  };
821
823
  }
822
- function Ar() {
823
- const t = z(function({ nodeId: r, context: n, className: o }) {
824
- const s = J(n.store, r), i = gr(s?.props?.onInvokeId), a = U(() => {
824
+ function Cr() {
825
+ const t = Y(function({ nodeId: r, context: n, className: o }) {
826
+ const s = J(n.store, r), i = br(s?.props?.onInvokeId), a = U(() => {
825
827
  i && n.dispatchAction(i);
826
828
  }, [i, n]);
827
829
  if (!s)
@@ -829,7 +831,7 @@ function Ar() {
829
831
  const u = Ye(s.props);
830
832
  delete u.onInvokeId;
831
833
  const f = ze(te(s.props?.className), o), h = s.children?.length ? n.renderChildren(s.children) : void 0;
832
- return /* @__PURE__ */ R.jsx(
834
+ return /* @__PURE__ */ E.jsx(
833
835
  "div",
834
836
  {
835
837
  ...u,
@@ -847,45 +849,45 @@ function Ar() {
847
849
  return t;
848
850
  };
849
851
  }
850
- function Tr() {
851
- const t = z(function({ nodeId: r, context: n, className: o }) {
852
+ function Ir() {
853
+ const t = Y(function({ nodeId: r, context: n, className: o }) {
852
854
  const s = J(n.store, r);
853
855
  if (!s)
854
856
  return null;
855
857
  const i = Ye(s.props), a = ze("relative", te(s.props?.className), o), u = s.children?.length ? n.renderChildren(s.children) : void 0;
856
- return /* @__PURE__ */ R.jsx("div", { ...i, "data-ikon-node-id": s.id, "data-ikon-source": s.sourceMarker, className: a, children: u });
858
+ return /* @__PURE__ */ E.jsx("div", { ...i, "data-ikon-node-id": s.id, "data-ikon-source": s.sourceMarker, className: a, children: u });
857
859
  });
858
860
  return ({ type: e }) => {
859
861
  if (e === "std.stack")
860
862
  return t;
861
863
  };
862
864
  }
863
- function Cr() {
864
- const t = z(function({ nodeId: r, context: n, className: o }) {
865
+ function _r() {
866
+ const t = Y(function({ nodeId: r, context: n, className: o }) {
865
867
  const s = J(n.store, r);
866
868
  if (!s)
867
869
  return null;
868
870
  const i = Ye(s.props), a = ze("absolute", te(s.props?.className), o), u = s.children?.length ? n.renderChildren(s.children) : void 0;
869
- return /* @__PURE__ */ R.jsx("div", { ...i, "data-ikon-node-id": s.id, "data-ikon-source": s.sourceMarker, className: a, children: u });
871
+ return /* @__PURE__ */ E.jsx("div", { ...i, "data-ikon-node-id": s.id, "data-ikon-source": s.sourceMarker, className: a, children: u });
870
872
  });
871
873
  return ({ type: e }) => {
872
874
  if (e === "std.layer")
873
875
  return t;
874
876
  };
875
877
  }
876
- function Ir() {
878
+ function Or() {
877
879
  return [
878
- Ar(),
879
- Tr(),
880
880
  Cr(),
881
- kr()
881
+ Ir(),
882
+ _r(),
883
+ Tr()
882
884
  ];
883
885
  }
884
- const _r = "base", Or = async () => Ir();
885
- function Nr(t) {
886
- t.registerModule(_r, Or);
886
+ const Nr = "base", Pr = async () => Or();
887
+ function Mr(t) {
888
+ t.registerModule(Nr, Pr);
887
889
  }
888
- function Pr(t) {
890
+ function Lr(t) {
889
891
  if (typeof t == "string") {
890
892
  const e = t.trim();
891
893
  return e.length > 0 ? e : void 0;
@@ -895,7 +897,7 @@ function Pr(t) {
895
897
  return e.length > 0 ? e.join(" ") : void 0;
896
898
  }
897
899
  }
898
- function Mr(...t) {
900
+ function xr(...t) {
899
901
  const e = [];
900
902
  for (const r of t)
901
903
  r && r.trim() && e.push(r.trim());
@@ -916,21 +918,21 @@ function we(t) {
916
918
  if (e === "false") return !1;
917
919
  }
918
920
  }
919
- const Lr = "std.audio-url-player";
920
- function xr() {
921
- const t = z(function({
921
+ const Ur = "std.audio-url-player";
922
+ function jr() {
923
+ const t = Y(function({
922
924
  nodeId: r,
923
925
  context: n,
924
926
  className: o
925
927
  }) {
926
928
  const s = J(n.store, r), i = v(null), a = s ? we(s.props?.autoplay) : void 0, u = s ? rt(s.props?.src) : void 0;
927
- if (P(() => {
929
+ if (N(() => {
928
930
  a && i.current && i.current.play().catch(() => {
929
931
  });
930
932
  }, [a, u]), !s)
931
933
  return null;
932
- const f = Mr(Pr(s.props?.className), o), h = rt(s.props?.preload), p = we(s.props?.controls), y = we(s.props?.loop), c = we(s.props?.muted);
933
- return /* @__PURE__ */ R.jsx(
934
+ const f = xr(Lr(s.props?.className), o), h = rt(s.props?.preload), p = we(s.props?.controls), y = we(s.props?.loop), c = we(s.props?.muted);
935
+ return /* @__PURE__ */ E.jsx(
934
936
  "audio",
935
937
  {
936
938
  ref: i,
@@ -947,11 +949,11 @@ function xr() {
947
949
  );
948
950
  });
949
951
  return ({ type: e }) => {
950
- if (e === Lr)
952
+ if (e === Ur)
951
953
  return t;
952
954
  };
953
955
  }
954
- function St(t) {
956
+ function wt(t) {
955
957
  if (typeof t == "string") {
956
958
  const e = t.trim();
957
959
  return e.length > 0 ? e : void 0;
@@ -961,7 +963,7 @@ function St(t) {
961
963
  return e.length > 0 ? e.join(" ") : void 0;
962
964
  }
963
965
  }
964
- function wt(...t) {
966
+ function vt(...t) {
965
967
  const e = [];
966
968
  for (const r of t)
967
969
  r && r.trim() && e.push(r.trim());
@@ -982,11 +984,11 @@ function De(t) {
982
984
  const e = t.trim();
983
985
  return e.length > 0 ? e : void 0;
984
986
  }
985
- const Ur = "std.video-canvas", jr = "std.video-url-player";
986
- function Dr() {
987
- const t = z(function({ nodeId: r, context: n, className: o }) {
988
- const s = J(n.store, r), i = v(null), a = v(null), u = n.video, f = n.client, h = s ? De(s.props?.streamId) : void 0, p = s ? Re(s.props?.width) : void 0, y = s ? Re(s.props?.height) : void 0, c = s ? wt(St(s.props?.className), o) : o, [, l] = q(0);
989
- P(() => {
987
+ const Dr = "std.video-canvas", Br = "std.video-url-player";
988
+ function Fr() {
989
+ const t = Y(function({ nodeId: r, context: n, className: o }) {
990
+ const s = J(n.store, r), i = v(null), a = v(null), u = n.video, f = n.client, h = s ? De(s.props?.streamId) : void 0, p = s ? Re(s.props?.width) : void 0, y = s ? Re(s.props?.height) : void 0, c = s ? vt(wt(s.props?.className), o) : o, [, l] = $(0);
991
+ N(() => {
990
992
  if (!f?.isWebRtcEnabled) return;
991
993
  const g = f.onWebRtcTrackMapChanged;
992
994
  return f.onWebRtcTrackMapChanged = (b) => {
@@ -996,19 +998,19 @@ function Dr() {
996
998
  };
997
999
  }, [f]);
998
1000
  const m = f?.isWebRtcEnabled && h ? f.getWebRtcVideoStreamByStreamId(h) : null;
999
- return P(() => {
1001
+ return N(() => {
1000
1002
  const g = i.current;
1001
1003
  if (!(!u || !g || !h || m))
1002
1004
  return u.attachCanvas(h, g), () => {
1003
1005
  u.detachCanvas(h);
1004
1006
  };
1005
- }, [u, h, m]), P(() => {
1007
+ }, [u, h, m]), N(() => {
1006
1008
  const g = a.current;
1007
1009
  if (!(!g || !m))
1008
1010
  return g.srcObject = m, () => {
1009
1011
  g.srcObject = null;
1010
1012
  };
1011
- }, [m]), s ? m ? /* @__PURE__ */ R.jsx(
1013
+ }, [m]), s ? m ? /* @__PURE__ */ E.jsx(
1012
1014
  "video",
1013
1015
  {
1014
1016
  ref: a,
@@ -1023,7 +1025,7 @@ function Dr() {
1023
1025
  ...y ? { height: y } : {}
1024
1026
  },
1025
1027
  h
1026
- ) : /* @__PURE__ */ R.jsx(
1028
+ ) : /* @__PURE__ */ E.jsx(
1027
1029
  "canvas",
1028
1030
  {
1029
1031
  ref: i,
@@ -1038,12 +1040,12 @@ function Dr() {
1038
1040
  ) : null;
1039
1041
  });
1040
1042
  return ({ type: e }) => {
1041
- if (e === Ur)
1043
+ if (e === Dr)
1042
1044
  return t;
1043
1045
  };
1044
1046
  }
1045
- function Br() {
1046
- return [Dr(), Fr(), xr()];
1047
+ function $r() {
1048
+ return [Fr(), Vr(), jr()];
1047
1049
  }
1048
1050
  function ce(t) {
1049
1051
  if (typeof t == "boolean")
@@ -1054,20 +1056,20 @@ function ce(t) {
1054
1056
  if (e === "false") return !1;
1055
1057
  }
1056
1058
  }
1057
- function Fr() {
1058
- const t = z(function({
1059
+ function Vr() {
1060
+ const t = Y(function({
1059
1061
  nodeId: r,
1060
1062
  context: n,
1061
1063
  className: o
1062
1064
  }) {
1063
1065
  const s = J(n.store, r), i = v(null), a = s ? ce(s.props?.autoplay) : void 0, u = s ? De(s.props?.src) : void 0;
1064
- if (P(() => {
1066
+ if (N(() => {
1065
1067
  a && i.current && i.current.play().catch(() => {
1066
1068
  });
1067
1069
  }, [a, u]), !s)
1068
1070
  return null;
1069
- const f = wt(St(s.props?.className), o), h = De(s.props?.poster), p = ce(s.props?.controls), y = ce(s.props?.loop), c = ce(s.props?.muted), l = ce(s.props?.playsInline), m = Re(s.props?.width), g = Re(s.props?.height), b = s.children?.length ? n.renderChildren(s.children) : void 0;
1070
- return /* @__PURE__ */ R.jsx(
1071
+ const f = vt(wt(s.props?.className), o), h = De(s.props?.poster), p = ce(s.props?.controls), y = ce(s.props?.loop), c = ce(s.props?.muted), l = ce(s.props?.playsInline), m = Re(s.props?.width), g = Re(s.props?.height), b = s.children?.length ? n.renderChildren(s.children) : void 0;
1072
+ return /* @__PURE__ */ E.jsx(
1071
1073
  "video",
1072
1074
  {
1073
1075
  ref: i,
@@ -1088,27 +1090,27 @@ function Fr() {
1088
1090
  );
1089
1091
  });
1090
1092
  return ({ type: e }) => {
1091
- if (e === jr)
1093
+ if (e === Br)
1092
1094
  return t;
1093
1095
  };
1094
1096
  }
1095
- const $r = "media", Vr = async () => Br();
1096
- function Kr(t) {
1097
- t.registerModule($r, Vr);
1097
+ const Kr = "media", zr = async () => $r();
1098
+ function Yr(t) {
1099
+ t.registerModule(Kr, zr);
1098
1100
  }
1099
- const zr = `#version 300 es
1101
+ const Wr = `#version 300 es
1100
1102
  in vec4 a_position;
1101
1103
  void main() {
1102
1104
  gl_Position = a_position;
1103
1105
  }
1104
1106
  `;
1105
- function Yr(t, e) {
1107
+ function Hr(t, e) {
1106
1108
  return new RegExp(`\\buniform\\s+\\w+\\s+${e}\\s*;`, "g").test(t);
1107
1109
  }
1108
- function Wr(t, e) {
1110
+ function qr(t, e) {
1109
1111
  const r = [];
1110
1112
  for (const [n, o] of Object.entries(e)) {
1111
- if (Yr(t, n))
1113
+ if (Hr(t, n))
1112
1114
  continue;
1113
1115
  let s;
1114
1116
  switch (o.type) {
@@ -1161,7 +1163,7 @@ void main() {
1161
1163
  }
1162
1164
  `;
1163
1165
  }
1164
- class qr {
1166
+ class Gr {
1165
1167
  gl;
1166
1168
  program = null;
1167
1169
  positionBuffer = null;
@@ -1197,10 +1199,10 @@ class qr {
1197
1199
  }
1198
1200
  compile(e, r = {}) {
1199
1201
  this.lastError = null, this.customUniforms = r, this.currentShaderSource = e;
1200
- const n = this.gl, o = this.compileShader(n.VERTEX_SHADER, zr);
1202
+ const n = this.gl, o = this.compileShader(n.VERTEX_SHADER, Wr);
1201
1203
  if (!o)
1202
1204
  return !1;
1203
- const s = Wr(e, r), i = this.compileShader(n.FRAGMENT_SHADER, s);
1205
+ const s = qr(e, r), i = this.compileShader(n.FRAGMENT_SHADER, s);
1204
1206
  if (!i)
1205
1207
  return n.deleteShader(o), !1;
1206
1208
  const a = n.createProgram();
@@ -1291,7 +1293,7 @@ class qr {
1291
1293
  this.program && (e.deleteProgram(this.program), this.program = null), this.positionBuffer && (e.deleteBuffer(this.positionBuffer), this.positionBuffer = null), this.vao && (e.deleteVertexArray(this.vao), this.vao = null), this.uniformLocations.clear();
1292
1294
  }
1293
1295
  }
1294
- function Hr(t) {
1296
+ function Jr(t) {
1295
1297
  if (typeof t == "string") {
1296
1298
  const e = t.trim();
1297
1299
  return e.length > 0 ? e : void 0;
@@ -1301,7 +1303,7 @@ function Hr(t) {
1301
1303
  return e.length > 0 ? e.join(" ") : void 0;
1302
1304
  }
1303
1305
  }
1304
- function Gr(...t) {
1306
+ function Xr(...t) {
1305
1307
  const e = [];
1306
1308
  for (const r of t)
1307
1309
  r && r.trim() && e.push(r.trim());
@@ -1316,10 +1318,10 @@ function Ie(t) {
1316
1318
  return Math.floor(e);
1317
1319
  }
1318
1320
  }
1319
- function Jr(t) {
1321
+ function Zr(t) {
1320
1322
  return typeof t == "string" ? t : "";
1321
1323
  }
1322
- function Xr(t) {
1324
+ function Qr(t) {
1323
1325
  if (typeof t == "boolean")
1324
1326
  return t;
1325
1327
  if (typeof t == "string") {
@@ -1328,7 +1330,7 @@ function Xr(t) {
1328
1330
  if (e === "false") return !1;
1329
1331
  }
1330
1332
  }
1331
- function Zr(t) {
1333
+ function en(t) {
1332
1334
  if (!t || typeof t != "object")
1333
1335
  return {};
1334
1336
  const e = {}, r = t;
@@ -1343,7 +1345,7 @@ function Zr(t) {
1343
1345
  }
1344
1346
  return e;
1345
1347
  }
1346
- function Qr(t, e) {
1348
+ function tn(t, e) {
1347
1349
  const r = Object.keys(t), n = Object.keys(e);
1348
1350
  if (r.length !== n.length)
1349
1351
  return !1;
@@ -1364,83 +1366,83 @@ function Qr(t, e) {
1364
1366
  }
1365
1367
  return !0;
1366
1368
  }
1367
- const en = "std.shadertoy-canvas";
1368
- function tn() {
1369
- const t = z(function({ nodeId: r, context: n, className: o }) {
1369
+ const rn = "std.shadertoy-canvas";
1370
+ function nn() {
1371
+ const t = Y(function({ nodeId: r, context: n, className: o }) {
1370
1372
  const s = J(n.store, r), i = v(null), a = v(null), u = v(null), f = v(0), h = v(""), p = v({}), y = v({
1371
1373
  x: 0,
1372
1374
  y: 0,
1373
1375
  clickX: 0,
1374
1376
  clickY: 0,
1375
1377
  isDown: !1
1376
- }), c = s ? Jr(s.props?.shaderSource) : "", l = s ? Ie(s.props?.fps) ?? 60 : 60, m = s?.props?.uniforms, g = $(() => Zr(m), [m]), b = s ? Xr(s.props?.enableMouse) ?? !0 : !0, S = s ? Ie(s.props?.width) : void 0, O = s ? Ie(s.props?.height) : void 0, _ = s ? Gr(Hr(s.props?.className), o) : o;
1377
- P(() => {
1378
- const T = i.current;
1379
- if (T) {
1378
+ }), c = s ? Zr(s.props?.shaderSource) : "", l = s ? Ie(s.props?.fps) ?? 60 : 60, m = s?.props?.uniforms, g = V(() => en(m), [m]), b = s ? Qr(s.props?.enableMouse) ?? !0 : !0, S = s ? Ie(s.props?.width) : void 0, O = s ? Ie(s.props?.height) : void 0, C = s ? Xr(Jr(s.props?.className), o) : o;
1379
+ N(() => {
1380
+ const I = i.current;
1381
+ if (I) {
1380
1382
  try {
1381
- const N = new qr(T);
1382
- a.current = N;
1383
- } catch (N) {
1384
- console.error("[ShadertoyRenderer] Failed to create WebGL2 context:", N);
1383
+ const M = new Gr(I);
1384
+ a.current = M;
1385
+ } catch (M) {
1386
+ console.error("[ShadertoyRenderer] Failed to create WebGL2 context:", M);
1385
1387
  }
1386
1388
  return () => {
1387
1389
  a.current && (a.current.destroy(), a.current = null);
1388
1390
  };
1389
1391
  }
1390
- }, []), P(() => {
1391
- const T = a.current;
1392
- if (!(!T || !c) && h.current !== c)
1393
- if (T.compile(c, g))
1392
+ }, []), N(() => {
1393
+ const I = a.current;
1394
+ if (!(!I || !c) && h.current !== c)
1395
+ if (I.compile(c, g))
1394
1396
  h.current = c, p.current = g;
1395
1397
  else {
1396
- const D = T.getError();
1398
+ const D = I.getError();
1397
1399
  console.error("[ShadertoyRenderer] Shader compilation failed:", D);
1398
1400
  }
1399
- }, [c, g]), P(() => {
1400
- const T = a.current;
1401
- !T || !h.current || Qr(p.current, g) || (T.setCustomUniforms(g), p.current = g);
1402
- }, [g]), P(() => {
1403
- const T = a.current;
1404
- if (!T || !h.current) return;
1405
- const N = 1e3 / l, D = (j) => {
1401
+ }, [c, g]), N(() => {
1402
+ const I = a.current;
1403
+ !I || !h.current || tn(p.current, g) || (I.setCustomUniforms(g), p.current = g);
1404
+ }, [g]), N(() => {
1405
+ const I = a.current;
1406
+ if (!I || !h.current) return;
1407
+ const M = 1e3 / l, D = (j) => {
1406
1408
  const B = j - f.current;
1407
- B >= N && (f.current = j - B % N, T.draw()), u.current = requestAnimationFrame(D);
1409
+ B >= M && (f.current = j - B % M, I.draw()), u.current = requestAnimationFrame(D);
1408
1410
  };
1409
1411
  return u.current = requestAnimationFrame(D), () => {
1410
1412
  u.current !== null && (cancelAnimationFrame(u.current), u.current = null);
1411
1413
  };
1412
1414
  }, [l]);
1413
- const M = U(
1414
- (T) => {
1415
+ const P = U(
1416
+ (I) => {
1415
1417
  if (!b) return;
1416
- const N = i.current, D = a.current;
1417
- if (!N || !D) return;
1418
- const j = N.getBoundingClientRect(), B = T.clientX - j.left, V = j.height - (T.clientY - j.top);
1419
- y.current.x = B, y.current.y = V, D.setMouse(B, V, y.current.clickX, y.current.clickY);
1418
+ const M = i.current, D = a.current;
1419
+ if (!M || !D) return;
1420
+ const j = M.getBoundingClientRect(), B = I.clientX - j.left, K = j.height - (I.clientY - j.top);
1421
+ y.current.x = B, y.current.y = K, D.setMouse(B, K, y.current.clickX, y.current.clickY);
1420
1422
  },
1421
1423
  [b]
1422
1424
  ), L = U(
1423
- (T) => {
1425
+ (I) => {
1424
1426
  if (!b) return;
1425
- const N = i.current, D = a.current;
1426
- if (!N || !D) return;
1427
- const j = N.getBoundingClientRect(), B = T.clientX - j.left, V = j.height - (T.clientY - j.top);
1428
- y.current.isDown = !0, y.current.clickX = B, y.current.clickY = V, D.setMouse(B, V, B, V);
1427
+ const M = i.current, D = a.current;
1428
+ if (!M || !D) return;
1429
+ const j = M.getBoundingClientRect(), B = I.clientX - j.left, K = j.height - (I.clientY - j.top);
1430
+ y.current.isDown = !0, y.current.clickX = B, y.current.clickY = K, D.setMouse(B, K, B, K);
1429
1431
  },
1430
1432
  [b]
1431
1433
  ), G = U(() => {
1432
1434
  b && (y.current.isDown = !1, y.current.clickX = -Math.abs(y.current.clickX));
1433
1435
  }, [b]);
1434
- return s ? /* @__PURE__ */ R.jsx(
1436
+ return s ? /* @__PURE__ */ E.jsx(
1435
1437
  "canvas",
1436
1438
  {
1437
1439
  ref: i,
1438
1440
  "data-ikon-node-id": s.id,
1439
1441
  "data-ikon-source": s.sourceMarker,
1440
- className: _,
1442
+ className: C,
1441
1443
  ...S ? { width: S } : {},
1442
1444
  ...O ? { height: O } : {},
1443
- onMouseMove: M,
1445
+ onMouseMove: P,
1444
1446
  onMouseDown: L,
1445
1447
  onMouseUp: G,
1446
1448
  onMouseLeave: G
@@ -1448,16 +1450,16 @@ function tn() {
1448
1450
  ) : null;
1449
1451
  });
1450
1452
  return ({ type: e }) => {
1451
- if (e === en)
1453
+ if (e === rn)
1452
1454
  return t;
1453
1455
  };
1454
1456
  }
1455
- const rn = "shadertoy", nn = async () => tn();
1456
- function on(t) {
1457
- t.registerModule(rn, nn);
1457
+ const on = "shadertoy", sn = async () => nn();
1458
+ function an(t) {
1459
+ t.registerModule(on, sn);
1458
1460
  }
1459
1461
  const nt = fe("UIRegistry");
1460
- class sn {
1462
+ class cn {
1461
1463
  baseResolvers = [];
1462
1464
  moduleLoaders = /* @__PURE__ */ new Map();
1463
1465
  moduleResolvers = /* @__PURE__ */ new Map();
@@ -1479,7 +1481,7 @@ class sn {
1479
1481
  for (const [n, o] of this.moduleLoaders.entries())
1480
1482
  if (!this.moduleResolvers.has(n))
1481
1483
  try {
1482
- const s = await o(), i = un(s);
1484
+ const s = await o(), i = dn(s);
1483
1485
  this.moduleResolvers.set(n, i), e = !0;
1484
1486
  } catch (s) {
1485
1487
  nt.error(`[IkonUiRegistry] Failed to load module '${n}'.`, s);
@@ -1487,7 +1489,7 @@ class sn {
1487
1489
  const r = [];
1488
1490
  for (const n of this.moduleLoaders.keys())
1489
1491
  this.moduleResolvers.has(n) && r.push(n);
1490
- return ln(r, this.activeModuleOrder) || (this.activeModuleOrder = r, e = !0), e;
1492
+ return fn(r, this.activeModuleOrder) || (this.activeModuleOrder = r, e = !0), e;
1491
1493
  }
1492
1494
  resolve(e) {
1493
1495
  for (const r of this.baseResolvers) {
@@ -1507,17 +1509,17 @@ class sn {
1507
1509
  }
1508
1510
  }
1509
1511
  }
1510
- function an() {
1511
- const t = new sn();
1512
- return Nr(t), Kr(t), on(t), t.loadRegisteredModules(), t;
1512
+ function un() {
1513
+ const t = new cn();
1514
+ return Mr(t), Yr(t), an(t), t.loadRegisteredModules(), t;
1513
1515
  }
1514
- function cn(t) {
1516
+ function ln(t) {
1515
1517
  return Array.isArray(t) ? t : [t];
1516
1518
  }
1517
- function un(t) {
1518
- return t ? cn(t).flatMap((e) => e ? Array.isArray(e) ? e.filter(Boolean) : [e] : []) : [];
1519
+ function dn(t) {
1520
+ return t ? ln(t).flatMap((e) => e ? Array.isArray(e) ? e.filter(Boolean) : [e] : []) : [];
1519
1521
  }
1520
- function ln(t, e) {
1522
+ function fn(t, e) {
1521
1523
  if (t.length !== e.length)
1522
1524
  return !1;
1523
1525
  for (let r = 0; r < t.length; r += 1)
@@ -1525,6 +1527,18 @@ function ln(t, e) {
1525
1527
  return !1;
1526
1528
  return !0;
1527
1529
  }
1530
+ function $o({ mount: t, stores: e, registry: r, client: n, onAction: o }) {
1531
+ return /* @__PURE__ */ E.jsx(
1532
+ gr,
1533
+ {
1534
+ stores: e,
1535
+ registry: r,
1536
+ category: t,
1537
+ client: n,
1538
+ onAction: o
1539
+ }
1540
+ );
1541
+ }
1528
1542
  const _e = fe("MotionController"), ot = {
1529
1543
  ease: [0.25, 0.1, 0.25, 1],
1530
1544
  "ease-in": [0.42, 0, 1, 1],
@@ -1581,17 +1595,17 @@ function at(t, e, r, n) {
1581
1595
  const O = y(b, t, r);
1582
1596
  if (O === 0)
1583
1597
  return b;
1584
- const _ = p(b, t, r) - g;
1585
- b -= _ / O;
1598
+ const C = p(b, t, r) - g;
1599
+ b -= C / O;
1586
1600
  }
1587
1601
  return b;
1588
1602
  }
1589
1603
  function l(g, b, S) {
1590
- let O = 0, _ = 0, M = 0;
1604
+ let O = 0, C = 0, P = 0;
1591
1605
  do
1592
- _ = b + (S - b) / 2, O = p(_, t, r) - g, O > 0 ? S = _ : b = _;
1593
- while (Math.abs(O) > 1e-7 && ++M < 10);
1594
- return _;
1606
+ C = b + (S - b) / 2, O = p(C, t, r) - g, O > 0 ? S = C : b = C;
1607
+ while (Math.abs(O) > 1e-7 && ++P < 10);
1608
+ return C;
1595
1609
  }
1596
1610
  function m(g) {
1597
1611
  let b = 0, S = 1;
@@ -1599,21 +1613,21 @@ function at(t, e, r, n) {
1599
1613
  for (; S !== O && h[S] <= g; S += 1)
1600
1614
  b += 0.1;
1601
1615
  S -= 1;
1602
- const _ = (g - h[S]) / (h[S + 1] - h[S]), M = b + _ * 0.1, L = y(M, t, r);
1603
- return L >= 1e-3 ? c(g, M) : L === 0 ? M : l(g, b, b + 0.1);
1616
+ const C = (g - h[S]) / (h[S + 1] - h[S]), P = b + C * 0.1, L = y(P, t, r);
1617
+ return L >= 1e-3 ? c(g, P) : L === 0 ? P : l(g, b, b + 0.1);
1604
1618
  }
1605
1619
  for (let g = 0; g < 11; g += 1)
1606
1620
  h[g] = p(g * 0.1, t, r);
1607
1621
  return (g) => g <= 0 ? 0 : g >= 1 ? 1 : p(m(g), e, n);
1608
1622
  }
1609
- function dn(t) {
1623
+ function pn(t) {
1610
1624
  const e = /steps\(\s*([0-9]+)\s*(?:,\s*([a-z-]+)\s*)?\)/i.exec(t);
1611
1625
  if (!e)
1612
1626
  return (o) => F(o);
1613
1627
  const r = Math.max(1, parseInt(e[1], 10)), n = (e[2] ?? "end").toLowerCase();
1614
1628
  return n === "start" || n === "jump-start" ? (o) => F(Math.ceil(o * r) / r) : n === "none" || n === "jump-none" ? (o) => F(Math.round(o * r) / r) : n === "both" || n === "jump-both" ? (o) => F((Math.floor(o * r) + 0.5) / r) : (o) => F(Math.floor(o * r) / r);
1615
1629
  }
1616
- function fn(t) {
1630
+ function hn(t) {
1617
1631
  if (!t)
1618
1632
  return (r) => F(r);
1619
1633
  const e = t.trim().toLowerCase();
@@ -1631,12 +1645,12 @@ function fn(t) {
1631
1645
  }
1632
1646
  }
1633
1647
  if (e.startsWith("steps(") && e.endsWith(")")) {
1634
- const r = dn(e);
1648
+ const r = pn(e);
1635
1649
  return (n) => r(F(n));
1636
1650
  }
1637
1651
  return (r) => F(r);
1638
1652
  }
1639
- function pn(t) {
1653
+ function mn(t) {
1640
1654
  if (!t)
1641
1655
  return;
1642
1656
  const e = /(-?\d+(?:\.\d+)?)\s*\.\.\s*(-?\d+(?:\.\d+)?)\s*->\s*(-?\d+(?:\.\d+)?)\s*\.\.\s*(-?\d+(?:\.\d+)?)/.exec(t);
@@ -1646,7 +1660,7 @@ function pn(t) {
1646
1660
  if (![r, n, o, s].some((i) => !Number.isFinite(i)))
1647
1661
  return { inStart: r, inEnd: n, outStart: o, outEnd: s };
1648
1662
  }
1649
- class hn {
1663
+ class gn {
1650
1664
  bindingsByStyle = /* @__PURE__ */ new Map();
1651
1665
  observer;
1652
1666
  observeScheduled = !1;
@@ -1691,7 +1705,7 @@ class hn {
1691
1705
  const r = e.source?.trim();
1692
1706
  if (!r)
1693
1707
  return;
1694
- const n = st(e.min) ?? 0, o = st(e.max), s = o === void 0 ? n + 100 : o, i = (e.clamp ?? "clamp").trim().toLowerCase(), a = !!e.reverse, u = fn(e.ease), f = pn(e.map), h = e.targetId?.trim() || void 0;
1708
+ const n = st(e.min) ?? 0, o = st(e.max), s = o === void 0 ? n + 100 : o, i = (e.clamp ?? "clamp").trim().toLowerCase(), a = !!e.reverse, u = hn(e.ease), f = mn(e.map), h = e.targetId?.trim() || void 0;
1695
1709
  return Number.isNaN(n) || Number.isNaN(s) ? void 0 : {
1696
1710
  source: r.toLowerCase(),
1697
1711
  min: n,
@@ -1904,8 +1918,8 @@ class hn {
1904
1918
  }
1905
1919
  }
1906
1920
  }
1907
- const Oe = new hn();
1908
- function mn(t) {
1921
+ const Oe = new gn();
1922
+ function yn(t) {
1909
1923
  const e = v(/* @__PURE__ */ new Map()), r = U(({ styleId: s, css: i, common: a }) => {
1910
1924
  if (!(!s || typeof document > "u")) {
1911
1925
  if (i) {
@@ -1928,7 +1942,7 @@ function mn(t) {
1928
1942
  }
1929
1943
  Oe.reset();
1930
1944
  }, []);
1931
- return P(() => {
1945
+ return N(() => {
1932
1946
  if (!t) return;
1933
1947
  for (const a of t.getUiStyles())
1934
1948
  r(a);
@@ -1936,9 +1950,9 @@ function mn(t) {
1936
1950
  return () => {
1937
1951
  s?.(), i?.(), o();
1938
1952
  };
1939
- }, [t, o, r, n]), P(() => () => o(), [o]), { setStyle: r, deleteStyles: n, reset: o };
1953
+ }, [t, o, r, n]), N(() => () => o(), [o]), { setStyle: r, deleteStyles: n, reset: o };
1940
1954
  }
1941
- function gn(t) {
1955
+ function bn(t) {
1942
1956
  const e = [];
1943
1957
  for (const [r, n] of t) {
1944
1958
  const o = n.store.getSnapshot(), s = o.rootViewId && o.views.has(o.rootViewId);
@@ -1946,62 +1960,62 @@ function gn(t) {
1946
1960
  }
1947
1961
  return e.sort(), e.join(",");
1948
1962
  }
1949
- function yn(t) {
1950
- const [e, r] = q(), n = v("");
1951
- return P(() => {
1963
+ function Sn(t) {
1964
+ const [e, r] = $(), n = v("");
1965
+ return N(() => {
1952
1966
  if (!t) {
1953
1967
  r(void 0), n.current = "";
1954
1968
  return;
1955
1969
  }
1956
1970
  const o = () => {
1957
- const s = t.getStores(), i = gn(s);
1971
+ const s = t.getStores(), i = bn(s);
1958
1972
  i !== n.current && (n.current = i, r(s));
1959
1973
  };
1960
1974
  return o(), t.subscribe(o);
1961
1975
  }, [t]), e;
1962
1976
  }
1963
- var bn = typeof global == "object" && global && global.Object === Object && global, Sn = typeof self == "object" && self && self.Object === Object && self, wn = bn || Sn || Function("return this")(), ke = wn.Symbol, vt = Object.prototype, vn = vt.hasOwnProperty, En = vt.toString, ue = ke ? ke.toStringTag : void 0;
1964
- function Rn(t) {
1965
- var e = vn.call(t, ue), r = t[ue];
1977
+ var wn = typeof global == "object" && global && global.Object === Object && global, vn = typeof self == "object" && self && self.Object === Object && self, En = wn || vn || Function("return this")(), ke = En.Symbol, Et = Object.prototype, Rn = Et.hasOwnProperty, kn = Et.toString, ue = ke ? ke.toStringTag : void 0;
1978
+ function An(t) {
1979
+ var e = Rn.call(t, ue), r = t[ue];
1966
1980
  try {
1967
1981
  t[ue] = void 0;
1968
1982
  var n = !0;
1969
1983
  } catch {
1970
1984
  }
1971
- var o = En.call(t);
1985
+ var o = kn.call(t);
1972
1986
  return n && (e ? t[ue] = r : delete t[ue]), o;
1973
1987
  }
1974
- var kn = Object.prototype, An = kn.toString;
1975
- function Tn(t) {
1976
- return An.call(t);
1988
+ var Tn = Object.prototype, Cn = Tn.toString;
1989
+ function In(t) {
1990
+ return Cn.call(t);
1977
1991
  }
1978
- var Cn = "[object Null]", In = "[object Undefined]", ct = ke ? ke.toStringTag : void 0;
1979
- function _n(t) {
1980
- return t == null ? t === void 0 ? In : Cn : ct && ct in Object(t) ? Rn(t) : Tn(t);
1992
+ var _n = "[object Null]", On = "[object Undefined]", ct = ke ? ke.toStringTag : void 0;
1993
+ function Nn(t) {
1994
+ return t == null ? t === void 0 ? On : _n : ct && ct in Object(t) ? An(t) : In(t);
1981
1995
  }
1982
- function On(t) {
1996
+ function Pn(t) {
1983
1997
  return t != null && typeof t == "object";
1984
1998
  }
1985
- var Nn = Array.isArray, Pn = "[object String]";
1986
- function Mn(t) {
1987
- return typeof t == "string" || !Nn(t) && On(t) && _n(t) == Pn;
1999
+ var Mn = Array.isArray, Ln = "[object String]";
2000
+ function xn(t) {
2001
+ return typeof t == "string" || !Mn(t) && Pn(t) && Nn(t) == Ln;
1988
2002
  }
1989
2003
  const ut = "ikonUiModules";
1990
2004
  function Be(t) {
1991
2005
  return typeof t == "object" && t !== null && !Array.isArray(t);
1992
2006
  }
1993
- function Ln(t) {
2007
+ function Un(t) {
1994
2008
  if (!Array.isArray(t))
1995
2009
  return;
1996
2010
  const e = /* @__PURE__ */ new Set();
1997
2011
  for (const r of t) {
1998
- if (!Mn(r)) continue;
2012
+ if (!xn(r)) continue;
1999
2013
  const n = r.trim();
2000
2014
  n && (e.has(n) || e.add(n));
2001
2015
  }
2002
2016
  return Array.from(e);
2003
2017
  }
2004
- function Bo(t, e) {
2018
+ function Vo(t, e) {
2005
2019
  if (t === e)
2006
2020
  return !0;
2007
2021
  if (!t || !e)
@@ -2013,18 +2027,18 @@ function Bo(t, e) {
2013
2027
  return !1;
2014
2028
  return !0;
2015
2029
  }
2016
- function xn(t) {
2030
+ function jn(t) {
2017
2031
  if (!(!Be(t) || !Object.prototype.hasOwnProperty.call(t, ut)))
2018
- return Ln(t[ut]);
2032
+ return Un(t[ut]);
2019
2033
  }
2020
- function Fo(...t) {
2034
+ function Ko(...t) {
2021
2035
  for (const e of t) {
2022
- const r = xn(e);
2036
+ const r = jn(e);
2023
2037
  if (r !== void 0)
2024
2038
  return r;
2025
2039
  }
2026
2040
  }
2027
- function $o(t) {
2041
+ function zo(t) {
2028
2042
  if (!Be(t))
2029
2043
  return;
2030
2044
  const e = t, r = Object.keys(e).find((u) => u.toLowerCase() === "modules");
@@ -2073,7 +2087,7 @@ const k = {
2073
2087
  Line: 4,
2074
2088
  Paragraph: 8,
2075
2089
  Emoji: 16
2076
- }, Un = [
2090
+ }, Dn = [
2077
2091
  {
2078
2092
  flag: k.Letter,
2079
2093
  hints: [
@@ -2122,11 +2136,11 @@ const k = {
2122
2136
  "[data-emoji]"
2123
2137
  ]
2124
2138
  }
2125
- ], Fe = k.Letter | k.Word | k.Line | k.Paragraph | k.Emoji, jn = k.Letter | k.Word | k.Line | k.Paragraph, lt = /* @__PURE__ */ new Map(), Dn = 16384;
2126
- function Vo(t, e) {
2127
- if (!t || t.length > Dn)
2139
+ ], Fe = k.Letter | k.Word | k.Line | k.Paragraph | k.Emoji, Bn = k.Letter | k.Word | k.Line | k.Paragraph, lt = /* @__PURE__ */ new Map(), Fn = 16384;
2140
+ function Yo(t, e) {
2141
+ if (!t || t.length > Fn)
2128
2142
  return t;
2129
- const r = to(e), n = re(r, k.Emoji), o = r & jn;
2143
+ const r = no(e), n = re(r, k.Emoji), o = r & Bn;
2130
2144
  if (o === k.None && !n)
2131
2145
  return t;
2132
2146
  const s = t.replace(/\r\n/g, `
@@ -2134,26 +2148,26 @@ function Vo(t, e) {
2134
2148
  `);
2135
2149
  if (o === k.None)
2136
2150
  return ht(s);
2137
- const i = Qn(s);
2151
+ const i = to(s);
2138
2152
  if (i.length === 0)
2139
2153
  return n ? ht(s) : t;
2140
- const a = eo(i), u = { letter: 0, word: 0, line: 0, paragraph: 0, br: 0, emoji: 0 }, f = [];
2154
+ const a = ro(i), u = { letter: 0, word: 0, line: 0, paragraph: 0, br: 0, emoji: 0 }, f = [];
2141
2155
  for (const h of a) {
2142
- const p = Bn(h, r, u);
2156
+ const p = $n(h, r, u);
2143
2157
  f.push(...p);
2144
2158
  }
2145
2159
  return f;
2146
2160
  }
2147
- function Bn(t, e, r) {
2161
+ function $n(t, e, r) {
2148
2162
  const n = [];
2149
2163
  for (const o of t) {
2150
- const s = Fn(o, e, r);
2164
+ const s = Vn(o, e, r);
2151
2165
  n.push(...s);
2152
2166
  }
2153
2167
  if (re(e, k.Paragraph)) {
2154
2168
  const o = r.paragraph++;
2155
2169
  return [
2156
- /* @__PURE__ */ R.jsx(
2170
+ /* @__PURE__ */ E.jsx(
2157
2171
  "span",
2158
2172
  {
2159
2173
  "data-motion-paragraph": !0,
@@ -2166,20 +2180,20 @@ function Bn(t, e, r) {
2166
2180
  }
2167
2181
  return n;
2168
2182
  }
2169
- function Fn(t, e, r) {
2170
- const n = $n(t.text, e, r), o = [];
2183
+ function Vn(t, e, r) {
2184
+ const n = Kn(t.text, e, r), o = [];
2171
2185
  if (re(e, k.Line)) {
2172
2186
  const s = r.line++;
2173
2187
  o.push(
2174
- /* @__PURE__ */ R.jsx("span", { "data-motion-line": !0, style: Ce(s), children: n }, `motion-line-${s}`)
2188
+ /* @__PURE__ */ E.jsx("span", { "data-motion-line": !0, style: Ce(s), children: n }, `motion-line-${s}`)
2175
2189
  );
2176
2190
  } else
2177
2191
  o.push(...n);
2178
2192
  for (let s = 0; s < t.breaks; s++)
2179
- o.push(/* @__PURE__ */ R.jsx("br", {}, `motion-break-${r.br++}`));
2193
+ o.push(/* @__PURE__ */ E.jsx("br", {}, `motion-break-${r.br++}`));
2180
2194
  return o;
2181
2195
  }
2182
- function $n(t, e, r) {
2196
+ function Kn(t, e, r) {
2183
2197
  if (!t)
2184
2198
  return [];
2185
2199
  const n = re(e, k.Word), o = [], s = /(\s+)/g;
@@ -2198,13 +2212,13 @@ function $n(t, e, r) {
2198
2212
  return o;
2199
2213
  }
2200
2214
  function dt(t, e, r, n) {
2201
- const o = e.word++, s = Kn(t, r, e), i = `motion-word-${o}`, a = Vn(o, n);
2202
- return n ? /* @__PURE__ */ R.jsx("span", { "data-motion-word": !0, style: a, children: s }, i) : /* @__PURE__ */ R.jsx("span", { style: a, children: s }, i);
2215
+ const o = e.word++, s = Yn(t, r, e), i = `motion-word-${o}`, a = zn(o, n);
2216
+ return n ? /* @__PURE__ */ E.jsx("span", { "data-motion-word": !0, style: a, children: s }, i) : /* @__PURE__ */ E.jsx("span", { style: a, children: s }, i);
2203
2217
  }
2204
- function Vn(t, e) {
2218
+ function zn(t, e) {
2205
2219
  return e ? { ...Ce(t), whiteSpace: "nowrap" } : { whiteSpace: "nowrap" };
2206
2220
  }
2207
- function Kn(t, e, r) {
2221
+ function Yn(t, e, r) {
2208
2222
  if (!t)
2209
2223
  return [];
2210
2224
  const n = re(e, k.Letter), o = re(e, k.Emoji);
@@ -2214,7 +2228,7 @@ function Kn(t, e, r) {
2214
2228
  const a = $e(t);
2215
2229
  if (a.length === 0)
2216
2230
  return [t];
2217
- const { nodes: u } = Rt(a, r);
2231
+ const { nodes: u } = kt(a, r);
2218
2232
  return u;
2219
2233
  }
2220
2234
  const s = [], i = $e(t);
@@ -2223,13 +2237,13 @@ function Kn(t, e, r) {
2223
2237
  if (a === `
2224
2238
  `) {
2225
2239
  s.push(
2226
- /* @__PURE__ */ R.jsx("span", { "data-motion-letter": !0, style: h, children: /* @__PURE__ */ R.jsx("br", {}) }, f)
2240
+ /* @__PURE__ */ E.jsx("span", { "data-motion-letter": !0, style: h, children: /* @__PURE__ */ E.jsx("br", {}) }, f)
2227
2241
  );
2228
2242
  continue;
2229
2243
  }
2230
- const y = o && Et(a) ? { "data-motion-emoji": !0 } : void 0, c = a === " " ? " " : a;
2244
+ const y = o && Rt(a) ? { "data-motion-emoji": !0 } : void 0, c = a === " " ? " " : a;
2231
2245
  s.push(
2232
- /* @__PURE__ */ R.jsx("span", { "data-motion-letter": !0, style: h, ...y, children: c }, f)
2246
+ /* @__PURE__ */ E.jsx("span", { "data-motion-letter": !0, style: h, ...y, children: c }, f)
2233
2247
  );
2234
2248
  }
2235
2249
  return s;
@@ -2237,33 +2251,33 @@ function Kn(t, e, r) {
2237
2251
  function $e(t) {
2238
2252
  if (!t)
2239
2253
  return [];
2240
- const e = zn();
2241
- return e ? Array.from(e.segment(t), (r) => r.segment) : Yn(t);
2254
+ const e = Wn();
2255
+ return e ? Array.from(e.segment(t), (r) => r.segment) : Hn(t);
2242
2256
  }
2243
2257
  let le;
2244
- function zn() {
2258
+ function Wn() {
2245
2259
  return le !== void 0 || (typeof Intl < "u" && typeof Intl.Segmenter == "function" ? le = new Intl.Segmenter(void 0, { granularity: "grapheme" }) : le = null), le;
2246
2260
  }
2247
- function Yn(t) {
2261
+ function Hn(t) {
2248
2262
  const e = [], r = Array.from(t);
2249
2263
  let n = "";
2250
2264
  for (let o = 0; o < r.length; o++) {
2251
2265
  const s = r[o], i = r[o + 1];
2252
- n += s, !(i && Wn(s, i)) && (e.push(n), n = "");
2266
+ n += s, !(i && qn(s, i)) && (e.push(n), n = "");
2253
2267
  }
2254
2268
  return n && e.push(n), e;
2255
2269
  }
2256
- function Wn(t, e) {
2257
- return e ? !!(ft(t) || ft(e) || Gn(e) || qn(e) || Hn(e) || pt(t) && pt(e)) : !1;
2270
+ function qn(t, e) {
2271
+ return e ? !!(ft(t) || ft(e) || Xn(e) || Gn(e) || Jn(e) || pt(t) && pt(e)) : !1;
2258
2272
  }
2259
2273
  function ft(t) {
2260
2274
  return t.codePointAt(0) === 8205;
2261
2275
  }
2262
- function qn(t) {
2276
+ function Gn(t) {
2263
2277
  const e = t.codePointAt(0);
2264
2278
  return e === void 0 ? !1 : e >= 65024 && e <= 65039 || e >= 917760 && e <= 917999;
2265
2279
  }
2266
- function Hn(t) {
2280
+ function Jn(t) {
2267
2281
  const e = t.codePointAt(0);
2268
2282
  return e === void 0 ? !1 : e >= 127995 && e <= 127999;
2269
2283
  }
@@ -2272,10 +2286,10 @@ function pt(t) {
2272
2286
  return e === void 0 ? !1 : e >= 127462 && e <= 127487;
2273
2287
  }
2274
2288
  let Ne;
2275
- function Gn(t) {
2276
- return t ? (Ne || (Ne = Jn()), Ne(t)) : !1;
2289
+ function Xn(t) {
2290
+ return t ? (Ne || (Ne = Zn()), Ne(t)) : !1;
2277
2291
  }
2278
- function Jn() {
2292
+ function Zn() {
2279
2293
  try {
2280
2294
  const t = new RegExp("\\p{Mark}", "u");
2281
2295
  return (e) => t.test(e);
@@ -2287,18 +2301,18 @@ function Jn() {
2287
2301
  }
2288
2302
  }
2289
2303
  let Pe;
2290
- function Et(t) {
2291
- return t ? (Pe || (Pe = Xn()), Pe(t)) : !1;
2304
+ function Rt(t) {
2305
+ return t ? (Pe || (Pe = Qn()), Pe(t)) : !1;
2292
2306
  }
2293
- function Xn() {
2307
+ function Qn() {
2294
2308
  try {
2295
2309
  const t = new RegExp("\\p{Extended_Pictographic}", "u");
2296
2310
  return (e) => t.test(e);
2297
2311
  } catch {
2298
- return Zn;
2312
+ return eo;
2299
2313
  }
2300
2314
  }
2301
- function Zn(t) {
2315
+ function eo(t) {
2302
2316
  if (!t)
2303
2317
  return !1;
2304
2318
  for (const e of Array.from(t)) {
@@ -2308,7 +2322,7 @@ function Zn(t) {
2308
2322
  }
2309
2323
  return !1;
2310
2324
  }
2311
- function Qn(t) {
2325
+ function to(t) {
2312
2326
  const e = [];
2313
2327
  let r = "", n = 0;
2314
2328
  for (let o = 0; o < t.length; o++) {
@@ -2322,7 +2336,7 @@ function Qn(t) {
2322
2336
  }
2323
2337
  return (n > 0 || r.length > 0) && e.push({ text: r, breaks: n }), e;
2324
2338
  }
2325
- function eo(t) {
2339
+ function ro(t) {
2326
2340
  if (t.length === 0)
2327
2341
  return [];
2328
2342
  const e = [];
@@ -2357,21 +2371,21 @@ function ht(t) {
2357
2371
  const e = $e(t);
2358
2372
  if (e.length === 0)
2359
2373
  return t;
2360
- const { nodes: r, sawEmoji: n } = Rt(e);
2374
+ const { nodes: r, sawEmoji: n } = kt(e);
2361
2375
  return n ? r.length === 1 ? r[0] ?? t : r : t;
2362
2376
  }
2363
- function Rt(t, e) {
2377
+ function kt(t, e) {
2364
2378
  const r = [];
2365
2379
  let n = "", o = !1, s = e?.emoji ?? 0;
2366
2380
  const i = () => {
2367
2381
  n && (r.push(n), n = "");
2368
2382
  };
2369
2383
  for (const a of t) {
2370
- if (Et(a)) {
2384
+ if (Rt(a)) {
2371
2385
  o = !0, i();
2372
2386
  const f = `motion-emoji-${e ? e.emoji++ : s++}`;
2373
2387
  r.push(
2374
- /* @__PURE__ */ R.jsx("span", { "data-motion-emoji": !0, children: a }, f)
2388
+ /* @__PURE__ */ E.jsx("span", { "data-motion-emoji": !0, children: a }, f)
2375
2389
  );
2376
2390
  continue;
2377
2391
  }
@@ -2379,7 +2393,7 @@ function Rt(t, e) {
2379
2393
  }
2380
2394
  return i(), o ? { nodes: r, sawEmoji: !0 } : { nodes: [t.join("")], sawEmoji: !1 };
2381
2395
  }
2382
- function to(t) {
2396
+ function no(t) {
2383
2397
  if (!t)
2384
2398
  return k.None;
2385
2399
  const e = t.trim();
@@ -2393,8 +2407,8 @@ function to(t) {
2393
2407
  const n = e.split(/\s+/).filter(Boolean);
2394
2408
  if (n.length === 0)
2395
2409
  return k.None;
2396
- const s = n.map((u) => `.${ro(u)}`).map(
2397
- (u) => new RegExp(`(^|[^a-zA-Z0-9_-])${no(u)}(?![a-zA-Z0-9_-])`)
2410
+ const s = n.map((u) => `.${oo(u)}`).map(
2411
+ (u) => new RegExp(`(^|[^a-zA-Z0-9_-])${so(u)}(?![a-zA-Z0-9_-])`)
2398
2412
  );
2399
2413
  let i = k.None, a = !1;
2400
2414
  for (const u of Array.from(document.styleSheets)) {
@@ -2404,14 +2418,14 @@ function to(t) {
2404
2418
  } catch {
2405
2419
  continue;
2406
2420
  }
2407
- const h = kt(f, s);
2421
+ const h = At(f, s);
2408
2422
  if (h.mask && (i |= h.mask, i === Fe))
2409
2423
  break;
2410
2424
  a ||= h.sawStyleRule;
2411
2425
  }
2412
2426
  return (i !== k.None || a) && lt.set(e, i), i;
2413
2427
  }
2414
- function kt(t, e) {
2428
+ function At(t, e) {
2415
2429
  if (!t)
2416
2430
  return { mask: k.None, sawStyleRule: !1 };
2417
2431
  let r = k.None, n = !1;
@@ -2422,12 +2436,12 @@ function kt(t, e) {
2422
2436
  const a = s.selectorText ?? "";
2423
2437
  if (!a || !e.some((f) => f.test(a))) continue;
2424
2438
  n = !0;
2425
- for (const f of Un)
2439
+ for (const f of Dn)
2426
2440
  f.hints.some((h) => a.includes(h)) && (r |= f.flag);
2427
2441
  if (r === Fe)
2428
2442
  return { mask: r, sawStyleRule: !0 };
2429
2443
  } else if ("cssRules" in s) {
2430
- const i = kt(s.cssRules, e);
2444
+ const i = At(s.cssRules, e);
2431
2445
  if (i.mask && (r |= i.mask, r === Fe))
2432
2446
  return { mask: r, sawStyleRule: !0 };
2433
2447
  n ||= i.sawStyleRule;
@@ -2436,19 +2450,19 @@ function kt(t, e) {
2436
2450
  }
2437
2451
  return { mask: r, sawStyleRule: n };
2438
2452
  }
2439
- function ro(t) {
2453
+ function oo(t) {
2440
2454
  return typeof CSS < "u" && typeof CSS.escape == "function" ? CSS.escape(t) : t.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${e}`);
2441
2455
  }
2442
- function no(t) {
2456
+ function so(t) {
2443
2457
  return t.replace(/[.*+?^${}()|[\]\\]/g, (e) => `\\${e}`);
2444
2458
  }
2445
- const We = "ikon_auth_session", oo = 10080 * 60 * 1e3, so = 60 * 1e3;
2446
- function io(t) {
2459
+ const We = "ikon_auth_session", io = 10080 * 60 * 1e3, ao = 60 * 1e3;
2460
+ function co(t) {
2447
2461
  try {
2448
2462
  const e = t.split(".");
2449
2463
  if (e.length !== 3) return !0;
2450
2464
  const r = e[1].replace(/-/g, "+").replace(/_/g, "/"), n = r + "=".repeat((4 - r.length % 4) % 4), o = JSON.parse(atob(n));
2451
- return typeof o.exp != "number" ? !1 : Date.now() >= o.exp * 1e3 - so;
2465
+ return typeof o.exp != "number" ? !1 : Date.now() >= o.exp * 1e3 - ao;
2452
2466
  } catch {
2453
2467
  return !0;
2454
2468
  }
@@ -2460,12 +2474,12 @@ function pe(t) {
2460
2474
  console.warn("Failed to save auth session to localStorage");
2461
2475
  }
2462
2476
  }
2463
- function At() {
2477
+ function Tt() {
2464
2478
  try {
2465
2479
  const t = localStorage.getItem(We);
2466
2480
  if (!t) return null;
2467
2481
  const e = JSON.parse(t);
2468
- return Date.now() - e.authenticatedAt > oo || io(e.token) ? (Ae(), null) : e;
2482
+ return Date.now() - e.authenticatedAt > io || co(e.token) ? (Ae(), null) : e;
2469
2483
  } catch {
2470
2484
  return console.warn("Failed to load auth session from localStorage"), null;
2471
2485
  }
@@ -2485,9 +2499,9 @@ function ee(t) {
2485
2499
  authenticatedAt: t.authenticatedAt
2486
2500
  };
2487
2501
  }
2488
- const Tt = 15e3;
2489
- async function Ct(t, e) {
2490
- const r = Vt(), n = await fetch(`${e}/anonymous`, {
2502
+ const Ct = 15e3;
2503
+ async function It(t, e) {
2504
+ const r = Kt(), n = await fetch(`${e}/anonymous`, {
2491
2505
  method: "POST",
2492
2506
  headers: { "Content-Type": "application/json" },
2493
2507
  body: JSON.stringify({ deviceId: r, space: t })
@@ -2503,7 +2517,7 @@ async function Ct(t, e) {
2503
2517
  };
2504
2518
  return pe(s), s;
2505
2519
  }
2506
- async function ao({ email: t, spaceId: e, authUrl: r }) {
2520
+ async function uo({ email: t, spaceId: e, authUrl: r }) {
2507
2521
  const n = await fetch(`${r}/email/send`, {
2508
2522
  method: "POST",
2509
2523
  headers: { "Content-Type": "application/json" },
@@ -2511,14 +2525,14 @@ async function ao({ email: t, spaceId: e, authUrl: r }) {
2511
2525
  email: t.trim(),
2512
2526
  space: e
2513
2527
  }),
2514
- signal: AbortSignal.timeout(Tt)
2528
+ signal: AbortSignal.timeout(Ct)
2515
2529
  });
2516
2530
  if (!n.ok) {
2517
2531
  const o = await n.text().catch(() => "Failed to send login code");
2518
2532
  throw new Error(o);
2519
2533
  }
2520
2534
  }
2521
- async function co({ email: t, code: e, authUrl: r }) {
2535
+ async function lo({ email: t, code: e, authUrl: r }) {
2522
2536
  const n = await fetch(`${r}/email/code`, {
2523
2537
  method: "POST",
2524
2538
  headers: { "Content-Type": "application/json" },
@@ -2526,7 +2540,7 @@ async function co({ email: t, code: e, authUrl: r }) {
2526
2540
  email: t.trim(),
2527
2541
  code: e.trim()
2528
2542
  }),
2529
- signal: AbortSignal.timeout(Tt)
2543
+ signal: AbortSignal.timeout(Ct)
2530
2544
  });
2531
2545
  if (!n.ok) {
2532
2546
  const i = await n.text().catch(() => "Invalid code");
@@ -2539,21 +2553,21 @@ async function co({ email: t, code: e, authUrl: r }) {
2539
2553
  };
2540
2554
  return pe(s), s;
2541
2555
  }
2542
- function uo() {
2556
+ function fo() {
2543
2557
  const t = new URLSearchParams(window.location.search), e = t.get("ikon_token"), r = t.get("ikon_provider");
2544
2558
  return e && r ? { token: e, provider: r } : null;
2545
2559
  }
2546
- function lo() {
2560
+ function po() {
2547
2561
  return new URLSearchParams(window.location.search).get("error");
2548
2562
  }
2549
2563
  function mt() {
2550
2564
  window.history.replaceState({}, "", window.location.pathname);
2551
2565
  }
2552
- function fo(t, e, r, n) {
2566
+ function ho(t, e, r, n) {
2553
2567
  const o = n ?? window.location.origin + window.location.pathname + window.location.search;
2554
2568
  return `${r}/oauth/${t}?space=${encodeURIComponent(e)}&return=${encodeURIComponent(o)}`;
2555
2569
  }
2556
- async function po(t) {
2570
+ async function mo(t) {
2557
2571
  const e = await fetch(`${t}/passkey/registration/options`, {
2558
2572
  method: "POST",
2559
2573
  headers: { "Content-Type": "application/json" }
@@ -2564,7 +2578,7 @@ async function po(t) {
2564
2578
  }
2565
2579
  return e.json();
2566
2580
  }
2567
- async function ho(t, e, r) {
2581
+ async function go(t, e, r) {
2568
2582
  const n = await fetch(`${t}/passkey/registration/verify`, {
2569
2583
  method: "POST",
2570
2584
  headers: { "Content-Type": "application/json" },
@@ -2581,7 +2595,7 @@ async function ho(t, e, r) {
2581
2595
  };
2582
2596
  return pe(s), s;
2583
2597
  }
2584
- async function mo(t, e) {
2598
+ async function yo(t, e) {
2585
2599
  const r = await fetch(`${t}/passkey/authentication/options`, {
2586
2600
  method: "POST",
2587
2601
  headers: { "Content-Type": "application/json" },
@@ -2593,7 +2607,7 @@ async function mo(t, e) {
2593
2607
  }
2594
2608
  return r.json();
2595
2609
  }
2596
- async function go(t, e) {
2610
+ async function bo(t, e) {
2597
2611
  const r = await fetch(`${t}/passkey/authentication/verify`, {
2598
2612
  method: "POST",
2599
2613
  headers: { "Content-Type": "application/json" },
@@ -2610,7 +2624,7 @@ async function go(t, e) {
2610
2624
  };
2611
2625
  return pe(o), o;
2612
2626
  }
2613
- function H(t) {
2627
+ function q(t) {
2614
2628
  const e = new Uint8Array(t);
2615
2629
  let r = "";
2616
2630
  for (const o of e)
@@ -2623,13 +2637,13 @@ function Te(t) {
2623
2637
  i[a] = o.charCodeAt(a);
2624
2638
  return s;
2625
2639
  }
2626
- function qe() {
2627
- return yo.stubThis(globalThis?.PublicKeyCredential !== void 0 && typeof globalThis.PublicKeyCredential == "function");
2640
+ function He() {
2641
+ return So.stubThis(globalThis?.PublicKeyCredential !== void 0 && typeof globalThis.PublicKeyCredential == "function");
2628
2642
  }
2629
- const yo = {
2643
+ const So = {
2630
2644
  stubThis: (t) => t
2631
2645
  };
2632
- function It(t) {
2646
+ function _t(t) {
2633
2647
  const { id: e } = t;
2634
2648
  return {
2635
2649
  ...t,
@@ -2642,7 +2656,7 @@ function It(t) {
2642
2656
  transports: t.transports
2643
2657
  };
2644
2658
  }
2645
- function _t(t) {
2659
+ function Ot(t) {
2646
2660
  return (
2647
2661
  // Consider localhost valid as well since it's okay wrt Secure Contexts
2648
2662
  t === "localhost" || // Support punycode (ACE) or ascii labels and domains
@@ -2659,7 +2673,7 @@ class x extends Error {
2659
2673
  }), this.name = o ?? n.name, this.code = r;
2660
2674
  }
2661
2675
  }
2662
- function bo({ error: t, options: e }) {
2676
+ function wo({ error: t, options: e }) {
2663
2677
  const { publicKey: r } = e;
2664
2678
  if (!r)
2665
2679
  throw Error("options was missing required publicKey property");
@@ -2717,7 +2731,7 @@ function bo({ error: t, options: e }) {
2717
2731
  });
2718
2732
  if (t.name === "SecurityError") {
2719
2733
  const n = globalThis.location.hostname;
2720
- if (_t(n)) {
2734
+ if (Ot(n)) {
2721
2735
  if (r.rp.id !== n)
2722
2736
  return new x({
2723
2737
  message: `The RP ID "${r.rp.id}" is invalid for this domain`,
@@ -2745,7 +2759,7 @@ function bo({ error: t, options: e }) {
2745
2759
  }
2746
2760
  return t;
2747
2761
  }
2748
- class So {
2762
+ class vo {
2749
2763
  constructor() {
2750
2764
  Object.defineProperty(this, "controller", {
2751
2765
  enumerable: !0,
@@ -2769,15 +2783,15 @@ class So {
2769
2783
  }
2770
2784
  }
2771
2785
  }
2772
- const Ot = new So(), wo = ["cross-platform", "platform"];
2773
- function Nt(t) {
2774
- if (t && !(wo.indexOf(t) < 0))
2786
+ const Nt = new vo(), Eo = ["cross-platform", "platform"];
2787
+ function Pt(t) {
2788
+ if (t && !(Eo.indexOf(t) < 0))
2775
2789
  return t;
2776
2790
  }
2777
- async function vo(t) {
2791
+ async function Ro(t) {
2778
2792
  !t.optionsJSON && t.challenge && (console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."), t = { optionsJSON: t });
2779
2793
  const { optionsJSON: e, useAutoRegister: r = !1 } = t;
2780
- if (!qe())
2794
+ if (!He())
2781
2795
  throw new Error("WebAuthn is not supported in this browser");
2782
2796
  const n = {
2783
2797
  ...e,
@@ -2786,14 +2800,14 @@ async function vo(t) {
2786
2800
  ...e.user,
2787
2801
  id: Te(e.user.id)
2788
2802
  },
2789
- excludeCredentials: e.excludeCredentials?.map(It)
2803
+ excludeCredentials: e.excludeCredentials?.map(_t)
2790
2804
  }, o = {};
2791
- r && (o.mediation = "conditional"), o.publicKey = n, o.signal = Ot.createNewAbortSignal();
2805
+ r && (o.mediation = "conditional"), o.publicKey = n, o.signal = Nt.createNewAbortSignal();
2792
2806
  let s;
2793
2807
  try {
2794
2808
  s = await navigator.credentials.create(o);
2795
2809
  } catch (l) {
2796
- throw bo({ error: l, options: o });
2810
+ throw wo({ error: l, options: o });
2797
2811
  }
2798
2812
  if (!s)
2799
2813
  throw new Error("Registration was not completed");
@@ -2811,23 +2825,23 @@ async function vo(t) {
2811
2825
  if (typeof u.getPublicKey == "function")
2812
2826
  try {
2813
2827
  const l = u.getPublicKey();
2814
- l !== null && (y = H(l));
2828
+ l !== null && (y = q(l));
2815
2829
  } catch (l) {
2816
2830
  Me("getPublicKey()", l);
2817
2831
  }
2818
2832
  let c;
2819
2833
  if (typeof u.getAuthenticatorData == "function")
2820
2834
  try {
2821
- c = H(u.getAuthenticatorData());
2835
+ c = q(u.getAuthenticatorData());
2822
2836
  } catch (l) {
2823
2837
  Me("getAuthenticatorData()", l);
2824
2838
  }
2825
2839
  return {
2826
2840
  id: i,
2827
- rawId: H(a),
2841
+ rawId: q(a),
2828
2842
  response: {
2829
- attestationObject: H(u.attestationObject),
2830
- clientDataJSON: H(u.clientDataJSON),
2843
+ attestationObject: q(u.attestationObject),
2844
+ clientDataJSON: q(u.clientDataJSON),
2831
2845
  transports: h,
2832
2846
  publicKeyAlgorithm: p,
2833
2847
  publicKey: y,
@@ -2835,15 +2849,15 @@ async function vo(t) {
2835
2849
  },
2836
2850
  type: f,
2837
2851
  clientExtensionResults: s.getClientExtensionResults(),
2838
- authenticatorAttachment: Nt(s.authenticatorAttachment)
2852
+ authenticatorAttachment: Pt(s.authenticatorAttachment)
2839
2853
  };
2840
2854
  }
2841
2855
  function Me(t, e) {
2842
2856
  console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${t}. You should report this error to them.
2843
2857
  `, e);
2844
2858
  }
2845
- function Eo() {
2846
- if (!qe())
2859
+ function ko() {
2860
+ if (!He())
2847
2861
  return Le.stubThis(new Promise((e) => e(!1)));
2848
2862
  const t = globalThis.PublicKeyCredential;
2849
2863
  return t?.isConditionalMediationAvailable === void 0 ? Le.stubThis(new Promise((e) => e(!1))) : Le.stubThis(t.isConditionalMediationAvailable());
@@ -2851,7 +2865,7 @@ function Eo() {
2851
2865
  const Le = {
2852
2866
  stubThis: (t) => t
2853
2867
  };
2854
- function Ro({ error: t, options: e }) {
2868
+ function Ao({ error: t, options: e }) {
2855
2869
  const { publicKey: r } = e;
2856
2870
  if (!r)
2857
2871
  throw Error("options was missing required publicKey property");
@@ -2871,7 +2885,7 @@ function Ro({ error: t, options: e }) {
2871
2885
  });
2872
2886
  if (t.name === "SecurityError") {
2873
2887
  const n = globalThis.location.hostname;
2874
- if (_t(n)) {
2888
+ if (Ot(n)) {
2875
2889
  if (r.rpId !== n)
2876
2890
  return new x({
2877
2891
  message: `The RP ID "${r.rpId}" is invalid for this domain`,
@@ -2892,61 +2906,61 @@ function Ro({ error: t, options: e }) {
2892
2906
  }
2893
2907
  return t;
2894
2908
  }
2895
- async function ko(t) {
2909
+ async function To(t) {
2896
2910
  !t.optionsJSON && t.challenge && (console.warn("startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."), t = { optionsJSON: t });
2897
2911
  const { optionsJSON: e, useBrowserAutofill: r = !1, verifyBrowserAutofillInput: n = !0 } = t;
2898
- if (!qe())
2912
+ if (!He())
2899
2913
  throw new Error("WebAuthn is not supported in this browser");
2900
2914
  let o;
2901
- e.allowCredentials?.length !== 0 && (o = e.allowCredentials?.map(It));
2915
+ e.allowCredentials?.length !== 0 && (o = e.allowCredentials?.map(_t));
2902
2916
  const s = {
2903
2917
  ...e,
2904
2918
  challenge: Te(e.challenge),
2905
2919
  allowCredentials: o
2906
2920
  }, i = {};
2907
2921
  if (r) {
2908
- if (!await Eo())
2922
+ if (!await ko())
2909
2923
  throw Error("Browser does not support WebAuthn autofill");
2910
2924
  if (document.querySelectorAll("input[autocomplete$='webauthn']").length < 1 && n)
2911
2925
  throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');
2912
2926
  i.mediation = "conditional", s.allowCredentials = [];
2913
2927
  }
2914
- i.publicKey = s, i.signal = Ot.createNewAbortSignal();
2928
+ i.publicKey = s, i.signal = Nt.createNewAbortSignal();
2915
2929
  let a;
2916
2930
  try {
2917
2931
  a = await navigator.credentials.get(i);
2918
2932
  } catch (c) {
2919
- throw Ro({ error: c, options: i });
2933
+ throw Ao({ error: c, options: i });
2920
2934
  }
2921
2935
  if (!a)
2922
2936
  throw new Error("Authentication was not completed");
2923
2937
  const { id: u, rawId: f, response: h, type: p } = a;
2924
2938
  let y;
2925
- return h.userHandle && (y = H(h.userHandle)), {
2939
+ return h.userHandle && (y = q(h.userHandle)), {
2926
2940
  id: u,
2927
- rawId: H(f),
2941
+ rawId: q(f),
2928
2942
  response: {
2929
- authenticatorData: H(h.authenticatorData),
2930
- clientDataJSON: H(h.clientDataJSON),
2931
- signature: H(h.signature),
2943
+ authenticatorData: q(h.authenticatorData),
2944
+ clientDataJSON: q(h.clientDataJSON),
2945
+ signature: q(h.signature),
2932
2946
  userHandle: y
2933
2947
  },
2934
2948
  type: p,
2935
2949
  clientExtensionResults: a.getClientExtensionResults(),
2936
- authenticatorAttachment: Nt(a.authenticatorAttachment)
2950
+ authenticatorAttachment: Pt(a.authenticatorAttachment)
2937
2951
  };
2938
2952
  }
2939
- const He = gt(null);
2940
- function Ko({ children: t, config: e }) {
2941
- const [r, n] = q({
2953
+ const qe = gt(null);
2954
+ function Wo({ children: t, config: e }) {
2955
+ const [r, n] = $({
2942
2956
  isAuthenticated: !1,
2943
2957
  isLoading: !0,
2944
2958
  user: null,
2945
2959
  error: null
2946
2960
  });
2947
- P(() => {
2961
+ N(() => {
2948
2962
  (() => {
2949
- const y = lo();
2963
+ const y = po();
2950
2964
  if (y) {
2951
2965
  mt(), n({
2952
2966
  isAuthenticated: !1,
@@ -2956,7 +2970,7 @@ function Ko({ children: t, config: e }) {
2956
2970
  });
2957
2971
  return;
2958
2972
  }
2959
- const c = uo();
2973
+ const c = fo();
2960
2974
  if (c) {
2961
2975
  const m = {
2962
2976
  token: c.token,
@@ -2971,7 +2985,7 @@ function Ko({ children: t, config: e }) {
2971
2985
  });
2972
2986
  return;
2973
2987
  }
2974
- const l = At();
2988
+ const l = Tt();
2975
2989
  if (l) {
2976
2990
  n({
2977
2991
  isAuthenticated: !0,
@@ -2998,11 +3012,11 @@ function Ko({ children: t, config: e }) {
2998
3012
  }));
2999
3013
  return;
3000
3014
  }
3001
- const y = de(e.authUrl);
3015
+ const y = await de(e.authUrl);
3002
3016
  if (p === "guest") {
3003
3017
  n((c) => ({ ...c, isLoading: !0 }));
3004
3018
  try {
3005
- const c = await Ct(e.spaceId, y);
3019
+ const c = await It(e.spaceId, y);
3006
3020
  n({
3007
3021
  isAuthenticated: !0,
3008
3022
  isLoading: !1,
@@ -3021,7 +3035,7 @@ function Ko({ children: t, config: e }) {
3021
3035
  if (p === "passkey") {
3022
3036
  n((c) => ({ ...c, isLoading: !0, error: null }));
3023
3037
  try {
3024
- const c = await mo(y), l = await ko({ optionsJSON: c }), m = await go(y, l);
3038
+ const c = await yo(y), l = await To({ optionsJSON: c }), m = await bo(y, l);
3025
3039
  n({
3026
3040
  isAuthenticated: !0,
3027
3041
  isLoading: !1,
@@ -3039,22 +3053,22 @@ function Ko({ children: t, config: e }) {
3039
3053
  }
3040
3054
  if (p === "email")
3041
3055
  throw new Error("login('email') is not supported. Use requestEmailCode()/submitEmailCode() from useAuth() instead.");
3042
- window.location.href = fo(p, e.spaceId, y);
3056
+ window.location.href = ho(p, e.spaceId, y);
3043
3057
  },
3044
3058
  [e.authUrl, e.spaceId]
3045
3059
  ), s = U(
3046
3060
  async (p) => {
3047
3061
  if (!e.spaceId)
3048
3062
  throw n((c) => ({ ...c, error: "Space ID is not configured" })), new Error("Space ID is not configured");
3049
- const y = de(e.authUrl);
3050
- await ao({ email: p, spaceId: e.spaceId, authUrl: y });
3063
+ const y = await de(e.authUrl);
3064
+ await uo({ email: p, spaceId: e.spaceId, authUrl: y });
3051
3065
  },
3052
3066
  [e.authUrl, e.spaceId]
3053
3067
  ), i = U(
3054
3068
  async (p, y) => {
3055
3069
  n((c) => ({ ...c, isLoading: !0, error: null }));
3056
3070
  try {
3057
- const c = de(e.authUrl), l = await co({ email: p, code: y, authUrl: c });
3071
+ const c = await de(e.authUrl), l = await lo({ email: p, code: y, authUrl: c });
3058
3072
  n({
3059
3073
  isAuthenticated: !0,
3060
3074
  isLoading: !1,
@@ -3076,10 +3090,10 @@ function Ko({ children: t, config: e }) {
3076
3090
  });
3077
3091
  }, []), u = U(
3078
3092
  async (p) => {
3079
- const y = de(e.authUrl);
3093
+ const y = await de(e.authUrl);
3080
3094
  n((c) => ({ ...c, isLoading: !0, error: null }));
3081
3095
  try {
3082
- const c = await po(y), l = await vo({ optionsJSON: c }), m = await ho(y, l, p);
3096
+ const c = await mo(y), l = await Ro({ optionsJSON: c }), m = await go(y, l, p);
3083
3097
  n({
3084
3098
  isAuthenticated: !0,
3085
3099
  isLoading: !1,
@@ -3095,7 +3109,7 @@ function Ko({ children: t, config: e }) {
3095
3109
  }
3096
3110
  },
3097
3111
  [e.authUrl]
3098
- ), f = U(() => r.user?.token ?? null, [r.user]), h = $(
3112
+ ), f = U(() => r.user?.token ?? null, [r.user]), h = V(
3099
3113
  () => ({
3100
3114
  state: r,
3101
3115
  login: o,
@@ -3107,20 +3121,20 @@ function Ko({ children: t, config: e }) {
3107
3121
  }),
3108
3122
  [r, o, a, f, u, s, i]
3109
3123
  );
3110
- return /* @__PURE__ */ R.jsx(He, { value: h, children: t });
3124
+ return /* @__PURE__ */ E.jsx(qe, { value: h, children: t });
3111
3125
  }
3112
- function Ao() {
3113
- const t = Ke(He);
3126
+ function Co() {
3127
+ const t = Ke(qe);
3114
3128
  if (!t)
3115
3129
  throw new Error("useAuth must be used within an AuthProvider");
3116
3130
  return t;
3117
3131
  }
3118
- function To() {
3119
- return Ke(He);
3132
+ function Io() {
3133
+ return Ke(qe);
3120
3134
  }
3121
- function zo(t) {
3122
- const { config: e, guestUrlParam: r } = t, { state: n, login: o } = Ao(), s = v(!1);
3123
- return P(() => {
3135
+ function Ho(t) {
3136
+ const { config: e, guestUrlParam: r } = t, { state: n, login: o } = Co(), s = v(!1);
3137
+ return N(() => {
3124
3138
  if (!r || n.isAuthenticated || n.isLoading || s.current || !e.methods.includes("guest"))
3125
3139
  return;
3126
3140
  const i = new URLSearchParams(window.location.search), a = i.get(r);
@@ -3136,7 +3150,7 @@ function zo(t) {
3136
3150
  error: n.error
3137
3151
  };
3138
3152
  }
3139
- function Yo({
3153
+ function qo({
3140
3154
  connectionState: t,
3141
3155
  error: e,
3142
3156
  isReady: r,
@@ -3181,141 +3195,141 @@ function Yo({
3181
3195
  }
3182
3196
  }
3183
3197
  const ve = fe("useIkonApp");
3184
- function Co() {
3198
+ function _o() {
3185
3199
  if (typeof window < "u" && window.__IKON_AUTH_CONFIG__)
3186
3200
  return window.__IKON_AUTH_CONFIG__;
3187
3201
  }
3188
- function Io() {
3202
+ function Oo() {
3189
3203
  if (typeof window < "u" && window.__IKON_LOCAL_IKON_SERVER_CONFIG__)
3190
3204
  return window.__IKON_LOCAL_IKON_SERVER_CONFIG__;
3191
3205
  }
3192
- function Wo(t) {
3193
- const { authConfig: e, modules: r, timeouts: n, backgroundAudio: o, webRtc: s, audio: i, video: a, websocket: u, webtransport: f, proxy: h } = t, p = e === void 0 ? Co() ?? null : e, y = Io(), c = To(), l = v(null), m = v(null), g = v(null), b = v(!1), S = v(!1), O = v(o), _ = v(n), M = v(s), L = v(i), G = v(a), T = v(u), N = v(f), D = v(h);
3194
- O.current = o, _.current = n, M.current = s, L.current = i, G.current = a, T.current = u, N.current = f, D.current = h;
3195
- const [j, B] = q("idle"), [V, he] = q(null), [ne, me] = q(null), [oe, ge] = q(null), [X, ye] = q(null), d = v(!1), [w, A] = q(0), E = $(() => {
3206
+ function Go(t) {
3207
+ const { authConfig: e, modules: r, timeouts: n, backgroundAudio: o, webRtc: s, audio: i, video: a, websocket: u, webtransport: f, proxy: h } = t, p = e === void 0 ? _o() ?? null : e, y = Oo(), c = Io(), l = v(null), m = v(null), g = v(null), b = v(!1), S = v(!1), O = v(o), C = v(n), P = v(s), L = v(i), G = v(a), I = v(u), M = v(f), D = v(h);
3208
+ O.current = o, C.current = n, P.current = s, L.current = i, G.current = a, I.current = u, M.current = f, D.current = h;
3209
+ const [j, B] = $("idle"), [K, he] = $(null), [ne, me] = $(null), [oe, ge] = $(null), [X, ye] = $(null), d = v(!1), [w, A] = $(0), R = V(() => {
3196
3210
  try {
3197
- const I = Kt();
3198
- return (I.sessionId || I.channelKey) && zt(), I;
3211
+ const T = zt();
3212
+ return (T.sessionId || T.channelKey) && Yt(), T;
3199
3213
  } catch {
3200
3214
  return { parameters: {} };
3201
3215
  }
3202
- }, []), K = $(() => p?.enabled ? At() : null, [p?.enabled, w]), Z = y?.enabled ?? !1, C = y?.host ?? "localhost", Y = y?.port ?? 8443;
3203
- !Z && Ge() && p && !p.enabled && p.spaceId && !X && !d.current && (d.current = !0, Ct(p.spaceId, de(p.authUrl)).then((I) => {
3204
- ye(I.token);
3205
- }).catch((I) => {
3206
- ve.error("Anonymous auth failed:", I), he(I instanceof Error ? I.message : "Anonymous auth failed"), d.current = !1;
3216
+ }, []), z = V(() => p?.enabled ? Tt() : null, [p?.enabled, w]), Z = y?.enabled ?? !1, _ = y?.host ?? "localhost", W = y?.port ?? 8443;
3217
+ !Z && Ge() && p && !p.enabled && p.spaceId && !X && !d.current && (d.current = !0, de(p.authUrl).then((T) => It(p.spaceId, T)).then((T) => {
3218
+ ye(T.token);
3219
+ }).catch((T) => {
3220
+ ve.error("Anonymous auth failed:", T), he(T instanceof Error ? T.message : "Anonymous auth failed"), d.current = !1;
3207
3221
  }));
3208
- const se = $(() => {
3222
+ const se = V(() => {
3209
3223
  if (Z) {
3210
- const I = K?.token ? Yt(K.token) ?? void 0 : void 0;
3224
+ const T = z?.token ? Wt(z.token) ?? void 0 : void 0;
3211
3225
  return {
3212
3226
  local: {
3213
- host: C,
3214
- httpsPort: Y,
3215
- userId: I,
3216
- token: K?.token ?? void 0,
3227
+ host: _,
3228
+ httpsPort: W,
3229
+ userId: T,
3230
+ token: z?.token ?? void 0,
3217
3231
  spaceId: p?.spaceId,
3218
3232
  backendUrl: p?.backendUrl,
3219
3233
  authUrl: p?.authUrl,
3220
- parameters: E.parameters
3234
+ parameters: R.parameters
3221
3235
  }
3222
3236
  };
3223
3237
  }
3224
- return K?.token && p?.spaceId ? {
3238
+ return z?.token && p?.spaceId ? {
3225
3239
  sessionToken: {
3226
- token: K.token,
3240
+ token: z.token,
3227
3241
  spaceId: p.spaceId,
3228
3242
  backendType: Je(),
3229
- sessionId: E.sessionId,
3230
- channelKey: E.channelKey,
3231
- parameters: E.parameters
3243
+ sessionId: R.sessionId,
3244
+ channelKey: R.channelKey,
3245
+ parameters: R.parameters
3232
3246
  }
3233
3247
  } : X && p?.spaceId ? {
3234
3248
  sessionToken: {
3235
3249
  token: X,
3236
3250
  spaceId: p.spaceId,
3237
3251
  backendType: Je(),
3238
- sessionId: E.sessionId,
3239
- channelKey: E.channelKey,
3240
- parameters: E.parameters
3252
+ sessionId: R.sessionId,
3253
+ channelKey: R.channelKey,
3254
+ parameters: R.parameters
3241
3255
  }
3242
3256
  } : Ge() ? null : {
3243
3257
  local: {
3244
- host: C,
3245
- httpsPort: Y,
3258
+ host: _,
3259
+ httpsPort: W,
3246
3260
  spaceId: p?.spaceId,
3247
3261
  backendUrl: p?.backendUrl,
3248
3262
  authUrl: p?.authUrl,
3249
- parameters: E.parameters
3263
+ parameters: R.parameters
3250
3264
  }
3251
3265
  };
3252
- }, [Z, C, Y, K?.token, p?.spaceId, p?.backendUrl, p?.authUrl, X, E.sessionId, E.channelKey, E.parameters]);
3253
- mn(oe);
3254
- const Mt = yn(oe);
3255
- P(() => {
3266
+ }, [Z, _, W, z?.token, p?.spaceId, p?.backendUrl, p?.authUrl, X, R.sessionId, R.channelKey, R.parameters]);
3267
+ yn(oe);
3268
+ const Lt = Sn(oe);
3269
+ N(() => {
3256
3270
  if (!b.current) {
3257
- if (b.current = !0, g.current = an(), r)
3258
- for (const I of r)
3259
- I(g.current);
3260
- g.current.loadRegisteredModules().catch((I) => {
3261
- ve.error("Failed to load UI modules", I);
3271
+ if (b.current = !0, g.current = un(), r)
3272
+ for (const T of r)
3273
+ T(g.current);
3274
+ g.current.loadRegisteredModules().catch((T) => {
3275
+ ve.error("Failed to load UI modules", T);
3262
3276
  });
3263
3277
  }
3264
- }, []), P(() => {
3278
+ }, []), N(() => {
3265
3279
  if (!se) return;
3266
- const I = new Wt({
3280
+ const T = new Ht({
3267
3281
  ...se,
3268
- timeouts: _.current,
3282
+ timeouts: C.current,
3269
3283
  audio: L.current !== void 0 || O.current ? {
3270
3284
  enabled: L.current,
3271
3285
  ...O.current ? { background: { allowOnDesktop: !0, allowOnMobile: !0 } } : {}
3272
3286
  } : void 0,
3273
3287
  video: G.current !== void 0 ? { enabled: G.current } : void 0,
3274
3288
  mediaSession: { title: document.title || void 0, artist: document.title || void 0 },
3275
- webRtc: M.current === !1 ? { enabled: !1 } : void 0,
3276
- websocket: T.current,
3277
- webtransport: N.current,
3289
+ webRtc: P.current === !1 ? { enabled: !1 } : void 0,
3290
+ websocket: I.current,
3291
+ webtransport: M.current,
3278
3292
  proxy: D.current,
3279
- onConnectionStateChange: (W) => {
3280
- B(W);
3293
+ onConnectionStateChange: (H) => {
3294
+ B(H);
3281
3295
  },
3282
- onError: (W) => {
3283
- he(W.message);
3296
+ onError: (H) => {
3297
+ he(H.message);
3284
3298
  }
3285
3299
  });
3286
- l.current = I;
3287
- const Q = new mr({ client: I });
3288
- return m.current = Q, ge(Q), I.connect().catch((W) => {
3289
- if (ve.error("Connection failed:", W), W instanceof qt) {
3290
- me(W.reason);
3300
+ l.current = T;
3301
+ const Q = new yr({ client: T });
3302
+ return m.current = Q, ge(Q), T.connect().catch((H) => {
3303
+ if (ve.error("Connection failed:", H), H instanceof qt) {
3304
+ me(H.reason);
3291
3305
  return;
3292
3306
  }
3293
- W instanceof Ht && !S.current && (S.current = !0, ve.warn("Auth session appears stale, clearing and retrying"), c ? c.logout() : (Ae(), A((Ut) => Ut + 1)));
3307
+ H instanceof Gt && !S.current && (S.current = !0, ve.warn("Auth session appears stale, clearing and retrying"), c ? c.logout() : (Ae(), A((jt) => jt + 1)));
3294
3308
  }), () => {
3295
- I.disconnect(), l.current = null, Q.dispose(), m.current = null;
3309
+ T.disconnect(), l.current = null, Q.dispose(), m.current = null;
3296
3310
  };
3297
3311
  }, [se]);
3298
- const Lt = U((I, Q) => {
3299
- const W = typeof Q == "string" ? Q : JSON.stringify(Q ?? {});
3300
- l.current?.sendActionCall(I, W);
3301
- }, []), xt = j === "connected" || j === "reconnecting";
3312
+ const xt = U((T, Q) => {
3313
+ const H = typeof Q == "string" ? Q : JSON.stringify(Q ?? {});
3314
+ l.current?.sendActionCall(T, H);
3315
+ }, []), Ut = j === "connected" || j === "reconnecting";
3302
3316
  return {
3303
3317
  connectionState: j,
3304
- error: V,
3318
+ error: K,
3305
3319
  accessDeniedReason: ne,
3306
- stores: Mt,
3320
+ stores: Lt,
3307
3321
  client: l.current,
3308
3322
  registry: g.current,
3309
3323
  clientRef: l,
3310
3324
  uiRef: m,
3311
3325
  registryRef: g,
3312
- onAction: Lt,
3313
- isReady: xt,
3326
+ onAction: xt,
3327
+ isReady: Ut,
3314
3328
  webRtcVideoStreams: l.current?.webRtcVideoStreams ?? /* @__PURE__ */ new Map(),
3315
3329
  webRtcTrackMap: l.current?.webRtcTrackMap ?? /* @__PURE__ */ new Map()
3316
3330
  };
3317
3331
  }
3318
- function qo(t) {
3332
+ function Jo(t) {
3319
3333
  const e = v(!1);
3320
3334
  return U(() => {
3321
3335
  if (e.current) return;
@@ -3324,18 +3338,18 @@ function qo(t) {
3324
3338
  r.rel = "stylesheet", r.href = t, document.head.appendChild(r);
3325
3339
  }, [t]);
3326
3340
  }
3327
- let _o = 0;
3328
- function Ho(t = 5, e = 5e3) {
3329
- const [r, n] = q([]), o = v(/* @__PURE__ */ new Map()), s = U((i) => {
3341
+ let No = 0;
3342
+ function Xo(t = 5, e = 5e3) {
3343
+ const [r, n] = $([]), o = v(/* @__PURE__ */ new Map()), s = U((i) => {
3330
3344
  const a = o.current.get(i);
3331
3345
  a && (clearTimeout(a), o.current.delete(i)), n((u) => u.filter((f) => f.id !== i));
3332
3346
  }, []);
3333
- return P(() => {
3334
- const i = o.current, a = Gt(
3347
+ return N(() => {
3348
+ const i = o.current, a = Jt(
3335
3349
  (u) => {
3336
- if (!Jt())
3350
+ if (!Xt())
3337
3351
  return;
3338
- const f = `toast-${++_o}`, h = u.level === Xe.ERROR ? "error" : "warn", p = {
3352
+ const f = `toast-${++No}`, h = u.level === Xe.ERROR ? "error" : "warn", p = {
3339
3353
  id: f,
3340
3354
  level: h,
3341
3355
  message: u.message,
@@ -3357,102 +3371,137 @@ function Ho(t = 5, e = 5e3) {
3357
3371
  };
3358
3372
  }, [t, e, s]), { toasts: r, dismissToast: s };
3359
3373
  }
3360
- const Pt = gt(null);
3361
- function Oo(t, e) {
3374
+ function Po(t, e, r) {
3375
+ const [n, o] = $(r);
3376
+ return N(() => {
3377
+ if (!t)
3378
+ return;
3379
+ let s = !0, i = null;
3380
+ return t.reactiveRegistry.subscribe(e, (a) => {
3381
+ s && o(a);
3382
+ }).then((a) => {
3383
+ s ? i = a : a();
3384
+ }).catch((a) => {
3385
+ console.warn(`useIkonReactive: subscribe to '${e}' failed`, a);
3386
+ }), () => {
3387
+ s = !1, i?.();
3388
+ };
3389
+ }, [t, e]), n;
3390
+ }
3391
+ function Zo(t, e, r) {
3392
+ const [n, o] = $(null);
3393
+ return N(() => {
3394
+ if (!t)
3395
+ return;
3396
+ let s = !0;
3397
+ return t.call("Ikon.Reactive.GetStableIdByName", [e]).then((i) => {
3398
+ s && o(i);
3399
+ }).catch((i) => {
3400
+ console.warn(`useReactive: GetStableIdByName('${e}') failed`, i);
3401
+ }), () => {
3402
+ s = !1;
3403
+ };
3404
+ }, [t, e]), Po(n ? t : null, n ?? "", r);
3405
+ }
3406
+ const Mt = gt(null);
3407
+ function Mo(t, e) {
3362
3408
  return e ? t.replace(/\{(\w+)\}/g, (r, n) => e[n] ?? `{${n}}`) : t;
3363
3409
  }
3364
- function No(t, e) {
3365
- const r = Xt();
3410
+ function Lo(t, e) {
3411
+ const r = Zt();
3366
3412
  if (r && t.includes(r))
3367
3413
  return r;
3368
3414
  const n = navigator.language.split("-")[0];
3369
3415
  return t.includes(n) ? n : e && t.includes(e) ? e : "en";
3370
3416
  }
3371
- function Po(t, e, r) {
3372
- return e ? No(t, r) : r && t.includes(r) ? r : "en";
3417
+ function xo(t, e, r) {
3418
+ return e ? Lo(t, r) : r && t.includes(r) ? r : "en";
3373
3419
  }
3374
- function Go({
3420
+ function Qo({
3375
3421
  children: t,
3376
3422
  translations: e,
3377
3423
  defaultLanguage: r,
3378
3424
  detectLanguage: n = !1
3379
3425
  }) {
3380
- const o = Object.keys(e), s = Po(o, n, r), i = e[s] ?? e.en, a = $(
3426
+ const o = Object.keys(e), s = xo(o, n, r), i = e[s] ?? e.en, a = V(
3381
3427
  () => ({
3382
3428
  t: (u, f) => {
3383
3429
  const h = i[u];
3384
- return Oo(h, f);
3430
+ return Mo(h, f);
3385
3431
  },
3386
3432
  locale: s,
3387
3433
  translations: i
3388
3434
  }),
3389
3435
  [i, s]
3390
3436
  );
3391
- return /* @__PURE__ */ R.jsx(Pt, { value: a, children: t });
3437
+ return /* @__PURE__ */ E.jsx(Mt, { value: a, children: t });
3392
3438
  }
3393
- function Jo() {
3394
- const t = Ke(Pt);
3439
+ function es() {
3440
+ const t = Ke(Mt);
3395
3441
  if (!t)
3396
3442
  throw new Error("useI18n must be used within an I18nProvider");
3397
3443
  return t;
3398
3444
  }
3399
3445
  export {
3400
- Ko as AuthProvider,
3401
- Yo as ConnectionStateRenderer,
3402
- Go as I18nProvider,
3403
- _r as IKON_UI_BASE_MODULE,
3404
- $r as IKON_UI_MEDIA_MODULE,
3405
- rn as IKON_UI_SHADERTOY_MODULE,
3406
- en as IKON_UI_SHADERTOY_TYPE,
3446
+ Wo as AuthProvider,
3447
+ qo as ConnectionStateRenderer,
3448
+ Qo as I18nProvider,
3449
+ Nr as IKON_UI_BASE_MODULE,
3450
+ Kr as IKON_UI_MEDIA_MODULE,
3451
+ on as IKON_UI_SHADERTOY_MODULE,
3452
+ rn as IKON_UI_SHADERTOY_TYPE,
3407
3453
  Ue as IKON_UI_STREAM_CATEGORY,
3408
- Ur as IKON_UI_VIDEO_CANVAS_TYPE,
3409
- jr as IKON_UI_VIDEO_URL_PLAYER_TYPE,
3410
- mr as IkonUi,
3411
- sn as IkonUiRegistry,
3412
- Do as IkonUiSurface,
3413
- fr as InspectOverlay,
3414
- dr as UiComponentRegistry,
3415
- lr as UiRenderer,
3416
- Qo as UiStreamStore,
3417
- Bo as areIkonUiModuleListsEqual,
3418
- Ct as authenticateAnonymous,
3419
- fo as buildOAuthRedirectUrl,
3454
+ Dr as IKON_UI_VIDEO_CANVAS_TYPE,
3455
+ Br as IKON_UI_VIDEO_URL_PLAYER_TYPE,
3456
+ yr as IkonUi,
3457
+ cn as IkonUiRegistry,
3458
+ gr as IkonUiSurface,
3459
+ pr as InspectOverlay,
3460
+ $o as ParallaxView,
3461
+ fr as UiComponentRegistry,
3462
+ dr as UiRenderer,
3463
+ ns as UiStreamStore,
3464
+ Vo as areIkonUiModuleListsEqual,
3465
+ It as authenticateAnonymous,
3466
+ ho as buildOAuthRedirectUrl,
3420
3467
  Ae as clearAuthSession,
3421
3468
  mt as clearOAuthParams,
3422
- Ir as createBaseResolvers,
3423
- Uo as createComponentLibrary,
3424
- an as createIkonUiRegistry,
3425
- Br as createMediaResolvers,
3426
- tn as createShadertoyRendererResolver,
3427
- hr as isIkonUiCategoryMatch,
3428
- At as loadAuthSession,
3429
- Or as loadBaseModule,
3430
- Vr as loadMediaModule,
3431
- nn as loadShadertoyModule,
3432
- Ln as normalizeIkonUiModuleList,
3433
- $o as parseIkonUiInitPayload,
3434
- uo as parseOAuthCallback,
3435
- lo as parseOAuthError,
3436
- xn as readIkonUiModules,
3437
- Fo as readIkonUiModulesFromSources,
3438
- Nr as registerBaseModule,
3439
- Kr as registerMediaModule,
3440
- on as registerShadertoyModule,
3441
- cr as renderChildren,
3442
- Vo as renderMotionLetters,
3469
+ Or as createBaseResolvers,
3470
+ Bo as createComponentLibrary,
3471
+ un as createIkonUiRegistry,
3472
+ $r as createMediaResolvers,
3473
+ nn as createShadertoyRendererResolver,
3474
+ mr as isIkonUiCategoryMatch,
3475
+ Tt as loadAuthSession,
3476
+ Pr as loadBaseModule,
3477
+ zr as loadMediaModule,
3478
+ sn as loadShadertoyModule,
3479
+ Un as normalizeIkonUiModuleList,
3480
+ zo as parseIkonUiInitPayload,
3481
+ fo as parseOAuthCallback,
3482
+ po as parseOAuthError,
3483
+ jn as readIkonUiModules,
3484
+ Ko as readIkonUiModulesFromSources,
3485
+ Mr as registerBaseModule,
3486
+ Yr as registerMediaModule,
3487
+ an as registerShadertoyModule,
3488
+ ur as renderChildren,
3489
+ Yo as renderMotionLetters,
3443
3490
  pe as saveAuthSession,
3444
- ao as sendLoginCode,
3491
+ uo as sendLoginCode,
3445
3492
  ee as sessionToUser,
3446
- Ao as useAuth,
3447
- zo as useAuthGuard,
3448
- To as useAuthOptional,
3449
- Jo as useI18n,
3450
- Wo as useIkonApp,
3451
- mn as useIkonStyles,
3452
- yn as useIkonUiStores,
3453
- qo as useLazyFont,
3454
- Ho as useToasts,
3493
+ Co as useAuth,
3494
+ Ho as useAuthGuard,
3495
+ Io as useAuthOptional,
3496
+ es as useI18n,
3497
+ Go as useIkonApp,
3498
+ Po as useIkonReactive,
3499
+ yn as useIkonStyles,
3500
+ Sn as useIkonUiStores,
3501
+ Jo as useLazyFont,
3502
+ Zo as useReactive,
3503
+ Xo as useToasts,
3455
3504
  J as useUiNode,
3456
- jo as useUiStore,
3457
- co as verifyLoginCode
3505
+ Fo as useUiStore,
3506
+ lo as verifyLoginCode
3458
3507
  };