@openlv/modal 0.0.1-beta.4 → 0.0.1-beta.5

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/dist/index.js DELETED
@@ -1,1354 +0,0 @@
1
- var $e = Object.defineProperty;
2
- var et = (e, t, r) => t in e ? $e(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
- var F = (e, t, r) => et(e, typeof t != "symbol" ? t + "" : t, r);
4
- import { jsx as s, jsxs as d, Fragment as tt } from "preact/jsx-runtime";
5
- import { useEffect as L, useContext as ae, useState as y, useCallback as C, useRef as Se, useReducer as Ne, useMemo as Ae, useLayoutEffect as Z, useImperativeHandle as Oe, useId as je, useDebugValue as Re } from "preact/hooks";
6
- import { createContext as Pe, createElement as R, Fragment as z, Component as B, createRef as rt, toChildArray as j, cloneElement as nt, render as T, hydrate as ot, options as b, h as it } from "preact";
7
- import at from "qrcode-generator";
8
- function st(e) {
9
- return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
10
- }
11
- var Y = { exports: {} };
12
- /*!
13
- Copyright (c) 2018 Jed Watson.
14
- Licensed under the MIT License (MIT), see
15
- http://jedwatson.github.io/classnames
16
- */
17
- var fe;
18
- function lt() {
19
- return fe || (fe = 1, (function(e) {
20
- (function() {
21
- var t = {}.hasOwnProperty;
22
- function r() {
23
- for (var i = "", a = 0; a < arguments.length; a++) {
24
- var l = arguments[a];
25
- l && (i = o(i, n(l)));
26
- }
27
- return i;
28
- }
29
- function n(i) {
30
- if (typeof i == "string" || typeof i == "number")
31
- return i;
32
- if (typeof i != "object")
33
- return "";
34
- if (Array.isArray(i))
35
- return r.apply(null, i);
36
- if (i.toString !== Object.prototype.toString && !i.toString.toString().includes("[native code]"))
37
- return i.toString();
38
- var a = "";
39
- for (var l in i)
40
- t.call(i, l) && i[l] && (a = o(a, l));
41
- return a;
42
- }
43
- function o(i, a) {
44
- return a ? i ? i + " " + a : i + a : i;
45
- }
46
- e.exports ? (r.default = r, e.exports = r) : window.classNames = r;
47
- })();
48
- })(Y)), Y.exports;
49
- }
50
- var ct = lt();
51
- const Le = /* @__PURE__ */ st(ct), v = Symbol.for("@ts-pattern/matcher"), Ee = Symbol.for("@ts-pattern/isVariadic"), J = "@ts-pattern/anonymous-select-key", ee = (e) => !!(e && typeof e == "object"), W = (e) => e && !!e[v], h = (e, t, r) => {
52
- if (W(e)) {
53
- const n = e[v](), { matched: o, selections: i } = n.match(t);
54
- return o && i && Object.keys(i).forEach((a) => r(a, i[a])), o;
55
- }
56
- if (ee(e)) {
57
- if (!ee(t)) return !1;
58
- if (Array.isArray(e)) {
59
- if (!Array.isArray(t)) return !1;
60
- let n = [], o = [], i = [];
61
- for (const a of e.keys()) {
62
- const l = e[a];
63
- W(l) && l[Ee] ? i.push(l) : i.length ? o.push(l) : n.push(l);
64
- }
65
- if (i.length) {
66
- if (i.length > 1) throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");
67
- if (t.length < n.length + o.length) return !1;
68
- const a = t.slice(0, n.length), l = o.length === 0 ? [] : t.slice(-o.length), c = t.slice(n.length, o.length === 0 ? 1 / 0 : -o.length);
69
- return n.every((f, w) => h(f, a[w], r)) && o.every((f, w) => h(f, l[w], r)) && (i.length === 0 || h(i[0], c, r));
70
- }
71
- return e.length === t.length && e.every((a, l) => h(a, t[l], r));
72
- }
73
- return Reflect.ownKeys(e).every((n) => {
74
- const o = e[n];
75
- return (n in t || W(i = o) && i[v]().matcherType === "optional") && h(o, t[n], r);
76
- var i;
77
- });
78
- }
79
- return Object.is(t, e);
80
- }, m = (e) => {
81
- var t, r, n;
82
- return ee(e) ? W(e) ? (t = (r = (n = e[v]()).getSelectionKeys) == null ? void 0 : r.call(n)) != null ? t : [] : Array.isArray(e) ? M(e, m) : M(Object.values(e), m) : [];
83
- }, M = (e, t) => e.reduce((r, n) => r.concat(t(n)), []);
84
- function ut(...e) {
85
- if (e.length === 1) {
86
- const [t] = e;
87
- return (r) => h(t, r, () => {
88
- });
89
- }
90
- if (e.length === 2) {
91
- const [t, r] = e;
92
- return h(t, r, () => {
93
- });
94
- }
95
- throw new Error(`isMatching wasn't given the right number of arguments: expected 1 or 2, received ${e.length}.`);
96
- }
97
- function g(e) {
98
- return Object.assign(e, { optional: () => se(e), and: (t) => p(e, t), or: (t) => Fe(e, t), select: (t) => t === void 0 ? V(e) : V(t, e) });
99
- }
100
- function te(e) {
101
- return Object.assign(((t) => Object.assign(t, { [Symbol.iterator]() {
102
- let r = 0;
103
- const n = [{ value: Object.assign(t, { [Ee]: !0 }), done: !1 }, { done: !0, value: void 0 }];
104
- return { next: () => {
105
- var o;
106
- return (o = n[r++]) != null ? o : n.at(-1);
107
- } };
108
- } }))(e), { optional: () => te(se(e)), select: (t) => te(t === void 0 ? V(e) : V(t, e)) });
109
- }
110
- function se(e) {
111
- return g({ [v]: () => ({ match: (t) => {
112
- let r = {};
113
- const n = (o, i) => {
114
- r[o] = i;
115
- };
116
- return t === void 0 ? (m(e).forEach((o) => n(o, void 0)), { matched: !0, selections: r }) : { matched: h(e, t, n), selections: r };
117
- }, getSelectionKeys: () => m(e), matcherType: "optional" }) });
118
- }
119
- const dt = (e, t) => {
120
- for (const r of e) if (!t(r)) return !1;
121
- return !0;
122
- }, pt = (e, t) => {
123
- for (const [r, n] of e.entries()) if (!t(n, r)) return !1;
124
- return !0;
125
- }, ft = (e, t) => {
126
- const r = Reflect.ownKeys(e);
127
- for (const n of r) if (!t(n, e[n])) return !1;
128
- return !0;
129
- };
130
- function p(...e) {
131
- return g({ [v]: () => ({ match: (t) => {
132
- let r = {};
133
- const n = (o, i) => {
134
- r[o] = i;
135
- };
136
- return { matched: e.every((o) => h(o, t, n)), selections: r };
137
- }, getSelectionKeys: () => M(e, m), matcherType: "and" }) });
138
- }
139
- function Fe(...e) {
140
- return g({ [v]: () => ({ match: (t) => {
141
- let r = {};
142
- const n = (o, i) => {
143
- r[o] = i;
144
- };
145
- return M(e, m).forEach((o) => n(o, void 0)), { matched: e.some((o) => h(o, t, n)), selections: r };
146
- }, getSelectionKeys: () => M(e, m), matcherType: "or" }) });
147
- }
148
- function u(e) {
149
- return { [v]: () => ({ match: (t) => ({ matched: !!e(t) }) }) };
150
- }
151
- function V(...e) {
152
- const t = typeof e[0] == "string" ? e[0] : void 0, r = e.length === 2 ? e[1] : typeof e[0] == "string" ? void 0 : e[0];
153
- return g({ [v]: () => ({ match: (n) => {
154
- let o = { [t ?? J]: n };
155
- return { matched: r === void 0 || h(r, n, (i, a) => {
156
- o[i] = a;
157
- }), selections: o };
158
- }, getSelectionKeys: () => [t ?? J].concat(r === void 0 ? [] : m(r)) }) });
159
- }
160
- function Be(e) {
161
- return !0;
162
- }
163
- function x(e) {
164
- return typeof e == "number";
165
- }
166
- function S(e) {
167
- return typeof e == "string";
168
- }
169
- function N(e) {
170
- return typeof e == "bigint";
171
- }
172
- const Te = g(u(Be)), ht = g(u(Be)), gt = Te, A = (e) => Object.assign(g(e), { startsWith: (t) => {
173
- return A(p(e, (r = t, u((n) => S(n) && n.startsWith(r)))));
174
- var r;
175
- }, endsWith: (t) => {
176
- return A(p(e, (r = t, u((n) => S(n) && n.endsWith(r)))));
177
- var r;
178
- }, minLength: (t) => A(p(e, ((r) => u((n) => S(n) && n.length >= r))(t))), length: (t) => A(p(e, ((r) => u((n) => S(n) && n.length === r))(t))), maxLength: (t) => A(p(e, ((r) => u((n) => S(n) && n.length <= r))(t))), includes: (t) => {
179
- return A(p(e, (r = t, u((n) => S(n) && n.includes(r)))));
180
- var r;
181
- }, regex: (t) => {
182
- return A(p(e, (r = t, u((n) => S(n) && !!n.match(r)))));
183
- var r;
184
- } }), he = A(u(S)), k = (e) => Object.assign(g(e), { between: (t, r) => k(p(e, ((n, o) => u((i) => x(i) && n <= i && o >= i))(t, r))), lt: (t) => k(p(e, ((r) => u((n) => x(n) && n < r))(t))), gt: (t) => k(p(e, ((r) => u((n) => x(n) && n > r))(t))), lte: (t) => k(p(e, ((r) => u((n) => x(n) && n <= r))(t))), gte: (t) => k(p(e, ((r) => u((n) => x(n) && n >= r))(t))), int: () => k(p(e, u((t) => x(t) && Number.isInteger(t)))), finite: () => k(p(e, u((t) => x(t) && Number.isFinite(t)))), positive: () => k(p(e, u((t) => x(t) && t > 0))), negative: () => k(p(e, u((t) => x(t) && t < 0))) }), mt = k(u(x)), O = (e) => Object.assign(g(e), { between: (t, r) => O(p(e, ((n, o) => u((i) => N(i) && n <= i && o >= i))(t, r))), lt: (t) => O(p(e, ((r) => u((n) => N(n) && n < r))(t))), gt: (t) => O(p(e, ((r) => u((n) => N(n) && n > r))(t))), lte: (t) => O(p(e, ((r) => u((n) => N(n) && n <= r))(t))), gte: (t) => O(p(e, ((r) => u((n) => N(n) && n >= r))(t))), positive: () => O(p(e, u((t) => N(t) && t > 0))), negative: () => O(p(e, u((t) => N(t) && t < 0))) }), vt = O(u(N)), bt = g(u(function(e) {
185
- return typeof e == "boolean";
186
- })), wt = g(u(function(e) {
187
- return typeof e == "symbol";
188
- })), yt = g(u(function(e) {
189
- return e == null;
190
- })), xt = g(u(function(e) {
191
- return e != null;
192
- }));
193
- var le = { __proto__: null, matcher: v, optional: se, array: function(...e) {
194
- return te({ [v]: () => ({ match: (t) => {
195
- if (!Array.isArray(t)) return { matched: !1 };
196
- if (e.length === 0) return { matched: !0 };
197
- const r = e[0];
198
- let n = {};
199
- if (t.length === 0) return m(r).forEach((i) => {
200
- n[i] = [];
201
- }), { matched: !0, selections: n };
202
- const o = (i, a) => {
203
- n[i] = (n[i] || []).concat([a]);
204
- };
205
- return { matched: t.every((i) => h(r, i, o)), selections: n };
206
- }, getSelectionKeys: () => e.length === 0 ? [] : m(e[0]) }) });
207
- }, set: function(...e) {
208
- return g({ [v]: () => ({ match: (t) => {
209
- if (!(t instanceof Set)) return { matched: !1 };
210
- let r = {};
211
- if (t.size === 0) return { matched: !0, selections: r };
212
- if (e.length === 0) return { matched: !0 };
213
- const n = (i, a) => {
214
- r[i] = (r[i] || []).concat([a]);
215
- }, o = e[0];
216
- return { matched: dt(t, (i) => h(o, i, n)), selections: r };
217
- }, getSelectionKeys: () => e.length === 0 ? [] : m(e[0]) }) });
218
- }, map: function(...e) {
219
- return g({ [v]: () => ({ match: (t) => {
220
- if (!(t instanceof Map)) return { matched: !1 };
221
- let r = {};
222
- if (t.size === 0) return { matched: !0, selections: r };
223
- const n = (l, c) => {
224
- r[l] = (r[l] || []).concat([c]);
225
- };
226
- if (e.length === 0) return { matched: !0 };
227
- var o;
228
- if (e.length === 1) throw new Error(`\`P.map\` wasn't given enough arguments. Expected (key, value), received ${(o = e[0]) == null ? void 0 : o.toString()}`);
229
- const [i, a] = e;
230
- return { matched: pt(t, (l, c) => {
231
- const f = h(i, c, n), w = h(a, l, n);
232
- return f && w;
233
- }), selections: r };
234
- }, getSelectionKeys: () => e.length === 0 ? [] : [...m(e[0]), ...m(e[1])] }) });
235
- }, record: function(...e) {
236
- return g({ [v]: () => ({ match: (t) => {
237
- if (t === null || typeof t != "object" || Array.isArray(t)) return { matched: !1 };
238
- var r;
239
- if (e.length === 0) throw new Error(`\`P.record\` wasn't given enough arguments. Expected (value) or (key, value), received ${(r = e[0]) == null ? void 0 : r.toString()}`);
240
- let n = {};
241
- const o = (l, c) => {
242
- n[l] = (n[l] || []).concat([c]);
243
- }, [i, a] = e.length === 1 ? [he, e[0]] : e;
244
- return { matched: ft(t, (l, c) => {
245
- const f = typeof l != "string" || Number.isNaN(Number(l)) ? null : Number(l), w = f !== null && h(i, f, o), qe = h(i, l, o), Ye = h(a, c, o);
246
- return (qe || w) && Ye;
247
- }), selections: n };
248
- }, getSelectionKeys: () => e.length === 0 ? [] : [...m(e[0]), ...m(e[1])] }) });
249
- }, intersection: p, union: Fe, not: function(e) {
250
- return g({ [v]: () => ({ match: (t) => ({ matched: !h(e, t, () => {
251
- }) }), getSelectionKeys: () => [], matcherType: "not" }) });
252
- }, when: u, select: V, any: Te, unknown: ht, _: gt, string: he, number: mt, bigint: vt, boolean: bt, symbol: wt, nullish: yt, nonNullable: xt, instanceOf: function(e) {
253
- return g(u(/* @__PURE__ */ (function(t) {
254
- return (r) => r instanceof t;
255
- })(e)));
256
- }, shape: function(e) {
257
- return g(u(ut(e)));
258
- } };
259
- let kt = class extends Error {
260
- constructor(t) {
261
- let r;
262
- try {
263
- r = JSON.stringify(t);
264
- } catch {
265
- r = t;
266
- }
267
- super(`Pattern matching error: no pattern matches value ${r}`), this.input = void 0, this.input = t;
268
- }
269
- };
270
- const re = { matched: !1, value: void 0 };
271
- function _(e) {
272
- return new Ct(e, re);
273
- }
274
- let Ct = class ne {
275
- constructor(t, r) {
276
- this.input = void 0, this.state = void 0, this.input = t, this.state = r;
277
- }
278
- with(...t) {
279
- if (this.state.matched) return this;
280
- const r = t[t.length - 1], n = [t[0]];
281
- let o;
282
- t.length === 3 && typeof t[1] == "function" ? o = t[1] : t.length > 2 && n.push(...t.slice(1, t.length - 1));
283
- let i = !1, a = {};
284
- const l = (f, w) => {
285
- i = !0, a[f] = w;
286
- }, c = !n.some((f) => h(f, this.input, l)) || o && !o(this.input) ? re : { matched: !0, value: r(i ? J in a ? a[J] : a : this.input, this.input) };
287
- return new ne(this.input, c);
288
- }
289
- when(t, r) {
290
- if (this.state.matched) return this;
291
- const n = !!t(this.input);
292
- return new ne(this.input, n ? { matched: !0, value: r(this.input, this.input) } : re);
293
- }
294
- otherwise(t) {
295
- return this.state.matched ? this.state.value : t(this.input);
296
- }
297
- exhaustive(t = _t) {
298
- return this.state.matched ? this.state.value : t(this.input);
299
- }
300
- run() {
301
- return this.exhaustive();
302
- }
303
- returnType() {
304
- return this;
305
- }
306
- narrow() {
307
- return this;
308
- }
309
- };
310
- function _t(e) {
311
- throw new kt(e);
312
- }
313
- const St = async (e) => {
314
- if (!e) return !1;
315
- try {
316
- if (navigator?.clipboard?.writeText)
317
- return await navigator.clipboard.writeText(e), !0;
318
- } catch {
319
- }
320
- try {
321
- const t = document.createElement("textarea");
322
- t.value = e, t.style.position = "fixed", t.style.left = "-999999px", t.style.top = "-999999px", document.body.appendChild(t), t.focus(), t.select();
323
- const r = document.execCommand("copy");
324
- return document.body.removeChild(t), r;
325
- } catch {
326
- return !1;
327
- }
328
- }, H = (e, t, r) => {
329
- L(() => (e?.on(t, r), () => {
330
- e?.off(t, r);
331
- }), [e, t]);
332
- }, Ie = Pe({
333
- provider: void 0,
334
- storage: void 0
335
- }), Nt = ({
336
- provider: e,
337
- storage: t,
338
- onClose: r
339
- }) => /* @__PURE__ */ s(Ie.Provider, { value: { provider: e, storage: t }, children: /* @__PURE__ */ s(Tr, { onClose: r }) }), E = () => {
340
- const e = ae(Ie), { provider: t, storage: r } = e, [n, o] = y(
341
- t?.getState().status || "disconnected"
342
- );
343
- if (H(
344
- t?.emitter,
345
- "status_change",
346
- (i) => {
347
- o(i);
348
- }
349
- ), !e.provider) throw new Error("Provider not found");
350
- return { provider: t, status: n, storage: r };
351
- }, At = 1, Ot = (e) => {
352
- const t = new URLSearchParams();
353
- return t.set("h", e.h), t.set("k", e.k), e.p && t.set("p", e.p), e.s && t.set("s", e.s), `openlv://${e.sessionId}@${At}?${t.toString()}`;
354
- }, I = (...e) => console.log(
355
- "%c[modal]%c",
356
- "color: yellow; font-weight: bold",
357
- "color: inherit; font-weight: normal",
358
- ...e
359
- ), ce = () => {
360
- const { storage: e } = E(), [t, r] = y(
361
- e?.getSettings()
362
- );
363
- return H(e?.emitter, "settings_change", (o) => {
364
- r(o);
365
- }), { settings: t, updateSettings: (o) => {
366
- if (!t) return;
367
- const i = {
368
- ...t,
369
- ...o,
370
- session: {
371
- ...t?.session || {},
372
- ...o.session || {}
373
- }
374
- };
375
- r(i), e?.setSettings(i);
376
- } };
377
- }, G = () => {
378
- const { provider: e } = E(), [t, r] = y(
379
- e?.getSession()
380
- ), n = t?.getHandshakeParameters(), o = n ? Ot(n) : void 0, [i, a] = y(
381
- t?.getState()
382
- );
383
- return H(t?.emitter, "state_change", (l) => {
384
- I("session state change: ", l), a(l);
385
- }), H(e?.emitter, "session_started", (l) => {
386
- I("session started: ", l), r(l), a(l.getState());
387
- }), L(() => {
388
- t && a(t.getState());
389
- }, [t]), {
390
- uri: o,
391
- status: i
392
- };
393
- }, jt = () => {
394
- const { provider: e } = E(), { settings: t } = ce();
395
- return {
396
- start: () => {
397
- e?.createSession(t?.session);
398
- }
399
- };
400
- }, K = ({ state: e }) => {
401
- const { status: t, uri: r } = G(), { status: n } = E();
402
- return console.error("Unknown state: ", { state: e, sessionStatus: t, providerStatus: n }), /* @__PURE__ */ d("div", { className: "rounded-md bg-gray-100 p-2 text-gray-500", children: [
403
- /* @__PURE__ */ d("div", { children: [
404
- "Unknown state: ",
405
- JSON.stringify(e)
406
- ] }),
407
- /* @__PURE__ */ d("div", { children: [
408
- "URI: ",
409
- r
410
- ] }),
411
- /* @__PURE__ */ d("div", { children: [
412
- "Session Status: ",
413
- JSON.stringify(t)
414
- ] }),
415
- /* @__PURE__ */ d("div", { children: [
416
- "Provider Status: ",
417
- JSON.stringify(n)
418
- ] })
419
- ] });
420
- }, Rt = () => /* @__PURE__ */ s("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ s("div", { className: "h-8 w-8 animate-spin rounded-full border-4 border-blue-500 border-t-transparent" }) }), Pt = ({ onClose: e, onCopy: t }) => {
421
- const { uri: r, status: n = { status: "created" } } = G(), o = "", i = C(() => {
422
- r && t(r);
423
- }, [r, t]), a = C((l) => {
424
- const c = at(0, "M");
425
- return c.addData(l), c.make(), c.createSvgTag({ cellSize: 5, margin: 0, scalable: !0 });
426
- }, []);
427
- return _(n).with({ status: "disconnected" }, () => /* @__PURE__ */ s("div", { children: "hi" })).with(
428
- { status: le.union("created", "signaling", "connected", "ready") },
429
- (l) => _(l.signaling).with({ state: "connecting" }, () => /* @__PURE__ */ d("div", { className: "flex flex-col items-center gap-4 p-6", children: [
430
- /* @__PURE__ */ s(Rt, {}),
431
- /* @__PURE__ */ d("div", { className: "text-center", children: [
432
- /* @__PURE__ */ s("h3", { className: "mb-2 font-semibold text-gray-900 text-lg", children: "Connecting" }),
433
- /* @__PURE__ */ s("p", { className: "text-gray-500 text-sm", children: "Waiting for wallet to connect..." })
434
- ] })
435
- ] })).with({ state: "handshake-open" }, () => /* @__PURE__ */ d("div", { className: "flex flex-col items-center gap-4 px-2", children: [
436
- /* @__PURE__ */ d("div", { className: "w-full space-y-4 rounded-md border border-neutral-200 bg-neutral-100 p-4", children: [
437
- r && /* @__PURE__ */ s("div", { className: "relative mx-auto flex w-fit items-center justify-center rounded-lg border-2 border-gray-200 bg-gray-50 p-4", children: /* @__PURE__ */ s(
438
- "div",
439
- {
440
- className: "flex h-[200px] w-[200px] cursor-pointer items-center justify-center",
441
- onClick: i,
442
- title: "Click to copy connection URL",
443
- dangerouslySetInnerHTML: { __html: a(r) }
444
- }
445
- ) }),
446
- /* @__PURE__ */ s("div", { className: "w-full", children: /* @__PURE__ */ s(
447
- "button",
448
- {
449
- type: "button",
450
- onClick: i,
451
- className: "w-full cursor-pointer rounded-lg border border-gray-300 bg-gray-200 px-4 py-2 text-gray-700 text-sm transition hover:bg-gray-300",
452
- children: "Copy Connection URL"
453
- }
454
- ) })
455
- ] }),
456
- /* @__PURE__ */ d("div", { className: "w-full", children: [
457
- /* @__PURE__ */ s("span", { children: "Scan the link above using your mobile wallet." }),
458
- /* @__PURE__ */ s("br", {}),
459
- /* @__PURE__ */ s("span", { children: "Or copy the link and paste it into your wallet." })
460
- ] })
461
- ] })).with({ state: "handshake-closed" }, () => /* @__PURE__ */ s("div", { className: "flex flex-col items-center gap-4 p-6", children: /* @__PURE__ */ s("div", { className: "text-center", children: /* @__PURE__ */ s("h3", { className: "mb-2 font-semibold text-gray-900 text-lg", children: "Establishing e2e encryption..." }) }) })).with({ state: "xr-encrypted" }, () => /* @__PURE__ */ s("div", { className: "flex flex-col items-center gap-4 p-6", children: /* @__PURE__ */ d("div", { className: "text-center", children: [
462
- /* @__PURE__ */ s("div", { className: "mb-4 text-4xl", children: "✅" }),
463
- /* @__PURE__ */ s("h3", { className: "mb-2 font-semibold text-gray-900 text-lg", children: "Connected Successfully!" }),
464
- o,
465
- /* @__PURE__ */ s("p", { className: "text-gray-500 text-sm", children: "Your wallet is now connected and ready to use." })
466
- ] }) })).with({ state: "disconnected" }, () => /* @__PURE__ */ d("div", { className: "flex flex-col items-center gap-4 p-6", children: [
467
- /* @__PURE__ */ d("div", { className: "text-center", children: [
468
- /* @__PURE__ */ s("div", { className: "mb-4 text-4xl", children: "🔌" }),
469
- /* @__PURE__ */ s("h3", { className: "mb-2 font-semibold text-gray-900 text-lg", children: "Disconnected" }),
470
- /* @__PURE__ */ s("p", { className: "mb-4 text-gray-500 text-sm", children: "The connection has been closed." })
471
- ] }),
472
- /* @__PURE__ */ s(
473
- "button",
474
- {
475
- type: "button",
476
- onClick: e,
477
- className: "w-full rounded-lg bg-gray-100 px-4 py-2 font-semibold text-gray-700 text-sm transition hover:bg-gray-200",
478
- children: "Close"
479
- }
480
- )
481
- ] })).otherwise(() => /* @__PURE__ */ s(K, { state: n }))
482
- ).otherwise(() => /* @__PURE__ */ s(K, { state: n }));
483
- }, Lt = () => {
484
- const { start: e } = jt();
485
- return /* @__PURE__ */ d("div", { className: "flex flex-col items-center gap-4 p-6", children: [
486
- /* @__PURE__ */ d("div", { className: "text-center", children: [
487
- /* @__PURE__ */ s("h3", { className: "mb-2 font-semibold text-gray-900 text-lg", children: "Ready to Connect" }),
488
- /* @__PURE__ */ s("p", { className: "mb-4 text-gray-500 text-sm", children: "Click the button below to start the connection process." })
489
- ] }),
490
- /* @__PURE__ */ s(
491
- "button",
492
- {
493
- type: "button",
494
- onClick: e,
495
- className: "w-full cursor-pointer rounded-lg bg-blue-500 px-6 py-3 font-semibold text-sm text-white transition hover:bg-blue-600",
496
- children: "Start Connection"
497
- }
498
- )
499
- ] });
500
- }, Et = "data:image/webp;base64,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", Ft = () => {
501
- const { status: e } = G(), { status: t } = E(), r = _(t).with("disconnected", () => {
502
- }).with(
503
- le.union("connected", "connecting", "error"),
504
- () => _(e).with({ status: "disconnected" }, () => ({
505
- icon: "🫲",
506
- text: "Disconnected"
507
- })).with(
508
- { status: "signaling" },
509
- (n) => _(n.signaling).with({ state: "handshake-open" }, () => ({
510
- icon: "👋",
511
- text: "Handshake Open"
512
- })).with({ state: "handshake-closed" }, () => ({
513
- icon: "🤝",
514
- text: "Handshake Closed"
515
- })).otherwise(() => ({
516
- icon: "❓",
517
- text: "Unknown " + n.signaling?.state
518
- }))
519
- ).otherwise((n) => ({
520
- icon: "❓",
521
- text: "Unknown " + JSON.stringify(n)
522
- }))
523
- ).otherwise(() => ({
524
- icon: "❓",
525
- text: "Unknown provider status " + JSON.stringify(t)
526
- }));
527
- return r ? /* @__PURE__ */ d("div", { className: "group flex items-center gap-2 rounded-md px-2 py-2 hover:bg-neutral-200", children: [
528
- /* @__PURE__ */ s("div", { className: "text-gray-900 text-xs opacity-0 transition-opacity duration-300 group-hover:opacity-100", children: r.text }),
529
- /* @__PURE__ */ s("div", { children: r.icon })
530
- ] }) : /* @__PURE__ */ s(tt, {});
531
- }, Bt = () => /* @__PURE__ */ d("div", { className: "mt-2 flex items-end justify-between gap-2 px-1 text-gray-500", children: [
532
- /* @__PURE__ */ d(
533
- "a",
534
- {
535
- href: "https://github.com/v3xlabs/open-lavatory",
536
- target: "_blank",
537
- rel: "noreferrer",
538
- className: "flex items-center gap-2 p-1 font-semibold text-gray-500 text-sm",
539
- children: [
540
- /* @__PURE__ */ s(
541
- "img",
542
- {
543
- src: Et,
544
- alt: "Open Lavatory Logo",
545
- width: 20,
546
- height: 20,
547
- className: "rounded"
548
- }
549
- ),
550
- /* @__PURE__ */ s("span", { children: "openlv" })
551
- ]
552
- }
553
- ),
554
- /* @__PURE__ */ s("div", { className: "text-gray-500 text-sm", children: /* @__PURE__ */ s(Ft, {}) })
555
- ] }), Tt = ({ size: e = 24 }) => (
556
- // biome-ignore lint/a11y/noSvgWithoutTitle: Chevron left icon
557
- /* @__PURE__ */ s(
558
- "svg",
559
- {
560
- title: "Chevron left icon",
561
- width: e,
562
- height: e,
563
- viewBox: "0 0 24 24",
564
- fill: "none",
565
- xmlns: "http://www.w3.org/2000/svg",
566
- children: /* @__PURE__ */ s(
567
- "path",
568
- {
569
- d: "M15.5 19L8.5 12L15.5 5",
570
- stroke: "currentColor",
571
- strokeWidth: "2",
572
- strokeLinecap: "round",
573
- strokeLinejoin: "round"
574
- }
575
- )
576
- }
577
- )
578
- ), It = ({ size: e = 24 }) => (
579
- // biome-ignore lint/a11y/noSvgWithoutTitle: Cog icon
580
- /* @__PURE__ */ d(
581
- "svg",
582
- {
583
- title: "Cog icon",
584
- width: e,
585
- height: e,
586
- viewBox: "0 0 24 24",
587
- fill: "none",
588
- xmlns: "http://www.w3.org/2000/svg",
589
- children: [
590
- /* @__PURE__ */ s(
591
- "path",
592
- {
593
- d: "M12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15Z",
594
- stroke: "currentColor",
595
- strokeWidth: "2",
596
- strokeLinecap: "round",
597
- strokeLinejoin: "round"
598
- }
599
- ),
600
- /* @__PURE__ */ s(
601
- "path",
602
- {
603
- d: "M19.4 15C19.2669 15.3016 19.2272 15.6362 19.286 15.9606C19.3448 16.285 19.4995 16.5843 19.73 16.82L19.79 16.88C19.976 17.0657 20.1235 17.2863 20.2241 17.5291C20.3248 17.7719 20.3766 18.0322 20.3766 18.295C20.3766 18.5578 20.3248 18.8181 20.2241 19.0609C20.1235 19.3037 19.976 19.5243 19.79 19.71C19.6043 19.896 19.3837 20.0435 19.1409 20.1441C18.8981 20.2448 18.6378 20.2966 18.375 20.2966C18.1122 20.2966 17.8519 20.2448 17.6091 20.1441C17.3663 20.0435 17.1457 19.896 16.96 19.71L16.9 19.65C16.6643 19.4195 16.365 19.2648 16.0396 19.206C15.7142 19.1472 15.3796 19.1869 15.078 19.32C14.7841 19.4468 14.532 19.6572 14.3543 19.9255C14.1766 20.1938 14.0813 20.5082 14.08 20.83V21C14.08 21.5304 13.8693 22.0391 13.4893 22.4191C13.1092 22.7992 12.6005 23.01 12.07 23.01C11.5395 23.01 11.0308 22.7992 10.6507 22.4191C10.2707 22.0391 10.06 21.5304 10.06 21V20.91C10.0587 20.5882 9.96337 20.2738 9.78568 20.0055C9.60799 19.7372 9.35593 19.5268 9.062 19.4C8.76038 19.2669 8.42579 19.2272 8.10135 19.286C7.77691 19.3448 7.47663 19.4995 7.242 19.73L7.182 19.79C6.99628 19.976 6.77566 20.1235 6.53284 20.2241C6.29002 20.3248 6.02971 20.3766 5.76693 20.3766C5.50415 20.3766 5.24384 20.3248 5.00102 20.2241C4.7582 20.1235 4.53758 19.976 4.35186 19.79C4.16591 19.6043 4.0184 19.3837 3.91776 19.1409C3.81712 18.8981 3.7654 18.6378 3.7654 18.375C3.7654 18.1122 3.81712 17.8519 3.91776 17.6091C4.0184 17.3663 4.16591 17.1457 4.35186 16.96L4.41186 16.9C4.6424 16.6643 4.79708 16.365 4.85586 16.0396C4.91464 15.7142 4.87497 15.3796 4.74186 15.078C4.615 14.7841 4.40463 14.532 4.13633 14.3543C3.86803 14.1766 3.55362 14.0813 3.23186 14.08H3.16186C2.63142 14.08 2.12271 13.8693 1.74264 13.4893C1.36257 13.1092 1.15186 12.6005 1.15186 12.07C1.15186 11.5395 1.36257 11.0308 1.74264 10.6507C2.12271 10.2707 2.63142 10.06 3.16186 10.06H3.25186C3.57362 10.0587 3.88803 9.96337 4.15633 9.78568C4.42463 9.60799 4.635 9.35593 4.76186 9.062C4.895 8.76038 4.93464 8.42579 4.87586 8.10135C4.81708 7.77691 4.6624 7.47763 4.43186 7.242L4.37186 7.182C4.18591 6.99628 4.0384 6.77566 3.93776 6.53284C3.83712 6.29002 3.7854 6.02971 3.7854 5.76693C3.7854 5.50415 3.83712 5.24384 3.93776 5.00102C4.0384 4.7582 4.18591 4.53758 4.37186 4.35186C4.55758 4.16591 4.7782 4.0184 5.02102 3.91776C5.26384 3.81712 5.52415 3.7654 5.78693 3.7654C6.04971 3.7654 6.31002 3.81712 6.55284 3.91776C6.79566 4.0184 7.01628 4.16591 7.202 4.35186L7.262 4.41186C7.49763 4.6424 7.79691 4.79708 8.12135 4.85586C8.44579 4.91464 8.78038 4.87497 9.082 4.74186C9.37593 4.615 9.62799 4.40463 9.80568 4.13633C9.98337 3.86803 10.0787 3.55362 10.08 3.23186V3.16186C10.08 2.63142 10.2907 2.12271 10.6707 1.74264C11.0508 1.36257 11.5595 1.15186 12.09 1.15186C12.6205 1.15186 13.1292 1.36257 13.5093 1.74264C13.8893 2.12271 14.1 2.63142 14.1 3.16186V3.25186C14.1013 3.57362 14.1966 3.88803 14.3743 4.15633C14.552 4.42463 14.8041 4.635 15.098 4.76186C15.3996 4.895 15.7342 4.93464 16.0586 4.87586C16.3831 4.81708 16.6824 4.6624 16.918 4.43186L16.978 4.37186C17.1637 4.18591 17.3843 4.0384 17.6271 3.93776C17.8699 3.83712 18.1302 3.7854 18.393 3.7854C18.6558 3.7854 18.9161 3.83712 19.1589 3.93776C19.4017 4.0384 19.6223 4.18591 19.808 4.37186C19.994 4.55758 20.1415 4.7782 20.2421 5.02102C20.3428 5.26384 20.3945 5.52415 20.3945 5.78693C20.3945 6.04971 20.3428 6.31002 20.2421 6.55284C20.1415 6.79566 19.994 7.01628 19.808 7.202L19.748 7.262C19.5175 7.49763 19.3628 7.79691 19.304 8.12135C19.2452 8.44579 19.2849 8.78038 19.418 9.082C19.5449 9.37593 19.7552 9.62799 20.0235 9.80568C20.2918 9.98337 20.6062 10.0787 20.928 10.08H20.998C21.5284 10.08 22.0371 10.2907 22.4172 10.6707C22.7973 11.0508 23.008 11.5595 23.008 12.09C23.008 12.6205 22.7973 13.1292 22.4172 13.5093C22.0371 13.8893 21.5284 14.1 20.998 14.1H20.908C20.5862 14.1013 20.2718 14.1966 20.0035 14.3743C19.7352 14.552 19.5248 14.8041 19.398 15.098L19.4 15Z",
604
- stroke: "currentColor",
605
- strokeWidth: "2",
606
- strokeLinecap: "round",
607
- strokeLinejoin: "round"
608
- }
609
- )
610
- ]
611
- }
612
- )
613
- ), Dt = ({
614
- title: e,
615
- view: t,
616
- onToggleSettings: r,
617
- setView: n,
618
- onClose: o
619
- }) => {
620
- const { status: i, provider: a } = E(), l = C(async () => {
621
- I("closing session"), await a.closeSession();
622
- }, [a]), c = C(() => {
623
- I("status", i), _(i).with(
624
- "disconnected",
625
- () => _({ view: t }).with({ view: "settings" }, () => n("start")).with({ view: "start" }, o).otherwise(o)
626
- ).with("connecting", l).with("connected", o).otherwise(o);
627
- }, [i, t, n, o, l]);
628
- return /* @__PURE__ */ d("div", { className: "flex items-center justify-between px-2 py-2", children: [
629
- /* @__PURE__ */ s(
630
- "button",
631
- {
632
- type: "button",
633
- onClick: c,
634
- "aria-label": t === "settings" ? "Back to QR" : "Close modal",
635
- className: "flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg transition-colors hover:bg-gray-200",
636
- children: /* @__PURE__ */ s(Tt, {})
637
- }
638
- ),
639
- /* @__PURE__ */ s("h2", { className: "flex items-center justify-center gap-2 font-semibold text-gray-900 text-lg", children: e }),
640
- /* @__PURE__ */ s(
641
- "button",
642
- {
643
- type: "button",
644
- "aria-label": t === "settings" ? "Hide connection settings" : "Show connection settings",
645
- "aria-pressed": t === "settings",
646
- onClick: r,
647
- className: "flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg transition-colors hover:bg-gray-200",
648
- children: /* @__PURE__ */ s(It, {})
649
- }
650
- )
651
- ] });
652
- };
653
- function De(e, t) {
654
- for (var r in t) e[r] = t[r];
655
- return e;
656
- }
657
- function oe(e, t) {
658
- for (var r in e) if (r !== "__source" && !(r in t)) return !0;
659
- for (var n in t) if (n !== "__source" && e[n] !== t[n]) return !0;
660
- return !1;
661
- }
662
- function ze(e, t) {
663
- var r = t(), n = y({ t: { __: r, u: t } }), o = n[0].t, i = n[1];
664
- return Z(function() {
665
- o.__ = r, o.u = t, $(o) && i({ t: o });
666
- }, [e, r, t]), L(function() {
667
- return $(o) && i({ t: o }), e(function() {
668
- $(o) && i({ t: o });
669
- });
670
- }, [e]), r;
671
- }
672
- function $(e) {
673
- var t, r, n = e.u, o = e.__;
674
- try {
675
- var i = n();
676
- return !((t = o) === (r = i) && (t !== 0 || 1 / t == 1 / r) || t != t && r != r);
677
- } catch {
678
- return !0;
679
- }
680
- }
681
- function Me(e) {
682
- e();
683
- }
684
- function Ve(e) {
685
- return e;
686
- }
687
- function We() {
688
- return [!1, Me];
689
- }
690
- var Ue = Z;
691
- function ie(e, t) {
692
- this.props = e, this.context = t;
693
- }
694
- function zt(e, t) {
695
- function r(o) {
696
- var i = this.props.ref, a = i == o.ref;
697
- return !a && i && (i.call ? i(null) : i.current = null), t ? !t(this.props, o) || !a : oe(this.props, o);
698
- }
699
- function n(o) {
700
- return this.shouldComponentUpdate = r, R(e, o);
701
- }
702
- return n.displayName = "Memo(" + (e.displayName || e.name) + ")", n.prototype.isReactComponent = !0, n.__f = !0, n.type = e, n;
703
- }
704
- (ie.prototype = new B()).isPureReactComponent = !0, ie.prototype.shouldComponentUpdate = function(e, t) {
705
- return oe(this.props, e) || oe(this.state, t);
706
- };
707
- var ge = b.__b;
708
- b.__b = function(e) {
709
- e.type && e.type.__f && e.ref && (e.props.ref = e.ref, e.ref = null), ge && ge(e);
710
- };
711
- var Mt = typeof Symbol < "u" && Symbol.for && Symbol.for("react.forward_ref") || 3911;
712
- function Vt(e) {
713
- function t(r) {
714
- var n = De({}, r);
715
- return delete n.ref, e(n, r.ref || null);
716
- }
717
- return t.$$typeof = Mt, t.render = e, t.prototype.isReactComponent = t.__f = !0, t.displayName = "ForwardRef(" + (e.displayName || e.name) + ")", t;
718
- }
719
- var me = function(e, t) {
720
- return e == null ? null : j(j(e).map(t));
721
- }, Wt = { map: me, forEach: me, count: function(e) {
722
- return e ? j(e).length : 0;
723
- }, only: function(e) {
724
- var t = j(e);
725
- if (t.length !== 1) throw "Children.only";
726
- return t[0];
727
- }, toArray: j }, Ut = b.__e;
728
- b.__e = function(e, t, r, n) {
729
- if (e.then) {
730
- for (var o, i = t; i = i.__; ) if ((o = i.__c) && o.__c) return t.__e == null && (t.__e = r.__e, t.__k = r.__k), o.__c(e, t);
731
- }
732
- Ut(e, t, r, n);
733
- };
734
- var ve = b.unmount;
735
- function Je(e, t, r) {
736
- return e && (e.__c && e.__c.__H && (e.__c.__H.__.forEach(function(n) {
737
- typeof n.__c == "function" && n.__c();
738
- }), e.__c.__H = null), (e = De({}, e)).__c != null && (e.__c.__P === r && (e.__c.__P = t), e.__c.__e = !0, e.__c = null), e.__k = e.__k && e.__k.map(function(n) {
739
- return Je(n, t, r);
740
- })), e;
741
- }
742
- function He(e, t, r) {
743
- return e && r && (e.__v = null, e.__k = e.__k && e.__k.map(function(n) {
744
- return He(n, t, r);
745
- }), e.__c && e.__c.__P === t && (e.__e && r.appendChild(e.__e), e.__c.__e = !0, e.__c.__P = r)), e;
746
- }
747
- function U() {
748
- this.__u = 0, this.o = null, this.__b = null;
749
- }
750
- function Ke(e) {
751
- var t = e.__.__c;
752
- return t && t.__a && t.__a(e);
753
- }
754
- function Jt(e) {
755
- var t, r, n;
756
- function o(i) {
757
- if (t || (t = e()).then(function(a) {
758
- r = a.default || a;
759
- }, function(a) {
760
- n = a;
761
- }), n) throw n;
762
- if (!r) throw t;
763
- return R(r, i);
764
- }
765
- return o.displayName = "Lazy", o.__f = !0, o;
766
- }
767
- function D() {
768
- this.i = null, this.l = null;
769
- }
770
- b.unmount = function(e) {
771
- var t = e.__c;
772
- t && t.__R && t.__R(), t && 32 & e.__u && (e.type = null), ve && ve(e);
773
- }, (U.prototype = new B()).__c = function(e, t) {
774
- var r = t.__c, n = this;
775
- n.o == null && (n.o = []), n.o.push(r);
776
- var o = Ke(n.__v), i = !1, a = function() {
777
- i || (i = !0, r.__R = null, o ? o(l) : l());
778
- };
779
- r.__R = a;
780
- var l = function() {
781
- if (!--n.__u) {
782
- if (n.state.__a) {
783
- var c = n.state.__a;
784
- n.__v.__k[0] = He(c, c.__c.__P, c.__c.__O);
785
- }
786
- var f;
787
- for (n.setState({ __a: n.__b = null }); f = n.o.pop(); ) f.forceUpdate();
788
- }
789
- };
790
- n.__u++ || 32 & t.__u || n.setState({ __a: n.__b = n.__v.__k[0] }), e.then(a, a);
791
- }, U.prototype.componentWillUnmount = function() {
792
- this.o = [];
793
- }, U.prototype.render = function(e, t) {
794
- if (this.__b) {
795
- if (this.__v.__k) {
796
- var r = document.createElement("div"), n = this.__v.__k[0].__c;
797
- this.__v.__k[0] = Je(this.__b, r, n.__O = n.__P);
798
- }
799
- this.__b = null;
800
- }
801
- var o = t.__a && R(z, null, e.fallback);
802
- return o && (o.__u &= -33), [R(z, null, t.__a ? null : e.children), o];
803
- };
804
- var be = function(e, t, r) {
805
- if (++r[1] === r[0] && e.l.delete(t), e.props.revealOrder && (e.props.revealOrder[0] !== "t" || !e.l.size)) for (r = e.i; r; ) {
806
- for (; r.length > 3; ) r.pop()();
807
- if (r[1] < r[0]) break;
808
- e.i = r = r[2];
809
- }
810
- };
811
- function Ht(e) {
812
- return this.getChildContext = function() {
813
- return e.context;
814
- }, e.children;
815
- }
816
- function Kt(e) {
817
- var t = this, r = e.h;
818
- if (t.componentWillUnmount = function() {
819
- T(null, t.v), t.v = null, t.h = null;
820
- }, t.h && t.h !== r && t.componentWillUnmount(), !t.v) {
821
- for (var n = t.__v; n !== null && !n.__m && n.__ !== null; ) n = n.__;
822
- t.h = r, t.v = { nodeType: 1, parentNode: r, childNodes: [], __k: { __m: n.__m }, contains: function() {
823
- return !0;
824
- }, insertBefore: function(o, i) {
825
- this.childNodes.push(o), t.h.insertBefore(o, i);
826
- }, removeChild: function(o) {
827
- this.childNodes.splice(this.childNodes.indexOf(o) >>> 1, 1), t.h.removeChild(o);
828
- } };
829
- }
830
- T(R(Ht, { context: t.context }, e.__v), t.v);
831
- }
832
- function Xt(e, t) {
833
- var r = R(Kt, { __v: e, h: t });
834
- return r.containerInfo = t, r;
835
- }
836
- (D.prototype = new B()).__a = function(e) {
837
- var t = this, r = Ke(t.__v), n = t.l.get(e);
838
- return n[0]++, function(o) {
839
- var i = function() {
840
- t.props.revealOrder ? (n.push(o), be(t, e, n)) : o();
841
- };
842
- r ? r(i) : i();
843
- };
844
- }, D.prototype.render = function(e) {
845
- this.i = null, this.l = /* @__PURE__ */ new Map();
846
- var t = j(e.children);
847
- e.revealOrder && e.revealOrder[0] === "b" && t.reverse();
848
- for (var r = t.length; r--; ) this.l.set(t[r], this.i = [1, 0, this.i]);
849
- return e.children;
850
- }, D.prototype.componentDidUpdate = D.prototype.componentDidMount = function() {
851
- var e = this;
852
- this.l.forEach(function(t, r) {
853
- be(e, r, t);
854
- });
855
- };
856
- var Xe = typeof Symbol < "u" && Symbol.for && Symbol.for("react.element") || 60103, Qt = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, Zt = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, Gt = /[A-Z0-9]/g, qt = typeof document < "u", Yt = function(e) {
857
- return (typeof Symbol < "u" && typeof Symbol() == "symbol" ? /fil|che|rad/ : /fil|che|ra/).test(e);
858
- };
859
- function $t(e, t, r) {
860
- return t.__k == null && (t.textContent = ""), T(e, t), typeof r == "function" && r(), e ? e.__c : null;
861
- }
862
- function er(e, t, r) {
863
- return ot(e, t), typeof r == "function" && r(), e ? e.__c : null;
864
- }
865
- B.prototype.isReactComponent = {}, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function(e) {
866
- Object.defineProperty(B.prototype, e, { configurable: !0, get: function() {
867
- return this["UNSAFE_" + e];
868
- }, set: function(t) {
869
- Object.defineProperty(this, e, { configurable: !0, writable: !0, value: t });
870
- } });
871
- });
872
- var we = b.event;
873
- function tr() {
874
- }
875
- function rr() {
876
- return this.cancelBubble;
877
- }
878
- function nr() {
879
- return this.defaultPrevented;
880
- }
881
- b.event = function(e) {
882
- return we && (e = we(e)), e.persist = tr, e.isPropagationStopped = rr, e.isDefaultPrevented = nr, e.nativeEvent = e;
883
- };
884
- var ue, or = { enumerable: !1, configurable: !0, get: function() {
885
- return this.class;
886
- } }, ye = b.vnode;
887
- b.vnode = function(e) {
888
- typeof e.type == "string" && (function(t) {
889
- var r = t.props, n = t.type, o = {}, i = n.indexOf("-") === -1;
890
- for (var a in r) {
891
- var l = r[a];
892
- if (!(a === "value" && "defaultValue" in r && l == null || qt && a === "children" && n === "noscript" || a === "class" || a === "className")) {
893
- var c = a.toLowerCase();
894
- a === "defaultValue" && "value" in r && r.value == null ? a = "value" : a === "download" && l === !0 ? l = "" : c === "translate" && l === "no" ? l = !1 : c[0] === "o" && c[1] === "n" ? c === "ondoubleclick" ? a = "ondblclick" : c !== "onchange" || n !== "input" && n !== "textarea" || Yt(r.type) ? c === "onfocus" ? a = "onfocusin" : c === "onblur" ? a = "onfocusout" : Zt.test(a) && (a = c) : c = a = "oninput" : i && Qt.test(a) ? a = a.replace(Gt, "-$&").toLowerCase() : l === null && (l = void 0), c === "oninput" && o[a = c] && (a = "oninputCapture"), o[a] = l;
895
- }
896
- }
897
- n == "select" && o.multiple && Array.isArray(o.value) && (o.value = j(r.children).forEach(function(f) {
898
- f.props.selected = o.value.indexOf(f.props.value) != -1;
899
- })), n == "select" && o.defaultValue != null && (o.value = j(r.children).forEach(function(f) {
900
- f.props.selected = o.multiple ? o.defaultValue.indexOf(f.props.value) != -1 : o.defaultValue == f.props.value;
901
- })), r.class && !r.className ? (o.class = r.class, Object.defineProperty(o, "className", or)) : (r.className && !r.class || r.class && r.className) && (o.class = o.className = r.className), t.props = o;
902
- })(e), e.$$typeof = Xe, ye && ye(e);
903
- };
904
- var xe = b.__r;
905
- b.__r = function(e) {
906
- xe && xe(e), ue = e.__c;
907
- };
908
- var ke = b.diffed;
909
- b.diffed = function(e) {
910
- ke && ke(e);
911
- var t = e.props, r = e.__e;
912
- r != null && e.type === "textarea" && "value" in t && t.value !== r.value && (r.value = t.value == null ? "" : t.value), ue = null;
913
- };
914
- var ir = { ReactCurrentDispatcher: { current: { readContext: function(e) {
915
- return ue.__n[e.__c].props.value;
916
- }, useCallback: C, useContext: ae, useDebugValue: Re, useDeferredValue: Ve, useEffect: L, useId: je, useImperativeHandle: Oe, useInsertionEffect: Ue, useLayoutEffect: Z, useMemo: Ae, useReducer: Ne, useRef: Se, useState: y, useSyncExternalStore: ze, useTransition: We } } };
917
- function ar(e) {
918
- return R.bind(null, e);
919
- }
920
- function q(e) {
921
- return !!e && e.$$typeof === Xe;
922
- }
923
- function sr(e) {
924
- return q(e) && e.type === z;
925
- }
926
- function lr(e) {
927
- return !!e && !!e.displayName && (typeof e.displayName == "string" || e.displayName instanceof String) && e.displayName.startsWith("Memo(");
928
- }
929
- function cr(e) {
930
- return q(e) ? nt.apply(null, arguments) : e;
931
- }
932
- function ur(e) {
933
- return !!e.__k && (T(null, e), !0);
934
- }
935
- function dr(e) {
936
- return e && (e.base || e.nodeType === 1 && e) || null;
937
- }
938
- var pr = function(e, t) {
939
- return e(t);
940
- }, fr = function(e, t) {
941
- return e(t);
942
- }, hr = z, gr = q, P = { useState: y, useId: je, useReducer: Ne, useEffect: L, useLayoutEffect: Z, useInsertionEffect: Ue, useTransition: We, useDeferredValue: Ve, useSyncExternalStore: ze, startTransition: Me, useRef: Se, useImperativeHandle: Oe, useMemo: Ae, useCallback: C, useContext: ae, useDebugValue: Re, version: "18.3.1", Children: Wt, render: $t, hydrate: er, unmountComponentAtNode: ur, createPortal: Xt, createElement: R, createContext: Pe, createFactory: ar, cloneElement: cr, createRef: rt, Fragment: z, isValidElement: q, isElement: gr, isFragment: sr, isMemo: lr, findDOMNode: dr, Component: B, PureComponent: ie, memo: zt, forwardRef: Vt, flushSync: fr, unstable_batchedUpdates: pr, StrictMode: hr, Suspense: U, SuspenseList: D, lazy: Jt, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ir }, Qe = {
943
- color: void 0,
944
- size: void 0,
945
- className: void 0,
946
- style: void 0,
947
- attr: void 0
948
- }, Ce = P.createContext && /* @__PURE__ */ P.createContext(Qe), mr = ["attr", "size", "title"];
949
- function vr(e, t) {
950
- if (e == null) return {};
951
- var r = br(e, t), n, o;
952
- if (Object.getOwnPropertySymbols) {
953
- var i = Object.getOwnPropertySymbols(e);
954
- for (o = 0; o < i.length; o++)
955
- n = i[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
956
- }
957
- return r;
958
- }
959
- function br(e, t) {
960
- if (e == null) return {};
961
- var r = {};
962
- for (var n in e)
963
- if (Object.prototype.hasOwnProperty.call(e, n)) {
964
- if (t.indexOf(n) >= 0) continue;
965
- r[n] = e[n];
966
- }
967
- return r;
968
- }
969
- function X() {
970
- return X = Object.assign ? Object.assign.bind() : function(e) {
971
- for (var t = 1; t < arguments.length; t++) {
972
- var r = arguments[t];
973
- for (var n in r)
974
- Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]);
975
- }
976
- return e;
977
- }, X.apply(this, arguments);
978
- }
979
- function _e(e, t) {
980
- var r = Object.keys(e);
981
- if (Object.getOwnPropertySymbols) {
982
- var n = Object.getOwnPropertySymbols(e);
983
- t && (n = n.filter(function(o) {
984
- return Object.getOwnPropertyDescriptor(e, o).enumerable;
985
- })), r.push.apply(r, n);
986
- }
987
- return r;
988
- }
989
- function Q(e) {
990
- for (var t = 1; t < arguments.length; t++) {
991
- var r = arguments[t] != null ? arguments[t] : {};
992
- t % 2 ? _e(Object(r), !0).forEach(function(n) {
993
- wr(e, n, r[n]);
994
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : _e(Object(r)).forEach(function(n) {
995
- Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
996
- });
997
- }
998
- return e;
999
- }
1000
- function wr(e, t, r) {
1001
- return t = yr(t), t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e;
1002
- }
1003
- function yr(e) {
1004
- var t = xr(e, "string");
1005
- return typeof t == "symbol" ? t : t + "";
1006
- }
1007
- function xr(e, t) {
1008
- if (typeof e != "object" || !e) return e;
1009
- var r = e[Symbol.toPrimitive];
1010
- if (r !== void 0) {
1011
- var n = r.call(e, t);
1012
- if (typeof n != "object") return n;
1013
- throw new TypeError("@@toPrimitive must return a primitive value.");
1014
- }
1015
- return (t === "string" ? String : Number)(e);
1016
- }
1017
- function Ze(e) {
1018
- return e && e.map((t, r) => /* @__PURE__ */ P.createElement(t.tag, Q({
1019
- key: r
1020
- }, t.attr), Ze(t.child)));
1021
- }
1022
- function kr(e) {
1023
- return (t) => /* @__PURE__ */ P.createElement(Cr, X({
1024
- attr: Q({}, e.attr)
1025
- }, t), Ze(e.child));
1026
- }
1027
- function Cr(e) {
1028
- var t = (r) => {
1029
- var {
1030
- attr: n,
1031
- size: o,
1032
- title: i
1033
- } = e, a = vr(e, mr), l = o || r.size || "1em", c;
1034
- return r.className && (c = r.className), e.className && (c = (c ? c + " " : "") + e.className), /* @__PURE__ */ P.createElement("svg", X({
1035
- stroke: "currentColor",
1036
- fill: "currentColor",
1037
- strokeWidth: "0"
1038
- }, r.attr, n, a, {
1039
- className: c,
1040
- style: Q(Q({
1041
- color: e.color || r.color
1042
- }, r.style), e.style),
1043
- height: l,
1044
- width: l,
1045
- xmlns: "http://www.w3.org/2000/svg"
1046
- }), i && /* @__PURE__ */ P.createElement("title", null, i), e.children);
1047
- };
1048
- return Ce !== void 0 ? /* @__PURE__ */ P.createElement(Ce.Consumer, null, (r) => t(r)) : t(Qe);
1049
- }
1050
- function _r(e) {
1051
- return kr({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "circle", attr: { cx: "12", cy: "12", r: "10" }, child: [] }, { tag: "path", attr: { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }, child: [] }, { tag: "path", attr: { d: "M12 17h.01" }, child: [] }] })(e);
1052
- }
1053
- const de = ({
1054
- variant: e,
1055
- children: t
1056
- }) => /* @__PURE__ */ d("div", { className: "group relative", children: [
1057
- /* @__PURE__ */ s("div", { className: "cursor-pointer rounded-md p-1.5 transition-colors hover:bg-neutral-200", children: _(e).with("icon", () => /* @__PURE__ */ s(_r, {})).with("text", () => /* @__PURE__ */ s("div", { children: "Text" })).exhaustive() }),
1058
- /* @__PURE__ */ s("div", { className: "-translate-x-1/2 absolute top-full left-1/2 z-10 hidden rounded-md bg-neutral-100 p-2 shadow-sm group-hover:block", children: t })
1059
- ] }), pe = ({ options: e, value: t, onChange: r }) => /* @__PURE__ */ s("div", { className: "flex divide-x rounded-md border border-gray-300", children: e.map(([n, o]) => /* @__PURE__ */ s(
1060
- "button",
1061
- {
1062
- type: "button",
1063
- onClick: () => r(n),
1064
- "aria-pressed": n === t,
1065
- className: Le(
1066
- "px-4 py-2 font-semibold text-xs transition first:rounded-l-md last:rounded-r-md",
1067
- n === t ? "border-blue-500 bg-blue-50 text-blue-600" : "cursor-pointer border-gray-300 text-gray-600 hover:border-gray-400"
1068
- ),
1069
- children: o
1070
- },
1071
- n
1072
- )) }), Sr = ({ label: e, value: t, onChange: r }) => /* @__PURE__ */ s(
1073
- pe,
1074
- {
1075
- options: [
1076
- ["true", "Yes"],
1077
- ["false", "No"]
1078
- ],
1079
- value: t ? "true" : "false",
1080
- onChange: (n) => r(n === "true")
1081
- }
1082
- ), Nr = () => {
1083
- const { settings: e, updateSettings: t } = ce();
1084
- return /* @__PURE__ */ d("div", { children: [
1085
- /* @__PURE__ */ d("div", { className: "flex items-end justify-between p-2", children: [
1086
- /* @__PURE__ */ s("div", { children: "Connection preferences" }),
1087
- /* @__PURE__ */ s(de, { variant: "icon", children: "Something something very cool" })
1088
- ] }),
1089
- /* @__PURE__ */ s("div", { className: "flex flex-col gap-4 rounded-md bg-[#F4F5F6] p-2", children: [
1090
- [
1091
- "Retain session history",
1092
- "retainHistory",
1093
- e?.retainHistory ?? !1,
1094
- (r) => t({ retainHistory: r })
1095
- ],
1096
- [
1097
- "Auto reconnect",
1098
- "autoReconnect",
1099
- e?.autoReconnect ?? !1,
1100
- (r) => t({ autoReconnect: r })
1101
- ]
1102
- ].map(([r, n, o, i]) => /* @__PURE__ */ d("div", { className: "flex items-center justify-between", children: [
1103
- /* @__PURE__ */ s("div", { className: "font-semibold text-gray-900 text-sm", children: r }),
1104
- /* @__PURE__ */ s(Sr, { label: r, value: o, onChange: i })
1105
- ] }, n)) })
1106
- ] });
1107
- }, Ar = "h-11 w-full rounded-lg border border-gray-300 bg-white px-3 text-sm text-gray-700 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200", Or = ({
1108
- // eslint-disable-next-line no-restricted-syntax
1109
- id: e,
1110
- value: t,
1111
- placeholder: r,
1112
- ariaLabel: n,
1113
- readOnly: o = !0,
1114
- onChange: i
1115
- }) => /* @__PURE__ */ s(
1116
- "input",
1117
- {
1118
- id: e,
1119
- className: Ar,
1120
- value: t,
1121
- placeholder: r,
1122
- "aria-label": n,
1123
- readOnly: o,
1124
- onChange: (a) => {
1125
- a.target instanceof HTMLInputElement && i?.(a.target.value);
1126
- }
1127
- }
1128
- ), jr = ["MQTT", "NTFY", "GUN"], Rr = () => {
1129
- const { settings: e, updateSettings: t } = ce(), r = (o) => t({ session: { p: o } }), n = (o) => t({ session: { s: o } });
1130
- return /* @__PURE__ */ d("div", { children: [
1131
- /* @__PURE__ */ d("div", { className: "flex items-end justify-between p-2", children: [
1132
- /* @__PURE__ */ s("div", { children: "Signaling" }),
1133
- /* @__PURE__ */ s(de, { variant: "icon", children: "Something something very cool" })
1134
- ] }),
1135
- /* @__PURE__ */ d("div", { className: "flex flex-col gap-4 rounded-md bg-[#F4F5F6] p-2", children: [
1136
- /* @__PURE__ */ d("div", { className: "flex items-center justify-between", children: [
1137
- /* @__PURE__ */ s("div", { children: "Protocol" }),
1138
- /* @__PURE__ */ s(
1139
- pe,
1140
- {
1141
- options: jr.map((o) => [
1142
- o.toLowerCase(),
1143
- o
1144
- ]),
1145
- value: e?.session.p || "",
1146
- onChange: r
1147
- }
1148
- )
1149
- ] }),
1150
- /* @__PURE__ */ s(
1151
- Or,
1152
- {
1153
- id: "server",
1154
- value: e?.session.s || "",
1155
- onChange: (o) => n(o),
1156
- placeholder: "Server URL",
1157
- ariaLabel: "Server URL",
1158
- readOnly: !1
1159
- }
1160
- )
1161
- ] })
1162
- ] });
1163
- }, Pr = ["WebRTC"], Lr = () => {
1164
- const [e, t] = y("WebRTC");
1165
- return /* @__PURE__ */ d("div", { children: [
1166
- /* @__PURE__ */ d("div", { className: "flex items-end justify-between p-2", children: [
1167
- /* @__PURE__ */ s("div", { children: "Transport" }),
1168
- /* @__PURE__ */ s(de, { variant: "icon", children: "Something something very cool" })
1169
- ] }),
1170
- /* @__PURE__ */ s("div", { className: "flex flex-col gap-4 rounded-md bg-[#F4F5F6] p-2", children: /* @__PURE__ */ d("div", { className: "flex items-center justify-between", children: [
1171
- /* @__PURE__ */ s("div", { children: "Protocol" }),
1172
- /* @__PURE__ */ s(
1173
- pe,
1174
- {
1175
- options: Pr.map((r) => [r, r]),
1176
- value: e,
1177
- onChange: (r) => t(r)
1178
- }
1179
- )
1180
- ] }) })
1181
- ] });
1182
- }, Er = ({ onBack: e }) => /* @__PURE__ */ s("div", { className: "text-left", children: /* @__PURE__ */ d("div", { className: "flex flex-col gap-2 px-2", children: [
1183
- /* @__PURE__ */ s(Rr, {}),
1184
- /* @__PURE__ */ s(Lr, {}),
1185
- /* @__PURE__ */ s(Nr, {})
1186
- ] }) }), Fr = () => {
1187
- const [e, t] = y("start"), [r, n] = y(!1);
1188
- return L(() => {
1189
- if (!r) return;
1190
- const o = window.setTimeout(() => n(!1), 2e3);
1191
- return () => window.clearTimeout(o);
1192
- }, [r]), {
1193
- view: e,
1194
- setView: t,
1195
- copied: r,
1196
- setCopied: n
1197
- };
1198
- }, Br = (e) => {
1199
- L(() => {
1200
- const t = (r) => {
1201
- r.key === "Escape" && e();
1202
- };
1203
- return document.addEventListener("keydown", t), () => document.removeEventListener("keydown", t);
1204
- }, [e]);
1205
- }, Tr = ({ onClose: e = () => {
1206
- }, onCopy: t }) => {
1207
- const { view: r, setView: n, copied: o, setCopied: i } = Fr(), { uri: a } = G(), { status: l } = E(), c = "Connect Wallet";
1208
- Br(e);
1209
- const f = C(async () => {
1210
- a && await St(a) && i(!0);
1211
- }, [a, i]);
1212
- return I("view", r), /* @__PURE__ */ s(
1213
- "div",
1214
- {
1215
- className: "fixed inset-0 z-[10000] flex animate-[bg-in_0.15s_ease-in-out] items-center justify-center bg-black/30 p-4 font-sans text-slate-800 backdrop-blur-sm",
1216
- onClick: e,
1217
- role: "presentation",
1218
- "data-openlv-modal-root": !0,
1219
- children: /* @__PURE__ */ d(
1220
- "div",
1221
- {
1222
- className: "relative w-full max-w-[400px] animate-[fade-in_0.15s_ease-in-out] space-y-2 rounded-2xl bg-white p-2 text-center",
1223
- role: "dialog",
1224
- "aria-modal": "true",
1225
- "aria-label": c,
1226
- onClick: (w) => w.stopPropagation(),
1227
- children: [
1228
- /* @__PURE__ */ s(
1229
- Dt,
1230
- {
1231
- setView: n,
1232
- onToggleSettings: () => n(r === "settings" ? "start" : "settings"),
1233
- title: c,
1234
- view: r,
1235
- onClose: e
1236
- }
1237
- ),
1238
- _(l).with(
1239
- "disconnected",
1240
- () => _(r).with("start", () => /* @__PURE__ */ s(Lt, {})).with("settings", () => /* @__PURE__ */ s(Er, { onBack: () => n("start") })).otherwise(() => /* @__PURE__ */ s(K, { state: r }))
1241
- ).with(le.union("connecting", "connected"), () => /* @__PURE__ */ s(Pt, { onClose: e, onCopy: t || f })).otherwise(() => /* @__PURE__ */ s(K, { state: "unknown status" })),
1242
- /* @__PURE__ */ s(
1243
- "div",
1244
- {
1245
- className: Le(
1246
- "absolute top-5 right-5 rounded-lg bg-blue-500 px-4 py-3 font-medium text-sm text-white transition-all",
1247
- o ? "translate-x-0 opacity-100" : "translate-x-full opacity-0"
1248
- ),
1249
- children: "📋 Connection URL copied to clipboard!"
1250
- }
1251
- ),
1252
- /* @__PURE__ */ s(Bt, {})
1253
- ]
1254
- }
1255
- )
1256
- }
1257
- );
1258
- }, Kr = (e = "idle") => {
1259
- const [t, r] = y({
1260
- state: e
1261
- }), n = C(
1262
- (a, l) => {
1263
- r((c) => ({
1264
- ...c,
1265
- state: a,
1266
- ...l
1267
- }));
1268
- },
1269
- []
1270
- ), o = C((a) => {
1271
- r(a);
1272
- }, []), i = C(() => {
1273
- r({ state: "idle" });
1274
- }, []);
1275
- return {
1276
- connectionInfo: t,
1277
- updateState: n,
1278
- updateConnectionInfo: o,
1279
- reset: i
1280
- };
1281
- }, Ir = '/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wide:.025em;--radius-md:.375rem;--radius-lg:.5rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-5{top:calc(var(--spacing)*5)}.top-full{top:100%}.right-5{right:calc(var(--spacing)*5)}.left-1\\/2{left:50%}.z-10{z-index:10}.z-\\[10000\\]{z-index:10000}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-8{height:calc(var(--spacing)*8)}.h-11{height:calc(var(--spacing)*11)}.h-\\[200px\\]{height:200px}.w-8{width:calc(var(--spacing)*8)}.w-\\[200px\\]{width:200px}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\\[400px\\]{max-width:400px}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.animate-\\[bg-in_0\\.15s_ease-in-out\\]{animation:.15s ease-in-out bg-in}.animate-\\[fade-in_0\\.15s_ease-in-out\\]{animation:.15s ease-in-out fade-in}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-blue-500{border-color:var(--color-blue-500)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-neutral-200{border-color:var(--color-neutral-200)}.border-t-transparent{border-top-color:#0000}.bg-\\[\\#F4F5F6\\]{background-color:#f4f5f6}.bg-black\\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-white{background-color:var(--color-white)}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.text-center{text-align:center}.text-left{text-align:left}.font-sans{font-family:var(--font-sans)}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-blue-600{color:var(--color-blue-600)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media (hover:hover){.group-hover\\:block:is(:where(.group):hover *){display:block}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.first\\:rounded-l-md:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.last\\:rounded-r-md:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}@media (hover:hover){.hover\\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\\:bg-neutral-200:hover{background-color:var(--color-neutral-200)}}.focus\\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-blue-200:focus{--tw-ring-color:var(--color-blue-200)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}}@keyframes fade-in{0%{transform:translateY(-2px)scale(.95)}to{transform:translateY(0)scale(1)}}@keyframes bg-in{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}', Dr = async (e) => {
1282
- if (e) {
1283
- if (e.querySelector("style[data-openlv-modal]"))
1284
- return;
1285
- const r = document.createElement("style");
1286
- r.setAttribute("data-openlv-modal", "true"), r.textContent = Ir, e.appendChild(r);
1287
- }
1288
- };
1289
- class Ge extends HTMLElement {
1290
- constructor(r, n) {
1291
- super();
1292
- F(this, "onClose");
1293
- F(this, "provider");
1294
- F(this, "storage");
1295
- F(this, "shadow");
1296
- F(this, "renderRequested", !1);
1297
- this.provider = r, this.storage = n, this.shadow = this.attachShadow({ mode: "open" }), Dr(this.shadow);
1298
- }
1299
- connectedCallback() {
1300
- this.requestRender();
1301
- }
1302
- disconnectedCallback() {
1303
- T(null, this.shadow);
1304
- }
1305
- showModal() {
1306
- this.style.display = "block";
1307
- }
1308
- hideModal() {
1309
- this.style.display = "none";
1310
- }
1311
- requestRender() {
1312
- this.renderRequested || (this.renderRequested = !0, queueMicrotask(() => {
1313
- this.renderRequested = !1, this.performRender();
1314
- }));
1315
- }
1316
- performRender() {
1317
- const r = {
1318
- onClose: this.onClose ?? (() => this.remove()),
1319
- provider: this.provider,
1320
- storage: this.storage
1321
- };
1322
- T(it(Nt, r), this.shadow);
1323
- }
1324
- }
1325
- const zr = (e = "openlv-modal") => {
1326
- if (typeof window > "u")
1327
- return e;
1328
- const t = window.customElements;
1329
- return t ? (t.get(e) || t.define(
1330
- e,
1331
- Ge
1332
- ), e) : (console.warn(
1333
- "OpenLV modal: custom elements are not supported in this environment."
1334
- ), e);
1335
- }, Xr = (e, t) => {
1336
- const r = document.querySelector("openlv-modal");
1337
- if (r && r.remove(), !r) {
1338
- zr();
1339
- const n = new Ge(e, t);
1340
- document.body.appendChild(n), n.showModal(), n.onClose = () => {
1341
- I("modal closed"), n.remove();
1342
- };
1343
- }
1344
- };
1345
- export {
1346
- Tr as ModalRoot,
1347
- Et as OPENLV_ICON_128,
1348
- Ge as OpenLVModalElement,
1349
- Ge as default,
1350
- zr as registerOpenLVModal,
1351
- Xr as triggerOpenModal,
1352
- Kr as useConnectionState
1353
- };
1354
- //# sourceMappingURL=index.js.map