@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/hooks/index.d.ts +1 -0
- package/hooks/use-reactive.d.ts +15 -0
- package/index.d.ts +1 -1
- package/index.js +547 -529
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { IkonUiCore as
|
|
2
|
-
import { UiStreamStore as
|
|
3
|
-
import
|
|
4
|
-
import { createLogger as fe, isInspectModeEnabled as
|
|
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
|
|
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
|
|
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
|
|
77
|
+
case O:
|
|
78
78
|
return (d._context.displayName || "Context") + ".Consumer";
|
|
79
|
-
case
|
|
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
|
|
82
|
+
case I:
|
|
83
83
|
return w = d.displayName || null, w !== null ? w : t(d.type) || "Memo";
|
|
84
|
-
case
|
|
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 ===
|
|
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 (
|
|
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,
|
|
157
|
-
var
|
|
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
|
-
}, (
|
|
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:
|
|
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,
|
|
190
|
-
var
|
|
191
|
-
if (
|
|
189
|
+
function h(d, w, A, R, z, Z) {
|
|
190
|
+
var _ = w.children;
|
|
191
|
+
if (_ !== void 0)
|
|
192
192
|
if (R)
|
|
193
|
-
if (he(
|
|
194
|
-
for (R = 0; R <
|
|
195
|
-
p(
|
|
196
|
-
Object.freeze && Object.freeze(
|
|
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(
|
|
202
|
-
if (
|
|
203
|
-
|
|
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[
|
|
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
|
-
|
|
215
|
+
_,
|
|
216
216
|
W,
|
|
217
|
-
|
|
218
|
-
), ye[
|
|
217
|
+
_
|
|
218
|
+
), ye[_ + R] = !0);
|
|
219
219
|
}
|
|
220
|
-
if (
|
|
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
|
|
225
|
+
return _ && a(
|
|
226
226
|
A,
|
|
227
227
|
typeof d == "function" ? d.displayName || d.name || "Unknown" : d
|
|
228
228
|
), f(
|
|
229
229
|
d,
|
|
230
|
-
|
|
230
|
+
_,
|
|
231
231
|
A,
|
|
232
232
|
o(),
|
|
233
|
-
|
|
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 ===
|
|
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 =
|
|
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
|
|
280
|
-
return et || (et = 1, process.env.NODE_ENV === "production" ? 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 =
|
|
283
|
-
function
|
|
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
|
|
309
|
+
return V(() => t.getNode(e), [t, e, r]);
|
|
310
310
|
}
|
|
311
|
-
const
|
|
312
|
-
function
|
|
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
|
|
323
|
+
function sr(t) {
|
|
324
324
|
const e = t.styleIds;
|
|
325
325
|
return Array.isArray(e) ? e : [];
|
|
326
326
|
}
|
|
327
|
-
function
|
|
327
|
+
function ir(t) {
|
|
328
328
|
const e = t.children;
|
|
329
329
|
return Array.isArray(e) ? e : [];
|
|
330
330
|
}
|
|
331
|
-
function
|
|
331
|
+
function ar(t, e) {
|
|
332
332
|
return t.nodeId === e.nodeId && t.context === e.context;
|
|
333
333
|
}
|
|
334
|
-
function
|
|
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 ?
|
|
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(
|
|
351
|
+
return /* @__PURE__ */ E.jsx($t, { children: i }, n.id);
|
|
352
352
|
const a = r.library.resolve(n);
|
|
353
353
|
if (!a)
|
|
354
|
-
return
|
|
355
|
-
const u =
|
|
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
|
-
},
|
|
358
|
-
function
|
|
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
|
|
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
|
|
365
|
-
const { rootViewId: u, rootNodeId: f } =
|
|
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 =
|
|
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) =>
|
|
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
|
-
},
|
|
401
|
-
class
|
|
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
|
|
418
|
+
function Bo(t, e) {
|
|
419
419
|
const r = Object.entries(t);
|
|
420
|
-
return new
|
|
420
|
+
return new fr(r, e);
|
|
421
421
|
}
|
|
422
|
-
function
|
|
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
|
|
430
|
-
const t =
|
|
431
|
-
return
|
|
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,
|
|
535
|
-
for (const
|
|
536
|
-
const L =
|
|
537
|
-
L.right > l && L.left < g && L.bottom > m && L.top < b &&
|
|
538
|
-
sourceMarker:
|
|
539
|
-
tagName:
|
|
540
|
-
textContent: (
|
|
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
|
-
|
|
543
|
+
C.length > 0 && window.parent.postMessage({
|
|
544
544
|
type: "ikon-inspect-rect-result",
|
|
545
|
-
payload: { elements:
|
|
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
|
|
556
|
-
function
|
|
555
|
+
const hr = fe("IkonUiSurface"), Ue = "ikon-ui";
|
|
556
|
+
function mr(t, e) {
|
|
557
557
|
return t === e;
|
|
558
558
|
}
|
|
559
|
-
const
|
|
560
|
-
const i =
|
|
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
|
-
|
|
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
|
|
577
|
-
p && !h.current && (h.current = !0,
|
|
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(
|
|
580
|
-
f.map(({ key: y, store: c }) => /* @__PURE__ */ E.jsx(
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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(),
|
|
683
|
+
const tt = /* @__PURE__ */ new WeakMap(), Sr = {};
|
|
684
684
|
function Ye(t) {
|
|
685
685
|
if (!t)
|
|
686
|
-
return
|
|
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
|
|
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
|
-
|
|
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:
|
|
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",
|
|
712
|
-
function
|
|
713
|
-
return Math.max(t.clientHeight *
|
|
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
|
|
716
|
+
function Er(t) {
|
|
716
717
|
return t.getAttribute(Ee) !== "false";
|
|
717
718
|
}
|
|
718
|
-
function
|
|
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 <=
|
|
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
|
|
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
|
|
758
|
-
const r =
|
|
758
|
+
function Ar(t, e) {
|
|
759
|
+
const r = kr(t);
|
|
759
760
|
r.style.display = "flex";
|
|
760
761
|
const n = () => {
|
|
761
|
-
|
|
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 <=
|
|
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
|
|
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
|
|
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 =
|
|
782
|
+
const S = wr(c);
|
|
782
783
|
if (S)
|
|
783
|
-
if (
|
|
784
|
-
l =
|
|
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"),
|
|
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:
|
|
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
|
|
824
|
+
function Cr() {
|
|
823
825
|
const t = Y(function({ nodeId: r, context: n, className: o }) {
|
|
824
|
-
const s = J(n.store, r), i =
|
|
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
|
|
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
|
|
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
|
|
878
|
+
function Or() {
|
|
877
879
|
return [
|
|
878
|
-
Tr(),
|
|
879
880
|
Cr(),
|
|
880
881
|
Ir(),
|
|
881
|
-
|
|
882
|
+
_r(),
|
|
883
|
+
Tr()
|
|
882
884
|
];
|
|
883
885
|
}
|
|
884
|
-
const
|
|
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
|
|
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
|
|
920
|
-
function
|
|
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 (
|
|
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(
|
|
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 ===
|
|
952
|
+
if (e === Ur)
|
|
951
953
|
return t;
|
|
952
954
|
};
|
|
953
955
|
}
|
|
954
|
-
function
|
|
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
|
|
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
|
|
986
|
-
function
|
|
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(
|
|
989
|
-
|
|
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
|
|
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]),
|
|
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 ===
|
|
1043
|
+
if (e === Dr)
|
|
1042
1044
|
return t;
|
|
1043
1045
|
};
|
|
1044
1046
|
}
|
|
1045
|
-
function
|
|
1046
|
-
return [
|
|
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
|
|
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 (
|
|
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(
|
|
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 ===
|
|
1093
|
+
if (e === Br)
|
|
1092
1094
|
return t;
|
|
1093
1095
|
};
|
|
1094
1096
|
}
|
|
1095
|
-
const
|
|
1096
|
-
function
|
|
1097
|
-
t.registerModule(
|
|
1097
|
+
const Kr = "media", zr = async () => $r();
|
|
1098
|
+
function Yr(t) {
|
|
1099
|
+
t.registerModule(Kr, zr);
|
|
1098
1100
|
}
|
|
1099
|
-
const
|
|
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
|
|
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 (
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
1321
|
+
function Zr(t) {
|
|
1320
1322
|
return typeof t == "string" ? t : "";
|
|
1321
1323
|
}
|
|
1322
|
-
function
|
|
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
|
|
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
|
|
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
|
|
1368
|
-
function
|
|
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 ?
|
|
1377
|
-
|
|
1378
|
-
const
|
|
1379
|
-
if (
|
|
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
|
|
1382
|
-
a.current =
|
|
1383
|
-
} catch (
|
|
1384
|
-
console.error("[ShadertoyRenderer] Failed to create WebGL2 context:",
|
|
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
|
-
}, []),
|
|
1391
|
-
const
|
|
1392
|
-
if (!(!
|
|
1393
|
-
if (
|
|
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 =
|
|
1398
|
+
const D = I.getError();
|
|
1397
1399
|
console.error("[ShadertoyRenderer] Shader compilation failed:", D);
|
|
1398
1400
|
}
|
|
1399
|
-
}, [c, g]),
|
|
1400
|
-
const
|
|
1401
|
-
!
|
|
1402
|
-
}, [g]),
|
|
1403
|
-
const
|
|
1404
|
-
if (!
|
|
1405
|
-
const
|
|
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 >=
|
|
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
|
|
1414
|
-
(
|
|
1415
|
+
const P = U(
|
|
1416
|
+
(I) => {
|
|
1415
1417
|
if (!b) return;
|
|
1416
|
-
const
|
|
1417
|
-
if (!
|
|
1418
|
-
const j =
|
|
1419
|
-
y.current.x = B, y.current.y =
|
|
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
|
-
(
|
|
1425
|
+
(I) => {
|
|
1424
1426
|
if (!b) return;
|
|
1425
|
-
const
|
|
1426
|
-
if (!
|
|
1427
|
-
const j =
|
|
1428
|
-
y.current.isDown = !0, y.current.clickX = B, y.current.clickY =
|
|
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
|
-
...
|
|
1443
|
-
onMouseMove:
|
|
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 ===
|
|
1453
|
+
if (e === rn)
|
|
1452
1454
|
return t;
|
|
1453
1455
|
};
|
|
1454
1456
|
}
|
|
1455
|
-
const
|
|
1456
|
-
function
|
|
1457
|
-
t.registerModule(
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
1511
|
-
const t = new
|
|
1512
|
-
return
|
|
1512
|
+
function un() {
|
|
1513
|
+
const t = new cn();
|
|
1514
|
+
return Mr(t), Yr(t), an(t), t.loadRegisteredModules(), t;
|
|
1513
1515
|
}
|
|
1514
|
-
function
|
|
1516
|
+
function ln(t) {
|
|
1515
1517
|
return Array.isArray(t) ? t : [t];
|
|
1516
1518
|
}
|
|
1517
|
-
function
|
|
1518
|
-
return t ?
|
|
1519
|
+
function dn(t) {
|
|
1520
|
+
return t ? ln(t).flatMap((e) => e ? Array.isArray(e) ? e.filter(Boolean) : [e] : []) : [];
|
|
1519
1521
|
}
|
|
1520
|
-
function
|
|
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
|
|
1530
|
+
function $o({ mount: t, stores: e, registry: r, client: n, onAction: o }) {
|
|
1529
1531
|
return /* @__PURE__ */ E.jsx(
|
|
1530
|
-
|
|
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
|
|
1594
|
-
if (
|
|
1595
|
+
const O = y(b, t, r);
|
|
1596
|
+
if (O === 0)
|
|
1595
1597
|
return b;
|
|
1596
|
-
const
|
|
1597
|
-
b -=
|
|
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
|
|
1604
|
+
let O = 0, C = 0, P = 0;
|
|
1603
1605
|
do
|
|
1604
|
-
|
|
1605
|
-
while (Math.abs(
|
|
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
|
|
1611
|
-
for (; S !==
|
|
1612
|
+
const O = 10;
|
|
1613
|
+
for (; S !== O && h[S] <= g; S += 1)
|
|
1612
1614
|
b += 0.1;
|
|
1613
1615
|
S -= 1;
|
|
1614
|
-
const
|
|
1615
|
-
return L >= 1e-3 ? c(g,
|
|
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
|
|
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
|
|
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 =
|
|
1648
|
+
const r = pn(e);
|
|
1647
1649
|
return (n) => r(F(n));
|
|
1648
1650
|
}
|
|
1649
1651
|
return (r) => F(r);
|
|
1650
1652
|
}
|
|
1651
|
-
function
|
|
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
|
|
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 =
|
|
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
|
|
1920
|
-
function
|
|
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
|
|
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]),
|
|
1953
|
+
}, [t, o, r, n]), N(() => () => o(), [o]), { setStyle: r, deleteStyles: n, reset: o };
|
|
1952
1954
|
}
|
|
1953
|
-
function
|
|
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
|
|
1962
|
-
const [e, r] =
|
|
1963
|
-
return
|
|
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 =
|
|
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
|
|
1976
|
-
function
|
|
1977
|
-
var e =
|
|
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 =
|
|
1985
|
+
var o = kn.call(t);
|
|
1984
1986
|
return n && (e ? t[ue] = r : delete t[ue]), o;
|
|
1985
1987
|
}
|
|
1986
|
-
var
|
|
1987
|
-
function
|
|
1988
|
-
return
|
|
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
|
|
1998
|
-
function
|
|
1999
|
-
return typeof t == "string" || !
|
|
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
|
|
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 (!
|
|
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
|
|
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
|
|
2030
|
+
function jn(t) {
|
|
2029
2031
|
if (!(!Be(t) || !Object.prototype.hasOwnProperty.call(t, ut)))
|
|
2030
|
-
return
|
|
2032
|
+
return Un(t[ut]);
|
|
2031
2033
|
}
|
|
2032
|
-
function
|
|
2034
|
+
function Ko(...t) {
|
|
2033
2035
|
for (const e of t) {
|
|
2034
|
-
const r =
|
|
2036
|
+
const r = jn(e);
|
|
2035
2037
|
if (r !== void 0)
|
|
2036
2038
|
return r;
|
|
2037
2039
|
}
|
|
2038
2040
|
}
|
|
2039
|
-
function
|
|
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
|
-
},
|
|
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,
|
|
2138
|
-
function
|
|
2139
|
-
if (!t || t.length >
|
|
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 =
|
|
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 =
|
|
2151
|
+
const i = to(s);
|
|
2150
2152
|
if (i.length === 0)
|
|
2151
2153
|
return n ? ht(s) : t;
|
|
2152
|
-
const a =
|
|
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 =
|
|
2156
|
+
const p = $n(h, r, u);
|
|
2155
2157
|
f.push(...p);
|
|
2156
2158
|
}
|
|
2157
2159
|
return f;
|
|
2158
2160
|
}
|
|
2159
|
-
function
|
|
2161
|
+
function $n(t, e, r) {
|
|
2160
2162
|
const n = [];
|
|
2161
2163
|
for (const o of t) {
|
|
2162
|
-
const s =
|
|
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
|
|
2182
|
-
const n =
|
|
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
|
|
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 =
|
|
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
|
|
2218
|
+
function zn(t, e) {
|
|
2217
2219
|
return e ? { ...Ce(t), whiteSpace: "nowrap" } : { whiteSpace: "nowrap" };
|
|
2218
2220
|
}
|
|
2219
|
-
function
|
|
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 } =
|
|
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 &&
|
|
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 =
|
|
2253
|
-
return e ? Array.from(e.segment(t), (r) => r.segment) :
|
|
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
|
|
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
|
|
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) ||
|
|
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
|
|
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
|
|
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
|
|
2288
|
-
return t ? (Ne || (Ne =
|
|
2289
|
+
function Xn(t) {
|
|
2290
|
+
return t ? (Ne || (Ne = Zn()), Ne(t)) : !1;
|
|
2289
2291
|
}
|
|
2290
|
-
function
|
|
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
|
|
2303
|
-
return t ? (Pe || (Pe =
|
|
2304
|
+
function Rt(t) {
|
|
2305
|
+
return t ? (Pe || (Pe = Qn()), Pe(t)) : !1;
|
|
2304
2306
|
}
|
|
2305
|
-
function
|
|
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
|
|
2312
|
+
return eo;
|
|
2311
2313
|
}
|
|
2312
2314
|
}
|
|
2313
|
-
function
|
|
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
|
|
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
|
|
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 } =
|
|
2374
|
+
const { nodes: r, sawEmoji: n } = kt(e);
|
|
2373
2375
|
return n ? r.length === 1 ? r[0] ?? t : r : t;
|
|
2374
2376
|
}
|
|
2375
|
-
function
|
|
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 (
|
|
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
|
|
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) => `.${
|
|
2409
|
-
(u) => new RegExp(`(^|[^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 =
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
2456
|
+
function so(t) {
|
|
2455
2457
|
return t.replace(/[.*+?^${}()|[\]\\]/g, (e) => `\\${e}`);
|
|
2456
2458
|
}
|
|
2457
|
-
const We = "ikon_auth_session",
|
|
2458
|
-
function
|
|
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 -
|
|
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
|
|
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 >
|
|
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
|
|
2501
|
-
async function
|
|
2502
|
-
const r =
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
2639
|
-
return
|
|
2640
|
+
function He() {
|
|
2641
|
+
return So.stubThis(globalThis?.PublicKeyCredential !== void 0 && typeof globalThis.PublicKeyCredential == "function");
|
|
2640
2642
|
}
|
|
2641
|
-
const
|
|
2643
|
+
const So = {
|
|
2642
2644
|
stubThis: (t) => t
|
|
2643
2645
|
};
|
|
2644
|
-
function
|
|
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
|
|
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
|
|
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 (
|
|
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
|
|
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
|
|
2785
|
-
function
|
|
2786
|
-
if (t && !(
|
|
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
|
|
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 (!
|
|
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(
|
|
2803
|
+
excludeCredentials: e.excludeCredentials?.map(_t)
|
|
2802
2804
|
}, o = {};
|
|
2803
|
-
r && (o.mediation = "conditional"), o.publicKey = n, o.signal =
|
|
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
|
|
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 =
|
|
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 =
|
|
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:
|
|
2841
|
+
rawId: q(a),
|
|
2840
2842
|
response: {
|
|
2841
|
-
attestationObject:
|
|
2842
|
-
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:
|
|
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
|
|
2858
|
-
if (!
|
|
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
|
|
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 (
|
|
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
|
|
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 (!
|
|
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(
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
2939
|
+
return h.userHandle && (y = q(h.userHandle)), {
|
|
2938
2940
|
id: u,
|
|
2939
|
-
rawId:
|
|
2941
|
+
rawId: q(f),
|
|
2940
2942
|
response: {
|
|
2941
|
-
authenticatorData:
|
|
2942
|
-
clientDataJSON:
|
|
2943
|
-
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:
|
|
2950
|
+
authenticatorAttachment: Pt(a.authenticatorAttachment)
|
|
2949
2951
|
};
|
|
2950
2952
|
}
|
|
2951
|
-
const
|
|
2952
|
-
function
|
|
2953
|
-
const [r, n] =
|
|
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
|
-
|
|
2961
|
+
N(() => {
|
|
2960
2962
|
(() => {
|
|
2961
|
-
const y =
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
3124
|
+
return /* @__PURE__ */ E.jsx(qe, { value: h, children: t });
|
|
3123
3125
|
}
|
|
3124
|
-
function
|
|
3125
|
-
const t = Ke(
|
|
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
|
|
3131
|
-
return Ke(
|
|
3132
|
+
function Io() {
|
|
3133
|
+
return Ke(qe);
|
|
3132
3134
|
}
|
|
3133
|
-
function
|
|
3134
|
-
const { config: e, guestUrlParam: r } = t, { state: n, login: o } =
|
|
3135
|
-
return
|
|
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
|
|
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
|
|
3198
|
+
function _o() {
|
|
3197
3199
|
if (typeof window < "u" && window.__IKON_AUTH_CONFIG__)
|
|
3198
3200
|
return window.__IKON_AUTH_CONFIG__;
|
|
3199
3201
|
}
|
|
3200
|
-
function
|
|
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
|
|
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 ?
|
|
3206
|
-
|
|
3207
|
-
const [j, B] =
|
|
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
|
|
3210
|
-
return (
|
|
3211
|
+
const T = zt();
|
|
3212
|
+
return (T.sessionId || T.channelKey) && Yt(), T;
|
|
3211
3213
|
} catch {
|
|
3212
3214
|
return { parameters: {} };
|
|
3213
3215
|
}
|
|
3214
|
-
}, []),
|
|
3215
|
-
!Z && Ge() && p && !p.enabled && p.spaceId && !X && !d.current && (d.current = !0,
|
|
3216
|
-
ye(
|
|
3217
|
-
}).catch((
|
|
3218
|
-
ve.error("Anonymous auth failed:",
|
|
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
|
|
3224
|
+
const T = z?.token ? Wt(z.token) ?? void 0 : void 0;
|
|
3223
3225
|
return {
|
|
3224
3226
|
local: {
|
|
3225
|
-
host:
|
|
3227
|
+
host: _,
|
|
3226
3228
|
httpsPort: W,
|
|
3227
|
-
userId:
|
|
3228
|
-
token:
|
|
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
|
|
3238
|
+
return z?.token && p?.spaceId ? {
|
|
3237
3239
|
sessionToken: {
|
|
3238
|
-
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:
|
|
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,
|
|
3265
|
-
|
|
3266
|
-
const
|
|
3267
|
-
|
|
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 =
|
|
3270
|
-
for (const
|
|
3271
|
-
|
|
3272
|
-
g.current.loadRegisteredModules().catch((
|
|
3273
|
-
ve.error("Failed to load UI modules",
|
|
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
|
-
}, []),
|
|
3278
|
+
}, []), N(() => {
|
|
3277
3279
|
if (!se) return;
|
|
3278
|
-
const
|
|
3280
|
+
const T = new Ht({
|
|
3279
3281
|
...se,
|
|
3280
|
-
timeouts:
|
|
3281
|
-
audio: L.current !== void 0 ||
|
|
3282
|
+
timeouts: C.current,
|
|
3283
|
+
audio: L.current !== void 0 || O.current ? {
|
|
3282
3284
|
enabled: L.current,
|
|
3283
|
-
...
|
|
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:
|
|
3288
|
-
websocket:
|
|
3289
|
-
webtransport:
|
|
3289
|
+
webRtc: P.current === !1 ? { enabled: !1 } : void 0,
|
|
3290
|
+
websocket: I.current,
|
|
3291
|
+
webtransport: M.current,
|
|
3290
3292
|
proxy: D.current,
|
|
3291
|
-
onConnectionStateChange: (
|
|
3292
|
-
B(
|
|
3293
|
+
onConnectionStateChange: (H) => {
|
|
3294
|
+
B(H);
|
|
3293
3295
|
},
|
|
3294
|
-
onError: (
|
|
3295
|
-
he(
|
|
3296
|
+
onError: (H) => {
|
|
3297
|
+
he(H.message);
|
|
3296
3298
|
}
|
|
3297
3299
|
});
|
|
3298
|
-
l.current =
|
|
3299
|
-
const Q = new
|
|
3300
|
-
return m.current = Q, ge(Q),
|
|
3301
|
-
if (ve.error("Connection failed:",
|
|
3302
|
-
me(
|
|
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
|
-
|
|
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
|
-
|
|
3309
|
+
T.disconnect(), l.current = null, Q.dispose(), m.current = null;
|
|
3308
3310
|
};
|
|
3309
3311
|
}, [se]);
|
|
3310
|
-
const
|
|
3311
|
-
const
|
|
3312
|
-
l.current?.sendActionCall(
|
|
3313
|
-
}, []),
|
|
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:
|
|
3318
|
+
error: K,
|
|
3317
3319
|
accessDeniedReason: ne,
|
|
3318
|
-
stores:
|
|
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:
|
|
3325
|
-
isReady:
|
|
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
|
|
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
|
|
3340
|
-
function
|
|
3341
|
-
const [r, n] =
|
|
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
|
|
3346
|
-
const i = o.current, a =
|
|
3347
|
+
return N(() => {
|
|
3348
|
+
const i = o.current, a = Jt(
|
|
3347
3349
|
(u) => {
|
|
3348
|
-
if (!
|
|
3350
|
+
if (!Xt())
|
|
3349
3351
|
return;
|
|
3350
|
-
const f = `toast-${++
|
|
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
|
|
3373
|
-
const [n, o] =
|
|
3374
|
-
return
|
|
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
|
-
|
|
3390
|
-
|
|
3391
|
+
function Zo(t, e, r) {
|
|
3392
|
+
const [n, o] = $(null);
|
|
3393
|
+
return N(() => {
|
|
3394
|
+
if (!t)
|
|
3395
|
+
return;
|
|
3396
|
+
let s = !0;
|
|
3397
|
+
return t.call("Ikon.Reactive.GetStableIdByName", [e]).then((i) => {
|
|
3398
|
+
s && o(i);
|
|
3399
|
+
}).catch((i) => {
|
|
3400
|
+
console.warn(`useReactive: GetStableIdByName('${e}') failed`, i);
|
|
3401
|
+
}), () => {
|
|
3402
|
+
s = !1;
|
|
3403
|
+
};
|
|
3404
|
+
}, [t, e]), Po(n ? t : null, n ?? "", r);
|
|
3405
|
+
}
|
|
3406
|
+
const Mt = gt(null);
|
|
3407
|
+
function Mo(t, e) {
|
|
3391
3408
|
return e ? t.replace(/\{(\w+)\}/g, (r, n) => e[n] ?? `{${n}}`) : t;
|
|
3392
3409
|
}
|
|
3393
|
-
function
|
|
3394
|
-
const r =
|
|
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
|
|
3401
|
-
return e ?
|
|
3417
|
+
function xo(t, e, r) {
|
|
3418
|
+
return e ? Lo(t, r) : r && t.includes(r) ? r : "en";
|
|
3402
3419
|
}
|
|
3403
|
-
function
|
|
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 =
|
|
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
|
|
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(
|
|
3437
|
+
return /* @__PURE__ */ E.jsx(Mt, { value: a, children: t });
|
|
3421
3438
|
}
|
|
3422
|
-
function
|
|
3423
|
-
const t = Ke(
|
|
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
|
-
|
|
3430
|
-
|
|
3431
|
-
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
|
|
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
|
-
|
|
3438
|
-
|
|
3439
|
-
|
|
3440
|
-
|
|
3441
|
-
|
|
3442
|
-
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
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
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
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
|
-
|
|
3491
|
+
uo as sendLoginCode,
|
|
3475
3492
|
ee as sessionToUser,
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
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
|
-
|
|
3488
|
-
|
|
3505
|
+
Fo as useUiStore,
|
|
3506
|
+
lo as verifyLoginCode
|
|
3489
3507
|
};
|