@ikonai/sdk-react-ui 1.0.53 → 1.0.55

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 ts } from "@ikonai/sdk-ui";
3
- import Bt, { useSyncExternalStore as Ve, useMemo as $, memo as Y, useRef as v, useCallback as U, Fragment as Ft, useEffect as O, useState as z, 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
- case N:
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 P:
84
+ case M:
85
85
  w = d._payload, d = d._init;
86
86
  try {
87
87
  return t(d(w));
@@ -112,7 +112,7 @@ function Qt() {
112
112
  }
113
113
  function n(d) {
114
114
  if (d === g) return "<>";
115
- if (typeof d == "object" && d !== null && d.$$typeof === P)
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, R, 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
163
  _owner: R
164
- }, (C !== void 0 ? C : null) !== null ? Object.defineProperty(d, "ref", {
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,25 +186,25 @@ 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, R, K, Z) {
190
- var C = w.children;
191
- if (C !== void 0)
189
+ function h(d, w, A, R, z, Z) {
190
+ var _ = w.children;
191
+ if (_ !== void 0)
192
192
  if (R)
193
- if (he(C)) {
194
- for (R = 0; R < C.length; R++)
195
- p(C[R]);
196
- Object.freeze && Object.freeze(C);
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);
201
+ else p(_);
202
+ if (K.call(w, "key")) {
203
+ _ = t(d);
204
204
  var W = Object.keys(w).filter(function(se) {
205
205
  return se !== "key";
206
206
  });
207
- R = 0 < W.length ? "{key: someKey, " + W.join(": ..., ") + ": ...}" : "{key: someKey}", ye[C + R] || (W = 0 < W.length ? "{" + W.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} />
@@ -212,35 +212,35 @@ React keys must be passed directly to JSX without using spread:
212
212
  let props = %s;
213
213
  <%s key={someKey} {...props} />`,
214
214
  R,
215
- C,
215
+ _,
216
216
  W,
217
- C
218
- ), ye[C + R] = !0);
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 === P && (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"), N = 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"), P = 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 = {
@@ -276,11 +276,11 @@ React keys must be passed directly to JSX without using spread:
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 E = 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;
@@ -340,7 +340,7 @@ function ar(t) {
340
340
  return e;
341
341
  }
342
342
  const xe = Y(function t({ nodeId: e, context: r }) {
343
- const n = J(r.store, e), o = n ? sr(n) : [], s = ar(o), i = $(
343
+ const n = J(r.store, e), o = n ? ir(n) : [], s = cr(o), i = V(
344
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]
@@ -348,21 +348,21 @@ const xe = Y(function t({ nodeId: e, context: r }) {
348
348
  if (!n)
349
349
  return null;
350
350
  if (n.type === "root")
351
- return /* @__PURE__ */ E.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;
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
356
  return /* @__PURE__ */ E.jsx(h, { nodeId: e, context: r, className: f });
357
- }, ir);
358
- function cr(t, e) {
357
+ }, ar);
358
+ function ur(t, e) {
359
359
  return !Array.isArray(t) || t.length === 0 ? null : t.map((r) => /* @__PURE__ */ E.jsx(xe, { nodeId: r.id, context: e }, r.id));
360
360
  }
361
- function ur(t, e) {
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 = Y(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,16 +371,16 @@ const lr = Y(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
386
  return b ? /* @__PURE__ */ E.jsx(xe, { nodeId: b.id, context: m }) : null;
@@ -397,8 +397,8 @@ const lr = Y(function({ store: e, library: r, viewId: n, emptyFallback: o = null
397
397
  return m;
398
398
  }, [e, r, c]);
399
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
- }, ur);
401
- class dr {
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 jo(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 Do(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 O(() => {
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, N = document.querySelectorAll("[data-ikon-source]"), _ = [];
535
- for (const M of N) {
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 mr = Y(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 O(() => {
577
- p && !h.current && (h.current = !0, pr.debug("First UI render"));
576
+ return N(() => {
577
+ p && !h.current && (h.current = !0, hr.debug("First UI render"));
578
578
  }, [p]), p ? /* @__PURE__ */ E.jsxs(E.Fragment, { children: [
579
- /* @__PURE__ */ E.jsx(fr, {}),
580
- f.map(({ key: y, store: c }) => /* @__PURE__ */ E.jsx(lr, { store: c, library: r, onAction: a.current, client: u.current, video: u.current?.media?.video }, y))
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 gr {
583
+ class yr {
584
584
  core;
585
585
  ownsCore;
586
586
  stores = /* @__PURE__ */ new Map();
@@ -588,7 +588,7 @@ class gr {
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 gr {
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 gr {
655
655
  r(e);
656
656
  }
657
657
  }
658
- function yr(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(), br = {};
683
+ const tt = /* @__PURE__ */ new WeakMap(), Sr = {};
684
684
  function Ye(t) {
685
685
  if (!t)
686
- return br;
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 Sr(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 Sr(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", wr = 0.15, Ee = "data-ikon-at-bottom";
712
- function bt(t) {
713
- return Math.max(t.clientHeight * wr, 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 vr(t) {
716
+ function Er(t) {
716
717
  return t.getAttribute(Ee) !== "false";
717
718
  }
718
- function Er(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 Rr(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 Rr(t) {
754
755
  n.style.opacity = "0.9";
755
756
  }), e.appendChild(n), n;
756
757
  }
757
- function kr(t, e) {
758
- const r = Rr(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 Ar() {
771
+ function Tr() {
771
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 O(() => {
774
+ return N(() => {
774
775
  if (typeof document > "u")
775
776
  return;
776
777
  const c = s.current;
@@ -778,17 +779,18 @@ function Ar() {
778
779
  return;
779
780
  let l;
780
781
  if (u !== !0) {
781
- const S = Sr(c);
782
+ const S = wr(c);
782
783
  if (S)
783
- if (Er(S), f === "Polite" && !vr(S))
784
- l = kr(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
  }
@@ -819,9 +821,9 @@ function Ar() {
819
821
  return t;
820
822
  };
821
823
  }
822
- function Tr() {
824
+ function Cr() {
823
825
  const t = Y(function({ nodeId: r, context: n, className: o }) {
824
- const s = J(n.store, r), i = yr(s?.props?.onInvokeId), a = U(() => {
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)
@@ -847,7 +849,7 @@ function Tr() {
847
849
  return t;
848
850
  };
849
851
  }
850
- function Cr() {
852
+ function Ir() {
851
853
  const t = Y(function({ nodeId: r, context: n, className: o }) {
852
854
  const s = J(n.store, r);
853
855
  if (!s)
@@ -860,7 +862,7 @@ function Cr() {
860
862
  return t;
861
863
  };
862
864
  }
863
- function Ir() {
865
+ function _r() {
864
866
  const t = Y(function({ nodeId: r, context: n, className: o }) {
865
867
  const s = J(n.store, r);
866
868
  if (!s)
@@ -873,19 +875,19 @@ function Ir() {
873
875
  return t;
874
876
  };
875
877
  }
876
- function _r() {
878
+ function Or() {
877
879
  return [
878
- Tr(),
879
880
  Cr(),
880
881
  Ir(),
881
- Ar()
882
+ _r(),
883
+ Tr()
882
884
  ];
883
885
  }
884
- const Or = "base", Nr = async () => _r();
885
- function Pr(t) {
886
- t.registerModule(Or, Nr);
887
- }
886
+ const Nr = "base", Pr = async () => Or();
888
887
  function Mr(t) {
888
+ t.registerModule(Nr, Pr);
889
+ }
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 Mr(t) {
895
897
  return e.length > 0 ? e.join(" ") : void 0;
896
898
  }
897
899
  }
898
- function Lr(...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,20 +918,20 @@ function we(t) {
916
918
  if (e === "false") return !1;
917
919
  }
918
920
  }
919
- const xr = "std.audio-url-player";
920
- function Ur() {
921
+ const Ur = "std.audio-url-player";
922
+ function jr() {
921
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 (O(() => {
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 = Lr(Mr(s.props?.className), o), h = rt(s.props?.preload), p = we(s.props?.controls), y = we(s.props?.loop), c = we(s.props?.muted);
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);
933
935
  return /* @__PURE__ */ E.jsx(
934
936
  "audio",
935
937
  {
@@ -947,11 +949,11 @@ function Ur() {
947
949
  );
948
950
  });
949
951
  return ({ type: e }) => {
950
- if (e === xr)
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 jr = "std.video-canvas", Dr = "std.video-url-player";
986
- function Br() {
987
+ const Dr = "std.video-canvas", Br = "std.video-url-player";
988
+ function Fr() {
987
989
  const t = Y(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] = z(0);
989
- 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,13 +998,13 @@ function Br() {
996
998
  };
997
999
  }, [f]);
998
1000
  const m = f?.isWebRtcEnabled && h ? f.getWebRtcVideoStreamByStreamId(h) : null;
999
- return O(() => {
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]), O(() => {
1007
+ }, [u, h, m]), N(() => {
1006
1008
  const g = a.current;
1007
1009
  if (!(!g || !m))
1008
1010
  return g.srcObject = m, () => {
@@ -1038,12 +1040,12 @@ function Br() {
1038
1040
  ) : null;
1039
1041
  });
1040
1042
  return ({ type: e }) => {
1041
- if (e === jr)
1043
+ if (e === Dr)
1042
1044
  return t;
1043
1045
  };
1044
1046
  }
1045
- function Fr() {
1046
- return [Br(), $r(), Ur()];
1047
+ function $r() {
1048
+ return [Fr(), Vr(), jr()];
1047
1049
  }
1048
1050
  function ce(t) {
1049
1051
  if (typeof t == "boolean")
@@ -1054,19 +1056,19 @@ function ce(t) {
1054
1056
  if (e === "false") return !1;
1055
1057
  }
1056
1058
  }
1057
- function $r() {
1059
+ function Vr() {
1058
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 (O(() => {
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;
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;
1070
1072
  return /* @__PURE__ */ E.jsx(
1071
1073
  "video",
1072
1074
  {
@@ -1088,27 +1090,27 @@ function $r() {
1088
1090
  );
1089
1091
  });
1090
1092
  return ({ type: e }) => {
1091
- if (e === Dr)
1093
+ if (e === Br)
1092
1094
  return t;
1093
1095
  };
1094
1096
  }
1095
- const Vr = "media", Kr = async () => Fr();
1096
- function zr(t) {
1097
- t.registerModule(Vr, Kr);
1097
+ const Kr = "media", zr = async () => $r();
1098
+ function Yr(t) {
1099
+ t.registerModule(Kr, zr);
1098
1100
  }
1099
- const Yr = `#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 Wr(t, e) {
1107
+ function Hr(t, e) {
1106
1108
  return new RegExp(`\\buniform\\s+\\w+\\s+${e}\\s*;`, "g").test(t);
1107
1109
  }
1108
1110
  function qr(t, e) {
1109
1111
  const r = [];
1110
1112
  for (const [n, o] of Object.entries(e)) {
1111
- if (Wr(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 Hr {
1166
+ class Gr {
1165
1167
  gl;
1166
1168
  program = null;
1167
1169
  positionBuffer = null;
@@ -1197,7 +1199,7 @@ class Hr {
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, Yr);
1202
+ const n = this.gl, o = this.compileShader(n.VERTEX_SHADER, Wr);
1201
1203
  if (!o)
1202
1204
  return !1;
1203
1205
  const s = qr(e, r), i = this.compileShader(n.FRAGMENT_SHADER, s);
@@ -1291,7 +1293,7 @@ class Hr {
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 Gr(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 Gr(t) {
1301
1303
  return e.length > 0 ? e.join(" ") : void 0;
1302
1304
  }
1303
1305
  }
1304
- function Jr(...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 Xr(t) {
1321
+ function Zr(t) {
1320
1322
  return typeof t == "string" ? t : "";
1321
1323
  }
1322
- function Zr(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 Zr(t) {
1328
1330
  if (e === "false") return !1;
1329
1331
  }
1330
1332
  }
1331
- function Qr(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 Qr(t) {
1343
1345
  }
1344
1346
  return e;
1345
1347
  }
1346
- function en(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,8 +1366,8 @@ function en(t, e) {
1364
1366
  }
1365
1367
  return !0;
1366
1368
  }
1367
- const tn = "std.shadertoy-canvas";
1368
- function rn() {
1369
+ const rn = "std.shadertoy-canvas";
1370
+ function nn() {
1369
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,
@@ -1373,59 +1375,59 @@ function rn() {
1373
1375
  clickX: 0,
1374
1376
  clickY: 0,
1375
1377
  isDown: !1
1376
- }), c = s ? Xr(s.props?.shaderSource) : "", l = s ? Ie(s.props?.fps) ?? 60 : 60, m = s?.props?.uniforms, g = $(() => Qr(m), [m]), b = s ? Zr(s.props?.enableMouse) ?? !0 : !0, S = s ? Ie(s.props?.width) : void 0, N = s ? Ie(s.props?.height) : void 0, _ = s ? Jr(Gr(s.props?.className), o) : o;
1377
- O(() => {
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 P = new Hr(T);
1382
- a.current = P;
1383
- } catch (P) {
1384
- console.error("[ShadertoyRenderer] Failed to create WebGL2 context:", P);
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
- }, []), O(() => {
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]), O(() => {
1400
- const T = a.current;
1401
- !T || !h.current || en(p.current, g) || (T.setCustomUniforms(g), p.current = g);
1402
- }, [g]), O(() => {
1403
- const T = a.current;
1404
- if (!T || !h.current) return;
1405
- const P = 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 >= P && (f.current = j - B % P, 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 P = i.current, D = a.current;
1417
- if (!P || !D) return;
1418
- const j = P.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 P = i.current, D = a.current;
1426
- if (!P || !D) return;
1427
- const j = P.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(() => {
@@ -1437,10 +1439,10 @@ function rn() {
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
- ...N ? { height: N } : {},
1443
- onMouseMove: M,
1444
+ ...O ? { height: O } : {},
1445
+ onMouseMove: P,
1444
1446
  onMouseDown: L,
1445
1447
  onMouseUp: G,
1446
1448
  onMouseLeave: G
@@ -1448,16 +1450,16 @@ function rn() {
1448
1450
  ) : null;
1449
1451
  });
1450
1452
  return ({ type: e }) => {
1451
- if (e === tn)
1453
+ if (e === rn)
1452
1454
  return t;
1453
1455
  };
1454
1456
  }
1455
- const nn = "shadertoy", on = async () => rn();
1456
- function sn(t) {
1457
- t.registerModule(nn, on);
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 an {
1462
+ class cn {
1461
1463
  baseResolvers = [];
1462
1464
  moduleLoaders = /* @__PURE__ */ new Map();
1463
1465
  moduleResolvers = /* @__PURE__ */ new Map();
@@ -1479,7 +1481,7 @@ class an {
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 = ln(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 an {
1487
1489
  const r = [];
1488
1490
  for (const n of this.moduleLoaders.keys())
1489
1491
  this.moduleResolvers.has(n) && r.push(n);
1490
- return dn(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 an {
1507
1509
  }
1508
1510
  }
1509
1511
  }
1510
- function cn() {
1511
- const t = new an();
1512
- return Pr(t), zr(t), sn(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 un(t) {
1516
+ function ln(t) {
1515
1517
  return Array.isArray(t) ? t : [t];
1516
1518
  }
1517
- function ln(t) {
1518
- return t ? un(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 dn(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,9 +1527,9 @@ function dn(t, e) {
1525
1527
  return !1;
1526
1528
  return !0;
1527
1529
  }
1528
- function Bo({ mount: t, stores: e, registry: r, client: n, onAction: o }) {
1530
+ function $o({ mount: t, stores: e, registry: r, client: n, onAction: o }) {
1529
1531
  return /* @__PURE__ */ E.jsx(
1530
- mr,
1532
+ gr,
1531
1533
  {
1532
1534
  stores: e,
1533
1535
  registry: r,
@@ -1590,42 +1592,42 @@ function at(t, e, r, n) {
1590
1592
  }
1591
1593
  function c(g, b) {
1592
1594
  for (let S = 0; S < 4; S += 1) {
1593
- const N = y(b, t, r);
1594
- if (N === 0)
1595
+ const O = y(b, t, r);
1596
+ if (O === 0)
1595
1597
  return b;
1596
- const _ = p(b, t, r) - g;
1597
- b -= _ / N;
1598
+ const C = p(b, t, r) - g;
1599
+ b -= C / O;
1598
1600
  }
1599
1601
  return b;
1600
1602
  }
1601
1603
  function l(g, b, S) {
1602
- let N = 0, _ = 0, M = 0;
1604
+ let O = 0, C = 0, P = 0;
1603
1605
  do
1604
- _ = b + (S - b) / 2, N = p(_, t, r) - g, N > 0 ? S = _ : b = _;
1605
- while (Math.abs(N) > 1e-7 && ++M < 10);
1606
- 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;
1607
1609
  }
1608
1610
  function m(g) {
1609
1611
  let b = 0, S = 1;
1610
- const N = 10;
1611
- for (; S !== N && h[S] <= g; S += 1)
1612
+ const O = 10;
1613
+ for (; S !== O && h[S] <= g; S += 1)
1612
1614
  b += 0.1;
1613
1615
  S -= 1;
1614
- const _ = (g - h[S]) / (h[S + 1] - h[S]), M = b + _ * 0.1, L = y(M, t, r);
1615
- 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);
1616
1618
  }
1617
1619
  for (let g = 0; g < 11; g += 1)
1618
1620
  h[g] = p(g * 0.1, t, r);
1619
1621
  return (g) => g <= 0 ? 0 : g >= 1 ? 1 : p(m(g), e, n);
1620
1622
  }
1621
- function fn(t) {
1623
+ function pn(t) {
1622
1624
  const e = /steps\(\s*([0-9]+)\s*(?:,\s*([a-z-]+)\s*)?\)/i.exec(t);
1623
1625
  if (!e)
1624
1626
  return (o) => F(o);
1625
1627
  const r = Math.max(1, parseInt(e[1], 10)), n = (e[2] ?? "end").toLowerCase();
1626
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);
1627
1629
  }
1628
- function pn(t) {
1630
+ function hn(t) {
1629
1631
  if (!t)
1630
1632
  return (r) => F(r);
1631
1633
  const e = t.trim().toLowerCase();
@@ -1643,12 +1645,12 @@ function pn(t) {
1643
1645
  }
1644
1646
  }
1645
1647
  if (e.startsWith("steps(") && e.endsWith(")")) {
1646
- const r = fn(e);
1648
+ const r = pn(e);
1647
1649
  return (n) => r(F(n));
1648
1650
  }
1649
1651
  return (r) => F(r);
1650
1652
  }
1651
- function hn(t) {
1653
+ function mn(t) {
1652
1654
  if (!t)
1653
1655
  return;
1654
1656
  const e = /(-?\d+(?:\.\d+)?)\s*\.\.\s*(-?\d+(?:\.\d+)?)\s*->\s*(-?\d+(?:\.\d+)?)\s*\.\.\s*(-?\d+(?:\.\d+)?)/.exec(t);
@@ -1658,7 +1660,7 @@ function hn(t) {
1658
1660
  if (![r, n, o, s].some((i) => !Number.isFinite(i)))
1659
1661
  return { inStart: r, inEnd: n, outStart: o, outEnd: s };
1660
1662
  }
1661
- class mn {
1663
+ class gn {
1662
1664
  bindingsByStyle = /* @__PURE__ */ new Map();
1663
1665
  observer;
1664
1666
  observeScheduled = !1;
@@ -1703,7 +1705,7 @@ class mn {
1703
1705
  const r = e.source?.trim();
1704
1706
  if (!r)
1705
1707
  return;
1706
- 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 = pn(e.ease), f = hn(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;
1707
1709
  return Number.isNaN(n) || Number.isNaN(s) ? void 0 : {
1708
1710
  source: r.toLowerCase(),
1709
1711
  min: n,
@@ -1916,8 +1918,8 @@ class mn {
1916
1918
  }
1917
1919
  }
1918
1920
  }
1919
- const Oe = new mn();
1920
- function gn(t) {
1921
+ const Oe = new gn();
1922
+ function yn(t) {
1921
1923
  const e = v(/* @__PURE__ */ new Map()), r = U(({ styleId: s, css: i, common: a }) => {
1922
1924
  if (!(!s || typeof document > "u")) {
1923
1925
  if (i) {
@@ -1940,7 +1942,7 @@ function gn(t) {
1940
1942
  }
1941
1943
  Oe.reset();
1942
1944
  }, []);
1943
- return O(() => {
1945
+ return N(() => {
1944
1946
  if (!t) return;
1945
1947
  for (const a of t.getUiStyles())
1946
1948
  r(a);
@@ -1948,9 +1950,9 @@ function gn(t) {
1948
1950
  return () => {
1949
1951
  s?.(), i?.(), o();
1950
1952
  };
1951
- }, [t, o, r, n]), O(() => () => o(), [o]), { setStyle: r, deleteStyles: n, reset: o };
1953
+ }, [t, o, r, n]), N(() => () => o(), [o]), { setStyle: r, deleteStyles: n, reset: o };
1952
1954
  }
1953
- function yn(t) {
1955
+ function bn(t) {
1954
1956
  const e = [];
1955
1957
  for (const [r, n] of t) {
1956
1958
  const o = n.store.getSnapshot(), s = o.rootViewId && o.views.has(o.rootViewId);
@@ -1958,62 +1960,62 @@ function yn(t) {
1958
1960
  }
1959
1961
  return e.sort(), e.join(",");
1960
1962
  }
1961
- function bn(t) {
1962
- const [e, r] = z(), n = v("");
1963
- return O(() => {
1963
+ function Sn(t) {
1964
+ const [e, r] = $(), n = v("");
1965
+ return N(() => {
1964
1966
  if (!t) {
1965
1967
  r(void 0), n.current = "";
1966
1968
  return;
1967
1969
  }
1968
1970
  const o = () => {
1969
- const s = t.getStores(), i = yn(s);
1971
+ const s = t.getStores(), i = bn(s);
1970
1972
  i !== n.current && (n.current = i, r(s));
1971
1973
  };
1972
1974
  return o(), t.subscribe(o);
1973
1975
  }, [t]), e;
1974
1976
  }
1975
- var Sn = typeof global == "object" && global && global.Object === Object && global, wn = typeof self == "object" && self && self.Object === Object && self, vn = Sn || wn || Function("return this")(), ke = vn.Symbol, vt = Object.prototype, En = vt.hasOwnProperty, Rn = vt.toString, ue = ke ? ke.toStringTag : void 0;
1976
- function kn(t) {
1977
- var e = En.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];
1978
1980
  try {
1979
1981
  t[ue] = void 0;
1980
1982
  var n = !0;
1981
1983
  } catch {
1982
1984
  }
1983
- var o = Rn.call(t);
1985
+ var o = kn.call(t);
1984
1986
  return n && (e ? t[ue] = r : delete t[ue]), o;
1985
1987
  }
1986
- var An = Object.prototype, Tn = An.toString;
1987
- function Cn(t) {
1988
- return Tn.call(t);
1989
- }
1990
- var In = "[object Null]", _n = "[object Undefined]", ct = ke ? ke.toStringTag : void 0;
1991
- function On(t) {
1992
- return t == null ? t === void 0 ? _n : In : ct && ct in Object(t) ? kn(t) : Cn(t);
1988
+ var Tn = Object.prototype, Cn = Tn.toString;
1989
+ function In(t) {
1990
+ return Cn.call(t);
1993
1991
  }
1992
+ var _n = "[object Null]", On = "[object Undefined]", ct = ke ? ke.toStringTag : void 0;
1994
1993
  function Nn(t) {
1994
+ return t == null ? t === void 0 ? On : _n : ct && ct in Object(t) ? An(t) : In(t);
1995
+ }
1996
+ function Pn(t) {
1995
1997
  return t != null && typeof t == "object";
1996
1998
  }
1997
- var Pn = Array.isArray, Mn = "[object String]";
1998
- function Ln(t) {
1999
- return typeof t == "string" || !Pn(t) && Nn(t) && On(t) == Mn;
1999
+ var Mn = Array.isArray, Ln = "[object String]";
2000
+ function xn(t) {
2001
+ return typeof t == "string" || !Mn(t) && Pn(t) && Nn(t) == Ln;
2000
2002
  }
2001
2003
  const ut = "ikonUiModules";
2002
2004
  function Be(t) {
2003
2005
  return typeof t == "object" && t !== null && !Array.isArray(t);
2004
2006
  }
2005
- function xn(t) {
2007
+ function Un(t) {
2006
2008
  if (!Array.isArray(t))
2007
2009
  return;
2008
2010
  const e = /* @__PURE__ */ new Set();
2009
2011
  for (const r of t) {
2010
- if (!Ln(r)) continue;
2012
+ if (!xn(r)) continue;
2011
2013
  const n = r.trim();
2012
2014
  n && (e.has(n) || e.add(n));
2013
2015
  }
2014
2016
  return Array.from(e);
2015
2017
  }
2016
- function Fo(t, e) {
2018
+ function Vo(t, e) {
2017
2019
  if (t === e)
2018
2020
  return !0;
2019
2021
  if (!t || !e)
@@ -2025,18 +2027,18 @@ function Fo(t, e) {
2025
2027
  return !1;
2026
2028
  return !0;
2027
2029
  }
2028
- function Un(t) {
2030
+ function jn(t) {
2029
2031
  if (!(!Be(t) || !Object.prototype.hasOwnProperty.call(t, ut)))
2030
- return xn(t[ut]);
2032
+ return Un(t[ut]);
2031
2033
  }
2032
- function $o(...t) {
2034
+ function Ko(...t) {
2033
2035
  for (const e of t) {
2034
- const r = Un(e);
2036
+ const r = jn(e);
2035
2037
  if (r !== void 0)
2036
2038
  return r;
2037
2039
  }
2038
2040
  }
2039
- function Vo(t) {
2041
+ function zo(t) {
2040
2042
  if (!Be(t))
2041
2043
  return;
2042
2044
  const e = t, r = Object.keys(e).find((u) => u.toLowerCase() === "modules");
@@ -2085,7 +2087,7 @@ const k = {
2085
2087
  Line: 4,
2086
2088
  Paragraph: 8,
2087
2089
  Emoji: 16
2088
- }, jn = [
2090
+ }, Dn = [
2089
2091
  {
2090
2092
  flag: k.Letter,
2091
2093
  hints: [
@@ -2134,11 +2136,11 @@ const k = {
2134
2136
  "[data-emoji]"
2135
2137
  ]
2136
2138
  }
2137
- ], Fe = k.Letter | k.Word | k.Line | k.Paragraph | k.Emoji, Dn = k.Letter | k.Word | k.Line | k.Paragraph, lt = /* @__PURE__ */ new Map(), Bn = 16384;
2138
- function Ko(t, e) {
2139
- if (!t || t.length > Bn)
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)
2140
2142
  return t;
2141
- const r = ro(e), n = re(r, k.Emoji), o = r & Dn;
2143
+ const r = no(e), n = re(r, k.Emoji), o = r & Bn;
2142
2144
  if (o === k.None && !n)
2143
2145
  return t;
2144
2146
  const s = t.replace(/\r\n/g, `
@@ -2146,20 +2148,20 @@ function Ko(t, e) {
2146
2148
  `);
2147
2149
  if (o === k.None)
2148
2150
  return ht(s);
2149
- const i = eo(s);
2151
+ const i = to(s);
2150
2152
  if (i.length === 0)
2151
2153
  return n ? ht(s) : t;
2152
- const a = to(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 = [];
2153
2155
  for (const h of a) {
2154
- const p = Fn(h, r, u);
2156
+ const p = $n(h, r, u);
2155
2157
  f.push(...p);
2156
2158
  }
2157
2159
  return f;
2158
2160
  }
2159
- function Fn(t, e, r) {
2161
+ function $n(t, e, r) {
2160
2162
  const n = [];
2161
2163
  for (const o of t) {
2162
- const s = $n(o, e, r);
2164
+ const s = Vn(o, e, r);
2163
2165
  n.push(...s);
2164
2166
  }
2165
2167
  if (re(e, k.Paragraph)) {
@@ -2178,8 +2180,8 @@ function Fn(t, e, r) {
2178
2180
  }
2179
2181
  return n;
2180
2182
  }
2181
- function $n(t, e, r) {
2182
- const n = Vn(t.text, e, r), o = [];
2183
+ function Vn(t, e, r) {
2184
+ const n = Kn(t.text, e, r), o = [];
2183
2185
  if (re(e, k.Line)) {
2184
2186
  const s = r.line++;
2185
2187
  o.push(
@@ -2191,7 +2193,7 @@ function $n(t, e, r) {
2191
2193
  o.push(/* @__PURE__ */ E.jsx("br", {}, `motion-break-${r.br++}`));
2192
2194
  return o;
2193
2195
  }
2194
- function Vn(t, e, r) {
2196
+ function Kn(t, e, r) {
2195
2197
  if (!t)
2196
2198
  return [];
2197
2199
  const n = re(e, k.Word), o = [], s = /(\s+)/g;
@@ -2210,13 +2212,13 @@ function Vn(t, e, r) {
2210
2212
  return o;
2211
2213
  }
2212
2214
  function dt(t, e, r, n) {
2213
- const o = e.word++, s = zn(t, r, e), i = `motion-word-${o}`, a = Kn(o, n);
2215
+ const o = e.word++, s = Yn(t, r, e), i = `motion-word-${o}`, a = zn(o, n);
2214
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);
2215
2217
  }
2216
- function Kn(t, e) {
2218
+ function zn(t, e) {
2217
2219
  return e ? { ...Ce(t), whiteSpace: "nowrap" } : { whiteSpace: "nowrap" };
2218
2220
  }
2219
- function zn(t, e, r) {
2221
+ function Yn(t, e, r) {
2220
2222
  if (!t)
2221
2223
  return [];
2222
2224
  const n = re(e, k.Letter), o = re(e, k.Emoji);
@@ -2226,7 +2228,7 @@ function zn(t, e, r) {
2226
2228
  const a = $e(t);
2227
2229
  if (a.length === 0)
2228
2230
  return [t];
2229
- const { nodes: u } = Rt(a, r);
2231
+ const { nodes: u } = kt(a, r);
2230
2232
  return u;
2231
2233
  }
2232
2234
  const s = [], i = $e(t);
@@ -2239,7 +2241,7 @@ function zn(t, e, r) {
2239
2241
  );
2240
2242
  continue;
2241
2243
  }
2242
- 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;
2243
2245
  s.push(
2244
2246
  /* @__PURE__ */ E.jsx("span", { "data-motion-letter": !0, style: h, ...y, children: c }, f)
2245
2247
  );
@@ -2249,14 +2251,14 @@ function zn(t, e, r) {
2249
2251
  function $e(t) {
2250
2252
  if (!t)
2251
2253
  return [];
2252
- const e = Yn();
2253
- return e ? Array.from(e.segment(t), (r) => r.segment) : Wn(t);
2254
+ const e = Wn();
2255
+ return e ? Array.from(e.segment(t), (r) => r.segment) : Hn(t);
2254
2256
  }
2255
2257
  let le;
2256
- function Yn() {
2258
+ function Wn() {
2257
2259
  return le !== void 0 || (typeof Intl < "u" && typeof Intl.Segmenter == "function" ? le = new Intl.Segmenter(void 0, { granularity: "grapheme" }) : le = null), le;
2258
2260
  }
2259
- function Wn(t) {
2261
+ function Hn(t) {
2260
2262
  const e = [], r = Array.from(t);
2261
2263
  let n = "";
2262
2264
  for (let o = 0; o < r.length; o++) {
@@ -2266,16 +2268,16 @@ function Wn(t) {
2266
2268
  return n && e.push(n), e;
2267
2269
  }
2268
2270
  function qn(t, e) {
2269
- return e ? !!(ft(t) || ft(e) || Jn(e) || Hn(e) || Gn(e) || pt(t) && pt(e)) : !1;
2271
+ return e ? !!(ft(t) || ft(e) || Xn(e) || Gn(e) || Jn(e) || pt(t) && pt(e)) : !1;
2270
2272
  }
2271
2273
  function ft(t) {
2272
2274
  return t.codePointAt(0) === 8205;
2273
2275
  }
2274
- function Hn(t) {
2276
+ function Gn(t) {
2275
2277
  const e = t.codePointAt(0);
2276
2278
  return e === void 0 ? !1 : e >= 65024 && e <= 65039 || e >= 917760 && e <= 917999;
2277
2279
  }
2278
- function Gn(t) {
2280
+ function Jn(t) {
2279
2281
  const e = t.codePointAt(0);
2280
2282
  return e === void 0 ? !1 : e >= 127995 && e <= 127999;
2281
2283
  }
@@ -2284,10 +2286,10 @@ function pt(t) {
2284
2286
  return e === void 0 ? !1 : e >= 127462 && e <= 127487;
2285
2287
  }
2286
2288
  let Ne;
2287
- function Jn(t) {
2288
- return t ? (Ne || (Ne = Xn()), Ne(t)) : !1;
2289
+ function Xn(t) {
2290
+ return t ? (Ne || (Ne = Zn()), Ne(t)) : !1;
2289
2291
  }
2290
- function Xn() {
2292
+ function Zn() {
2291
2293
  try {
2292
2294
  const t = new RegExp("\\p{Mark}", "u");
2293
2295
  return (e) => t.test(e);
@@ -2299,18 +2301,18 @@ function Xn() {
2299
2301
  }
2300
2302
  }
2301
2303
  let Pe;
2302
- function Et(t) {
2303
- return t ? (Pe || (Pe = Zn()), Pe(t)) : !1;
2304
+ function Rt(t) {
2305
+ return t ? (Pe || (Pe = Qn()), Pe(t)) : !1;
2304
2306
  }
2305
- function Zn() {
2307
+ function Qn() {
2306
2308
  try {
2307
2309
  const t = new RegExp("\\p{Extended_Pictographic}", "u");
2308
2310
  return (e) => t.test(e);
2309
2311
  } catch {
2310
- return Qn;
2312
+ return eo;
2311
2313
  }
2312
2314
  }
2313
- function Qn(t) {
2315
+ function eo(t) {
2314
2316
  if (!t)
2315
2317
  return !1;
2316
2318
  for (const e of Array.from(t)) {
@@ -2320,7 +2322,7 @@ function Qn(t) {
2320
2322
  }
2321
2323
  return !1;
2322
2324
  }
2323
- function eo(t) {
2325
+ function to(t) {
2324
2326
  const e = [];
2325
2327
  let r = "", n = 0;
2326
2328
  for (let o = 0; o < t.length; o++) {
@@ -2334,7 +2336,7 @@ function eo(t) {
2334
2336
  }
2335
2337
  return (n > 0 || r.length > 0) && e.push({ text: r, breaks: n }), e;
2336
2338
  }
2337
- function to(t) {
2339
+ function ro(t) {
2338
2340
  if (t.length === 0)
2339
2341
  return [];
2340
2342
  const e = [];
@@ -2369,17 +2371,17 @@ function ht(t) {
2369
2371
  const e = $e(t);
2370
2372
  if (e.length === 0)
2371
2373
  return t;
2372
- const { nodes: r, sawEmoji: n } = Rt(e);
2374
+ const { nodes: r, sawEmoji: n } = kt(e);
2373
2375
  return n ? r.length === 1 ? r[0] ?? t : r : t;
2374
2376
  }
2375
- function Rt(t, e) {
2377
+ function kt(t, e) {
2376
2378
  const r = [];
2377
2379
  let n = "", o = !1, s = e?.emoji ?? 0;
2378
2380
  const i = () => {
2379
2381
  n && (r.push(n), n = "");
2380
2382
  };
2381
2383
  for (const a of t) {
2382
- if (Et(a)) {
2384
+ if (Rt(a)) {
2383
2385
  o = !0, i();
2384
2386
  const f = `motion-emoji-${e ? e.emoji++ : s++}`;
2385
2387
  r.push(
@@ -2391,7 +2393,7 @@ function Rt(t, e) {
2391
2393
  }
2392
2394
  return i(), o ? { nodes: r, sawEmoji: !0 } : { nodes: [t.join("")], sawEmoji: !1 };
2393
2395
  }
2394
- function ro(t) {
2396
+ function no(t) {
2395
2397
  if (!t)
2396
2398
  return k.None;
2397
2399
  const e = t.trim();
@@ -2405,8 +2407,8 @@ function ro(t) {
2405
2407
  const n = e.split(/\s+/).filter(Boolean);
2406
2408
  if (n.length === 0)
2407
2409
  return k.None;
2408
- const s = n.map((u) => `.${no(u)}`).map(
2409
- (u) => new RegExp(`(^|[^a-zA-Z0-9_-])${oo(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_-])`)
2410
2412
  );
2411
2413
  let i = k.None, a = !1;
2412
2414
  for (const u of Array.from(document.styleSheets)) {
@@ -2416,14 +2418,14 @@ function ro(t) {
2416
2418
  } catch {
2417
2419
  continue;
2418
2420
  }
2419
- const h = kt(f, s);
2421
+ const h = At(f, s);
2420
2422
  if (h.mask && (i |= h.mask, i === Fe))
2421
2423
  break;
2422
2424
  a ||= h.sawStyleRule;
2423
2425
  }
2424
2426
  return (i !== k.None || a) && lt.set(e, i), i;
2425
2427
  }
2426
- function kt(t, e) {
2428
+ function At(t, e) {
2427
2429
  if (!t)
2428
2430
  return { mask: k.None, sawStyleRule: !1 };
2429
2431
  let r = k.None, n = !1;
@@ -2434,12 +2436,12 @@ function kt(t, e) {
2434
2436
  const a = s.selectorText ?? "";
2435
2437
  if (!a || !e.some((f) => f.test(a))) continue;
2436
2438
  n = !0;
2437
- for (const f of jn)
2439
+ for (const f of Dn)
2438
2440
  f.hints.some((h) => a.includes(h)) && (r |= f.flag);
2439
2441
  if (r === Fe)
2440
2442
  return { mask: r, sawStyleRule: !0 };
2441
2443
  } else if ("cssRules" in s) {
2442
- const i = kt(s.cssRules, e);
2444
+ const i = At(s.cssRules, e);
2443
2445
  if (i.mask && (r |= i.mask, r === Fe))
2444
2446
  return { mask: r, sawStyleRule: !0 };
2445
2447
  n ||= i.sawStyleRule;
@@ -2448,19 +2450,19 @@ function kt(t, e) {
2448
2450
  }
2449
2451
  return { mask: r, sawStyleRule: n };
2450
2452
  }
2451
- function no(t) {
2453
+ function oo(t) {
2452
2454
  return typeof CSS < "u" && typeof CSS.escape == "function" ? CSS.escape(t) : t.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${e}`);
2453
2455
  }
2454
- function oo(t) {
2456
+ function so(t) {
2455
2457
  return t.replace(/[.*+?^${}()|[\]\\]/g, (e) => `\\${e}`);
2456
2458
  }
2457
- const We = "ikon_auth_session", so = 10080 * 60 * 1e3, io = 60 * 1e3;
2458
- function ao(t) {
2459
+ const We = "ikon_auth_session", io = 10080 * 60 * 1e3, ao = 60 * 1e3;
2460
+ function co(t) {
2459
2461
  try {
2460
2462
  const e = t.split(".");
2461
2463
  if (e.length !== 3) return !0;
2462
2464
  const r = e[1].replace(/-/g, "+").replace(/_/g, "/"), n = r + "=".repeat((4 - r.length % 4) % 4), o = JSON.parse(atob(n));
2463
- return typeof o.exp != "number" ? !1 : Date.now() >= o.exp * 1e3 - io;
2465
+ return typeof o.exp != "number" ? !1 : Date.now() >= o.exp * 1e3 - ao;
2464
2466
  } catch {
2465
2467
  return !0;
2466
2468
  }
@@ -2472,12 +2474,12 @@ function pe(t) {
2472
2474
  console.warn("Failed to save auth session to localStorage");
2473
2475
  }
2474
2476
  }
2475
- function At() {
2477
+ function Tt() {
2476
2478
  try {
2477
2479
  const t = localStorage.getItem(We);
2478
2480
  if (!t) return null;
2479
2481
  const e = JSON.parse(t);
2480
- return Date.now() - e.authenticatedAt > so || ao(e.token) ? (Ae(), null) : e;
2482
+ return Date.now() - e.authenticatedAt > io || co(e.token) ? (Ae(), null) : e;
2481
2483
  } catch {
2482
2484
  return console.warn("Failed to load auth session from localStorage"), null;
2483
2485
  }
@@ -2497,9 +2499,9 @@ function ee(t) {
2497
2499
  authenticatedAt: t.authenticatedAt
2498
2500
  };
2499
2501
  }
2500
- const Tt = 15e3;
2501
- async function Ct(t, e) {
2502
- 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`, {
2503
2505
  method: "POST",
2504
2506
  headers: { "Content-Type": "application/json" },
2505
2507
  body: JSON.stringify({ deviceId: r, space: t })
@@ -2515,7 +2517,7 @@ async function Ct(t, e) {
2515
2517
  };
2516
2518
  return pe(s), s;
2517
2519
  }
2518
- async function co({ email: t, spaceId: e, authUrl: r }) {
2520
+ async function uo({ email: t, spaceId: e, authUrl: r }) {
2519
2521
  const n = await fetch(`${r}/email/send`, {
2520
2522
  method: "POST",
2521
2523
  headers: { "Content-Type": "application/json" },
@@ -2523,14 +2525,14 @@ async function co({ email: t, spaceId: e, authUrl: r }) {
2523
2525
  email: t.trim(),
2524
2526
  space: e
2525
2527
  }),
2526
- signal: AbortSignal.timeout(Tt)
2528
+ signal: AbortSignal.timeout(Ct)
2527
2529
  });
2528
2530
  if (!n.ok) {
2529
2531
  const o = await n.text().catch(() => "Failed to send login code");
2530
2532
  throw new Error(o);
2531
2533
  }
2532
2534
  }
2533
- async function uo({ email: t, code: e, authUrl: r }) {
2535
+ async function lo({ email: t, code: e, authUrl: r }) {
2534
2536
  const n = await fetch(`${r}/email/code`, {
2535
2537
  method: "POST",
2536
2538
  headers: { "Content-Type": "application/json" },
@@ -2538,7 +2540,7 @@ async function uo({ email: t, code: e, authUrl: r }) {
2538
2540
  email: t.trim(),
2539
2541
  code: e.trim()
2540
2542
  }),
2541
- signal: AbortSignal.timeout(Tt)
2543
+ signal: AbortSignal.timeout(Ct)
2542
2544
  });
2543
2545
  if (!n.ok) {
2544
2546
  const i = await n.text().catch(() => "Invalid code");
@@ -2551,21 +2553,21 @@ async function uo({ email: t, code: e, authUrl: r }) {
2551
2553
  };
2552
2554
  return pe(s), s;
2553
2555
  }
2554
- function lo() {
2556
+ function fo() {
2555
2557
  const t = new URLSearchParams(window.location.search), e = t.get("ikon_token"), r = t.get("ikon_provider");
2556
2558
  return e && r ? { token: e, provider: r } : null;
2557
2559
  }
2558
- function fo() {
2560
+ function po() {
2559
2561
  return new URLSearchParams(window.location.search).get("error");
2560
2562
  }
2561
2563
  function mt() {
2562
2564
  window.history.replaceState({}, "", window.location.pathname);
2563
2565
  }
2564
- function po(t, e, r, n) {
2566
+ function ho(t, e, r, n) {
2565
2567
  const o = n ?? window.location.origin + window.location.pathname + window.location.search;
2566
2568
  return `${r}/oauth/${t}?space=${encodeURIComponent(e)}&return=${encodeURIComponent(o)}`;
2567
2569
  }
2568
- async function ho(t) {
2570
+ async function mo(t) {
2569
2571
  const e = await fetch(`${t}/passkey/registration/options`, {
2570
2572
  method: "POST",
2571
2573
  headers: { "Content-Type": "application/json" }
@@ -2576,7 +2578,7 @@ async function ho(t) {
2576
2578
  }
2577
2579
  return e.json();
2578
2580
  }
2579
- async function mo(t, e, r) {
2581
+ async function go(t, e, r) {
2580
2582
  const n = await fetch(`${t}/passkey/registration/verify`, {
2581
2583
  method: "POST",
2582
2584
  headers: { "Content-Type": "application/json" },
@@ -2593,7 +2595,7 @@ async function mo(t, e, r) {
2593
2595
  };
2594
2596
  return pe(s), s;
2595
2597
  }
2596
- async function go(t, e) {
2598
+ async function yo(t, e) {
2597
2599
  const r = await fetch(`${t}/passkey/authentication/options`, {
2598
2600
  method: "POST",
2599
2601
  headers: { "Content-Type": "application/json" },
@@ -2605,7 +2607,7 @@ async function go(t, e) {
2605
2607
  }
2606
2608
  return r.json();
2607
2609
  }
2608
- async function yo(t, e) {
2610
+ async function bo(t, e) {
2609
2611
  const r = await fetch(`${t}/passkey/authentication/verify`, {
2610
2612
  method: "POST",
2611
2613
  headers: { "Content-Type": "application/json" },
@@ -2622,7 +2624,7 @@ async function yo(t, e) {
2622
2624
  };
2623
2625
  return pe(o), o;
2624
2626
  }
2625
- function H(t) {
2627
+ function q(t) {
2626
2628
  const e = new Uint8Array(t);
2627
2629
  let r = "";
2628
2630
  for (const o of e)
@@ -2635,13 +2637,13 @@ function Te(t) {
2635
2637
  i[a] = o.charCodeAt(a);
2636
2638
  return s;
2637
2639
  }
2638
- function qe() {
2639
- return bo.stubThis(globalThis?.PublicKeyCredential !== void 0 && typeof globalThis.PublicKeyCredential == "function");
2640
+ function He() {
2641
+ return So.stubThis(globalThis?.PublicKeyCredential !== void 0 && typeof globalThis.PublicKeyCredential == "function");
2640
2642
  }
2641
- const bo = {
2643
+ const So = {
2642
2644
  stubThis: (t) => t
2643
2645
  };
2644
- function It(t) {
2646
+ function _t(t) {
2645
2647
  const { id: e } = t;
2646
2648
  return {
2647
2649
  ...t,
@@ -2654,7 +2656,7 @@ function It(t) {
2654
2656
  transports: t.transports
2655
2657
  };
2656
2658
  }
2657
- function _t(t) {
2659
+ function Ot(t) {
2658
2660
  return (
2659
2661
  // Consider localhost valid as well since it's okay wrt Secure Contexts
2660
2662
  t === "localhost" || // Support punycode (ACE) or ascii labels and domains
@@ -2671,7 +2673,7 @@ class x extends Error {
2671
2673
  }), this.name = o ?? n.name, this.code = r;
2672
2674
  }
2673
2675
  }
2674
- function So({ error: t, options: e }) {
2676
+ function wo({ error: t, options: e }) {
2675
2677
  const { publicKey: r } = e;
2676
2678
  if (!r)
2677
2679
  throw Error("options was missing required publicKey property");
@@ -2729,7 +2731,7 @@ function So({ error: t, options: e }) {
2729
2731
  });
2730
2732
  if (t.name === "SecurityError") {
2731
2733
  const n = globalThis.location.hostname;
2732
- if (_t(n)) {
2734
+ if (Ot(n)) {
2733
2735
  if (r.rp.id !== n)
2734
2736
  return new x({
2735
2737
  message: `The RP ID "${r.rp.id}" is invalid for this domain`,
@@ -2757,7 +2759,7 @@ function So({ error: t, options: e }) {
2757
2759
  }
2758
2760
  return t;
2759
2761
  }
2760
- class wo {
2762
+ class vo {
2761
2763
  constructor() {
2762
2764
  Object.defineProperty(this, "controller", {
2763
2765
  enumerable: !0,
@@ -2781,15 +2783,15 @@ class wo {
2781
2783
  }
2782
2784
  }
2783
2785
  }
2784
- const Ot = new wo(), vo = ["cross-platform", "platform"];
2785
- function Nt(t) {
2786
- if (t && !(vo.indexOf(t) < 0))
2786
+ const Nt = new vo(), Eo = ["cross-platform", "platform"];
2787
+ function Pt(t) {
2788
+ if (t && !(Eo.indexOf(t) < 0))
2787
2789
  return t;
2788
2790
  }
2789
- async function Eo(t) {
2791
+ async function Ro(t) {
2790
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 });
2791
2793
  const { optionsJSON: e, useAutoRegister: r = !1 } = t;
2792
- if (!qe())
2794
+ if (!He())
2793
2795
  throw new Error("WebAuthn is not supported in this browser");
2794
2796
  const n = {
2795
2797
  ...e,
@@ -2798,14 +2800,14 @@ async function Eo(t) {
2798
2800
  ...e.user,
2799
2801
  id: Te(e.user.id)
2800
2802
  },
2801
- excludeCredentials: e.excludeCredentials?.map(It)
2803
+ excludeCredentials: e.excludeCredentials?.map(_t)
2802
2804
  }, o = {};
2803
- r && (o.mediation = "conditional"), o.publicKey = n, o.signal = Ot.createNewAbortSignal();
2805
+ r && (o.mediation = "conditional"), o.publicKey = n, o.signal = Nt.createNewAbortSignal();
2804
2806
  let s;
2805
2807
  try {
2806
2808
  s = await navigator.credentials.create(o);
2807
2809
  } catch (l) {
2808
- throw So({ error: l, options: o });
2810
+ throw wo({ error: l, options: o });
2809
2811
  }
2810
2812
  if (!s)
2811
2813
  throw new Error("Registration was not completed");
@@ -2823,23 +2825,23 @@ async function Eo(t) {
2823
2825
  if (typeof u.getPublicKey == "function")
2824
2826
  try {
2825
2827
  const l = u.getPublicKey();
2826
- l !== null && (y = H(l));
2828
+ l !== null && (y = q(l));
2827
2829
  } catch (l) {
2828
2830
  Me("getPublicKey()", l);
2829
2831
  }
2830
2832
  let c;
2831
2833
  if (typeof u.getAuthenticatorData == "function")
2832
2834
  try {
2833
- c = H(u.getAuthenticatorData());
2835
+ c = q(u.getAuthenticatorData());
2834
2836
  } catch (l) {
2835
2837
  Me("getAuthenticatorData()", l);
2836
2838
  }
2837
2839
  return {
2838
2840
  id: i,
2839
- rawId: H(a),
2841
+ rawId: q(a),
2840
2842
  response: {
2841
- attestationObject: H(u.attestationObject),
2842
- clientDataJSON: H(u.clientDataJSON),
2843
+ attestationObject: q(u.attestationObject),
2844
+ clientDataJSON: q(u.clientDataJSON),
2843
2845
  transports: h,
2844
2846
  publicKeyAlgorithm: p,
2845
2847
  publicKey: y,
@@ -2847,15 +2849,15 @@ async function Eo(t) {
2847
2849
  },
2848
2850
  type: f,
2849
2851
  clientExtensionResults: s.getClientExtensionResults(),
2850
- authenticatorAttachment: Nt(s.authenticatorAttachment)
2852
+ authenticatorAttachment: Pt(s.authenticatorAttachment)
2851
2853
  };
2852
2854
  }
2853
2855
  function Me(t, e) {
2854
2856
  console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${t}. You should report this error to them.
2855
2857
  `, e);
2856
2858
  }
2857
- function Ro() {
2858
- if (!qe())
2859
+ function ko() {
2860
+ if (!He())
2859
2861
  return Le.stubThis(new Promise((e) => e(!1)));
2860
2862
  const t = globalThis.PublicKeyCredential;
2861
2863
  return t?.isConditionalMediationAvailable === void 0 ? Le.stubThis(new Promise((e) => e(!1))) : Le.stubThis(t.isConditionalMediationAvailable());
@@ -2863,7 +2865,7 @@ function Ro() {
2863
2865
  const Le = {
2864
2866
  stubThis: (t) => t
2865
2867
  };
2866
- function ko({ error: t, options: e }) {
2868
+ function Ao({ error: t, options: e }) {
2867
2869
  const { publicKey: r } = e;
2868
2870
  if (!r)
2869
2871
  throw Error("options was missing required publicKey property");
@@ -2883,7 +2885,7 @@ function ko({ error: t, options: e }) {
2883
2885
  });
2884
2886
  if (t.name === "SecurityError") {
2885
2887
  const n = globalThis.location.hostname;
2886
- if (_t(n)) {
2888
+ if (Ot(n)) {
2887
2889
  if (r.rpId !== n)
2888
2890
  return new x({
2889
2891
  message: `The RP ID "${r.rpId}" is invalid for this domain`,
@@ -2904,61 +2906,61 @@ function ko({ error: t, options: e }) {
2904
2906
  }
2905
2907
  return t;
2906
2908
  }
2907
- async function Ao(t) {
2909
+ async function To(t) {
2908
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 });
2909
2911
  const { optionsJSON: e, useBrowserAutofill: r = !1, verifyBrowserAutofillInput: n = !0 } = t;
2910
- if (!qe())
2912
+ if (!He())
2911
2913
  throw new Error("WebAuthn is not supported in this browser");
2912
2914
  let o;
2913
- e.allowCredentials?.length !== 0 && (o = e.allowCredentials?.map(It));
2915
+ e.allowCredentials?.length !== 0 && (o = e.allowCredentials?.map(_t));
2914
2916
  const s = {
2915
2917
  ...e,
2916
2918
  challenge: Te(e.challenge),
2917
2919
  allowCredentials: o
2918
2920
  }, i = {};
2919
2921
  if (r) {
2920
- if (!await Ro())
2922
+ if (!await ko())
2921
2923
  throw Error("Browser does not support WebAuthn autofill");
2922
2924
  if (document.querySelectorAll("input[autocomplete$='webauthn']").length < 1 && n)
2923
2925
  throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');
2924
2926
  i.mediation = "conditional", s.allowCredentials = [];
2925
2927
  }
2926
- i.publicKey = s, i.signal = Ot.createNewAbortSignal();
2928
+ i.publicKey = s, i.signal = Nt.createNewAbortSignal();
2927
2929
  let a;
2928
2930
  try {
2929
2931
  a = await navigator.credentials.get(i);
2930
2932
  } catch (c) {
2931
- throw ko({ error: c, options: i });
2933
+ throw Ao({ error: c, options: i });
2932
2934
  }
2933
2935
  if (!a)
2934
2936
  throw new Error("Authentication was not completed");
2935
2937
  const { id: u, rawId: f, response: h, type: p } = a;
2936
2938
  let y;
2937
- return h.userHandle && (y = H(h.userHandle)), {
2939
+ return h.userHandle && (y = q(h.userHandle)), {
2938
2940
  id: u,
2939
- rawId: H(f),
2941
+ rawId: q(f),
2940
2942
  response: {
2941
- authenticatorData: H(h.authenticatorData),
2942
- clientDataJSON: H(h.clientDataJSON),
2943
- signature: H(h.signature),
2943
+ authenticatorData: q(h.authenticatorData),
2944
+ clientDataJSON: q(h.clientDataJSON),
2945
+ signature: q(h.signature),
2944
2946
  userHandle: y
2945
2947
  },
2946
2948
  type: p,
2947
2949
  clientExtensionResults: a.getClientExtensionResults(),
2948
- authenticatorAttachment: Nt(a.authenticatorAttachment)
2950
+ authenticatorAttachment: Pt(a.authenticatorAttachment)
2949
2951
  };
2950
2952
  }
2951
- const He = gt(null);
2952
- function zo({ children: t, config: e }) {
2953
- const [r, n] = z({
2953
+ const qe = gt(null);
2954
+ function Wo({ children: t, config: e }) {
2955
+ const [r, n] = $({
2954
2956
  isAuthenticated: !1,
2955
2957
  isLoading: !0,
2956
2958
  user: null,
2957
2959
  error: null
2958
2960
  });
2959
- O(() => {
2961
+ N(() => {
2960
2962
  (() => {
2961
- const y = fo();
2963
+ const y = po();
2962
2964
  if (y) {
2963
2965
  mt(), n({
2964
2966
  isAuthenticated: !1,
@@ -2968,7 +2970,7 @@ function zo({ children: t, config: e }) {
2968
2970
  });
2969
2971
  return;
2970
2972
  }
2971
- const c = lo();
2973
+ const c = fo();
2972
2974
  if (c) {
2973
2975
  const m = {
2974
2976
  token: c.token,
@@ -2983,7 +2985,7 @@ function zo({ children: t, config: e }) {
2983
2985
  });
2984
2986
  return;
2985
2987
  }
2986
- const l = At();
2988
+ const l = Tt();
2987
2989
  if (l) {
2988
2990
  n({
2989
2991
  isAuthenticated: !0,
@@ -3010,11 +3012,11 @@ function zo({ children: t, config: e }) {
3010
3012
  }));
3011
3013
  return;
3012
3014
  }
3013
- const y = de(e.authUrl);
3015
+ const y = await de(e.authUrl);
3014
3016
  if (p === "guest") {
3015
3017
  n((c) => ({ ...c, isLoading: !0 }));
3016
3018
  try {
3017
- const c = await Ct(e.spaceId, y);
3019
+ const c = await It(e.spaceId, y);
3018
3020
  n({
3019
3021
  isAuthenticated: !0,
3020
3022
  isLoading: !1,
@@ -3033,7 +3035,7 @@ function zo({ children: t, config: e }) {
3033
3035
  if (p === "passkey") {
3034
3036
  n((c) => ({ ...c, isLoading: !0, error: null }));
3035
3037
  try {
3036
- const c = await go(y), l = await Ao({ optionsJSON: c }), m = await yo(y, l);
3038
+ const c = await yo(y), l = await To({ optionsJSON: c }), m = await bo(y, l);
3037
3039
  n({
3038
3040
  isAuthenticated: !0,
3039
3041
  isLoading: !1,
@@ -3051,22 +3053,22 @@ function zo({ children: t, config: e }) {
3051
3053
  }
3052
3054
  if (p === "email")
3053
3055
  throw new Error("login('email') is not supported. Use requestEmailCode()/submitEmailCode() from useAuth() instead.");
3054
- window.location.href = po(p, e.spaceId, y);
3056
+ window.location.href = ho(p, e.spaceId, y);
3055
3057
  },
3056
3058
  [e.authUrl, e.spaceId]
3057
3059
  ), s = U(
3058
3060
  async (p) => {
3059
3061
  if (!e.spaceId)
3060
3062
  throw n((c) => ({ ...c, error: "Space ID is not configured" })), new Error("Space ID is not configured");
3061
- const y = de(e.authUrl);
3062
- await co({ email: p, spaceId: e.spaceId, authUrl: y });
3063
+ const y = await de(e.authUrl);
3064
+ await uo({ email: p, spaceId: e.spaceId, authUrl: y });
3063
3065
  },
3064
3066
  [e.authUrl, e.spaceId]
3065
3067
  ), i = U(
3066
3068
  async (p, y) => {
3067
3069
  n((c) => ({ ...c, isLoading: !0, error: null }));
3068
3070
  try {
3069
- const c = de(e.authUrl), l = await uo({ email: p, code: y, authUrl: c });
3071
+ const c = await de(e.authUrl), l = await lo({ email: p, code: y, authUrl: c });
3070
3072
  n({
3071
3073
  isAuthenticated: !0,
3072
3074
  isLoading: !1,
@@ -3088,10 +3090,10 @@ function zo({ children: t, config: e }) {
3088
3090
  });
3089
3091
  }, []), u = U(
3090
3092
  async (p) => {
3091
- const y = de(e.authUrl);
3093
+ const y = await de(e.authUrl);
3092
3094
  n((c) => ({ ...c, isLoading: !0, error: null }));
3093
3095
  try {
3094
- const c = await ho(y), l = await Eo({ optionsJSON: c }), m = await mo(y, l, p);
3096
+ const c = await mo(y), l = await Ro({ optionsJSON: c }), m = await go(y, l, p);
3095
3097
  n({
3096
3098
  isAuthenticated: !0,
3097
3099
  isLoading: !1,
@@ -3107,7 +3109,7 @@ function zo({ children: t, config: e }) {
3107
3109
  }
3108
3110
  },
3109
3111
  [e.authUrl]
3110
- ), f = U(() => r.user?.token ?? null, [r.user]), h = $(
3112
+ ), f = U(() => r.user?.token ?? null, [r.user]), h = V(
3111
3113
  () => ({
3112
3114
  state: r,
3113
3115
  login: o,
@@ -3119,20 +3121,20 @@ function zo({ children: t, config: e }) {
3119
3121
  }),
3120
3122
  [r, o, a, f, u, s, i]
3121
3123
  );
3122
- return /* @__PURE__ */ E.jsx(He, { value: h, children: t });
3124
+ return /* @__PURE__ */ E.jsx(qe, { value: h, children: t });
3123
3125
  }
3124
- function To() {
3125
- const t = Ke(He);
3126
+ function Co() {
3127
+ const t = Ke(qe);
3126
3128
  if (!t)
3127
3129
  throw new Error("useAuth must be used within an AuthProvider");
3128
3130
  return t;
3129
3131
  }
3130
- function Co() {
3131
- return Ke(He);
3132
+ function Io() {
3133
+ return Ke(qe);
3132
3134
  }
3133
- function Yo(t) {
3134
- const { config: e, guestUrlParam: r } = t, { state: n, login: o } = To(), s = v(!1);
3135
- return O(() => {
3135
+ function Ho(t) {
3136
+ const { config: e, guestUrlParam: r } = t, { state: n, login: o } = Co(), s = v(!1);
3137
+ return N(() => {
3136
3138
  if (!r || n.isAuthenticated || n.isLoading || s.current || !e.methods.includes("guest"))
3137
3139
  return;
3138
3140
  const i = new URLSearchParams(window.location.search), a = i.get(r);
@@ -3148,7 +3150,7 @@ function Yo(t) {
3148
3150
  error: n.error
3149
3151
  };
3150
3152
  }
3151
- function Wo({
3153
+ function qo({
3152
3154
  connectionState: t,
3153
3155
  error: e,
3154
3156
  isReady: r,
@@ -3193,39 +3195,39 @@ function Wo({
3193
3195
  }
3194
3196
  }
3195
3197
  const ve = fe("useIkonApp");
3196
- function Io() {
3198
+ function _o() {
3197
3199
  if (typeof window < "u" && window.__IKON_AUTH_CONFIG__)
3198
3200
  return window.__IKON_AUTH_CONFIG__;
3199
3201
  }
3200
- function _o() {
3202
+ function Oo() {
3201
3203
  if (typeof window < "u" && window.__IKON_LOCAL_IKON_SERVER_CONFIG__)
3202
3204
  return window.__IKON_LOCAL_IKON_SERVER_CONFIG__;
3203
3205
  }
3204
- function qo(t) {
3205
- 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 ? Io() ?? null : e, y = _o(), c = Co(), l = v(null), m = v(null), g = v(null), b = v(!1), S = v(!1), N = v(o), _ = v(n), M = v(s), L = v(i), G = v(a), T = v(u), P = v(f), D = v(h);
3206
- N.current = o, _.current = n, M.current = s, L.current = i, G.current = a, T.current = u, P.current = f, D.current = h;
3207
- const [j, B] = z("idle"), [V, he] = z(null), [ne, me] = z(null), [oe, ge] = z(null), [X, ye] = z(null), d = v(!1), [w, A] = z(0), R = $(() => {
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(() => {
3208
3210
  try {
3209
- const I = Kt();
3210
- return (I.sessionId || I.channelKey) && zt(), I;
3211
+ const T = zt();
3212
+ return (T.sessionId || T.channelKey) && Yt(), T;
3211
3213
  } catch {
3212
3214
  return { parameters: {} };
3213
3215
  }
3214
- }, []), K = $(() => p?.enabled ? At() : null, [p?.enabled, w]), Z = y?.enabled ?? !1, C = y?.host ?? "localhost", W = y?.port ?? 8443;
3215
- !Z && Ge() && p && !p.enabled && p.spaceId && !X && !d.current && (d.current = !0, Ct(p.spaceId, de(p.authUrl)).then((I) => {
3216
- ye(I.token);
3217
- }).catch((I) => {
3218
- 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;
3219
3221
  }));
3220
- const se = $(() => {
3222
+ const se = V(() => {
3221
3223
  if (Z) {
3222
- const I = K?.token ? Yt(K.token) ?? void 0 : void 0;
3224
+ const T = z?.token ? Wt(z.token) ?? void 0 : void 0;
3223
3225
  return {
3224
3226
  local: {
3225
- host: C,
3227
+ host: _,
3226
3228
  httpsPort: W,
3227
- userId: I,
3228
- token: K?.token ?? void 0,
3229
+ userId: T,
3230
+ token: z?.token ?? void 0,
3229
3231
  spaceId: p?.spaceId,
3230
3232
  backendUrl: p?.backendUrl,
3231
3233
  authUrl: p?.authUrl,
@@ -3233,9 +3235,9 @@ function qo(t) {
3233
3235
  }
3234
3236
  };
3235
3237
  }
3236
- return K?.token && p?.spaceId ? {
3238
+ return z?.token && p?.spaceId ? {
3237
3239
  sessionToken: {
3238
- token: K.token,
3240
+ token: z.token,
3239
3241
  spaceId: p.spaceId,
3240
3242
  backendType: Je(),
3241
3243
  sessionId: R.sessionId,
@@ -3253,7 +3255,7 @@ function qo(t) {
3253
3255
  }
3254
3256
  } : Ge() ? null : {
3255
3257
  local: {
3256
- host: C,
3258
+ host: _,
3257
3259
  httpsPort: W,
3258
3260
  spaceId: p?.spaceId,
3259
3261
  backendUrl: p?.backendUrl,
@@ -3261,73 +3263,73 @@ function qo(t) {
3261
3263
  parameters: R.parameters
3262
3264
  }
3263
3265
  };
3264
- }, [Z, C, W, K?.token, p?.spaceId, p?.backendUrl, p?.authUrl, X, R.sessionId, R.channelKey, R.parameters]);
3265
- gn(oe);
3266
- const Mt = bn(oe);
3267
- O(() => {
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(() => {
3268
3270
  if (!b.current) {
3269
- if (b.current = !0, g.current = cn(), r)
3270
- for (const I of r)
3271
- I(g.current);
3272
- g.current.loadRegisteredModules().catch((I) => {
3273
- 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);
3274
3276
  });
3275
3277
  }
3276
- }, []), O(() => {
3278
+ }, []), N(() => {
3277
3279
  if (!se) return;
3278
- const I = new Wt({
3280
+ const T = new Ht({
3279
3281
  ...se,
3280
- timeouts: _.current,
3281
- audio: L.current !== void 0 || N.current ? {
3282
+ timeouts: C.current,
3283
+ audio: L.current !== void 0 || O.current ? {
3282
3284
  enabled: L.current,
3283
- ...N.current ? { background: { allowOnDesktop: !0, allowOnMobile: !0 } } : {}
3285
+ ...O.current ? { background: { allowOnDesktop: !0, allowOnMobile: !0 } } : {}
3284
3286
  } : void 0,
3285
3287
  video: G.current !== void 0 ? { enabled: G.current } : void 0,
3286
3288
  mediaSession: { title: document.title || void 0, artist: document.title || void 0 },
3287
- webRtc: M.current === !1 ? { enabled: !1 } : void 0,
3288
- websocket: T.current,
3289
- webtransport: P.current,
3289
+ webRtc: P.current === !1 ? { enabled: !1 } : void 0,
3290
+ websocket: I.current,
3291
+ webtransport: M.current,
3290
3292
  proxy: D.current,
3291
- onConnectionStateChange: (q) => {
3292
- B(q);
3293
+ onConnectionStateChange: (H) => {
3294
+ B(H);
3293
3295
  },
3294
- onError: (q) => {
3295
- he(q.message);
3296
+ onError: (H) => {
3297
+ he(H.message);
3296
3298
  }
3297
3299
  });
3298
- l.current = I;
3299
- const Q = new gr({ client: I });
3300
- return m.current = Q, ge(Q), I.connect().catch((q) => {
3301
- if (ve.error("Connection failed:", q), q instanceof qt) {
3302
- me(q.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);
3303
3305
  return;
3304
3306
  }
3305
- q 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)));
3306
3308
  }), () => {
3307
- I.disconnect(), l.current = null, Q.dispose(), m.current = null;
3309
+ T.disconnect(), l.current = null, Q.dispose(), m.current = null;
3308
3310
  };
3309
3311
  }, [se]);
3310
- const Lt = U((I, Q) => {
3311
- const q = typeof Q == "string" ? Q : JSON.stringify(Q ?? {});
3312
- l.current?.sendActionCall(I, q);
3313
- }, []), 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";
3314
3316
  return {
3315
3317
  connectionState: j,
3316
- error: V,
3318
+ error: K,
3317
3319
  accessDeniedReason: ne,
3318
- stores: Mt,
3320
+ stores: Lt,
3319
3321
  client: l.current,
3320
3322
  registry: g.current,
3321
3323
  clientRef: l,
3322
3324
  uiRef: m,
3323
3325
  registryRef: g,
3324
- onAction: Lt,
3325
- isReady: xt,
3326
+ onAction: xt,
3327
+ isReady: Ut,
3326
3328
  webRtcVideoStreams: l.current?.webRtcVideoStreams ?? /* @__PURE__ */ new Map(),
3327
3329
  webRtcTrackMap: l.current?.webRtcTrackMap ?? /* @__PURE__ */ new Map()
3328
3330
  };
3329
3331
  }
3330
- function Ho(t) {
3332
+ function Jo(t) {
3331
3333
  const e = v(!1);
3332
3334
  return U(() => {
3333
3335
  if (e.current) return;
@@ -3336,18 +3338,18 @@ function Ho(t) {
3336
3338
  r.rel = "stylesheet", r.href = t, document.head.appendChild(r);
3337
3339
  }, [t]);
3338
3340
  }
3339
- let Oo = 0;
3340
- function Go(t = 5, e = 5e3) {
3341
- const [r, n] = z([]), 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) => {
3342
3344
  const a = o.current.get(i);
3343
3345
  a && (clearTimeout(a), o.current.delete(i)), n((u) => u.filter((f) => f.id !== i));
3344
3346
  }, []);
3345
- return O(() => {
3346
- const i = o.current, a = Gt(
3347
+ return N(() => {
3348
+ const i = o.current, a = Jt(
3347
3349
  (u) => {
3348
- if (!Jt())
3350
+ if (!Xt())
3349
3351
  return;
3350
- const f = `toast-${++Oo}`, h = u.level === Xe.ERROR ? "error" : "warn", p = {
3352
+ const f = `toast-${++No}`, h = u.level === Xe.ERROR ? "error" : "warn", p = {
3351
3353
  id: f,
3352
3354
  level: h,
3353
3355
  message: u.message,
@@ -3369,9 +3371,9 @@ function Go(t = 5, e = 5e3) {
3369
3371
  };
3370
3372
  }, [t, e, s]), { toasts: r, dismissToast: s };
3371
3373
  }
3372
- function Jo(t, e, r) {
3373
- const [n, o] = z(r);
3374
- return O(() => {
3374
+ function Po(t, e, r) {
3375
+ const [n, o] = $(r);
3376
+ return N(() => {
3375
3377
  if (!t)
3376
3378
  return;
3377
3379
  let s = !0, i = null;
@@ -3386,104 +3388,120 @@ function Jo(t, e, r) {
3386
3388
  };
3387
3389
  }, [t, e]), n;
3388
3390
  }
3389
- const Pt = gt(null);
3390
- function No(t, e) {
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) {
3391
3408
  return e ? t.replace(/\{(\w+)\}/g, (r, n) => e[n] ?? `{${n}}`) : t;
3392
3409
  }
3393
- function Po(t, e) {
3394
- const r = Xt();
3410
+ function Lo(t, e) {
3411
+ const r = Zt();
3395
3412
  if (r && t.includes(r))
3396
3413
  return r;
3397
3414
  const n = navigator.language.split("-")[0];
3398
3415
  return t.includes(n) ? n : e && t.includes(e) ? e : "en";
3399
3416
  }
3400
- function Mo(t, e, r) {
3401
- return e ? Po(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";
3402
3419
  }
3403
- function Xo({
3420
+ function Qo({
3404
3421
  children: t,
3405
3422
  translations: e,
3406
3423
  defaultLanguage: r,
3407
3424
  detectLanguage: n = !1
3408
3425
  }) {
3409
- const o = Object.keys(e), s = Mo(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(
3410
3427
  () => ({
3411
3428
  t: (u, f) => {
3412
3429
  const h = i[u];
3413
- return No(h, f);
3430
+ return Mo(h, f);
3414
3431
  },
3415
3432
  locale: s,
3416
3433
  translations: i
3417
3434
  }),
3418
3435
  [i, s]
3419
3436
  );
3420
- return /* @__PURE__ */ E.jsx(Pt, { value: a, children: t });
3437
+ return /* @__PURE__ */ E.jsx(Mt, { value: a, children: t });
3421
3438
  }
3422
- function Zo() {
3423
- const t = Ke(Pt);
3439
+ function es() {
3440
+ const t = Ke(Mt);
3424
3441
  if (!t)
3425
3442
  throw new Error("useI18n must be used within an I18nProvider");
3426
3443
  return t;
3427
3444
  }
3428
3445
  export {
3429
- zo as AuthProvider,
3430
- Wo as ConnectionStateRenderer,
3431
- Xo as I18nProvider,
3432
- Or as IKON_UI_BASE_MODULE,
3433
- Vr as IKON_UI_MEDIA_MODULE,
3434
- nn as IKON_UI_SHADERTOY_MODULE,
3435
- tn 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,
3436
3453
  Ue as IKON_UI_STREAM_CATEGORY,
3437
- jr as IKON_UI_VIDEO_CANVAS_TYPE,
3438
- Dr as IKON_UI_VIDEO_URL_PLAYER_TYPE,
3439
- gr as IkonUi,
3440
- an as IkonUiRegistry,
3441
- mr as IkonUiSurface,
3442
- fr as InspectOverlay,
3443
- Bo as ParallaxView,
3444
- dr as UiComponentRegistry,
3445
- lr as UiRenderer,
3446
- ts as UiStreamStore,
3447
- Fo as areIkonUiModuleListsEqual,
3448
- Ct as authenticateAnonymous,
3449
- po 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,
3450
3467
  Ae as clearAuthSession,
3451
3468
  mt as clearOAuthParams,
3452
- _r as createBaseResolvers,
3453
- jo as createComponentLibrary,
3454
- cn as createIkonUiRegistry,
3455
- Fr as createMediaResolvers,
3456
- rn as createShadertoyRendererResolver,
3457
- hr as isIkonUiCategoryMatch,
3458
- At as loadAuthSession,
3459
- Nr as loadBaseModule,
3460
- Kr as loadMediaModule,
3461
- on as loadShadertoyModule,
3462
- xn as normalizeIkonUiModuleList,
3463
- Vo as parseIkonUiInitPayload,
3464
- lo as parseOAuthCallback,
3465
- fo as parseOAuthError,
3466
- Un as readIkonUiModules,
3467
- $o as readIkonUiModulesFromSources,
3468
- Pr as registerBaseModule,
3469
- zr as registerMediaModule,
3470
- sn as registerShadertoyModule,
3471
- cr as renderChildren,
3472
- Ko 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,
3473
3490
  pe as saveAuthSession,
3474
- co as sendLoginCode,
3491
+ uo as sendLoginCode,
3475
3492
  ee as sessionToUser,
3476
- To as useAuth,
3477
- Yo as useAuthGuard,
3478
- Co as useAuthOptional,
3479
- Zo as useI18n,
3480
- qo as useIkonApp,
3481
- Jo as useIkonReactive,
3482
- gn as useIkonStyles,
3483
- bn as useIkonUiStores,
3484
- Ho as useLazyFont,
3485
- Go 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,
3486
3504
  J as useUiNode,
3487
- Do as useUiStore,
3488
- uo as verifyLoginCode
3505
+ Fo as useUiStore,
3506
+ lo as verifyLoginCode
3489
3507
  };