@lumiapassport/ui-kit 1.13.9 → 1.13.11
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/README.md +15 -4
- package/dist/iframe/index.html +1 -1
- package/dist/iframe/main.js +286 -29
- package/dist/iframe/main.js.map +1 -1
- package/dist/index.cjs +367 -574
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +439 -647
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -2455,6 +2455,7 @@ var init_iframe_manager = __esm({
|
|
|
2455
2455
|
this.iframe = null;
|
|
2456
2456
|
this.sessionToken = null;
|
|
2457
2457
|
this.isReady = false;
|
|
2458
|
+
// private themeColors?: IframeManagerConfig['themeColors']
|
|
2458
2459
|
// Message handling
|
|
2459
2460
|
this.pendingRequests = /* @__PURE__ */ new Map();
|
|
2460
2461
|
this.usedNonces = /* @__PURE__ */ new Set();
|
|
@@ -2474,14 +2475,13 @@ var init_iframe_manager = __esm({
|
|
|
2474
2475
|
this.projectId = config.projectId;
|
|
2475
2476
|
this.debug = config.debug || false;
|
|
2476
2477
|
this.onWalletReadyCallback = config.onWalletReady;
|
|
2477
|
-
this.themeColors = config.themeColors;
|
|
2478
2478
|
this.readyPromise = new Promise((resolve) => {
|
|
2479
2479
|
this.readyResolve = resolve;
|
|
2480
2480
|
});
|
|
2481
2481
|
this.log("[IframeManager] Initialized with:", {
|
|
2482
2482
|
iframeUrl: this.iframeUrl,
|
|
2483
|
-
projectId: this.projectId
|
|
2484
|
-
hasThemeColors: !!this.themeColors
|
|
2483
|
+
projectId: this.projectId
|
|
2484
|
+
// hasThemeColors: !!this.themeColors
|
|
2485
2485
|
});
|
|
2486
2486
|
}
|
|
2487
2487
|
/**
|
|
@@ -2493,16 +2493,6 @@ var init_iframe_manager = __esm({
|
|
|
2493
2493
|
}
|
|
2494
2494
|
this.iframe = document.createElement("iframe");
|
|
2495
2495
|
let iframeUrl = this.iframeUrl;
|
|
2496
|
-
if (this.themeColors) {
|
|
2497
|
-
const params = new URLSearchParams();
|
|
2498
|
-
if (this.themeColors.background) params.set("bg", this.themeColors.background);
|
|
2499
|
-
if (this.themeColors.text) params.set("text", this.themeColors.text);
|
|
2500
|
-
if (this.themeColors.textSecondary) params.set("textSec", this.themeColors.textSecondary);
|
|
2501
|
-
if (this.themeColors.border) params.set("border", this.themeColors.border);
|
|
2502
|
-
if (params.toString()) {
|
|
2503
|
-
iframeUrl += (iframeUrl.includes("?") ? "&" : "?") + params.toString();
|
|
2504
|
-
}
|
|
2505
|
-
}
|
|
2506
2496
|
this.iframe.src = iframeUrl;
|
|
2507
2497
|
this.iframe.id = "lumia-passport-iframe";
|
|
2508
2498
|
this.iframe.style.display = "none";
|
|
@@ -4281,6 +4271,7 @@ __export(index_exports, {
|
|
|
4281
4271
|
useLumiaPassportError: () => useLumiaPassportError,
|
|
4282
4272
|
useLumiaPassportHasServerVault: () => useLumiaPassportHasServerVault,
|
|
4283
4273
|
useLumiaPassportIFrameReady: () => useLumiaPassportIFrameReady,
|
|
4274
|
+
useLumiaPassportIsMobileView: () => useLumiaPassportIsMobileView,
|
|
4284
4275
|
useLumiaPassportLinkedProfiles: () => useLumiaPassportLinkedProfiles,
|
|
4285
4276
|
useLumiaPassportLoadingStatus: () => useLumiaPassportLoadingStatus,
|
|
4286
4277
|
useLumiaPassportOpen: () => useLumiaPassportOpen,
|
|
@@ -4297,11 +4288,11 @@ __export(index_exports, {
|
|
|
4297
4288
|
module.exports = __toCommonJS(index_exports);
|
|
4298
4289
|
|
|
4299
4290
|
// src/styles/built.css
|
|
4300
|
-
var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .mb-\\[var\\(--l-pass-gap\\)\\]{margin-bottom:var(--l-pass-gap)}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[32px\\]{height:32px}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[var\\(--l-pass-maw\\)\\]{max-width:var(--l-pass-maw)}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-error)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-error)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-800\\/80{border-color:rgba(153,27,27,.8)}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-success\\)\\]{background-color:var(--l-pass-success)}.lumia-scope .bg-\\[var\\(--l-pass-warning\\)\\]{background-color:var(--l-pass-warning)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-primary\\)\\]{color:var(--l-pass-primary)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-600\\/90{color:rgba(220,38,38,.9)}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{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)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{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)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,320px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}[data-rk]{z-index:99999!important}[data-rk-modal-overlay]{z-index:99998!important}.lumia-scope .file\\:mr-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{margin-right:var(--l-pass-pd)}.lumia-scope .file\\:h-8::file-selector-button{height:2rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
|
|
4291
|
+
var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .mb-\\[var\\(--l-pass-gap\\)\\]{margin-bottom:var(--l-pass-gap)}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[32px\\]{height:32px}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[var\\(--l-pass-maw\\)\\]{max-width:var(--l-pass-maw)}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-error)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-error)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-800\\/80{border-color:rgba(153,27,27,.8)}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-success\\)\\]{background-color:var(--l-pass-success)}.lumia-scope .bg-\\[var\\(--l-pass-warning\\)\\]{background-color:var(--l-pass-warning)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-primary\\)\\]{color:var(--l-pass-primary)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-600\\/90{color:rgba(220,38,38,.9)}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{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)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{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)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,320px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope .file\\:mr-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{margin-right:var(--l-pass-pd)}.lumia-scope .file\\:h-8::file-selector-button{height:2rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
|
|
4301
4292
|
|
|
4302
4293
|
// src/context/LumiaPassportContext.tsx
|
|
4303
4294
|
var import_error_tracking4 = require("@lumiapassport/core/internal/error-tracking");
|
|
4304
|
-
var
|
|
4295
|
+
var import_lodash_es4 = require("lodash-es");
|
|
4305
4296
|
var import_react49 = require("react");
|
|
4306
4297
|
init_lumiaPassport();
|
|
4307
4298
|
init_iframe_manager();
|
|
@@ -4311,8 +4302,8 @@ var import_react48 = require("react");
|
|
|
4311
4302
|
var import_zustand5 = require("zustand");
|
|
4312
4303
|
|
|
4313
4304
|
// src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
|
|
4314
|
-
var
|
|
4315
|
-
var
|
|
4305
|
+
var import_react_query = require("@tanstack/react-query");
|
|
4306
|
+
var import_react = require("react");
|
|
4316
4307
|
var import_wagmi = require("wagmi");
|
|
4317
4308
|
init_base();
|
|
4318
4309
|
|
|
@@ -4322,19 +4313,13 @@ var import_zustand = require("zustand");
|
|
|
4322
4313
|
// src/internal/constants.ts
|
|
4323
4314
|
var import_lucide_react2 = require("lucide-react");
|
|
4324
4315
|
init_assets();
|
|
4316
|
+
var LOCAL_COLOR_MODE_KEY = "lumia-passport-theme";
|
|
4325
4317
|
var DEFAULT_AUTH_MENU_HEIGHT = 253;
|
|
4326
4318
|
var DEFAULT_MAIN_MENU_HEIGHT = 90;
|
|
4327
4319
|
var DEFAULT_SETTINGS_MENU_HEIGHT = 346;
|
|
4328
|
-
var
|
|
4329
|
-
mobileSM: 384,
|
|
4330
|
-
mobileXL: 384,
|
|
4331
|
-
tablet: 512,
|
|
4332
|
-
laptop: 640,
|
|
4333
|
-
desktop: 768
|
|
4334
|
-
};
|
|
4320
|
+
var MAX_CONTENT_HEIGHT = 640;
|
|
4335
4321
|
var MAIN_DIALOG_ANIMATION_SPEED = 375;
|
|
4336
4322
|
var Y_ANIMATION_SETUP = { duration: 0.15, ease: "easeInOut", height: { duration: 0.375 } };
|
|
4337
|
-
var LOCAL_COLOR_MODE_KEY = "lumia-passport-theme";
|
|
4338
4323
|
var PROVIDERS_META2 = {
|
|
4339
4324
|
passkey: { name: "Passkey", icon: import_lucide_react2.Key, description: "Biometric authentication" },
|
|
4340
4325
|
email: { name: "Email", icon: import_lucide_react2.Mail, description: "Email verification" },
|
|
@@ -4394,166 +4379,20 @@ var useLayoutDataStore = (0, import_zustand.create)((set) => ({
|
|
|
4394
4379
|
})
|
|
4395
4380
|
}));
|
|
4396
4381
|
|
|
4397
|
-
// src/internal/hooks/useLumiaPriceSSE.ts
|
|
4398
|
-
var import_react_query = require("@tanstack/react-query");
|
|
4399
|
-
var import_react = require("react");
|
|
4400
|
-
|
|
4401
|
-
// src/internal/lib/LumiaPriceSSEService.ts
|
|
4402
|
-
var FALLBACK = "https://fallback.lumia.passport.io";
|
|
4403
|
-
var API_DOMAIN = (true ? "" : FALLBACK) || FALLBACK;
|
|
4404
|
-
var LumiaPriceSSEService = class {
|
|
4405
|
-
// private readonly baseUrl: string = API_DOMAIN
|
|
4406
|
-
constructor() {
|
|
4407
|
-
this.eventSource = null;
|
|
4408
|
-
this.listeners = /* @__PURE__ */ new Set();
|
|
4409
|
-
this.currentPrice = null;
|
|
4410
|
-
this.isConnected = false;
|
|
4411
|
-
this.reconnectTimeout = null;
|
|
4412
|
-
}
|
|
4413
|
-
connect() {
|
|
4414
|
-
return new Promise((resolve, reject) => {
|
|
4415
|
-
console.log("[LumiaPriceSSEService]: Connecting to LUMIA Price SSE...");
|
|
4416
|
-
if (this.isConnected) {
|
|
4417
|
-
resolve();
|
|
4418
|
-
return;
|
|
4419
|
-
}
|
|
4420
|
-
try {
|
|
4421
|
-
this.eventSource = new EventSource(`${API_DOMAIN}/api/lumia/sse`);
|
|
4422
|
-
this.eventSource.onopen = () => {
|
|
4423
|
-
console.log("[LumiaPriceSSEService]: LUMIA Price SSE connected");
|
|
4424
|
-
this.isConnected = true;
|
|
4425
|
-
this.clearReconnectTimeout();
|
|
4426
|
-
resolve();
|
|
4427
|
-
};
|
|
4428
|
-
this.eventSource.onmessage = () => {
|
|
4429
|
-
};
|
|
4430
|
-
this.eventSource.addEventListener("rate", (event) => {
|
|
4431
|
-
try {
|
|
4432
|
-
const data = JSON.parse(event.data);
|
|
4433
|
-
if (data.price !== void 0 && data.symbol === "LUMIAUSDT") {
|
|
4434
|
-
this.currentPrice = typeof data.price === "number" ? data.price : parseFloat(data.price);
|
|
4435
|
-
if (this.currentPrice !== null) {
|
|
4436
|
-
const update = {
|
|
4437
|
-
symbol: data.symbol,
|
|
4438
|
-
price: this.currentPrice,
|
|
4439
|
-
ts: data.ts || Date.now()
|
|
4440
|
-
};
|
|
4441
|
-
this.listeners.forEach((listener) => listener(update));
|
|
4442
|
-
}
|
|
4443
|
-
}
|
|
4444
|
-
} catch (error) {
|
|
4445
|
-
console.error("Error parsing price event:", error, event.data);
|
|
4446
|
-
}
|
|
4447
|
-
});
|
|
4448
|
-
this.eventSource.addEventListener("ping", () => {
|
|
4449
|
-
});
|
|
4450
|
-
this.eventSource.onerror = (error) => {
|
|
4451
|
-
console.error("LUMIA Price SSE error:", error);
|
|
4452
|
-
this.isConnected = false;
|
|
4453
|
-
if (this.eventSource?.readyState === EventSource.CLOSED) {
|
|
4454
|
-
console.log("SSE connection closed, attempting to reconnect...");
|
|
4455
|
-
this.scheduleReconnect();
|
|
4456
|
-
reject(error);
|
|
4457
|
-
}
|
|
4458
|
-
};
|
|
4459
|
-
setTimeout(() => {
|
|
4460
|
-
if (!this.isConnected) {
|
|
4461
|
-
reject(new Error("SSE connection timeout"));
|
|
4462
|
-
}
|
|
4463
|
-
}, 1e4);
|
|
4464
|
-
} catch (error) {
|
|
4465
|
-
reject(error);
|
|
4466
|
-
}
|
|
4467
|
-
});
|
|
4468
|
-
}
|
|
4469
|
-
disconnect() {
|
|
4470
|
-
this.clearReconnectTimeout();
|
|
4471
|
-
if (this.eventSource) {
|
|
4472
|
-
this.eventSource.close();
|
|
4473
|
-
this.eventSource = null;
|
|
4474
|
-
}
|
|
4475
|
-
this.isConnected = false;
|
|
4476
|
-
this.currentPrice = null;
|
|
4477
|
-
console.log("[LumiaPriceSSEService]: LUMIA Price SSE disconnected");
|
|
4478
|
-
}
|
|
4479
|
-
addListener(listener) {
|
|
4480
|
-
this.listeners.add(listener);
|
|
4481
|
-
}
|
|
4482
|
-
removeListener(listener) {
|
|
4483
|
-
this.listeners.delete(listener);
|
|
4484
|
-
}
|
|
4485
|
-
clearListeners() {
|
|
4486
|
-
this.listeners.clear();
|
|
4487
|
-
}
|
|
4488
|
-
getCurrentPrice() {
|
|
4489
|
-
return this.currentPrice;
|
|
4490
|
-
}
|
|
4491
|
-
getConnectionStatus() {
|
|
4492
|
-
return this.isConnected;
|
|
4493
|
-
}
|
|
4494
|
-
scheduleReconnect() {
|
|
4495
|
-
this.clearReconnectTimeout();
|
|
4496
|
-
this.reconnectTimeout = window.setTimeout(() => {
|
|
4497
|
-
console.log("Attempting to reconnect to BTC Price SSE...");
|
|
4498
|
-
this.connect().catch((error) => {
|
|
4499
|
-
console.error("Reconnection failed:", error);
|
|
4500
|
-
this.scheduleReconnect();
|
|
4501
|
-
});
|
|
4502
|
-
}, 5e3);
|
|
4503
|
-
}
|
|
4504
|
-
clearReconnectTimeout() {
|
|
4505
|
-
if (this.reconnectTimeout) {
|
|
4506
|
-
clearTimeout(this.reconnectTimeout);
|
|
4507
|
-
this.reconnectTimeout = null;
|
|
4508
|
-
}
|
|
4509
|
-
}
|
|
4510
|
-
};
|
|
4511
|
-
var lumiaPriceSSE = new LumiaPriceSSEService();
|
|
4512
|
-
async function sseConnectMutation() {
|
|
4513
|
-
try {
|
|
4514
|
-
await lumiaPriceSSE.connect();
|
|
4515
|
-
console.info("[LUMIA SSE] price feed connected");
|
|
4516
|
-
return { ok: true };
|
|
4517
|
-
} catch (error) {
|
|
4518
|
-
console.error("[LUMIA SSE] Error connecting to SSE:", error);
|
|
4519
|
-
throw new Error("[LUMIA SSE] Error connecting to SSE");
|
|
4520
|
-
}
|
|
4521
|
-
}
|
|
4522
|
-
|
|
4523
|
-
// src/internal/hooks/useLumiaPriceSSE.ts
|
|
4524
|
-
function useLumiaPriceSSE(enabled, updateCurrentPrice) {
|
|
4525
|
-
const { mutate: connectSSE } = (0, import_react_query.useMutation)({
|
|
4526
|
-
mutationFn: sseConnectMutation,
|
|
4527
|
-
onSuccess: () => {
|
|
4528
|
-
lumiaPriceSSE.addListener(updateCurrentPrice);
|
|
4529
|
-
},
|
|
4530
|
-
onError: (err) => {
|
|
4531
|
-
console.error("Lumia Price SSE connection error:", err);
|
|
4532
|
-
}
|
|
4533
|
-
});
|
|
4534
|
-
(0, import_react.useEffect)(() => {
|
|
4535
|
-
const isConnected = lumiaPriceSSE.getConnectionStatus();
|
|
4536
|
-
console.log("[LUMIA PRICE SSE MANAGER] SSE status:", { enabled, isConnected });
|
|
4537
|
-
if (!enabled) {
|
|
4538
|
-
lumiaPriceSSE.clearListeners();
|
|
4539
|
-
lumiaPriceSSE.disconnect();
|
|
4540
|
-
return;
|
|
4541
|
-
}
|
|
4542
|
-
return () => {
|
|
4543
|
-
lumiaPriceSSE.clearListeners();
|
|
4544
|
-
lumiaPriceSSE.disconnect();
|
|
4545
|
-
};
|
|
4546
|
-
}, [enabled, connectSSE]);
|
|
4547
|
-
}
|
|
4548
|
-
|
|
4549
4382
|
// src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
|
|
4550
4383
|
var BALANCE_POLLING_INTERVAL = 3e4;
|
|
4384
|
+
async function getAssetRate(symbol = "LUMIA", fiat = "USDT") {
|
|
4385
|
+
const assetURL = `https://api.binance.com/api/v3/ticker/price?symbol=${symbol.toUpperCase()}${fiat.toUpperCase()}`;
|
|
4386
|
+
const response = await fetch(assetURL);
|
|
4387
|
+
return await response.json();
|
|
4388
|
+
}
|
|
4389
|
+
var LUMIA_RATE_QUERY_KEY = "lumia-passport-rate-query-key";
|
|
4551
4390
|
function BalanceFeedProvider() {
|
|
4552
4391
|
const config = useLumiaPassportConfig().config;
|
|
4553
4392
|
const address = useLumiaPassportSession((st) => st.address);
|
|
4554
|
-
const {
|
|
4555
|
-
const [balanceSymbol, setBalanceSymbol] = (0,
|
|
4556
|
-
(0,
|
|
4393
|
+
const { setCryptoRate, setFiatBalance, setBalance, setCryptoSymbol, setFiatSymbol } = useLayoutDataStore();
|
|
4394
|
+
const [balanceSymbol, setBalanceSymbol] = (0, import_react.useState)(null);
|
|
4395
|
+
(0, import_react.useEffect)(() => {
|
|
4557
4396
|
const { assets, showBalanceAs: customBalanceSymbol } = config.current?.projectAssets || {};
|
|
4558
4397
|
const { balanceQuery, balanceQueryKey } = assets?.find((a) => a.symbol === customBalanceSymbol) || {};
|
|
4559
4398
|
const isCustom = !!customBalanceSymbol && !!balanceQuery && !!balanceQueryKey;
|
|
@@ -4570,21 +4409,38 @@ function BalanceFeedProvider() {
|
|
|
4570
4409
|
refetchOnWindowFocus: true
|
|
4571
4410
|
}
|
|
4572
4411
|
});
|
|
4573
|
-
|
|
4574
|
-
|
|
4575
|
-
|
|
4412
|
+
const { data: cryptoRate } = (0, import_react_query.useQuery)({
|
|
4413
|
+
queryKey: [LUMIA_RATE_QUERY_KEY, address],
|
|
4414
|
+
enabled: !!address && !!isNativeBalanceFeedEnabled,
|
|
4415
|
+
refetchInterval: BALANCE_POLLING_INTERVAL,
|
|
4416
|
+
queryFn: async () => getAssetRate("LUMIA", "USDT")
|
|
4417
|
+
// TODO: get LUMIA-FIAT pair from config
|
|
4418
|
+
});
|
|
4419
|
+
(0, import_react.useEffect)(() => {
|
|
4420
|
+
const rate = cryptoRate ? Number(cryptoRate.price) : null;
|
|
4421
|
+
if (!isNativeBalanceFeedEnabled || !balance || !rate) return;
|
|
4422
|
+
setCryptoRate(rate);
|
|
4576
4423
|
setCryptoSymbol("LUMIA");
|
|
4577
4424
|
setFiatSymbol("USD");
|
|
4578
|
-
setFiatBalance(Number(balance?.formatted || 0) *
|
|
4425
|
+
setFiatBalance(Number(balance?.formatted || 0) * rate);
|
|
4579
4426
|
setBalance(balance);
|
|
4580
|
-
}, [
|
|
4427
|
+
}, [
|
|
4428
|
+
isNativeBalanceFeedEnabled,
|
|
4429
|
+
balance,
|
|
4430
|
+
cryptoRate,
|
|
4431
|
+
setFiatBalance,
|
|
4432
|
+
setCryptoRate,
|
|
4433
|
+
setBalance,
|
|
4434
|
+
setCryptoSymbol,
|
|
4435
|
+
setFiatSymbol
|
|
4436
|
+
]);
|
|
4581
4437
|
const {
|
|
4582
4438
|
balanceQuery: customBalanceQuery,
|
|
4583
4439
|
balanceQueryKey: CUSTOM_BALANCE_QUERY_KEY,
|
|
4584
4440
|
symbol: customAssetSymbol
|
|
4585
4441
|
} = config.current?.projectAssets?.assets?.find((a) => a.symbol === config.current?.projectAssets?.showBalanceAs) || {};
|
|
4586
4442
|
const isCustomBalanceEnabled = balanceSymbol === customAssetSymbol;
|
|
4587
|
-
const { data: customBalance } = (0,
|
|
4443
|
+
const { data: customBalance } = (0, import_react_query.useQuery)({
|
|
4588
4444
|
retry: false,
|
|
4589
4445
|
refetchInterval: BALANCE_POLLING_INTERVAL,
|
|
4590
4446
|
enabled: !!address && !!isCustomBalanceEnabled,
|
|
@@ -4592,7 +4448,7 @@ function BalanceFeedProvider() {
|
|
|
4592
4448
|
// should be invalidated by host app via provided queryKey
|
|
4593
4449
|
queryFn: async () => await customBalanceQuery?.()
|
|
4594
4450
|
});
|
|
4595
|
-
(0,
|
|
4451
|
+
(0, import_react.useEffect)(() => {
|
|
4596
4452
|
if (!isCustomBalanceEnabled || !customBalance) return;
|
|
4597
4453
|
const { cryptoFiatRate, fiatFormatted, cryptoFormatted, cryptoSymbol, fiatSymbol } = customBalance;
|
|
4598
4454
|
setCryptoSymbol(cryptoSymbol.toUpperCase());
|
|
@@ -4616,7 +4472,7 @@ var import_react45 = require("react");
|
|
|
4616
4472
|
// package.json
|
|
4617
4473
|
var package_default = {
|
|
4618
4474
|
name: "@lumiapassport/ui-kit",
|
|
4619
|
-
version: "1.13.
|
|
4475
|
+
version: "1.13.11",
|
|
4620
4476
|
description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
|
|
4621
4477
|
type: "module",
|
|
4622
4478
|
main: "./dist/index.cjs",
|
|
@@ -4704,13 +4560,13 @@ var package_default = {
|
|
|
4704
4560
|
};
|
|
4705
4561
|
|
|
4706
4562
|
// src/internal/components/Footer/Footer.tsx
|
|
4707
|
-
var
|
|
4563
|
+
var import_react_query2 = require("@tanstack/react-query");
|
|
4708
4564
|
var import_lucide_react3 = require("lucide-react");
|
|
4709
4565
|
|
|
4710
4566
|
// src/internal/assets/LumiaLogo.tsx
|
|
4711
|
-
var
|
|
4567
|
+
var import_react2 = require("react");
|
|
4712
4568
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
4713
|
-
var LumiaLogo = (0,
|
|
4569
|
+
var LumiaLogo = (0, import_react2.forwardRef)(({ size = 24, className = "" }, ref) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
|
|
4714
4570
|
"svg",
|
|
4715
4571
|
{
|
|
4716
4572
|
ref,
|
|
@@ -4765,21 +4621,6 @@ init_base();
|
|
|
4765
4621
|
// src/internal/lib/utils.ts
|
|
4766
4622
|
var import_clsx = require("clsx");
|
|
4767
4623
|
var import_tailwind_merge = require("tailwind-merge");
|
|
4768
|
-
var LP_JWT_TOKENS_LS_KEY = "lumia-passport-jwt-tokens";
|
|
4769
|
-
function getBearer() {
|
|
4770
|
-
try {
|
|
4771
|
-
const sessionString = localStorage.getItem(LP_JWT_TOKENS_LS_KEY);
|
|
4772
|
-
if (!sessionString) return null;
|
|
4773
|
-
const session = JSON.parse(sessionString);
|
|
4774
|
-
if (session && typeof session.accessToken === "string" && typeof session.userId === "string") {
|
|
4775
|
-
return `Bearer ${session.accessToken}`;
|
|
4776
|
-
}
|
|
4777
|
-
return null;
|
|
4778
|
-
} catch (error) {
|
|
4779
|
-
console.error("Failed to parse Lumia Passport session:", error);
|
|
4780
|
-
return null;
|
|
4781
|
-
}
|
|
4782
|
-
}
|
|
4783
4624
|
function cn(...inputs) {
|
|
4784
4625
|
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
4785
4626
|
}
|
|
@@ -4849,7 +4690,7 @@ function Footer() {
|
|
|
4849
4690
|
const { callbacks } = useLumiaPassportConfig();
|
|
4850
4691
|
const { address, setSession, setAddress, setStatus, setError, setIsLoading } = useLumiaPassportSession();
|
|
4851
4692
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
4852
|
-
const { mutate: disconnect, isPending: isDisconnecting } = (0,
|
|
4693
|
+
const { mutate: disconnect, isPending: isDisconnecting } = (0, import_react_query2.useMutation)({
|
|
4853
4694
|
mutationFn: async (disconnectAddress) => {
|
|
4854
4695
|
if (!disconnectAddress) throw new Error("No address to disconnect");
|
|
4855
4696
|
setError(null);
|
|
@@ -4981,9 +4822,9 @@ function LumiaIcon(props) {
|
|
|
4981
4822
|
}
|
|
4982
4823
|
|
|
4983
4824
|
// src/internal/components/Header/Header.tsx
|
|
4984
|
-
var
|
|
4825
|
+
var import_react_query3 = require("@tanstack/react-query");
|
|
4985
4826
|
var import_lucide_react4 = require("lucide-react");
|
|
4986
|
-
var
|
|
4827
|
+
var import_react3 = require("react");
|
|
4987
4828
|
|
|
4988
4829
|
// src/internal/assets/PositiveIcon.tsx
|
|
4989
4830
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
@@ -5039,10 +4880,10 @@ function Header() {
|
|
|
5039
4880
|
config: { current: config }
|
|
5040
4881
|
} = useLumiaPassportConfig();
|
|
5041
4882
|
const address = useLumiaPassportSession((st) => st.address);
|
|
5042
|
-
const [copied, setCopied] = (0,
|
|
4883
|
+
const [copied, setCopied] = (0, import_react3.useState)(false);
|
|
5043
4884
|
const avatar = import_auth3.jwtTokenManager.getAvatar();
|
|
5044
4885
|
const displayName = import_auth3.jwtTokenManager.getDisplayName();
|
|
5045
|
-
const { data: userProfile = null, isLoading: isUserProfileLoading } = (0,
|
|
4886
|
+
const { data: userProfile = null, isLoading: isUserProfileLoading } = (0, import_react_query3.useQuery)({
|
|
5046
4887
|
retry: false,
|
|
5047
4888
|
enabled: !!address,
|
|
5048
4889
|
queryKey: [QUERY_KEYS.userProfile, address],
|
|
@@ -5156,47 +4997,20 @@ function Header() {
|
|
|
5156
4997
|
{
|
|
5157
4998
|
}
|
|
5158
4999
|
|
|
5159
|
-
// src/internal/components/ManageWalletMenu/hooks/useStore.ts
|
|
5160
|
-
var import_zustand2 = require("zustand");
|
|
5161
|
-
var useManageWalletStore = (0, import_zustand2.create)((set) => ({
|
|
5162
|
-
emailStep: "input",
|
|
5163
|
-
email: "",
|
|
5164
|
-
emailCode: "",
|
|
5165
|
-
emailCodeSentError: "",
|
|
5166
|
-
emailCodeExpiresIn: 0,
|
|
5167
|
-
isWalletLinking: false,
|
|
5168
|
-
linkIsLoading: false,
|
|
5169
|
-
linkError: "",
|
|
5170
|
-
verificationError: "",
|
|
5171
|
-
providerType: null,
|
|
5172
|
-
confirmUnlink: null,
|
|
5173
|
-
setEmailStep: (emailStep) => set({ emailStep }),
|
|
5174
|
-
setEmail: (email) => set({ email }),
|
|
5175
|
-
setEmailCode: (emailCode) => set({ emailCode }),
|
|
5176
|
-
setEmailCodeSentError: (emailCodeSentError) => set({ emailCodeSentError }),
|
|
5177
|
-
setEmailCodeExpiresIn: (emailCodeExpiresIn) => set({ emailCodeExpiresIn }),
|
|
5178
|
-
setIsWalletLinking: (isWalletLinking) => set({ isWalletLinking }),
|
|
5179
|
-
setLinkIsLoading: (linkIsLoading) => set({ linkIsLoading }),
|
|
5180
|
-
setLinkError: (linkError) => set({ linkError }),
|
|
5181
|
-
setVerificationError: (verificationError) => set({ verificationError }),
|
|
5182
|
-
setProviderType: (providerType) => {
|
|
5183
|
-
console.log("[ManageWalletStore] setProviderType called with:", providerType, new Error().stack);
|
|
5184
|
-
set({ providerType });
|
|
5185
|
-
},
|
|
5186
|
-
setConfirmUnlink: (confirmUnlink) => set({ confirmUnlink })
|
|
5187
|
-
}));
|
|
5188
|
-
|
|
5189
5000
|
// src/internal/components/ui/dialog.tsx
|
|
5190
5001
|
var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
5002
|
+
var import_lodash_es = require("lodash-es");
|
|
5191
5003
|
var import_lucide_react5 = require("lucide-react");
|
|
5192
|
-
var
|
|
5004
|
+
var import_react4 = require("react");
|
|
5193
5005
|
|
|
5194
5006
|
// src/internal/hooks/useLayoutStore.ts
|
|
5195
|
-
var
|
|
5196
|
-
var useLayoutStore = (0,
|
|
5007
|
+
var import_zustand2 = require("zustand");
|
|
5008
|
+
var useLayoutStore = (0, import_zustand2.create)((set) => ({
|
|
5197
5009
|
colorMode: "light",
|
|
5198
|
-
layoutView:
|
|
5010
|
+
// layoutView: 'desktop',
|
|
5199
5011
|
// deviceType: 'non-touch',
|
|
5012
|
+
isMobileView: false,
|
|
5013
|
+
maxScrollHeight: MAX_CONTENT_HEIGHT,
|
|
5200
5014
|
isDialogClosing: false,
|
|
5201
5015
|
isDialogOpen: false,
|
|
5202
5016
|
isDialogForced: false,
|
|
@@ -5205,8 +5019,10 @@ var useLayoutStore = (0, import_zustand3.create)((set) => ({
|
|
|
5205
5019
|
dialogContent: null,
|
|
5206
5020
|
isSettings: false,
|
|
5207
5021
|
setColorMode: (colorMode) => set({ colorMode }),
|
|
5208
|
-
setLayoutView: (layoutView) => set(() => ({ layoutView })),
|
|
5022
|
+
// setLayoutView: (layoutView) => set(() => ({ layoutView })),
|
|
5209
5023
|
// setDeviceType: (deviceType) => set(() => ({ deviceType })),
|
|
5024
|
+
setIsMobileView: (isMobileView) => set({ isMobileView }),
|
|
5025
|
+
setMaxScrollHeight: (maxScrollHeight) => set({ maxScrollHeight }),
|
|
5210
5026
|
setIsDialogClosing: (isDialogClosing) => set({ isDialogClosing }),
|
|
5211
5027
|
setIsDialogOpen: (isDialogOpen) => set({ isDialogOpen }),
|
|
5212
5028
|
setIsDialogForced: (isDialogForced) => set({ isDialogForced }),
|
|
@@ -5220,7 +5036,7 @@ var useLayoutStore = (0, import_zustand3.create)((set) => ({
|
|
|
5220
5036
|
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
5221
5037
|
var Dialog = DialogPrimitive.Root;
|
|
5222
5038
|
var DialogPortal = DialogPrimitive.Portal;
|
|
5223
|
-
var DialogOverlay =
|
|
5039
|
+
var DialogOverlay = (0, import_react4.forwardRef)(
|
|
5224
5040
|
({ className, closing, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
5225
5041
|
DialogPrimitive.Overlay,
|
|
5226
5042
|
{
|
|
@@ -5236,97 +5052,97 @@ var DialogOverlay = React2.forwardRef(
|
|
|
5236
5052
|
)
|
|
5237
5053
|
);
|
|
5238
5054
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
5239
|
-
|
|
5055
|
+
function useDecideContentStyles() {
|
|
5056
|
+
const isMobileView = useLayoutStore((st) => st.isMobileView);
|
|
5057
|
+
const isClosing = useLayoutStore((st) => !!st.isDialogOpen && !!st.isDialogClosing);
|
|
5058
|
+
const mobileStyles = isMobileView ? { "--l-pass-maw": "100%", "--l-pass-bdrs": "20px 20px 0px 0px" } : {};
|
|
5059
|
+
return {
|
|
5060
|
+
isClosing,
|
|
5061
|
+
isMobileView,
|
|
5062
|
+
style: (0, import_lodash_es.merge)({}, mobileStyles)
|
|
5063
|
+
};
|
|
5064
|
+
}
|
|
5065
|
+
var CONTENT_BG_SETUP = {
|
|
5066
|
+
backgroundColor: "var(--l-pass-bg)",
|
|
5067
|
+
border: "1px solid var(--l-pass-bd)",
|
|
5068
|
+
boxShadow: "0px 4px 10px var(--l-pass-shadow-c)"
|
|
5069
|
+
};
|
|
5070
|
+
var DialogContent = (0, import_react4.forwardRef)(
|
|
5240
5071
|
({ className, children, hideClose, colorMode, ...props }, ref) => {
|
|
5241
5072
|
const isSettings = useLayoutStore((st) => st.isSettings);
|
|
5242
|
-
const isDialogOpen = useLayoutStore((st) => st.isDialogOpen);
|
|
5243
|
-
const isDialogClosing = useLayoutStore((st) => st.isDialogClosing);
|
|
5244
|
-
const isWalletLinking = useManageWalletStore((st) => st.isWalletLinking);
|
|
5245
5073
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
5246
5074
|
const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
|
|
5247
|
-
const
|
|
5248
|
-
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
5249
|
-
|
|
5250
|
-
|
|
5251
|
-
|
|
5252
|
-
|
|
5253
|
-
|
|
5254
|
-
|
|
5255
|
-
|
|
5256
|
-
|
|
5257
|
-
|
|
5075
|
+
const { isMobileView, isClosing, style } = useDecideContentStyles();
|
|
5076
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "lumia-scope", "data-lumia-passport-mode": colorMode, style, children: [
|
|
5077
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogOverlay, { closing: isClosing }),
|
|
5078
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
5079
|
+
"div",
|
|
5080
|
+
{
|
|
5081
|
+
className: cn(
|
|
5082
|
+
"fixed inset-0 z-[9999] flex items-center justify-center pointer-events-none",
|
|
5083
|
+
isClosing ? "animate-dialog-out" : "animate-dialog-in",
|
|
5084
|
+
isMobileView ? "items-end" : "items-center"
|
|
5085
|
+
),
|
|
5086
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
5087
|
+
DialogPrimitive.Content,
|
|
5258
5088
|
{
|
|
5089
|
+
ref,
|
|
5090
|
+
style: !!className ? void 0 : CONTENT_BG_SETUP,
|
|
5259
5091
|
className: cn(
|
|
5260
|
-
"
|
|
5261
|
-
|
|
5092
|
+
"relative pointer-events-auto w-full",
|
|
5093
|
+
"max-w-[var(--l-pass-maw)] max-h-[95dvh] p-0 gap-0",
|
|
5094
|
+
"text-[var(--l-pass-fg)]",
|
|
5095
|
+
"rounded-[var(--l-pass-bdrs)] overflow-hidden",
|
|
5096
|
+
className
|
|
5262
5097
|
),
|
|
5263
|
-
|
|
5264
|
-
|
|
5265
|
-
|
|
5266
|
-
|
|
5267
|
-
|
|
5268
|
-
|
|
5269
|
-
|
|
5270
|
-
|
|
5271
|
-
|
|
5272
|
-
|
|
5273
|
-
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
|
|
5277
|
-
|
|
5278
|
-
|
|
5279
|
-
|
|
5280
|
-
|
|
5281
|
-
|
|
5282
|
-
|
|
5283
|
-
|
|
5284
|
-
|
|
5285
|
-
|
|
5286
|
-
|
|
5287
|
-
|
|
5288
|
-
|
|
5289
|
-
|
|
5290
|
-
|
|
5291
|
-
|
|
5292
|
-
|
|
5293
|
-
|
|
5294
|
-
|
|
5295
|
-
|
|
5296
|
-
|
|
5297
|
-
|
|
5298
|
-
|
|
5299
|
-
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
|
|
5304
|
-
|
|
5305
|
-
|
|
5306
|
-
"items-center justify-center rounded-full bg-[var(--l-pass-bg-error)]",
|
|
5307
|
-
"text-xs font-semibold text-[var(--l-pass-error)]"
|
|
5308
|
-
),
|
|
5309
|
-
children: settingsNotifications.length
|
|
5310
|
-
}
|
|
5311
|
-
)
|
|
5312
|
-
]
|
|
5313
|
-
}
|
|
5314
|
-
),
|
|
5315
|
-
!hideClose && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Button, { variant: "ghost", size: "icon", className: "w-4 h-4", children: [
|
|
5316
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_lucide_react5.X, { className: "h-4 w-4" }),
|
|
5317
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "sr-only", children: "Close" })
|
|
5318
|
-
] }) })
|
|
5319
|
-
]
|
|
5320
|
-
}
|
|
5321
|
-
)
|
|
5322
|
-
]
|
|
5323
|
-
}
|
|
5324
|
-
)
|
|
5098
|
+
...props,
|
|
5099
|
+
children: [
|
|
5100
|
+
children,
|
|
5101
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
5102
|
+
"div",
|
|
5103
|
+
{
|
|
5104
|
+
className: cn(
|
|
5105
|
+
"flex items-center justify-center gap-[var(--l-pass-gap)]",
|
|
5106
|
+
"absolute right-[var(--l-pass-pd)] top-[var(--l-pass-pd)]"
|
|
5107
|
+
),
|
|
5108
|
+
children: [
|
|
5109
|
+
isSettings && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
5110
|
+
Button,
|
|
5111
|
+
{
|
|
5112
|
+
variant: "ghost",
|
|
5113
|
+
size: "icon",
|
|
5114
|
+
className: "relative w-4 h-4",
|
|
5115
|
+
onClick: () => setPage("settings" /* SETTINGS */),
|
|
5116
|
+
children: [
|
|
5117
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "sr-only", children: "Settings" }),
|
|
5118
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_lucide_react5.SlidersHorizontal, { className: "w-4 h-4" }),
|
|
5119
|
+
!!settingsNotifications.length && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
5120
|
+
"div",
|
|
5121
|
+
{
|
|
5122
|
+
className: cn(
|
|
5123
|
+
"absolute -top-2 -right-2 flex h-4 w-4",
|
|
5124
|
+
"items-center justify-center rounded-full bg-[var(--l-pass-bg-error)]",
|
|
5125
|
+
"text-xs font-semibold text-[var(--l-pass-error)]"
|
|
5126
|
+
),
|
|
5127
|
+
children: settingsNotifications.length
|
|
5128
|
+
}
|
|
5129
|
+
)
|
|
5130
|
+
]
|
|
5131
|
+
}
|
|
5132
|
+
),
|
|
5133
|
+
!hideClose && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Button, { variant: "ghost", size: "icon", className: "w-4 h-4", children: [
|
|
5134
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_lucide_react5.X, { className: "h-4 w-4" }),
|
|
5135
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "sr-only", children: "Close" })
|
|
5136
|
+
] }) })
|
|
5137
|
+
]
|
|
5138
|
+
}
|
|
5139
|
+
)
|
|
5140
|
+
]
|
|
5325
5141
|
}
|
|
5326
5142
|
)
|
|
5327
|
-
|
|
5328
|
-
|
|
5329
|
-
) });
|
|
5143
|
+
}
|
|
5144
|
+
)
|
|
5145
|
+
] }) });
|
|
5330
5146
|
}
|
|
5331
5147
|
);
|
|
5332
5148
|
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
@@ -5334,7 +5150,7 @@ var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_r
|
|
|
5334
5150
|
DialogHeader.displayName = "DialogHeader";
|
|
5335
5151
|
var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
5336
5152
|
DialogFooter.displayName = "DialogFooter";
|
|
5337
|
-
var DialogTitle =
|
|
5153
|
+
var DialogTitle = (0, import_react4.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
5338
5154
|
DialogPrimitive.Title,
|
|
5339
5155
|
{
|
|
5340
5156
|
ref,
|
|
@@ -5343,7 +5159,7 @@ var DialogTitle = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
5343
5159
|
}
|
|
5344
5160
|
));
|
|
5345
5161
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
5346
|
-
var DialogDescription =
|
|
5162
|
+
var DialogDescription = (0, import_react4.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
|
|
5347
5163
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
5348
5164
|
|
|
5349
5165
|
// src/internal/components/ui/visually-hidden.tsx
|
|
@@ -5555,13 +5371,13 @@ function useBackupStatusChanges() {
|
|
|
5555
5371
|
}
|
|
5556
5372
|
|
|
5557
5373
|
// src/internal/hooks/useCheckVaultStatus.ts
|
|
5558
|
-
var
|
|
5374
|
+
var import_react_query4 = require("@tanstack/react-query");
|
|
5559
5375
|
var import_react7 = require("react");
|
|
5560
5376
|
init_vaultClient();
|
|
5561
5377
|
function useCheckVaultStatus() {
|
|
5562
5378
|
const address = useLumiaPassportSession((st) => st.address);
|
|
5563
5379
|
const setHasServerVault = useLumiaPassportSession((st) => st.setHasServerVault);
|
|
5564
|
-
const { mutate: checkVaultStatus } = (0,
|
|
5380
|
+
const { mutate: checkVaultStatus } = (0, import_react_query4.useMutation)({
|
|
5565
5381
|
mutationFn: async () => {
|
|
5566
5382
|
const stats = await getShareRecoveryStats();
|
|
5567
5383
|
const hasRecoveryData = stats && (stats.created || stats.devices && stats.devices.length > 0);
|
|
@@ -5581,31 +5397,23 @@ function useCheckVaultStatus() {
|
|
|
5581
5397
|
}, [address, checkVaultStatus]);
|
|
5582
5398
|
}
|
|
5583
5399
|
|
|
5584
|
-
// src/internal/hooks/
|
|
5585
|
-
var
|
|
5400
|
+
// src/internal/hooks/useDetectMaxScrollHeight.ts
|
|
5401
|
+
var import_lodash_es2 = require("lodash-es");
|
|
5586
5402
|
var import_react8 = require("react");
|
|
5587
|
-
var BREAKPOINTS = {
|
|
5588
|
-
mobileSM: 0,
|
|
5589
|
-
mobileXL: 475,
|
|
5590
|
-
tablet: 960,
|
|
5591
|
-
laptop: 1440,
|
|
5592
|
-
desktop: 1920
|
|
5593
|
-
};
|
|
5594
5403
|
var DEBOUNCE_DELAY = 50;
|
|
5595
|
-
function
|
|
5596
|
-
const
|
|
5404
|
+
function useDetectMaxScrollHeight() {
|
|
5405
|
+
const setIsMobileView = useLayoutStore((state) => state.setIsMobileView);
|
|
5406
|
+
const setMaxScrollHeight = useLayoutStore((state) => state.setMaxScrollHeight);
|
|
5597
5407
|
const onResize = (0, import_react8.useCallback)(
|
|
5598
|
-
(0,
|
|
5599
|
-
|
|
5600
|
-
|
|
5601
|
-
|
|
5602
|
-
if (viewportWidth < BREAKPOINTS.desktop) return setLayoutView("laptop");
|
|
5603
|
-
setLayoutView("desktop");
|
|
5408
|
+
(0, import_lodash_es2.debounce)(({ width, height }) => {
|
|
5409
|
+
const limContentHeight = height * 0.92 - 116 - 72;
|
|
5410
|
+
setIsMobileView(width < height && (width < 475 || limContentHeight <= MAX_CONTENT_HEIGHT));
|
|
5411
|
+
setMaxScrollHeight(Math.min(limContentHeight, MAX_CONTENT_HEIGHT));
|
|
5604
5412
|
}, DEBOUNCE_DELAY),
|
|
5605
|
-
[
|
|
5413
|
+
[setMaxScrollHeight, setIsMobileView]
|
|
5606
5414
|
);
|
|
5607
5415
|
(0, import_react8.useEffect)(() => {
|
|
5608
|
-
const obs = new ResizeObserver(([entry]) => onResize(entry.contentRect
|
|
5416
|
+
const obs = new ResizeObserver(([entry]) => onResize(entry.contentRect));
|
|
5609
5417
|
const doc = window.document.getElementsByTagName("html")[0];
|
|
5610
5418
|
if (doc) obs.observe(doc);
|
|
5611
5419
|
return () => obs.disconnect();
|
|
@@ -5624,8 +5432,8 @@ var import_react18 = require("react");
|
|
|
5624
5432
|
var import_lucide_react6 = require("lucide-react");
|
|
5625
5433
|
|
|
5626
5434
|
// src/internal/components/AuthMenu/useAuthStore.ts
|
|
5627
|
-
var
|
|
5628
|
-
var useAuthStore = (0,
|
|
5435
|
+
var import_zustand3 = require("zustand");
|
|
5436
|
+
var useAuthStore = (0, import_zustand3.create)((set) => ({
|
|
5629
5437
|
step: "signin",
|
|
5630
5438
|
alert: null,
|
|
5631
5439
|
email: "",
|
|
@@ -6182,7 +5990,7 @@ var import_react14 = require("react");
|
|
|
6182
5990
|
|
|
6183
5991
|
// src/internal/components/AuthMenu/SignInStep/Email.tsx
|
|
6184
5992
|
init_lumiaPassport();
|
|
6185
|
-
var
|
|
5993
|
+
var import_react_query5 = require("@tanstack/react-query");
|
|
6186
5994
|
var import_lucide_react9 = require("lucide-react");
|
|
6187
5995
|
init_projectId();
|
|
6188
5996
|
|
|
@@ -6219,7 +6027,7 @@ function Email() {
|
|
|
6219
6027
|
const isLoading = useLumiaPassportSession((st) => st.isLoading);
|
|
6220
6028
|
const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
|
|
6221
6029
|
const { email, codeSendError, alert: alert2, setEmail, setCodeSendError, setExpiresIn, setStep, setAlert } = useAuthStore();
|
|
6222
|
-
const { mutate: onSendVerificationCode } = (0,
|
|
6030
|
+
const { mutate: onSendVerificationCode } = (0, import_react_query5.useMutation)({
|
|
6223
6031
|
mutationFn: async (mail) => {
|
|
6224
6032
|
const isEmailValid = mail.length !== 0 && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(mail);
|
|
6225
6033
|
if (!isEmailValid) {
|
|
@@ -7056,7 +6864,7 @@ function useListenIframeAuthEvents() {
|
|
|
7056
6864
|
|
|
7057
6865
|
// src/internal/components/AuthMenu/VerifyStep/VerifyStep.tsx
|
|
7058
6866
|
init_lumiaPassport();
|
|
7059
|
-
var
|
|
6867
|
+
var import_react_query6 = require("@tanstack/react-query");
|
|
7060
6868
|
var import_lucide_react13 = require("lucide-react");
|
|
7061
6869
|
|
|
7062
6870
|
// src/internal/assets/OtpIcon.tsx
|
|
@@ -7225,7 +7033,7 @@ function VerifyStep(props) {
|
|
|
7225
7033
|
setEmail,
|
|
7226
7034
|
setExpiresIn
|
|
7227
7035
|
} = useAuthStore();
|
|
7228
|
-
const { mutate: onVerifyCode, isPending: isCodeVerifying } = (0,
|
|
7036
|
+
const { mutate: onVerifyCode, isPending: isCodeVerifying } = (0, import_react_query6.useMutation)({
|
|
7229
7037
|
mutationFn: async (code) => {
|
|
7230
7038
|
setIsLoading(true);
|
|
7231
7039
|
setVerificationError("");
|
|
@@ -7298,7 +7106,7 @@ function VerifyStep(props) {
|
|
|
7298
7106
|
setIsLoading(false);
|
|
7299
7107
|
}
|
|
7300
7108
|
});
|
|
7301
|
-
const { mutate: onResendCode, isPending: isCodeResending } = (0,
|
|
7109
|
+
const { mutate: onResendCode, isPending: isCodeResending } = (0, import_react_query6.useMutation)({
|
|
7302
7110
|
mutationFn: async () => {
|
|
7303
7111
|
setVerificationError("");
|
|
7304
7112
|
setIsLoading(true);
|
|
@@ -7552,7 +7360,7 @@ function RampnowIcon() {
|
|
|
7552
7360
|
}
|
|
7553
7361
|
|
|
7554
7362
|
// src/internal/components/BuyMenu/binance/Binance.tsx
|
|
7555
|
-
var
|
|
7363
|
+
var import_react_query7 = require("@tanstack/react-query");
|
|
7556
7364
|
var import_lucide_react15 = require("lucide-react");
|
|
7557
7365
|
var import_react20 = require("react");
|
|
7558
7366
|
|
|
@@ -7595,77 +7403,34 @@ var QUERY_KEYS2 = {
|
|
|
7595
7403
|
};
|
|
7596
7404
|
|
|
7597
7405
|
// src/internal/components/BuyMenu/binance/api.ts
|
|
7598
|
-
|
|
7406
|
+
init_iframe_manager();
|
|
7599
7407
|
async function getLumiaNetworkQuery() {
|
|
7600
|
-
const
|
|
7601
|
-
|
|
7602
|
-
|
|
7603
|
-
headers: {
|
|
7604
|
-
"Content-Type": "application/json",
|
|
7605
|
-
...auth && { Authorization: auth }
|
|
7606
|
-
}
|
|
7607
|
-
});
|
|
7608
|
-
const data = await response.json();
|
|
7609
|
-
if (!data?.success) {
|
|
7610
|
-
throw new Error(`${data.code}: ${data.message}`);
|
|
7408
|
+
const iframeManager = getIframeManager();
|
|
7409
|
+
if (!iframeManager) {
|
|
7410
|
+
throw new Error("Iframe manager is not initialized");
|
|
7611
7411
|
}
|
|
7612
|
-
|
|
7613
|
-
if (!lumiaNetwork) {
|
|
7614
|
-
console.error("Lumia is not available in Binance pairs API");
|
|
7615
|
-
throw new Error("Lumia is not available in API");
|
|
7616
|
-
}
|
|
7617
|
-
return lumiaNetwork;
|
|
7412
|
+
return await iframeManager.sendMessage("BINANCE_GET_LUMIA_NETWORK_QUERY", {});
|
|
7618
7413
|
}
|
|
7619
7414
|
async function getPaymentMethodsQuery(payload) {
|
|
7620
|
-
const
|
|
7621
|
-
|
|
7622
|
-
|
|
7623
|
-
headers: {
|
|
7624
|
-
"Content-Type": "application/json",
|
|
7625
|
-
...auth && { Authorization: auth }
|
|
7626
|
-
},
|
|
7627
|
-
body: JSON.stringify(payload)
|
|
7628
|
-
});
|
|
7629
|
-
const data = await response.json();
|
|
7630
|
-
if (!data.success) {
|
|
7631
|
-
throw new Error(`${data.code}: ${data.message}`);
|
|
7632
|
-
}
|
|
7633
|
-
if (!data.data.paymentMethods.length) {
|
|
7634
|
-
throw new Error("No payment methods available yet");
|
|
7415
|
+
const iframeManager = getIframeManager();
|
|
7416
|
+
if (!iframeManager) {
|
|
7417
|
+
throw new Error("Iframe manager is not initialized");
|
|
7635
7418
|
}
|
|
7636
|
-
return
|
|
7419
|
+
return await iframeManager.sendMessage("BINANCE_GET_PAYMENT_METHODS_QUERY", payload);
|
|
7637
7420
|
}
|
|
7638
7421
|
async function getQuoteQuery(payload) {
|
|
7639
|
-
const
|
|
7640
|
-
|
|
7641
|
-
|
|
7642
|
-
headers: {
|
|
7643
|
-
"Content-Type": "application/json",
|
|
7644
|
-
...auth && { Authorization: auth }
|
|
7645
|
-
},
|
|
7646
|
-
body: JSON.stringify(payload)
|
|
7647
|
-
});
|
|
7648
|
-
const data = await response.json();
|
|
7649
|
-
if (!data.success) {
|
|
7650
|
-
throw new Error(`${data.code}: ${data.message}`);
|
|
7422
|
+
const iframeManager = getIframeManager();
|
|
7423
|
+
if (!iframeManager) {
|
|
7424
|
+
throw new Error("Iframe manager is not initialized");
|
|
7651
7425
|
}
|
|
7652
|
-
return
|
|
7426
|
+
return await iframeManager.sendMessage("BINANCE_GET_QUOTE_QUERY", payload);
|
|
7653
7427
|
}
|
|
7654
7428
|
async function createPreorderMutation(payload) {
|
|
7655
|
-
const
|
|
7656
|
-
|
|
7657
|
-
|
|
7658
|
-
headers: {
|
|
7659
|
-
"Content-Type": "application/json",
|
|
7660
|
-
...auth && { Authorization: auth }
|
|
7661
|
-
},
|
|
7662
|
-
body: JSON.stringify(payload)
|
|
7663
|
-
});
|
|
7664
|
-
const data = await response.json();
|
|
7665
|
-
if (!data.success) {
|
|
7666
|
-
throw new Error(`${data.code}: ${data.message}`);
|
|
7429
|
+
const iframeManager = getIframeManager();
|
|
7430
|
+
if (!iframeManager) {
|
|
7431
|
+
throw new Error("Iframe manager is not initialized");
|
|
7667
7432
|
}
|
|
7668
|
-
return
|
|
7433
|
+
return await iframeManager.sendMessage("BINANCE_CREATE_PREORDER_MUTATION", payload);
|
|
7669
7434
|
}
|
|
7670
7435
|
|
|
7671
7436
|
// src/internal/components/BuyMenu/binance/useQueriesErrorHandler.ts
|
|
@@ -7714,12 +7479,12 @@ function Binance(props) {
|
|
|
7714
7479
|
setMinAmount,
|
|
7715
7480
|
setSrcInputAmount
|
|
7716
7481
|
} = control;
|
|
7717
|
-
const qc = (0,
|
|
7482
|
+
const qc = (0, import_react_query7.useQueryClient)();
|
|
7718
7483
|
const {
|
|
7719
7484
|
data: lumiaNetwork,
|
|
7720
7485
|
isLoading: isLumiaNetworkLoading,
|
|
7721
7486
|
error: lumiaNetworkError
|
|
7722
|
-
} = (0,
|
|
7487
|
+
} = (0, import_react_query7.useQuery)({
|
|
7723
7488
|
retry: false,
|
|
7724
7489
|
enabled: !!walletAddress,
|
|
7725
7490
|
queryKey: [QUERY_KEYS2.binanceNetworksQuery, walletAddress],
|
|
@@ -7730,7 +7495,7 @@ function Binance(props) {
|
|
|
7730
7495
|
data: paymentModes = null,
|
|
7731
7496
|
isLoading: isPaymentModesLoading,
|
|
7732
7497
|
error: paymentMethodsError
|
|
7733
|
-
} = (0,
|
|
7498
|
+
} = (0, import_react_query7.useQuery)({
|
|
7734
7499
|
retry: false,
|
|
7735
7500
|
enabled: !!isLumiaAvailable && !!walletAddress,
|
|
7736
7501
|
// && srcQueryAmount > 0,
|
|
@@ -7750,7 +7515,7 @@ function Binance(props) {
|
|
|
7750
7515
|
data: quoteData = null,
|
|
7751
7516
|
isLoading: isQuoteDataLoading,
|
|
7752
7517
|
error: quoteError
|
|
7753
|
-
} = (0,
|
|
7518
|
+
} = (0, import_react_query7.useQuery)({
|
|
7754
7519
|
retry: false,
|
|
7755
7520
|
enabled: !!walletAddress && srcQueryAmount > 0 && minimum > 0 && srcQueryAmount >= minimum,
|
|
7756
7521
|
queryKey: [QUERY_KEYS2.binanceQuote, walletAddress, selectedPaymentMode, srcQueryAmount],
|
|
@@ -7766,7 +7531,7 @@ function Binance(props) {
|
|
|
7766
7531
|
[lumiaNetworkError, paymentMethodsError, quoteError],
|
|
7767
7532
|
setSrcInputAmount
|
|
7768
7533
|
);
|
|
7769
|
-
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = (0,
|
|
7534
|
+
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = (0, import_react_query7.useMutation)({
|
|
7770
7535
|
mutationFn: async () => {
|
|
7771
7536
|
setRedirecting(true);
|
|
7772
7537
|
const returnUrl = window.location.href.split("?")[0];
|
|
@@ -7852,36 +7617,25 @@ function Binance(props) {
|
|
|
7852
7617
|
}
|
|
7853
7618
|
|
|
7854
7619
|
// src/internal/components/BuyMenu/rampnow/Rampnow.tsx
|
|
7855
|
-
var
|
|
7620
|
+
var import_react_query8 = require("@tanstack/react-query");
|
|
7856
7621
|
var import_lucide_react16 = require("lucide-react");
|
|
7857
7622
|
var import_react21 = require("react");
|
|
7858
7623
|
|
|
7859
7624
|
// src/internal/components/BuyMenu/rampnow/api.ts
|
|
7860
|
-
|
|
7625
|
+
init_iframe_manager();
|
|
7861
7626
|
async function getRampnowConfigQuery() {
|
|
7862
|
-
const
|
|
7863
|
-
|
|
7864
|
-
|
|
7865
|
-
|
|
7866
|
-
});
|
|
7867
|
-
const data = await response.json();
|
|
7868
|
-
return data;
|
|
7627
|
+
const iframeManager = getIframeManager();
|
|
7628
|
+
if (!iframeManager) {
|
|
7629
|
+
throw new Error("Iframe manager is not initialized");
|
|
7630
|
+
}
|
|
7631
|
+
return await iframeManager.sendMessage("RAMPNOW_GET_CONFIG", {});
|
|
7869
7632
|
}
|
|
7870
7633
|
async function getRampOrderQuoteQuery(payload) {
|
|
7871
|
-
const
|
|
7872
|
-
|
|
7873
|
-
|
|
7874
|
-
headers: {
|
|
7875
|
-
"Content-Type": "application/json",
|
|
7876
|
-
...auth && { Authorization: auth }
|
|
7877
|
-
},
|
|
7878
|
-
body: JSON.stringify(payload)
|
|
7879
|
-
});
|
|
7880
|
-
const data = await response.json();
|
|
7881
|
-
if (!data.data) {
|
|
7882
|
-
throw new Error(`${data.code}: ${data.message}`);
|
|
7634
|
+
const iframeManager = getIframeManager();
|
|
7635
|
+
if (!iframeManager) {
|
|
7636
|
+
throw new Error("Iframe manager is not initialized");
|
|
7883
7637
|
}
|
|
7884
|
-
return
|
|
7638
|
+
return await iframeManager.sendMessage("RAMPNOW_GET_ORDER_QUOTE", payload);
|
|
7885
7639
|
}
|
|
7886
7640
|
|
|
7887
7641
|
// src/internal/components/BuyMenu/rampnow/constants.ts
|
|
@@ -7918,7 +7672,7 @@ function Rampnow(props) {
|
|
|
7918
7672
|
setSrcInputAmount,
|
|
7919
7673
|
setMinAmount
|
|
7920
7674
|
} = control;
|
|
7921
|
-
const qc = (0,
|
|
7675
|
+
const qc = (0, import_react_query8.useQueryClient)();
|
|
7922
7676
|
(0, import_react21.useEffect)(() => {
|
|
7923
7677
|
setMinAmount(MINIMUM_RAMP_AMOUNT);
|
|
7924
7678
|
setPaymentMode(PAYMENT_MODES[0].id);
|
|
@@ -7927,7 +7681,7 @@ function Rampnow(props) {
|
|
|
7927
7681
|
data: configData,
|
|
7928
7682
|
isLoading: isConfigLoading,
|
|
7929
7683
|
error: configError
|
|
7930
|
-
} = (0,
|
|
7684
|
+
} = (0, import_react_query8.useQuery)({
|
|
7931
7685
|
retry: false,
|
|
7932
7686
|
enabled: !!walletAddress,
|
|
7933
7687
|
queryKey: [QUERY_KEYS2.getRampNowConfig, walletAddress],
|
|
@@ -7937,7 +7691,7 @@ function Rampnow(props) {
|
|
|
7937
7691
|
data: quoteData,
|
|
7938
7692
|
isLoading: isQuoteDataLoading,
|
|
7939
7693
|
error: quoteError
|
|
7940
|
-
} = (0,
|
|
7694
|
+
} = (0, import_react_query8.useQuery)({
|
|
7941
7695
|
retry: false,
|
|
7942
7696
|
enabled: !!configData && !!walletAddress && !!paymentMode && srcQueryAmount >= MINIMUM_RAMP_AMOUNT,
|
|
7943
7697
|
queryKey: [QUERY_KEYS2.getRampNowQuote, walletAddress, srcQueryAmount, paymentMode],
|
|
@@ -7947,7 +7701,7 @@ function Rampnow(props) {
|
|
|
7947
7701
|
paymentMode
|
|
7948
7702
|
})
|
|
7949
7703
|
});
|
|
7950
|
-
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = (0,
|
|
7704
|
+
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = (0, import_react_query8.useMutation)({
|
|
7951
7705
|
mutationFn: async () => {
|
|
7952
7706
|
if (!configData?.apiKey?.length || !configData?.orderUrl?.length) {
|
|
7953
7707
|
throw new Error("RampNow order service is not available");
|
|
@@ -8172,7 +7926,7 @@ var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
|
8172
7926
|
function KeyshareBackupMenu() {
|
|
8173
7927
|
const session = useLumiaPassportSession((st) => st.session);
|
|
8174
7928
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
8175
|
-
const
|
|
7929
|
+
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
8176
7930
|
const userId = session?.mpcUserId || "";
|
|
8177
7931
|
const onBackupSuccess = () => console.log("[ConnectWalletButton] Backup created successfully");
|
|
8178
7932
|
(0, import_react23.useEffect)(() => {
|
|
@@ -8327,7 +8081,7 @@ function KeyshareBackupMenu() {
|
|
|
8327
8081
|
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
8328
8082
|
"div",
|
|
8329
8083
|
{
|
|
8330
|
-
style: { "--l-pass-scrollbar-mah": `${
|
|
8084
|
+
style: { "--l-pass-scrollbar-mah": `${maxScrollHeight}px` },
|
|
8331
8085
|
className: "list-scrollbar-y w-full",
|
|
8332
8086
|
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
|
|
8333
8087
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
@@ -8464,7 +8218,7 @@ function KeyshareBackupMenu() {
|
|
|
8464
8218
|
}
|
|
8465
8219
|
|
|
8466
8220
|
// src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
|
|
8467
|
-
var
|
|
8221
|
+
var import_react_query9 = require("@tanstack/react-query");
|
|
8468
8222
|
var import_lucide_react22 = require("lucide-react");
|
|
8469
8223
|
var import_react26 = __toESM(require("react"), 1);
|
|
8470
8224
|
init_vaultClient();
|
|
@@ -8648,7 +8402,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8648
8402
|
config: { current: config },
|
|
8649
8403
|
callbacks
|
|
8650
8404
|
} = useLumiaPassportConfig();
|
|
8651
|
-
const
|
|
8405
|
+
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
8652
8406
|
const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
|
|
8653
8407
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
8654
8408
|
(0, import_react26.useEffect)(() => setIsDialogForced(true), []);
|
|
@@ -8778,7 +8532,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8778
8532
|
};
|
|
8779
8533
|
checkBackupAvailability();
|
|
8780
8534
|
}, [recoveryUserId]);
|
|
8781
|
-
const { mutate: restoreFromServer2, isPending: isRestoringFromServer } = (0,
|
|
8535
|
+
const { mutate: restoreFromServer2, isPending: isRestoringFromServer } = (0, import_react_query9.useMutation)({
|
|
8782
8536
|
mutationFn: async () => {
|
|
8783
8537
|
setError(null);
|
|
8784
8538
|
setSuccess(null);
|
|
@@ -8813,7 +8567,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8813
8567
|
setError(errorMsg);
|
|
8814
8568
|
}
|
|
8815
8569
|
});
|
|
8816
|
-
const { mutate: restoreFromFile, isPending: isRestoringFromFile } = (0,
|
|
8570
|
+
const { mutate: restoreFromFile, isPending: isRestoringFromFile } = (0, import_react_query9.useMutation)({
|
|
8817
8571
|
mutationFn: async () => {
|
|
8818
8572
|
if (!restoreFile) {
|
|
8819
8573
|
throw new Error("Please select a backup file");
|
|
@@ -8847,7 +8601,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8847
8601
|
setError(errorMsg);
|
|
8848
8602
|
}
|
|
8849
8603
|
});
|
|
8850
|
-
const { mutate: disconnect, isPending: isDisconnecting } = (0,
|
|
8604
|
+
const { mutate: disconnect, isPending: isDisconnecting } = (0, import_react_query9.useMutation)({
|
|
8851
8605
|
mutationFn: async () => {
|
|
8852
8606
|
setError(null);
|
|
8853
8607
|
setStatus("disconnecting");
|
|
@@ -8876,7 +8630,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8876
8630
|
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
8877
8631
|
"div",
|
|
8878
8632
|
{
|
|
8879
|
-
style: { "--l-pass-scrollbar-mah": `${
|
|
8633
|
+
style: { "--l-pass-scrollbar-mah": `${maxScrollHeight}px` },
|
|
8880
8634
|
className: "list-scrollbar-y w-full",
|
|
8881
8635
|
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
|
|
8882
8636
|
checkingBackup && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] text-center justify-center items-center", children: [
|
|
@@ -8945,8 +8699,8 @@ var import_react27 = require("react");
|
|
|
8945
8699
|
init_httpClient();
|
|
8946
8700
|
|
|
8947
8701
|
// src/config/queryClient.ts
|
|
8948
|
-
var
|
|
8949
|
-
var queryClient = new
|
|
8702
|
+
var import_react_query10 = require("@tanstack/react-query");
|
|
8703
|
+
var queryClient = new import_react_query10.QueryClient({
|
|
8950
8704
|
defaultOptions: {
|
|
8951
8705
|
queries: {
|
|
8952
8706
|
staleTime: 1e3 * 60 * 6,
|
|
@@ -9151,12 +8905,12 @@ var KycContent = () => {
|
|
|
9151
8905
|
};
|
|
9152
8906
|
function KycMenu() {
|
|
9153
8907
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
9154
|
-
const
|
|
8908
|
+
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
9155
8909
|
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
9156
8910
|
"div",
|
|
9157
8911
|
{
|
|
9158
8912
|
style: {
|
|
9159
|
-
"--l-pass-scrollbar-mah": `${
|
|
8913
|
+
"--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
|
|
9160
8914
|
"--l-pass-list-scrollbar-pd-r": "4px",
|
|
9161
8915
|
"paddingTop": "var(--l-pass-pd)",
|
|
9162
8916
|
"paddingBottom": "var(--l-pass-pd)",
|
|
@@ -9254,12 +9008,12 @@ function MainMenu() {
|
|
|
9254
9008
|
}
|
|
9255
9009
|
|
|
9256
9010
|
// src/internal/components/ManageWalletMenu/ManageWallet.tsx
|
|
9257
|
-
var
|
|
9011
|
+
var import_lodash_es3 = require("lodash-es");
|
|
9258
9012
|
var import_lucide_react30 = require("lucide-react");
|
|
9259
9013
|
var import_react32 = require("react");
|
|
9260
9014
|
|
|
9261
9015
|
// src/modules/linkedProfiles.ts
|
|
9262
|
-
var
|
|
9016
|
+
var import_react_query11 = require("@tanstack/react-query");
|
|
9263
9017
|
var import_react29 = require("react");
|
|
9264
9018
|
init_auth();
|
|
9265
9019
|
init_common();
|
|
@@ -9280,13 +9034,13 @@ async function getLinkProfilesData() {
|
|
|
9280
9034
|
return { profiles: loadedProfiles, avatar };
|
|
9281
9035
|
}
|
|
9282
9036
|
function useLumiaPassportLinkedProfiles() {
|
|
9283
|
-
const qc = (0,
|
|
9037
|
+
const qc = (0, import_react_query11.useQueryClient)();
|
|
9284
9038
|
const address = useLumiaPassportSession((st) => st.address);
|
|
9285
9039
|
const {
|
|
9286
9040
|
data,
|
|
9287
9041
|
isFetching: isLoading,
|
|
9288
9042
|
error
|
|
9289
|
-
} = (0,
|
|
9043
|
+
} = (0, import_react_query11.useQuery)({
|
|
9290
9044
|
retry: false,
|
|
9291
9045
|
enabled: !!address,
|
|
9292
9046
|
queryKey: [LINKED_PROFILES_QUERY_KEY, address],
|
|
@@ -9300,14 +9054,45 @@ function useLumiaPassportLinkedProfiles() {
|
|
|
9300
9054
|
}
|
|
9301
9055
|
|
|
9302
9056
|
// src/internal/components/ManageWalletMenu/AddProvider.tsx
|
|
9303
|
-
var
|
|
9057
|
+
var import_react_query16 = require("@tanstack/react-query");
|
|
9304
9058
|
init_passkey2();
|
|
9305
9059
|
|
|
9306
9060
|
// src/internal/components/ManageWalletMenu/EmailForm.tsx
|
|
9307
9061
|
init_lumiaPassport();
|
|
9308
|
-
var
|
|
9062
|
+
var import_react_query12 = require("@tanstack/react-query");
|
|
9309
9063
|
var import_lucide_react27 = require("lucide-react");
|
|
9310
9064
|
init_projectId();
|
|
9065
|
+
|
|
9066
|
+
// src/internal/components/ManageWalletMenu/hooks/useStore.ts
|
|
9067
|
+
var import_zustand4 = require("zustand");
|
|
9068
|
+
var useManageWalletStore = (0, import_zustand4.create)((set) => ({
|
|
9069
|
+
emailStep: "input",
|
|
9070
|
+
email: "",
|
|
9071
|
+
emailCode: "",
|
|
9072
|
+
emailCodeSentError: "",
|
|
9073
|
+
emailCodeExpiresIn: 0,
|
|
9074
|
+
isWalletLinking: false,
|
|
9075
|
+
linkIsLoading: false,
|
|
9076
|
+
linkError: "",
|
|
9077
|
+
verificationError: "",
|
|
9078
|
+
providerType: null,
|
|
9079
|
+
confirmUnlink: null,
|
|
9080
|
+
setEmailStep: (emailStep) => set({ emailStep }),
|
|
9081
|
+
setEmail: (email) => set({ email }),
|
|
9082
|
+
setEmailCode: (emailCode) => set({ emailCode }),
|
|
9083
|
+
setEmailCodeSentError: (emailCodeSentError) => set({ emailCodeSentError }),
|
|
9084
|
+
setEmailCodeExpiresIn: (emailCodeExpiresIn) => set({ emailCodeExpiresIn }),
|
|
9085
|
+
setIsWalletLinking: (isWalletLinking) => set({ isWalletLinking }),
|
|
9086
|
+
setLinkIsLoading: (linkIsLoading) => set({ linkIsLoading }),
|
|
9087
|
+
setLinkError: (linkError) => set({ linkError }),
|
|
9088
|
+
setVerificationError: (verificationError) => set({ verificationError }),
|
|
9089
|
+
setProviderType: (providerType) => {
|
|
9090
|
+
set({ providerType });
|
|
9091
|
+
},
|
|
9092
|
+
setConfirmUnlink: (confirmUnlink) => set({ confirmUnlink })
|
|
9093
|
+
}));
|
|
9094
|
+
|
|
9095
|
+
// src/internal/components/ManageWalletMenu/EmailForm.tsx
|
|
9311
9096
|
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
9312
9097
|
function EmailForm() {
|
|
9313
9098
|
const {
|
|
@@ -9317,7 +9102,7 @@ function EmailForm() {
|
|
|
9317
9102
|
const isLoading = useLumiaPassportSession((st) => st.isLoading);
|
|
9318
9103
|
const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
|
|
9319
9104
|
const { email, setEmail, setEmailCodeSentError, setEmailCodeExpiresIn, setEmailStep } = useManageWalletStore();
|
|
9320
|
-
const { mutate: onSendVerificationCode } = (0,
|
|
9105
|
+
const { mutate: onSendVerificationCode } = (0, import_react_query12.useMutation)({
|
|
9321
9106
|
mutationFn: async () => {
|
|
9322
9107
|
if (!email) return;
|
|
9323
9108
|
setIsLoading(true);
|
|
@@ -9394,13 +9179,13 @@ function EmailForm() {
|
|
|
9394
9179
|
}
|
|
9395
9180
|
|
|
9396
9181
|
// src/internal/components/ManageWalletMenu/hooks/useProvidersList.ts
|
|
9397
|
-
var
|
|
9182
|
+
var import_react_query13 = require("@tanstack/react-query");
|
|
9398
9183
|
init_common();
|
|
9399
9184
|
var PROVIDERS_QUERY_KEY = "lumia-passport-providers-query";
|
|
9400
9185
|
function useProvidersList() {
|
|
9401
9186
|
const address = useLumiaPassportSession((st) => st.address);
|
|
9402
9187
|
const page = useLayoutDataStore((st) => st.page);
|
|
9403
|
-
return (0,
|
|
9188
|
+
return (0, import_react_query13.useQuery)({
|
|
9404
9189
|
retry: false,
|
|
9405
9190
|
enabled: !!address && page === "manage-wallet" /* MANAGE_WALLET */,
|
|
9406
9191
|
queryKey: [PROVIDERS_QUERY_KEY, address],
|
|
@@ -9409,11 +9194,11 @@ function useProvidersList() {
|
|
|
9409
9194
|
}
|
|
9410
9195
|
|
|
9411
9196
|
// src/internal/components/ManageWalletMenu/hooks/useSendVerificationCode.ts
|
|
9412
|
-
var
|
|
9197
|
+
var import_react_query14 = require("@tanstack/react-query");
|
|
9413
9198
|
init_email();
|
|
9414
9199
|
function useSendVerificationCode() {
|
|
9415
9200
|
const { setVerificationError, setLinkIsLoading, setEmailCodeSentError, setEmailCodeExpiresIn } = useManageWalletStore();
|
|
9416
|
-
return (0,
|
|
9201
|
+
return (0, import_react_query14.useMutation)({
|
|
9417
9202
|
mutationFn: async (email) => {
|
|
9418
9203
|
if (!email) {
|
|
9419
9204
|
throw new Error("Email is required");
|
|
@@ -9436,11 +9221,11 @@ function useSendVerificationCode() {
|
|
|
9436
9221
|
}
|
|
9437
9222
|
|
|
9438
9223
|
// src/internal/components/ManageWalletMenu/hooks/useVerifyCode.ts
|
|
9439
|
-
var
|
|
9224
|
+
var import_react_query15 = require("@tanstack/react-query");
|
|
9440
9225
|
init_email();
|
|
9441
9226
|
function useVerifyCode() {
|
|
9442
9227
|
const { callbacks } = useLumiaPassportConfig();
|
|
9443
|
-
const qc = (0,
|
|
9228
|
+
const qc = (0, import_react_query15.useQueryClient)();
|
|
9444
9229
|
const address = useLumiaPassportSession((st) => st.address);
|
|
9445
9230
|
const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
|
|
9446
9231
|
const {
|
|
@@ -9454,7 +9239,7 @@ function useVerifyCode() {
|
|
|
9454
9239
|
setVerificationError,
|
|
9455
9240
|
setEmailCodeSentError
|
|
9456
9241
|
} = useManageWalletStore();
|
|
9457
|
-
return (0,
|
|
9242
|
+
return (0, import_react_query15.useMutation)({
|
|
9458
9243
|
mutationFn: async (codeToVerify) => {
|
|
9459
9244
|
const code = codeToVerify ?? emailCode;
|
|
9460
9245
|
if (!code) {
|
|
@@ -9504,7 +9289,7 @@ function normalizePasskeyLinkError(msg) {
|
|
|
9504
9289
|
return msg;
|
|
9505
9290
|
}
|
|
9506
9291
|
function AddProvider() {
|
|
9507
|
-
const qc = (0,
|
|
9292
|
+
const qc = (0, import_react_query16.useQueryClient)();
|
|
9508
9293
|
const { callbacks } = useLumiaPassportConfig();
|
|
9509
9294
|
const address = useLumiaPassportSession((st) => st.address);
|
|
9510
9295
|
const {
|
|
@@ -9664,11 +9449,11 @@ function EmailNotConnectedWarning() {
|
|
|
9664
9449
|
}
|
|
9665
9450
|
|
|
9666
9451
|
// src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts
|
|
9667
|
-
var
|
|
9452
|
+
var import_react_query17 = require("@tanstack/react-query");
|
|
9668
9453
|
var import_react30 = __toESM(require("react"), 1);
|
|
9669
9454
|
init_auth();
|
|
9670
9455
|
function useLinkSocial() {
|
|
9671
|
-
const qc = (0,
|
|
9456
|
+
const qc = (0, import_react_query17.useQueryClient)();
|
|
9672
9457
|
const address = useLumiaPassportSession((st) => st.address);
|
|
9673
9458
|
const {
|
|
9674
9459
|
config: { current: config },
|
|
@@ -9749,7 +9534,7 @@ function useLinkSocial() {
|
|
|
9749
9534
|
}
|
|
9750
9535
|
|
|
9751
9536
|
// src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
|
|
9752
|
-
var
|
|
9537
|
+
var import_react_query18 = require("@tanstack/react-query");
|
|
9753
9538
|
var import_react31 = require("react");
|
|
9754
9539
|
init_telegram2();
|
|
9755
9540
|
function useLinkTelegram() {
|
|
@@ -9757,7 +9542,7 @@ function useLinkTelegram() {
|
|
|
9757
9542
|
config: { current: config },
|
|
9758
9543
|
callbacks
|
|
9759
9544
|
} = useLumiaPassportConfig();
|
|
9760
|
-
const qc = (0,
|
|
9545
|
+
const qc = (0, import_react_query18.useQueryClient)();
|
|
9761
9546
|
const address = useLumiaPassportSession((st) => st.address);
|
|
9762
9547
|
const { providerType, linkIsLoading, isWalletLinking, setLinkIsLoading, setProviderType, setLinkError } = useManageWalletStore();
|
|
9763
9548
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
@@ -9898,7 +9683,7 @@ function getConfiguredProviders(config) {
|
|
|
9898
9683
|
});
|
|
9899
9684
|
return acc;
|
|
9900
9685
|
},
|
|
9901
|
-
(0,
|
|
9686
|
+
(0, import_lodash_es3.fromPairs)(POSSIBLE_PROVIDERS.map((p) => [p, false]))
|
|
9902
9687
|
);
|
|
9903
9688
|
}
|
|
9904
9689
|
function ManageWalletMenu() {
|
|
@@ -9924,9 +9709,8 @@ function ManageWalletMenu() {
|
|
|
9924
9709
|
} = useManageWalletStore();
|
|
9925
9710
|
const configuredProviders = getConfiguredProviders(config);
|
|
9926
9711
|
const { data: providers = [], isLoading: isProvidersLoading, error: providersError } = useProvidersList();
|
|
9927
|
-
console.log("[MANAGE WALLET MENU] RENDER", providers);
|
|
9928
9712
|
const renderProviders = (0, import_react32.useMemo)(() => {
|
|
9929
|
-
const usedProviders = (0,
|
|
9713
|
+
const usedProviders = (0, import_lodash_es3.fromPairs)(providers.map((p) => [p.provider, true]));
|
|
9930
9714
|
const used = [];
|
|
9931
9715
|
const unused = [];
|
|
9932
9716
|
POSSIBLE_PROVIDERS.forEach((provider, providerIdx) => {
|
|
@@ -10027,19 +9811,19 @@ function ManageWalletMenu() {
|
|
|
10027
9811
|
}
|
|
10028
9812
|
|
|
10029
9813
|
// src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx
|
|
10030
|
-
var
|
|
9814
|
+
var import_react_query19 = require("@tanstack/react-query");
|
|
10031
9815
|
var import_lucide_react31 = require("lucide-react");
|
|
10032
9816
|
var import_react33 = require("react");
|
|
10033
9817
|
init_auth();
|
|
10034
9818
|
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
10035
9819
|
function UnlinkProviderMenu() {
|
|
10036
|
-
const qc = (0,
|
|
9820
|
+
const qc = (0, import_react_query19.useQueryClient)();
|
|
10037
9821
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10038
9822
|
const { callbacks } = useLumiaPassportConfig();
|
|
10039
9823
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10040
9824
|
const { confirmUnlink, setConfirmUnlink, setLinkError } = useManageWalletStore();
|
|
10041
9825
|
const [confirmInput, setConfirmInput] = (0, import_react33.useState)("");
|
|
10042
|
-
const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = (0,
|
|
9826
|
+
const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = (0, import_react_query19.useMutation)({
|
|
10043
9827
|
mutationFn: async () => {
|
|
10044
9828
|
if (!confirmUnlink) {
|
|
10045
9829
|
throw new Error("No provider to unlink");
|
|
@@ -10112,7 +9896,7 @@ function UnlinkProviderMenu() {
|
|
|
10112
9896
|
}
|
|
10113
9897
|
|
|
10114
9898
|
// src/internal/components/PortfolioMenu/PortfolioMenu.tsx
|
|
10115
|
-
var
|
|
9899
|
+
var import_react_query21 = require("@tanstack/react-query");
|
|
10116
9900
|
var import_lucide_react33 = require("lucide-react");
|
|
10117
9901
|
var import_react35 = require("react");
|
|
10118
9902
|
|
|
@@ -10278,7 +10062,7 @@ function useTokenBalance(tokenAddress, userAddress) {
|
|
|
10278
10062
|
}
|
|
10279
10063
|
|
|
10280
10064
|
// src/internal/components/PortfolioMenu/PortfolioItem.tsx
|
|
10281
|
-
var
|
|
10065
|
+
var import_react_query20 = require("@tanstack/react-query");
|
|
10282
10066
|
var import_lucide_react32 = require("lucide-react");
|
|
10283
10067
|
init_base();
|
|
10284
10068
|
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
@@ -10300,7 +10084,7 @@ function formatValue(price) {
|
|
|
10300
10084
|
function openInExplorer(address) {
|
|
10301
10085
|
window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
|
|
10302
10086
|
}
|
|
10303
|
-
async function
|
|
10087
|
+
async function getAssetRate2(symbol) {
|
|
10304
10088
|
const assetURL = `https://api.binance.com/api/v3/ticker/price?symbol=${symbol.toUpperCase()}USDT`;
|
|
10305
10089
|
const response = await fetch(assetURL);
|
|
10306
10090
|
return await response.json();
|
|
@@ -10309,15 +10093,15 @@ var ASSETS_RATES_QUERY_KEY = "lumia-passport-assets-rates-query-key";
|
|
|
10309
10093
|
function PortfolioItem(props) {
|
|
10310
10094
|
const { address, asset, isProjectAsset } = props;
|
|
10311
10095
|
const { assets: projectAssets, showBalanceAs: showBalanceAsSymbol } = useLumiaPassportConfig().config.current.projectAssets || {};
|
|
10312
|
-
const qc = (0,
|
|
10096
|
+
const qc = (0, import_react_query20.useQueryClient)();
|
|
10313
10097
|
const { balanceQueryKey } = projectAssets?.find((a) => a.symbol === showBalanceAsSymbol) || {};
|
|
10314
10098
|
const projectAssetBalance = !!balanceQueryKey ? qc.getQueryData(balanceQueryKey) : null;
|
|
10315
|
-
const { data: assetRate, isLoading: isRateLoading } = (0,
|
|
10099
|
+
const { data: assetRate, isLoading: isRateLoading } = (0, import_react_query20.useQuery)({
|
|
10316
10100
|
retry: false,
|
|
10317
10101
|
staleTime: 4 * 60 * 1e3,
|
|
10318
10102
|
enabled: !!address && !!asset.symbol && !isProjectAsset,
|
|
10319
10103
|
queryKey: [ASSETS_RATES_QUERY_KEY, address, asset.symbol],
|
|
10320
|
-
queryFn: async () => await
|
|
10104
|
+
queryFn: async () => await getAssetRate2(asset.symbol)
|
|
10321
10105
|
});
|
|
10322
10106
|
const renderBalance = isProjectAsset && projectAssetBalance?.fiatFormatted ? projectAssetBalance.fiatFormatted : asset.formattedBalance;
|
|
10323
10107
|
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
@@ -10371,9 +10155,9 @@ function PortfolioItem(props) {
|
|
|
10371
10155
|
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
10372
10156
|
function PortfolioMenu() {
|
|
10373
10157
|
const { assets: projectAssets = [] } = useLumiaPassportConfig().config.current?.projectAssets || {};
|
|
10374
|
-
const qc = (0,
|
|
10158
|
+
const qc = (0, import_react_query21.useQueryClient)();
|
|
10375
10159
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10376
|
-
const
|
|
10160
|
+
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
10377
10161
|
const assetsContainerListRef = (0, import_react35.useRef)(null);
|
|
10378
10162
|
const assetsListRef = (0, import_react35.useRef)(null);
|
|
10379
10163
|
const address = useLumiaPassportSession((st) => st.address);
|
|
@@ -10384,7 +10168,7 @@ function PortfolioMenu() {
|
|
|
10384
10168
|
}, [qc, projectAssets, refreshBalances]);
|
|
10385
10169
|
(0, import_react35.useEffect)(() => {
|
|
10386
10170
|
if (!assetsContainerListRef.current || !assetsListRef.current) return;
|
|
10387
|
-
const listTargetHeight =
|
|
10171
|
+
const listTargetHeight = maxScrollHeight - 128;
|
|
10388
10172
|
assetsContainerListRef.current.style.setProperty("--l-pass-scrollbar-mah", `${listTargetHeight}px`);
|
|
10389
10173
|
assetsContainerListRef.current.style.setProperty(
|
|
10390
10174
|
"--l-pass-list-bd",
|
|
@@ -10396,7 +10180,7 @@ function PortfolioMenu() {
|
|
|
10396
10180
|
assetsListRef.current.clientHeight >= listTargetHeight ? "4px" : "0px"
|
|
10397
10181
|
// remove padding if no scrollbar
|
|
10398
10182
|
);
|
|
10399
|
-
}, [
|
|
10183
|
+
}, [maxScrollHeight]);
|
|
10400
10184
|
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
10401
10185
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
10402
10186
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react33.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
@@ -10962,7 +10746,7 @@ function ReceiveLumiaMenu() {
|
|
|
10962
10746
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10963
10747
|
const page = useLayoutDataStore((st) => st.page);
|
|
10964
10748
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10965
|
-
const
|
|
10749
|
+
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
10966
10750
|
const open = page === "receive";
|
|
10967
10751
|
const [qrCodeUrl, setQrCodeUrl] = (0, import_react39.useState)("");
|
|
10968
10752
|
const [copied, setCopied] = (0, import_react39.useState)(false);
|
|
@@ -10993,7 +10777,7 @@ function ReceiveLumiaMenu() {
|
|
|
10993
10777
|
"div",
|
|
10994
10778
|
{
|
|
10995
10779
|
style: {
|
|
10996
|
-
"--l-pass-scrollbar-mah": `${
|
|
10780
|
+
"--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
|
|
10997
10781
|
"--l-pass-list-scrollbar-pd-r": "8px"
|
|
10998
10782
|
},
|
|
10999
10783
|
className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
|
|
@@ -11117,7 +10901,7 @@ function TermsOfService() {
|
|
|
11117
10901
|
}
|
|
11118
10902
|
|
|
11119
10903
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
11120
|
-
var
|
|
10904
|
+
var import_react_query22 = require("@tanstack/react-query");
|
|
11121
10905
|
var import_lucide_react41 = require("lucide-react");
|
|
11122
10906
|
var import_react41 = require("react");
|
|
11123
10907
|
|
|
@@ -11595,11 +11379,11 @@ function TransactionsGroup(props) {
|
|
|
11595
11379
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
11596
11380
|
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
11597
11381
|
function TransactionsMenu() {
|
|
11598
|
-
const qc = (0,
|
|
11382
|
+
const qc = (0, import_react_query22.useQueryClient)();
|
|
11599
11383
|
const address = useLumiaPassportSession((st) => st.address);
|
|
11600
11384
|
const page = useLayoutDataStore((st) => st.page);
|
|
11601
11385
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11602
|
-
const
|
|
11386
|
+
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
11603
11387
|
const txContainerListRef = (0, import_react41.useRef)(null);
|
|
11604
11388
|
const txListRef = (0, import_react41.useRef)(null);
|
|
11605
11389
|
const [expandedGroups, setExpandedGroups] = (0, import_react41.useState)({});
|
|
@@ -11608,7 +11392,7 @@ function TransactionsMenu() {
|
|
|
11608
11392
|
isLoading: isTxHistoryLoading,
|
|
11609
11393
|
isFetching: isTxHistoryFetching,
|
|
11610
11394
|
error: txHistoryError
|
|
11611
|
-
} = (0,
|
|
11395
|
+
} = (0, import_react_query22.useQuery)({
|
|
11612
11396
|
retry: false,
|
|
11613
11397
|
enabled: !!address && page === "transactions",
|
|
11614
11398
|
queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
|
|
@@ -11621,7 +11405,7 @@ function TransactionsMenu() {
|
|
|
11621
11405
|
const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
|
|
11622
11406
|
(0, import_react41.useEffect)(() => {
|
|
11623
11407
|
if (!txContainerListRef.current || !txListRef.current) return;
|
|
11624
|
-
const listTargetHeight =
|
|
11408
|
+
const listTargetHeight = maxScrollHeight - 128;
|
|
11625
11409
|
txContainerListRef.current.style.setProperty("--l-pass-scrollbar-mah", `${listTargetHeight}px`);
|
|
11626
11410
|
txContainerListRef.current.style.setProperty(
|
|
11627
11411
|
"--l-pass-list-bd",
|
|
@@ -11633,7 +11417,7 @@ function TransactionsMenu() {
|
|
|
11633
11417
|
txListRef.current.clientHeight >= listTargetHeight ? "4px" : "0px"
|
|
11634
11418
|
// remove padding if no scrollbar
|
|
11635
11419
|
);
|
|
11636
|
-
}, [
|
|
11420
|
+
}, [maxScrollHeight]);
|
|
11637
11421
|
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
11638
11422
|
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
11639
11423
|
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react41.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
@@ -11889,7 +11673,6 @@ function useWalletStatus() {
|
|
|
11889
11673
|
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
11890
11674
|
function LumiaPassportDialog() {
|
|
11891
11675
|
const config = useLumiaPassportConfig().config;
|
|
11892
|
-
const isWalletLinking = useManageWalletStore((st) => st.isWalletLinking);
|
|
11893
11676
|
const className = config.current?.ui?.dialogClassName;
|
|
11894
11677
|
const session = useLumiaPassportSession((st) => st.session);
|
|
11895
11678
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -11901,14 +11684,13 @@ function LumiaPassportDialog() {
|
|
|
11901
11684
|
useAutoConnect();
|
|
11902
11685
|
useCheckVaultStatus();
|
|
11903
11686
|
useBackupStatusChanges();
|
|
11904
|
-
|
|
11687
|
+
useDetectMaxScrollHeight();
|
|
11905
11688
|
useSettingsNotifications();
|
|
11906
11689
|
useWalletStatus();
|
|
11907
11690
|
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
11908
11691
|
Dialog,
|
|
11909
11692
|
{
|
|
11910
11693
|
open: isDialogOpen,
|
|
11911
|
-
modal: !isWalletLinking,
|
|
11912
11694
|
onOpenChange: (open) => {
|
|
11913
11695
|
if (isDialogForced) return;
|
|
11914
11696
|
if (!open) setPage(null);
|
|
@@ -11979,12 +11761,12 @@ var TssManagerWithRef = import_react46.default.forwardRef((props, ref) => {
|
|
|
11979
11761
|
|
|
11980
11762
|
// src/internal/components/WalletConnectHandler.tsx
|
|
11981
11763
|
var import_rainbowkit = require("@rainbow-me/rainbowkit");
|
|
11982
|
-
var
|
|
11764
|
+
var import_react_query23 = require("@tanstack/react-query");
|
|
11983
11765
|
var import_react47 = __toESM(require("react"), 1);
|
|
11984
11766
|
var import_wagmi4 = require("wagmi");
|
|
11985
11767
|
init_wallet();
|
|
11986
11768
|
function WalletConnectHandler() {
|
|
11987
|
-
const qc = (0,
|
|
11769
|
+
const qc = (0, import_react_query23.useQueryClient)();
|
|
11988
11770
|
const { callbacks } = useLumiaPassportConfig();
|
|
11989
11771
|
const userAddress = useLumiaPassportSession((st) => st.address);
|
|
11990
11772
|
const { address: walletAddress, isConnected, chain, connector } = (0, import_wagmi4.useAccount)();
|
|
@@ -11997,22 +11779,28 @@ function WalletConnectHandler() {
|
|
|
11997
11779
|
setIsWalletLinking(false);
|
|
11998
11780
|
setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
11999
11781
|
}, []);
|
|
12000
|
-
const onLinkingComplete = (0, import_react47.useCallback)(
|
|
12001
|
-
|
|
12002
|
-
|
|
12003
|
-
|
|
11782
|
+
const onLinkingComplete = (0, import_react47.useCallback)(
|
|
11783
|
+
async (success) => {
|
|
11784
|
+
console.log("[WalletConnectHandler] onLinkingComplete called:", { success, userAddress });
|
|
11785
|
+
setIsWalletLinking(false);
|
|
12004
11786
|
setProviderType(null);
|
|
12005
11787
|
setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
12006
|
-
|
|
12007
|
-
|
|
12008
|
-
|
|
12009
|
-
|
|
12010
|
-
|
|
12011
|
-
|
|
12012
|
-
|
|
11788
|
+
if (success) {
|
|
11789
|
+
console.log("[WalletConnectHandler] Invalidating and refetching queries with key:", [
|
|
11790
|
+
PROVIDERS_QUERY_KEY,
|
|
11791
|
+
userAddress
|
|
11792
|
+
]);
|
|
11793
|
+
await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, userAddress], refetchType: "active" });
|
|
11794
|
+
await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, userAddress], refetchType: "active" });
|
|
11795
|
+
await qc.refetchQueries({ queryKey: [PROVIDERS_QUERY_KEY, userAddress] });
|
|
11796
|
+
try {
|
|
11797
|
+
callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, userAddress]) });
|
|
11798
|
+
} catch {
|
|
11799
|
+
}
|
|
12013
11800
|
}
|
|
12014
|
-
}
|
|
12015
|
-
|
|
11801
|
+
},
|
|
11802
|
+
[qc, userAddress, callbacks, setProviderType, setPage, setIsWalletLinking]
|
|
11803
|
+
);
|
|
12016
11804
|
const { openConnectModal, connectModalOpen } = (0, import_rainbowkit.useConnectModal)();
|
|
12017
11805
|
const [hasStartedLinking, setHasStartedLinking] = import_react47.default.useState(false);
|
|
12018
11806
|
const timeoutRef = import_react47.default.useRef();
|
|
@@ -12024,27 +11812,30 @@ function WalletConnectHandler() {
|
|
|
12024
11812
|
disconnect();
|
|
12025
11813
|
setTimeout(() => {
|
|
12026
11814
|
if (openConnectModal) {
|
|
11815
|
+
setPage(null);
|
|
12027
11816
|
openConnectModal();
|
|
12028
11817
|
}
|
|
12029
|
-
},
|
|
11818
|
+
}, 500);
|
|
12030
11819
|
} else {
|
|
12031
11820
|
if (openConnectModal) {
|
|
11821
|
+
setPage(null);
|
|
12032
11822
|
openConnectModal();
|
|
12033
11823
|
}
|
|
12034
11824
|
}
|
|
12035
11825
|
}
|
|
12036
11826
|
if (!isWalletLinking && hasStartedLinking) {
|
|
12037
11827
|
setHasStartedLinking(false);
|
|
12038
|
-
if (timeoutRef.current)
|
|
12039
|
-
|
|
12040
|
-
}
|
|
12041
|
-
if (isConnected) {
|
|
12042
|
-
disconnect();
|
|
12043
|
-
}
|
|
11828
|
+
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
11829
|
+
if (isConnected) disconnect();
|
|
12044
11830
|
}
|
|
12045
|
-
}, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect]);
|
|
11831
|
+
}, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect, setPage, setProviderType]);
|
|
12046
11832
|
(0, import_react47.useEffect)(() => {
|
|
12047
|
-
console.log("[WalletConnectHandler] Modal state check:", {
|
|
11833
|
+
console.log("[WalletConnectHandler] Modal state check:", {
|
|
11834
|
+
hasStartedLinking,
|
|
11835
|
+
connectModalOpen,
|
|
11836
|
+
isConnected,
|
|
11837
|
+
isWalletLinking
|
|
11838
|
+
});
|
|
12048
11839
|
if (hasStartedLinking && !connectModalOpen && !isConnected && isWalletLinking) {
|
|
12049
11840
|
console.log("[WalletConnectHandler] Modal closed without connecting, resetting state");
|
|
12050
11841
|
onLinkingComplete(false);
|
|
@@ -12136,12 +11927,10 @@ var useLumiaPassportSession = (0, import_zustand5.create)((set) => ({
|
|
|
12136
11927
|
setWalletReadyStatus: (status) => set({ walletReadyStatus: status })
|
|
12137
11928
|
}));
|
|
12138
11929
|
function LumiaPassportSessionProvider({ children }) {
|
|
12139
|
-
const
|
|
12140
|
-
config: { current: config }
|
|
12141
|
-
} = useLumiaPassportConfig();
|
|
11930
|
+
const config = useLumiaPassportConfig().config;
|
|
12142
11931
|
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_react48.Fragment, { children: [
|
|
12143
11932
|
children,
|
|
12144
|
-
config.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(WalletConnectHandler, {}),
|
|
11933
|
+
config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(WalletConnectHandler, {}),
|
|
12145
11934
|
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(BalanceFeedProvider, {}),
|
|
12146
11935
|
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
12147
11936
|
TssManagerWithRef,
|
|
@@ -12235,7 +12024,7 @@ function LumiaPassportProvider(props) {
|
|
|
12235
12024
|
}, []);
|
|
12236
12025
|
(0, import_react49.useEffect)(() => {
|
|
12237
12026
|
if (typeof window === "undefined" || !projectId) return;
|
|
12238
|
-
const mergedConfig = (0,
|
|
12027
|
+
const mergedConfig = (0, import_lodash_es4.merge)(DEFAULT_LUMIA_PASSPORT_CONFIG, initialConfig);
|
|
12239
12028
|
updateConfig(mergedConfig);
|
|
12240
12029
|
console.log("[ MERGED PROVIDER STORED CONFIG ]", mergedConfig);
|
|
12241
12030
|
try {
|
|
@@ -12446,6 +12235,9 @@ function ConnectWalletButton(props) {
|
|
|
12446
12235
|
}
|
|
12447
12236
|
|
|
12448
12237
|
// src/hooks/childAppHooks.ts
|
|
12238
|
+
var useLumiaPassportIsMobileView = () => {
|
|
12239
|
+
return useLayoutStore((st) => st.isMobileView);
|
|
12240
|
+
};
|
|
12449
12241
|
var useLumiaPassportBalance = () => {
|
|
12450
12242
|
const walletBalance = useLayoutDataStore((st) => st.balance);
|
|
12451
12243
|
const fiatBalance = useLayoutDataStore((st) => st.fiatBalance);
|
|
@@ -12723,7 +12515,7 @@ var LumiaRainbowKitProvider = ({ children }) => {
|
|
|
12723
12515
|
|
|
12724
12516
|
// src/internal/components/UserOpStatus.tsx
|
|
12725
12517
|
var import_lucide_react45 = require("lucide-react");
|
|
12726
|
-
var
|
|
12518
|
+
var React16 = __toESM(require("react"), 1);
|
|
12727
12519
|
init_base();
|
|
12728
12520
|
|
|
12729
12521
|
// src/internal/utils/cn.ts
|
|
@@ -12735,7 +12527,7 @@ function cn2(...inputs) {
|
|
|
12735
12527
|
|
|
12736
12528
|
// src/internal/components/Address.tsx
|
|
12737
12529
|
var import_lucide_react44 = require("lucide-react");
|
|
12738
|
-
var
|
|
12530
|
+
var React15 = __toESM(require("react"), 1);
|
|
12739
12531
|
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
12740
12532
|
function toExplorerAddressUrl(address, chain) {
|
|
12741
12533
|
const base2 = chain?.blockExplorers?.default?.url;
|
|
@@ -12757,7 +12549,7 @@ var Address = ({
|
|
|
12757
12549
|
}) => {
|
|
12758
12550
|
const addr = address || "";
|
|
12759
12551
|
const explorer = toExplorerAddressUrl(addr, chain || void 0);
|
|
12760
|
-
const [copied, setCopied] =
|
|
12552
|
+
const [copied, setCopied] = React15.useState(false);
|
|
12761
12553
|
if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
|
|
12762
12554
|
return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
|
|
12763
12555
|
label && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "text-sm font-medium", children: label }),
|
|
@@ -12830,20 +12622,20 @@ var UserOpStatus = ({
|
|
|
12830
12622
|
externalState
|
|
12831
12623
|
}) => {
|
|
12832
12624
|
const useExternalState = !!externalState;
|
|
12833
|
-
const [internalReceipt, setInternalReceipt] =
|
|
12834
|
-
const [internalMempool, setInternalMempool] =
|
|
12835
|
-
const [internalError, setInternalError] =
|
|
12836
|
-
const [attempt, setAttempt] =
|
|
12837
|
-
const [internalRefreshing, setInternalRefreshing] =
|
|
12838
|
-
const [timedOut, setTimedOut] =
|
|
12839
|
-
const [rejected, setRejected] =
|
|
12840
|
-
const intervalRef =
|
|
12841
|
-
const startTimeRef =
|
|
12625
|
+
const [internalReceipt, setInternalReceipt] = React16.useState(null);
|
|
12626
|
+
const [internalMempool, setInternalMempool] = React16.useState(null);
|
|
12627
|
+
const [internalError, setInternalError] = React16.useState(null);
|
|
12628
|
+
const [attempt, setAttempt] = React16.useState(0);
|
|
12629
|
+
const [internalRefreshing, setInternalRefreshing] = React16.useState(false);
|
|
12630
|
+
const [timedOut, setTimedOut] = React16.useState(false);
|
|
12631
|
+
const [rejected, setRejected] = React16.useState(false);
|
|
12632
|
+
const intervalRef = React16.useRef(null);
|
|
12633
|
+
const startTimeRef = React16.useRef(Date.now());
|
|
12842
12634
|
const receipt = useExternalState ? externalState.receipt ?? null : internalReceipt;
|
|
12843
12635
|
const mempool = useExternalState ? externalState.mempool ?? null : internalMempool;
|
|
12844
12636
|
const error = useExternalState ? externalState.error ?? null : internalError;
|
|
12845
12637
|
const refreshing = useExternalState ? externalState.isPolling ?? false : internalRefreshing;
|
|
12846
|
-
const rpc =
|
|
12638
|
+
const rpc = React16.useCallback(async (method, params) => {
|
|
12847
12639
|
const body = { jsonrpc: "2.0", id: 1, method, params };
|
|
12848
12640
|
const res = await fetch(getBundlerUrl(), {
|
|
12849
12641
|
method: "POST",
|
|
@@ -12854,14 +12646,14 @@ var UserOpStatus = ({
|
|
|
12854
12646
|
if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
|
|
12855
12647
|
return json.result;
|
|
12856
12648
|
}, []);
|
|
12857
|
-
const extractMempoolInfo =
|
|
12649
|
+
const extractMempoolInfo = React16.useCallback((m) => {
|
|
12858
12650
|
if (!m) return null;
|
|
12859
12651
|
const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
|
|
12860
12652
|
const sender = m.sender || m?.userOperation?.sender || null;
|
|
12861
12653
|
if (!entryPoint && !sender) return null;
|
|
12862
12654
|
return { entryPoint, sender };
|
|
12863
12655
|
}, []);
|
|
12864
|
-
const tick =
|
|
12656
|
+
const tick = React16.useCallback(async () => {
|
|
12865
12657
|
if (useExternalState) return;
|
|
12866
12658
|
const elapsed = Date.now() - startTimeRef.current;
|
|
12867
12659
|
if (elapsed > maxPollTimeMs) {
|
|
@@ -12905,7 +12697,7 @@ var UserOpStatus = ({
|
|
|
12905
12697
|
setAttempt((x) => x + 1);
|
|
12906
12698
|
}
|
|
12907
12699
|
}, [rpc, userOpHash, maxPollTimeMs, extractMempoolInfo, useExternalState]);
|
|
12908
|
-
|
|
12700
|
+
React16.useEffect(() => {
|
|
12909
12701
|
if (useExternalState) return;
|
|
12910
12702
|
console.log("[UserOpStatus] Initializing polling for UserOp hash:", userOpHash);
|
|
12911
12703
|
startTimeRef.current = Date.now();
|
|
@@ -12917,7 +12709,7 @@ var UserOpStatus = ({
|
|
|
12917
12709
|
setAttempt(0);
|
|
12918
12710
|
setInternalRefreshing(false);
|
|
12919
12711
|
}, [userOpHash, useExternalState]);
|
|
12920
|
-
|
|
12712
|
+
React16.useEffect(() => {
|
|
12921
12713
|
if (useExternalState) {
|
|
12922
12714
|
console.log("[UserOpStatus] Using external state, skipping internal polling");
|
|
12923
12715
|
return;
|
|
@@ -13094,7 +12886,7 @@ var UserOpStatus = ({
|
|
|
13094
12886
|
|
|
13095
12887
|
// src/internal/components/Hash.tsx
|
|
13096
12888
|
var import_lucide_react46 = require("lucide-react");
|
|
13097
|
-
var
|
|
12889
|
+
var React17 = __toESM(require("react"), 1);
|
|
13098
12890
|
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
13099
12891
|
function toExplorerUrl(kind, value, chain) {
|
|
13100
12892
|
const base2 = chain?.blockExplorers?.default?.url;
|
|
@@ -13118,7 +12910,7 @@ var Hash = ({
|
|
|
13118
12910
|
}) => {
|
|
13119
12911
|
const value = hash || "";
|
|
13120
12912
|
const explorer = toExplorerUrl(kind, value, chain || void 0);
|
|
13121
|
-
const [copied, setCopied] =
|
|
12913
|
+
const [copied, setCopied] = React17.useState(false);
|
|
13122
12914
|
if (!value) return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
|
|
13123
12915
|
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: cn2("flex items-center gap-2", className), children: [
|
|
13124
12916
|
label && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "text-sm font-medium", children: label }),
|
|
@@ -13281,7 +13073,7 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
|
13281
13073
|
};
|
|
13282
13074
|
|
|
13283
13075
|
// src/hooks/useUserOpStatus.ts
|
|
13284
|
-
var
|
|
13076
|
+
var React19 = __toESM(require("react"), 1);
|
|
13285
13077
|
init_base();
|
|
13286
13078
|
function useUserOpStatus(options = {}) {
|
|
13287
13079
|
const {
|
|
@@ -13293,16 +13085,16 @@ function useUserOpStatus(options = {}) {
|
|
|
13293
13085
|
onReceipt,
|
|
13294
13086
|
onTxHash
|
|
13295
13087
|
} = options;
|
|
13296
|
-
const [state, setState] =
|
|
13297
|
-
const [receipt, setReceipt] =
|
|
13298
|
-
const [mempool, setMempool] =
|
|
13299
|
-
const [txHash, setTxHash] =
|
|
13300
|
-
const [error, setError] =
|
|
13301
|
-
const [isPolling, setIsPolling] =
|
|
13302
|
-
const intervalRef =
|
|
13303
|
-
const startTimeRef =
|
|
13304
|
-
const prevStateRef =
|
|
13305
|
-
const rpc =
|
|
13088
|
+
const [state, setState] = React19.useState("waiting");
|
|
13089
|
+
const [receipt, setReceipt] = React19.useState(null);
|
|
13090
|
+
const [mempool, setMempool] = React19.useState(null);
|
|
13091
|
+
const [txHash, setTxHash] = React19.useState(null);
|
|
13092
|
+
const [error, setError] = React19.useState(null);
|
|
13093
|
+
const [isPolling, setIsPolling] = React19.useState(false);
|
|
13094
|
+
const intervalRef = React19.useRef(null);
|
|
13095
|
+
const startTimeRef = React19.useRef(Date.now());
|
|
13096
|
+
const prevStateRef = React19.useRef("waiting");
|
|
13097
|
+
const rpc = React19.useCallback(async (method, params) => {
|
|
13306
13098
|
const body = { jsonrpc: "2.0", id: 1, method, params };
|
|
13307
13099
|
const res = await fetch(getBundlerUrl(), {
|
|
13308
13100
|
method: "POST",
|
|
@@ -13313,21 +13105,21 @@ function useUserOpStatus(options = {}) {
|
|
|
13313
13105
|
if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
|
|
13314
13106
|
return json.result;
|
|
13315
13107
|
}, []);
|
|
13316
|
-
const extractMempoolInfo =
|
|
13108
|
+
const extractMempoolInfo = React19.useCallback((m) => {
|
|
13317
13109
|
if (!m) return null;
|
|
13318
13110
|
const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
|
|
13319
13111
|
const sender = m.sender || m?.userOperation?.sender || null;
|
|
13320
13112
|
if (!entryPoint && !sender) return null;
|
|
13321
13113
|
return { entryPoint, sender };
|
|
13322
13114
|
}, []);
|
|
13323
|
-
const updateState =
|
|
13115
|
+
const updateState = React19.useCallback((newState) => {
|
|
13324
13116
|
setState(newState);
|
|
13325
13117
|
if (prevStateRef.current !== newState) {
|
|
13326
13118
|
prevStateRef.current = newState;
|
|
13327
13119
|
onStateChange?.(newState);
|
|
13328
13120
|
}
|
|
13329
13121
|
}, [onStateChange]);
|
|
13330
|
-
const tick =
|
|
13122
|
+
const tick = React19.useCallback(async () => {
|
|
13331
13123
|
if (!userOpHash || !enabled) return;
|
|
13332
13124
|
if (receipt) {
|
|
13333
13125
|
console.log("[useUserOpStatus] Already have receipt, skipping tick");
|
|
@@ -13400,7 +13192,7 @@ function useUserOpStatus(options = {}) {
|
|
|
13400
13192
|
onTxHash,
|
|
13401
13193
|
onReceipt
|
|
13402
13194
|
]);
|
|
13403
|
-
|
|
13195
|
+
React19.useEffect(() => {
|
|
13404
13196
|
if (!userOpHash || !enabled) return;
|
|
13405
13197
|
console.log("[useUserOpStatus] Initializing for UserOp hash:", userOpHash);
|
|
13406
13198
|
startTimeRef.current = Date.now();
|
|
@@ -13412,7 +13204,7 @@ function useUserOpStatus(options = {}) {
|
|
|
13412
13204
|
setError(null);
|
|
13413
13205
|
setIsPolling(false);
|
|
13414
13206
|
}, [userOpHash, enabled]);
|
|
13415
|
-
|
|
13207
|
+
React19.useEffect(() => {
|
|
13416
13208
|
if (!userOpHash || !enabled) {
|
|
13417
13209
|
console.log("[useUserOpStatus] Not starting polling - no hash or disabled");
|
|
13418
13210
|
return;
|
|
@@ -13448,7 +13240,7 @@ function useUserOpStatus(options = {}) {
|
|
|
13448
13240
|
}
|
|
13449
13241
|
};
|
|
13450
13242
|
}, [userOpHash, enabled, pollMs]);
|
|
13451
|
-
const refresh =
|
|
13243
|
+
const refresh = React19.useCallback(async () => {
|
|
13452
13244
|
await tick();
|
|
13453
13245
|
}, [tick]);
|
|
13454
13246
|
return {
|
|
@@ -13670,6 +13462,7 @@ init_iframe_manager();
|
|
|
13670
13462
|
useLumiaPassportError,
|
|
13671
13463
|
useLumiaPassportHasServerVault,
|
|
13672
13464
|
useLumiaPassportIFrameReady,
|
|
13465
|
+
useLumiaPassportIsMobileView,
|
|
13673
13466
|
useLumiaPassportLinkedProfiles,
|
|
13674
13467
|
useLumiaPassportLoadingStatus,
|
|
13675
13468
|
useLumiaPassportOpen,
|