@lumiapassport/ui-kit 1.13.10 → 1.14.0
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 -59
- package/dist/iframe/main.js.map +1 -1
- package/dist/index.cjs +447 -597
- 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 +250 -401
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2458,6 +2458,7 @@ var init_iframe_manager = __esm({
|
|
|
2458
2458
|
this.iframe = null;
|
|
2459
2459
|
this.sessionToken = null;
|
|
2460
2460
|
this.isReady = false;
|
|
2461
|
+
// private themeColors?: IframeManagerConfig['themeColors']
|
|
2461
2462
|
// Message handling
|
|
2462
2463
|
this.pendingRequests = /* @__PURE__ */ new Map();
|
|
2463
2464
|
this.usedNonces = /* @__PURE__ */ new Set();
|
|
@@ -2477,14 +2478,13 @@ var init_iframe_manager = __esm({
|
|
|
2477
2478
|
this.projectId = config.projectId;
|
|
2478
2479
|
this.debug = config.debug || false;
|
|
2479
2480
|
this.onWalletReadyCallback = config.onWalletReady;
|
|
2480
|
-
this.themeColors = config.themeColors;
|
|
2481
2481
|
this.readyPromise = new Promise((resolve) => {
|
|
2482
2482
|
this.readyResolve = resolve;
|
|
2483
2483
|
});
|
|
2484
2484
|
this.log("[IframeManager] Initialized with:", {
|
|
2485
2485
|
iframeUrl: this.iframeUrl,
|
|
2486
|
-
projectId: this.projectId
|
|
2487
|
-
hasThemeColors: !!this.themeColors
|
|
2486
|
+
projectId: this.projectId
|
|
2487
|
+
// hasThemeColors: !!this.themeColors
|
|
2488
2488
|
});
|
|
2489
2489
|
}
|
|
2490
2490
|
/**
|
|
@@ -2496,16 +2496,6 @@ var init_iframe_manager = __esm({
|
|
|
2496
2496
|
}
|
|
2497
2497
|
this.iframe = document.createElement("iframe");
|
|
2498
2498
|
let iframeUrl = this.iframeUrl;
|
|
2499
|
-
if (this.themeColors) {
|
|
2500
|
-
const params = new URLSearchParams();
|
|
2501
|
-
if (this.themeColors.background) params.set("bg", this.themeColors.background);
|
|
2502
|
-
if (this.themeColors.text) params.set("text", this.themeColors.text);
|
|
2503
|
-
if (this.themeColors.textSecondary) params.set("textSec", this.themeColors.textSecondary);
|
|
2504
|
-
if (this.themeColors.border) params.set("border", this.themeColors.border);
|
|
2505
|
-
if (params.toString()) {
|
|
2506
|
-
iframeUrl += (iframeUrl.includes("?") ? "&" : "?") + params.toString();
|
|
2507
|
-
}
|
|
2508
|
-
}
|
|
2509
2499
|
this.iframe.src = iframeUrl;
|
|
2510
2500
|
this.iframe.id = "lumia-passport-iframe";
|
|
2511
2501
|
this.iframe.style.display = "none";
|
|
@@ -4249,7 +4239,7 @@ var init_profile = __esm({
|
|
|
4249
4239
|
});
|
|
4250
4240
|
|
|
4251
4241
|
// src/styles/built.css
|
|
4252
|
-
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}';
|
|
4242
|
+
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-\\[10px\\]{padding-top:10px;padding-bottom:10px}.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 (min-width:768px){.lumia-scope .md\\:h-8{height:2rem}.lumia-scope .md\\:w-8{width:2rem}.lumia-scope .md\\:gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .md\\:py-0{padding-top:0;padding-bottom:0}}@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}';
|
|
4253
4243
|
|
|
4254
4244
|
// src/context/LumiaPassportContext.tsx
|
|
4255
4245
|
init_lumiaPassport();
|
|
@@ -4260,7 +4250,7 @@ import {
|
|
|
4260
4250
|
createContext,
|
|
4261
4251
|
useCallback as useCallback20,
|
|
4262
4252
|
useContext,
|
|
4263
|
-
useEffect as
|
|
4253
|
+
useEffect as useEffect31,
|
|
4264
4254
|
useMemo as useMemo3,
|
|
4265
4255
|
useRef as useRef11
|
|
4266
4256
|
} from "react";
|
|
@@ -4272,7 +4262,7 @@ import { create as create5 } from "zustand";
|
|
|
4272
4262
|
// src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
|
|
4273
4263
|
init_base();
|
|
4274
4264
|
import { useQuery } from "@tanstack/react-query";
|
|
4275
|
-
import { useEffect
|
|
4265
|
+
import { useEffect, useState } from "react";
|
|
4276
4266
|
import { useBalance } from "wagmi";
|
|
4277
4267
|
|
|
4278
4268
|
// src/internal/hooks/useLayoutDataStore.ts
|
|
@@ -4281,13 +4271,13 @@ import { create } from "zustand";
|
|
|
4281
4271
|
// src/internal/constants.ts
|
|
4282
4272
|
init_assets();
|
|
4283
4273
|
import { Key as Key2, Mail as Mail2, Wallet2 as Wallet22 } from "lucide-react";
|
|
4274
|
+
var LOCAL_COLOR_MODE_KEY = "lumia-passport-theme";
|
|
4284
4275
|
var DEFAULT_AUTH_MENU_HEIGHT = 253;
|
|
4285
4276
|
var DEFAULT_MAIN_MENU_HEIGHT = 90;
|
|
4286
4277
|
var DEFAULT_SETTINGS_MENU_HEIGHT = 346;
|
|
4287
4278
|
var MAX_CONTENT_HEIGHT = 640;
|
|
4288
4279
|
var MAIN_DIALOG_ANIMATION_SPEED = 375;
|
|
4289
4280
|
var Y_ANIMATION_SETUP = { duration: 0.15, ease: "easeInOut", height: { duration: 0.375 } };
|
|
4290
|
-
var LOCAL_COLOR_MODE_KEY = "lumia-passport-theme";
|
|
4291
4281
|
var PROVIDERS_META2 = {
|
|
4292
4282
|
passkey: { name: "Passkey", icon: Key2, description: "Biometric authentication" },
|
|
4293
4283
|
email: { name: "Email", icon: Mail2, description: "Email verification" },
|
|
@@ -4347,166 +4337,20 @@ var useLayoutDataStore = create((set) => ({
|
|
|
4347
4337
|
})
|
|
4348
4338
|
}));
|
|
4349
4339
|
|
|
4350
|
-
// src/internal/hooks/useLumiaPriceSSE.ts
|
|
4351
|
-
import { useMutation } from "@tanstack/react-query";
|
|
4352
|
-
import { useEffect } from "react";
|
|
4353
|
-
|
|
4354
|
-
// src/internal/lib/LumiaPriceSSEService.ts
|
|
4355
|
-
var FALLBACK = "https://fallback.lumia.passport.io";
|
|
4356
|
-
var API_DOMAIN = (true ? "" : FALLBACK) || FALLBACK;
|
|
4357
|
-
var LumiaPriceSSEService = class {
|
|
4358
|
-
// private readonly baseUrl: string = API_DOMAIN
|
|
4359
|
-
constructor() {
|
|
4360
|
-
this.eventSource = null;
|
|
4361
|
-
this.listeners = /* @__PURE__ */ new Set();
|
|
4362
|
-
this.currentPrice = null;
|
|
4363
|
-
this.isConnected = false;
|
|
4364
|
-
this.reconnectTimeout = null;
|
|
4365
|
-
}
|
|
4366
|
-
connect() {
|
|
4367
|
-
return new Promise((resolve, reject) => {
|
|
4368
|
-
console.log("[LumiaPriceSSEService]: Connecting to LUMIA Price SSE...");
|
|
4369
|
-
if (this.isConnected) {
|
|
4370
|
-
resolve();
|
|
4371
|
-
return;
|
|
4372
|
-
}
|
|
4373
|
-
try {
|
|
4374
|
-
this.eventSource = new EventSource(`${API_DOMAIN}/api/lumia/sse`);
|
|
4375
|
-
this.eventSource.onopen = () => {
|
|
4376
|
-
console.log("[LumiaPriceSSEService]: LUMIA Price SSE connected");
|
|
4377
|
-
this.isConnected = true;
|
|
4378
|
-
this.clearReconnectTimeout();
|
|
4379
|
-
resolve();
|
|
4380
|
-
};
|
|
4381
|
-
this.eventSource.onmessage = () => {
|
|
4382
|
-
};
|
|
4383
|
-
this.eventSource.addEventListener("rate", (event) => {
|
|
4384
|
-
try {
|
|
4385
|
-
const data = JSON.parse(event.data);
|
|
4386
|
-
if (data.price !== void 0 && data.symbol === "LUMIAUSDT") {
|
|
4387
|
-
this.currentPrice = typeof data.price === "number" ? data.price : parseFloat(data.price);
|
|
4388
|
-
if (this.currentPrice !== null) {
|
|
4389
|
-
const update = {
|
|
4390
|
-
symbol: data.symbol,
|
|
4391
|
-
price: this.currentPrice,
|
|
4392
|
-
ts: data.ts || Date.now()
|
|
4393
|
-
};
|
|
4394
|
-
this.listeners.forEach((listener) => listener(update));
|
|
4395
|
-
}
|
|
4396
|
-
}
|
|
4397
|
-
} catch (error) {
|
|
4398
|
-
console.error("Error parsing price event:", error, event.data);
|
|
4399
|
-
}
|
|
4400
|
-
});
|
|
4401
|
-
this.eventSource.addEventListener("ping", () => {
|
|
4402
|
-
});
|
|
4403
|
-
this.eventSource.onerror = (error) => {
|
|
4404
|
-
console.error("LUMIA Price SSE error:", error);
|
|
4405
|
-
this.isConnected = false;
|
|
4406
|
-
if (this.eventSource?.readyState === EventSource.CLOSED) {
|
|
4407
|
-
console.log("SSE connection closed, attempting to reconnect...");
|
|
4408
|
-
this.scheduleReconnect();
|
|
4409
|
-
reject(error);
|
|
4410
|
-
}
|
|
4411
|
-
};
|
|
4412
|
-
setTimeout(() => {
|
|
4413
|
-
if (!this.isConnected) {
|
|
4414
|
-
reject(new Error("SSE connection timeout"));
|
|
4415
|
-
}
|
|
4416
|
-
}, 1e4);
|
|
4417
|
-
} catch (error) {
|
|
4418
|
-
reject(error);
|
|
4419
|
-
}
|
|
4420
|
-
});
|
|
4421
|
-
}
|
|
4422
|
-
disconnect() {
|
|
4423
|
-
this.clearReconnectTimeout();
|
|
4424
|
-
if (this.eventSource) {
|
|
4425
|
-
this.eventSource.close();
|
|
4426
|
-
this.eventSource = null;
|
|
4427
|
-
}
|
|
4428
|
-
this.isConnected = false;
|
|
4429
|
-
this.currentPrice = null;
|
|
4430
|
-
console.log("[LumiaPriceSSEService]: LUMIA Price SSE disconnected");
|
|
4431
|
-
}
|
|
4432
|
-
addListener(listener) {
|
|
4433
|
-
this.listeners.add(listener);
|
|
4434
|
-
}
|
|
4435
|
-
removeListener(listener) {
|
|
4436
|
-
this.listeners.delete(listener);
|
|
4437
|
-
}
|
|
4438
|
-
clearListeners() {
|
|
4439
|
-
this.listeners.clear();
|
|
4440
|
-
}
|
|
4441
|
-
getCurrentPrice() {
|
|
4442
|
-
return this.currentPrice;
|
|
4443
|
-
}
|
|
4444
|
-
getConnectionStatus() {
|
|
4445
|
-
return this.isConnected;
|
|
4446
|
-
}
|
|
4447
|
-
scheduleReconnect() {
|
|
4448
|
-
this.clearReconnectTimeout();
|
|
4449
|
-
this.reconnectTimeout = window.setTimeout(() => {
|
|
4450
|
-
console.log("Attempting to reconnect to BTC Price SSE...");
|
|
4451
|
-
this.connect().catch((error) => {
|
|
4452
|
-
console.error("Reconnection failed:", error);
|
|
4453
|
-
this.scheduleReconnect();
|
|
4454
|
-
});
|
|
4455
|
-
}, 5e3);
|
|
4456
|
-
}
|
|
4457
|
-
clearReconnectTimeout() {
|
|
4458
|
-
if (this.reconnectTimeout) {
|
|
4459
|
-
clearTimeout(this.reconnectTimeout);
|
|
4460
|
-
this.reconnectTimeout = null;
|
|
4461
|
-
}
|
|
4462
|
-
}
|
|
4463
|
-
};
|
|
4464
|
-
var lumiaPriceSSE = new LumiaPriceSSEService();
|
|
4465
|
-
async function sseConnectMutation() {
|
|
4466
|
-
try {
|
|
4467
|
-
await lumiaPriceSSE.connect();
|
|
4468
|
-
console.info("[LUMIA SSE] price feed connected");
|
|
4469
|
-
return { ok: true };
|
|
4470
|
-
} catch (error) {
|
|
4471
|
-
console.error("[LUMIA SSE] Error connecting to SSE:", error);
|
|
4472
|
-
throw new Error("[LUMIA SSE] Error connecting to SSE");
|
|
4473
|
-
}
|
|
4474
|
-
}
|
|
4475
|
-
|
|
4476
|
-
// src/internal/hooks/useLumiaPriceSSE.ts
|
|
4477
|
-
function useLumiaPriceSSE(enabled, updateCurrentPrice) {
|
|
4478
|
-
const { mutate: connectSSE } = useMutation({
|
|
4479
|
-
mutationFn: sseConnectMutation,
|
|
4480
|
-
onSuccess: () => {
|
|
4481
|
-
lumiaPriceSSE.addListener(updateCurrentPrice);
|
|
4482
|
-
},
|
|
4483
|
-
onError: (err) => {
|
|
4484
|
-
console.error("Lumia Price SSE connection error:", err);
|
|
4485
|
-
}
|
|
4486
|
-
});
|
|
4487
|
-
useEffect(() => {
|
|
4488
|
-
const isConnected = lumiaPriceSSE.getConnectionStatus();
|
|
4489
|
-
console.log("[LUMIA PRICE SSE MANAGER] SSE status:", { enabled, isConnected });
|
|
4490
|
-
if (!enabled) {
|
|
4491
|
-
lumiaPriceSSE.clearListeners();
|
|
4492
|
-
lumiaPriceSSE.disconnect();
|
|
4493
|
-
return;
|
|
4494
|
-
}
|
|
4495
|
-
return () => {
|
|
4496
|
-
lumiaPriceSSE.clearListeners();
|
|
4497
|
-
lumiaPriceSSE.disconnect();
|
|
4498
|
-
};
|
|
4499
|
-
}, [enabled, connectSSE]);
|
|
4500
|
-
}
|
|
4501
|
-
|
|
4502
4340
|
// src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
|
|
4503
4341
|
var BALANCE_POLLING_INTERVAL = 3e4;
|
|
4342
|
+
async function getAssetRate(symbol = "LUMIA", fiat = "USDT") {
|
|
4343
|
+
const assetURL = `https://api.binance.com/api/v3/ticker/price?symbol=${symbol.toUpperCase()}${fiat.toUpperCase()}`;
|
|
4344
|
+
const response = await fetch(assetURL);
|
|
4345
|
+
return await response.json();
|
|
4346
|
+
}
|
|
4347
|
+
var LUMIA_RATE_QUERY_KEY = "lumia-passport-rate-query-key";
|
|
4504
4348
|
function BalanceFeedProvider() {
|
|
4505
4349
|
const config = useLumiaPassportConfig().config;
|
|
4506
4350
|
const address = useLumiaPassportSession((st) => st.address);
|
|
4507
|
-
const {
|
|
4351
|
+
const { setCryptoRate, setFiatBalance, setBalance, setCryptoSymbol, setFiatSymbol } = useLayoutDataStore();
|
|
4508
4352
|
const [balanceSymbol, setBalanceSymbol] = useState(null);
|
|
4509
|
-
|
|
4353
|
+
useEffect(() => {
|
|
4510
4354
|
const { assets, showBalanceAs: customBalanceSymbol } = config.current?.projectAssets || {};
|
|
4511
4355
|
const { balanceQuery, balanceQueryKey } = assets?.find((a) => a.symbol === customBalanceSymbol) || {};
|
|
4512
4356
|
const isCustom = !!customBalanceSymbol && !!balanceQuery && !!balanceQueryKey;
|
|
@@ -4523,14 +4367,31 @@ function BalanceFeedProvider() {
|
|
|
4523
4367
|
refetchOnWindowFocus: true
|
|
4524
4368
|
}
|
|
4525
4369
|
});
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
|
|
4370
|
+
const { data: cryptoRate } = useQuery({
|
|
4371
|
+
queryKey: [LUMIA_RATE_QUERY_KEY, address],
|
|
4372
|
+
enabled: !!address && !!isNativeBalanceFeedEnabled,
|
|
4373
|
+
refetchInterval: BALANCE_POLLING_INTERVAL,
|
|
4374
|
+
queryFn: async () => getAssetRate("LUMIA", "USDT")
|
|
4375
|
+
// TODO: get LUMIA-FIAT pair from config
|
|
4376
|
+
});
|
|
4377
|
+
useEffect(() => {
|
|
4378
|
+
const rate = cryptoRate ? Number(cryptoRate.price) : null;
|
|
4379
|
+
if (!isNativeBalanceFeedEnabled || !balance || !rate) return;
|
|
4380
|
+
setCryptoRate(rate);
|
|
4529
4381
|
setCryptoSymbol("LUMIA");
|
|
4530
4382
|
setFiatSymbol("USD");
|
|
4531
|
-
setFiatBalance(Number(balance?.formatted || 0) *
|
|
4383
|
+
setFiatBalance(Number(balance?.formatted || 0) * rate);
|
|
4532
4384
|
setBalance(balance);
|
|
4533
|
-
}, [
|
|
4385
|
+
}, [
|
|
4386
|
+
isNativeBalanceFeedEnabled,
|
|
4387
|
+
balance,
|
|
4388
|
+
cryptoRate,
|
|
4389
|
+
setFiatBalance,
|
|
4390
|
+
setCryptoRate,
|
|
4391
|
+
setBalance,
|
|
4392
|
+
setCryptoSymbol,
|
|
4393
|
+
setFiatSymbol
|
|
4394
|
+
]);
|
|
4534
4395
|
const {
|
|
4535
4396
|
balanceQuery: customBalanceQuery,
|
|
4536
4397
|
balanceQueryKey: CUSTOM_BALANCE_QUERY_KEY,
|
|
@@ -4545,7 +4406,7 @@ function BalanceFeedProvider() {
|
|
|
4545
4406
|
// should be invalidated by host app via provided queryKey
|
|
4546
4407
|
queryFn: async () => await customBalanceQuery?.()
|
|
4547
4408
|
});
|
|
4548
|
-
|
|
4409
|
+
useEffect(() => {
|
|
4549
4410
|
if (!isCustomBalanceEnabled || !customBalance) return;
|
|
4550
4411
|
const { cryptoFiatRate, fiatFormatted, cryptoFormatted, cryptoSymbol, fiatSymbol } = customBalance;
|
|
4551
4412
|
setCryptoSymbol(cryptoSymbol.toUpperCase());
|
|
@@ -4564,12 +4425,12 @@ function BalanceFeedProvider() {
|
|
|
4564
4425
|
|
|
4565
4426
|
// src/internal/components/Dialog/LumiaPassportDialog.tsx
|
|
4566
4427
|
import { AnimatePresence as AnimatePresence4, motion as motion4 } from "framer-motion";
|
|
4567
|
-
import { useEffect as
|
|
4428
|
+
import { useEffect as useEffect29 } from "react";
|
|
4568
4429
|
|
|
4569
4430
|
// package.json
|
|
4570
4431
|
var package_default = {
|
|
4571
4432
|
name: "@lumiapassport/ui-kit",
|
|
4572
|
-
version: "1.
|
|
4433
|
+
version: "1.14.0",
|
|
4573
4434
|
description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
|
|
4574
4435
|
type: "module",
|
|
4575
4436
|
main: "./dist/index.cjs",
|
|
@@ -4657,7 +4518,7 @@ var package_default = {
|
|
|
4657
4518
|
};
|
|
4658
4519
|
|
|
4659
4520
|
// src/internal/components/Footer/Footer.tsx
|
|
4660
|
-
import { useMutation
|
|
4521
|
+
import { useMutation } from "@tanstack/react-query";
|
|
4661
4522
|
import { Loader, LogOut } from "lucide-react";
|
|
4662
4523
|
|
|
4663
4524
|
// src/internal/assets/LumiaLogo.tsx
|
|
@@ -4718,14 +4579,17 @@ init_base();
|
|
|
4718
4579
|
// src/internal/lib/utils.ts
|
|
4719
4580
|
import { clsx } from "clsx";
|
|
4720
4581
|
import { twMerge } from "tailwind-merge";
|
|
4582
|
+
function cn(...inputs) {
|
|
4583
|
+
return twMerge(clsx(inputs));
|
|
4584
|
+
}
|
|
4721
4585
|
var LP_JWT_TOKENS_LS_KEY = "lumia-passport-jwt-tokens";
|
|
4722
|
-
function
|
|
4586
|
+
function getAccessToken() {
|
|
4723
4587
|
try {
|
|
4724
4588
|
const sessionString = localStorage.getItem(LP_JWT_TOKENS_LS_KEY);
|
|
4725
4589
|
if (!sessionString) return null;
|
|
4726
4590
|
const session = JSON.parse(sessionString);
|
|
4727
4591
|
if (session && typeof session.accessToken === "string" && typeof session.userId === "string") {
|
|
4728
|
-
return
|
|
4592
|
+
return session.accessToken;
|
|
4729
4593
|
}
|
|
4730
4594
|
return null;
|
|
4731
4595
|
} catch (error) {
|
|
@@ -4733,9 +4597,6 @@ function getBearer() {
|
|
|
4733
4597
|
return null;
|
|
4734
4598
|
}
|
|
4735
4599
|
}
|
|
4736
|
-
function cn(...inputs) {
|
|
4737
|
-
return twMerge(clsx(inputs));
|
|
4738
|
-
}
|
|
4739
4600
|
|
|
4740
4601
|
// src/internal/components/ui/button.tsx
|
|
4741
4602
|
import { Slot } from "@radix-ui/react-slot";
|
|
@@ -4802,7 +4663,7 @@ function Footer() {
|
|
|
4802
4663
|
const { callbacks } = useLumiaPassportConfig();
|
|
4803
4664
|
const { address, setSession, setAddress, setStatus, setError, setIsLoading } = useLumiaPassportSession();
|
|
4804
4665
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
4805
|
-
const { mutate: disconnect, isPending: isDisconnecting } =
|
|
4666
|
+
const { mutate: disconnect, isPending: isDisconnecting } = useMutation({
|
|
4806
4667
|
mutationFn: async (disconnectAddress) => {
|
|
4807
4668
|
if (!disconnectAddress) throw new Error("No address to disconnect");
|
|
4808
4669
|
setError(null);
|
|
@@ -5166,10 +5027,7 @@ var DialogOverlay = forwardRef3(
|
|
|
5166
5027
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
5167
5028
|
function useDecideContentStyles() {
|
|
5168
5029
|
const isMobileView = useLayoutStore((st) => st.isMobileView);
|
|
5169
|
-
const
|
|
5170
|
-
const isDialogClosing = useLayoutStore((st) => st.isDialogClosing);
|
|
5171
|
-
const isClosing = isDialogOpen && isDialogClosing;
|
|
5172
|
-
console.log("[IS_MOBILE_VIEW]", isMobileView);
|
|
5030
|
+
const isClosing = useLayoutStore((st) => !!st.isDialogOpen && !!st.isDialogClosing);
|
|
5173
5031
|
const mobileStyles = isMobileView ? { "--l-pass-maw": "100%", "--l-pass-bdrs": "20px 20px 0px 0px" } : {};
|
|
5174
5032
|
return {
|
|
5175
5033
|
isClosing,
|
|
@@ -5204,7 +5062,6 @@ var DialogContent = forwardRef3(
|
|
|
5204
5062
|
ref,
|
|
5205
5063
|
style: !!className ? void 0 : CONTENT_BG_SETUP,
|
|
5206
5064
|
className: cn(
|
|
5207
|
-
// isWalletLinking ? 'pointer-events-none' : 'pointer-events-auto',
|
|
5208
5065
|
"relative pointer-events-auto w-full",
|
|
5209
5066
|
"max-w-[var(--l-pass-maw)] max-h-[95dvh] p-0 gap-0",
|
|
5210
5067
|
"text-[var(--l-pass-fg)]",
|
|
@@ -5283,7 +5140,7 @@ import { jsx as jsx10 } from "react/jsx-runtime";
|
|
|
5283
5140
|
var VisuallyHidden = ({ children }) => /* @__PURE__ */ jsx10("span", { className: "sr-only absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0", children });
|
|
5284
5141
|
|
|
5285
5142
|
// src/internal/hooks/useAutoConnect.ts
|
|
5286
|
-
import { useCallback, useEffect as
|
|
5143
|
+
import { useCallback, useEffect as useEffect2, useRef } from "react";
|
|
5287
5144
|
function useAutoConnect() {
|
|
5288
5145
|
const {
|
|
5289
5146
|
config: { current: config },
|
|
@@ -5338,7 +5195,7 @@ function useAutoConnect() {
|
|
|
5338
5195
|
[usePaymaster, setStatus, callbacks]
|
|
5339
5196
|
);
|
|
5340
5197
|
const autoConnectAttemptedRef = useRef(false);
|
|
5341
|
-
|
|
5198
|
+
useEffect2(() => {
|
|
5342
5199
|
if (autoConnectAttemptedRef.current) return;
|
|
5343
5200
|
setIsLoading(true);
|
|
5344
5201
|
const tryAutoConnect = async (attempt) => {
|
|
@@ -5457,11 +5314,11 @@ function useAutoConnect() {
|
|
|
5457
5314
|
}
|
|
5458
5315
|
|
|
5459
5316
|
// src/internal/hooks/useBackupStatusChanges.ts
|
|
5460
|
-
import { useEffect as
|
|
5317
|
+
import { useEffect as useEffect3 } from "react";
|
|
5461
5318
|
init_vaultClient();
|
|
5462
5319
|
function useBackupStatusChanges() {
|
|
5463
5320
|
const setHasServerVault = useLumiaPassportSession((st) => st.setHasServerVault);
|
|
5464
|
-
|
|
5321
|
+
useEffect3(() => {
|
|
5465
5322
|
const handleBackupStatusChanged = async (event) => {
|
|
5466
5323
|
const customEvent = event;
|
|
5467
5324
|
const { method, success } = customEvent.detail || {};
|
|
@@ -5487,13 +5344,13 @@ function useBackupStatusChanges() {
|
|
|
5487
5344
|
}
|
|
5488
5345
|
|
|
5489
5346
|
// src/internal/hooks/useCheckVaultStatus.ts
|
|
5490
|
-
import { useMutation as
|
|
5491
|
-
import { useEffect as
|
|
5347
|
+
import { useMutation as useMutation2 } from "@tanstack/react-query";
|
|
5348
|
+
import { useEffect as useEffect4 } from "react";
|
|
5492
5349
|
init_vaultClient();
|
|
5493
5350
|
function useCheckVaultStatus() {
|
|
5494
5351
|
const address = useLumiaPassportSession((st) => st.address);
|
|
5495
5352
|
const setHasServerVault = useLumiaPassportSession((st) => st.setHasServerVault);
|
|
5496
|
-
const { mutate: checkVaultStatus } =
|
|
5353
|
+
const { mutate: checkVaultStatus } = useMutation2({
|
|
5497
5354
|
mutationFn: async () => {
|
|
5498
5355
|
const stats = await getShareRecoveryStats();
|
|
5499
5356
|
const hasRecoveryData = stats && (stats.created || stats.devices && stats.devices.length > 0);
|
|
@@ -5507,7 +5364,7 @@ function useCheckVaultStatus() {
|
|
|
5507
5364
|
setHasServerVault(false);
|
|
5508
5365
|
}
|
|
5509
5366
|
});
|
|
5510
|
-
|
|
5367
|
+
useEffect4(() => {
|
|
5511
5368
|
if (!address) return setHasServerVault(false);
|
|
5512
5369
|
checkVaultStatus();
|
|
5513
5370
|
}, [address, checkVaultStatus]);
|
|
@@ -5515,7 +5372,7 @@ function useCheckVaultStatus() {
|
|
|
5515
5372
|
|
|
5516
5373
|
// src/internal/hooks/useDetectMaxScrollHeight.ts
|
|
5517
5374
|
import { debounce } from "lodash-es";
|
|
5518
|
-
import { useCallback as useCallback2, useEffect as
|
|
5375
|
+
import { useCallback as useCallback2, useEffect as useEffect5 } from "react";
|
|
5519
5376
|
var DEBOUNCE_DELAY = 50;
|
|
5520
5377
|
function useDetectMaxScrollHeight() {
|
|
5521
5378
|
const setIsMobileView = useLayoutStore((state) => state.setIsMobileView);
|
|
@@ -5528,7 +5385,7 @@ function useDetectMaxScrollHeight() {
|
|
|
5528
5385
|
}, DEBOUNCE_DELAY),
|
|
5529
5386
|
[setMaxScrollHeight, setIsMobileView]
|
|
5530
5387
|
);
|
|
5531
|
-
|
|
5388
|
+
useEffect5(() => {
|
|
5532
5389
|
const obs = new ResizeObserver(([entry]) => onResize(entry.contentRect));
|
|
5533
5390
|
const doc = window.document.getElementsByTagName("html")[0];
|
|
5534
5391
|
if (doc) obs.observe(doc);
|
|
@@ -5537,12 +5394,12 @@ function useDetectMaxScrollHeight() {
|
|
|
5537
5394
|
}
|
|
5538
5395
|
|
|
5539
5396
|
// src/internal/hooks/usePageMapper.tsx
|
|
5540
|
-
import { useCallback as useCallback17, useEffect as
|
|
5397
|
+
import { useCallback as useCallback17, useEffect as useEffect26 } from "react";
|
|
5541
5398
|
|
|
5542
5399
|
// src/internal/components/AuthMenu/AuthMenu.tsx
|
|
5543
5400
|
import { AnimatePresence, motion } from "framer-motion";
|
|
5544
5401
|
import { Loader as Loader5 } from "lucide-react";
|
|
5545
|
-
import { useEffect as
|
|
5402
|
+
import { useEffect as useEffect9, useMemo } from "react";
|
|
5546
5403
|
|
|
5547
5404
|
// src/internal/components/AuthMenu/AuthFailedStep.tsx
|
|
5548
5405
|
import { AlertTriangle, Cross } from "lucide-react";
|
|
@@ -5828,12 +5685,12 @@ function PasskeyAddIcon(props) {
|
|
|
5828
5685
|
init_auth();
|
|
5829
5686
|
|
|
5830
5687
|
// src/internal/components/Expandable/hooks/useExpandable.ts
|
|
5831
|
-
import { useCallback as useCallback3, useEffect as
|
|
5688
|
+
import { useCallback as useCallback3, useEffect as useEffect6, useRef as useRef3 } from "react";
|
|
5832
5689
|
var useExpandable = (props) => {
|
|
5833
5690
|
const { isExpanded = false, children, initHeight = 0, minHeight = 0 } = props;
|
|
5834
5691
|
const expandableRef = useRef3(null);
|
|
5835
5692
|
const contentRef = useRef3(null);
|
|
5836
|
-
|
|
5693
|
+
useEffect6(() => {
|
|
5837
5694
|
if (!expandableRef.current) return;
|
|
5838
5695
|
expandableRef.current.style.setProperty("--ifo-basic-expandable-h", `${initHeight}px )`);
|
|
5839
5696
|
}, []);
|
|
@@ -5848,7 +5705,7 @@ var useExpandable = (props) => {
|
|
|
5848
5705
|
// ON_RESIZE_DELEAY),
|
|
5849
5706
|
[minHeight]
|
|
5850
5707
|
);
|
|
5851
|
-
|
|
5708
|
+
useEffect6(() => {
|
|
5852
5709
|
if (!contentRef.current || !expandableRef.current) return;
|
|
5853
5710
|
const obs = new ResizeObserver(() => setExpandableHeight(isExpanded));
|
|
5854
5711
|
obs.observe(expandableRef.current);
|
|
@@ -6107,7 +5964,7 @@ import { Fragment as Fragment2 } from "react";
|
|
|
6107
5964
|
// src/internal/components/AuthMenu/SignInStep/Email.tsx
|
|
6108
5965
|
init_lumiaPassport();
|
|
6109
5966
|
init_projectId();
|
|
6110
|
-
import { useMutation as
|
|
5967
|
+
import { useMutation as useMutation3 } from "@tanstack/react-query";
|
|
6111
5968
|
import { ChevronRight, Loader as Loader3, Mail as Mail3 } from "lucide-react";
|
|
6112
5969
|
|
|
6113
5970
|
// src/internal/components/ui/highlight.tsx
|
|
@@ -6143,7 +6000,7 @@ function Email() {
|
|
|
6143
6000
|
const isLoading = useLumiaPassportSession((st) => st.isLoading);
|
|
6144
6001
|
const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
|
|
6145
6002
|
const { email, codeSendError, alert: alert2, setEmail, setCodeSendError, setExpiresIn, setStep, setAlert } = useAuthStore();
|
|
6146
|
-
const { mutate: onSendVerificationCode } =
|
|
6003
|
+
const { mutate: onSendVerificationCode } = useMutation3({
|
|
6147
6004
|
mutationFn: async (mail) => {
|
|
6148
6005
|
const isEmailValid = mail.length !== 0 && /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(mail);
|
|
6149
6006
|
if (!isEmailValid) {
|
|
@@ -6950,7 +6807,7 @@ function useAuthMenuHandlers() {
|
|
|
6950
6807
|
}
|
|
6951
6808
|
|
|
6952
6809
|
// src/internal/components/AuthMenu/useListenIframeAuthEvents.ts
|
|
6953
|
-
import { useCallback as useCallback7, useEffect as
|
|
6810
|
+
import { useCallback as useCallback7, useEffect as useEffect7 } from "react";
|
|
6954
6811
|
function useListenIframeAuthEvents() {
|
|
6955
6812
|
const setPage = useLayoutDataStore((state) => state.setPage);
|
|
6956
6813
|
const setIsIframeReady = useLumiaPassportSession((state) => state.setIsIframeReady);
|
|
@@ -6972,7 +6829,7 @@ function useListenIframeAuthEvents() {
|
|
|
6972
6829
|
},
|
|
6973
6830
|
[setPage, setIsIframeReady]
|
|
6974
6831
|
);
|
|
6975
|
-
|
|
6832
|
+
useEffect7(() => {
|
|
6976
6833
|
window.addEventListener("message", handleIframeMessage);
|
|
6977
6834
|
return () => window.removeEventListener("message", handleIframeMessage);
|
|
6978
6835
|
}, [handleIframeMessage]);
|
|
@@ -6980,7 +6837,7 @@ function useListenIframeAuthEvents() {
|
|
|
6980
6837
|
|
|
6981
6838
|
// src/internal/components/AuthMenu/VerifyStep/VerifyStep.tsx
|
|
6982
6839
|
init_lumiaPassport();
|
|
6983
|
-
import { useMutation as
|
|
6840
|
+
import { useMutation as useMutation4 } from "@tanstack/react-query";
|
|
6984
6841
|
import { ArrowLeft as ArrowLeft3, Loader as Loader4 } from "lucide-react";
|
|
6985
6842
|
|
|
6986
6843
|
// src/internal/assets/OtpIcon.tsx
|
|
@@ -7001,21 +6858,21 @@ init_auth();
|
|
|
7001
6858
|
init_projectId();
|
|
7002
6859
|
|
|
7003
6860
|
// src/internal/components/AuthMenu/VerifyStep/VerificationCodeInput.tsx
|
|
7004
|
-
import { useEffect as
|
|
6861
|
+
import { useEffect as useEffect8, useRef as useRef5, useState as useState5 } from "react";
|
|
7005
6862
|
import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
7006
6863
|
var VerificationCodeInput = (props) => {
|
|
7007
6864
|
const { onVerifyCode, onResendCode, isLoading, expiresIn, error } = props;
|
|
7008
6865
|
const setVerificationError = useAuthStore((st) => st.setVerificationError);
|
|
7009
6866
|
const [timeLeft, setTimeLeft] = useState5(expiresIn);
|
|
7010
|
-
|
|
7011
|
-
|
|
6867
|
+
useEffect8(() => setTimeLeft(expiresIn), [expiresIn]);
|
|
6868
|
+
useEffect8(() => {
|
|
7012
6869
|
const t = setInterval(() => setTimeLeft((secs) => secs > 0 ? secs - 1 : 0), 1e3);
|
|
7013
6870
|
return () => clearInterval(t);
|
|
7014
6871
|
}, []);
|
|
7015
6872
|
const lastSubmittedRef = useRef5(null);
|
|
7016
6873
|
const inputsRef = useRef5([]);
|
|
7017
6874
|
const [digits, setDigits] = useState5(["", "", "", "", "", ""]);
|
|
7018
|
-
|
|
6875
|
+
useEffect8(() => {
|
|
7019
6876
|
const code = digits.join("");
|
|
7020
6877
|
if (code.length === 6 && digits.every((d) => d !== "") && !isLoading) {
|
|
7021
6878
|
if (lastSubmittedRef.current !== code) {
|
|
@@ -7024,7 +6881,7 @@ var VerificationCodeInput = (props) => {
|
|
|
7024
6881
|
}
|
|
7025
6882
|
}
|
|
7026
6883
|
}, [digits, isLoading, onVerifyCode]);
|
|
7027
|
-
|
|
6884
|
+
useEffect8(() => {
|
|
7028
6885
|
const t = setTimeout(() => {
|
|
7029
6886
|
inputsRef.current[0]?.focus();
|
|
7030
6887
|
}, 0);
|
|
@@ -7149,7 +7006,7 @@ function VerifyStep(props) {
|
|
|
7149
7006
|
setEmail,
|
|
7150
7007
|
setExpiresIn
|
|
7151
7008
|
} = useAuthStore();
|
|
7152
|
-
const { mutate: onVerifyCode, isPending: isCodeVerifying } =
|
|
7009
|
+
const { mutate: onVerifyCode, isPending: isCodeVerifying } = useMutation4({
|
|
7153
7010
|
mutationFn: async (code) => {
|
|
7154
7011
|
setIsLoading(true);
|
|
7155
7012
|
setVerificationError("");
|
|
@@ -7222,7 +7079,7 @@ function VerifyStep(props) {
|
|
|
7222
7079
|
setIsLoading(false);
|
|
7223
7080
|
}
|
|
7224
7081
|
});
|
|
7225
|
-
const { mutate: onResendCode, isPending: isCodeResending } =
|
|
7082
|
+
const { mutate: onResendCode, isPending: isCodeResending } = useMutation4({
|
|
7226
7083
|
mutationFn: async () => {
|
|
7227
7084
|
setVerificationError("");
|
|
7228
7085
|
setIsLoading(true);
|
|
@@ -7300,7 +7157,7 @@ var AuthMenu = () => {
|
|
|
7300
7157
|
const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
|
|
7301
7158
|
const page = useLayoutDataStore((st) => st.page);
|
|
7302
7159
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
7303
|
-
|
|
7160
|
+
useEffect9(() => setMainPageHeight(DEFAULT_AUTH_MENU_HEIGHT), [setMainPageHeight]);
|
|
7304
7161
|
const {
|
|
7305
7162
|
step,
|
|
7306
7163
|
setStep,
|
|
@@ -7311,7 +7168,7 @@ var AuthMenu = () => {
|
|
|
7311
7168
|
setFailedMessage,
|
|
7312
7169
|
setCodeSendError
|
|
7313
7170
|
} = useAuthStore();
|
|
7314
|
-
|
|
7171
|
+
useEffect9(() => {
|
|
7315
7172
|
if (page !== "auth" /* AUTH */) {
|
|
7316
7173
|
setStep("signin");
|
|
7317
7174
|
setEmail("");
|
|
@@ -7476,9 +7333,9 @@ function RampnowIcon() {
|
|
|
7476
7333
|
}
|
|
7477
7334
|
|
|
7478
7335
|
// src/internal/components/BuyMenu/binance/Binance.tsx
|
|
7479
|
-
import { useMutation as
|
|
7336
|
+
import { useMutation as useMutation5, useQuery as useQuery3, useQueryClient } from "@tanstack/react-query";
|
|
7480
7337
|
import { DollarSign, LoaderIcon } from "lucide-react";
|
|
7481
|
-
import { useEffect as
|
|
7338
|
+
import { useEffect as useEffect11, useRef as useRef6 } from "react";
|
|
7482
7339
|
|
|
7483
7340
|
// src/internal/components/BuyMenu/components/PaymentSelector.tsx
|
|
7484
7341
|
import { jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
@@ -7519,81 +7376,63 @@ var QUERY_KEYS2 = {
|
|
|
7519
7376
|
};
|
|
7520
7377
|
|
|
7521
7378
|
// src/internal/components/BuyMenu/binance/api.ts
|
|
7522
|
-
|
|
7379
|
+
init_iframe_manager();
|
|
7523
7380
|
async function getLumiaNetworkQuery() {
|
|
7524
|
-
const
|
|
7525
|
-
|
|
7526
|
-
|
|
7527
|
-
headers: {
|
|
7528
|
-
"Content-Type": "application/json",
|
|
7529
|
-
...auth && { Authorization: auth }
|
|
7530
|
-
}
|
|
7531
|
-
});
|
|
7532
|
-
const data = await response.json();
|
|
7533
|
-
if (!data?.success) {
|
|
7534
|
-
throw new Error(`${data.code}: ${data.message}`);
|
|
7381
|
+
const accessToken = getAccessToken();
|
|
7382
|
+
if (!accessToken) {
|
|
7383
|
+
throw new Error("Access token is not available");
|
|
7535
7384
|
}
|
|
7536
|
-
const
|
|
7537
|
-
if (!
|
|
7538
|
-
|
|
7539
|
-
throw new Error("Lumia is not available in API");
|
|
7385
|
+
const iframeManager = getIframeManager();
|
|
7386
|
+
if (!iframeManager) {
|
|
7387
|
+
throw new Error("Iframe manager is not initialized");
|
|
7540
7388
|
}
|
|
7541
|
-
return
|
|
7389
|
+
return await iframeManager.sendMessage("BINANCE_GET_LUMIA_NETWORK_QUERY", { accessToken });
|
|
7542
7390
|
}
|
|
7543
7391
|
async function getPaymentMethodsQuery(payload) {
|
|
7544
|
-
const
|
|
7545
|
-
|
|
7546
|
-
|
|
7547
|
-
headers: {
|
|
7548
|
-
"Content-Type": "application/json",
|
|
7549
|
-
...auth && { Authorization: auth }
|
|
7550
|
-
},
|
|
7551
|
-
body: JSON.stringify(payload)
|
|
7552
|
-
});
|
|
7553
|
-
const data = await response.json();
|
|
7554
|
-
if (!data.success) {
|
|
7555
|
-
throw new Error(`${data.code}: ${data.message}`);
|
|
7392
|
+
const accessToken = getAccessToken();
|
|
7393
|
+
if (!accessToken) {
|
|
7394
|
+
throw new Error("Access token is not available");
|
|
7556
7395
|
}
|
|
7557
|
-
|
|
7558
|
-
|
|
7396
|
+
const iframeManager = getIframeManager();
|
|
7397
|
+
if (!iframeManager) {
|
|
7398
|
+
throw new Error("Iframe manager is not initialized");
|
|
7559
7399
|
}
|
|
7560
|
-
return
|
|
7400
|
+
return await iframeManager.sendMessage("BINANCE_GET_PAYMENT_METHODS_QUERY", {
|
|
7401
|
+
...payload,
|
|
7402
|
+
accessToken
|
|
7403
|
+
});
|
|
7561
7404
|
}
|
|
7562
7405
|
async function getQuoteQuery(payload) {
|
|
7563
|
-
const
|
|
7564
|
-
|
|
7565
|
-
|
|
7566
|
-
|
|
7567
|
-
|
|
7568
|
-
|
|
7569
|
-
|
|
7570
|
-
body: JSON.stringify(payload)
|
|
7571
|
-
});
|
|
7572
|
-
const data = await response.json();
|
|
7573
|
-
if (!data.success) {
|
|
7574
|
-
throw new Error(`${data.code}: ${data.message}`);
|
|
7406
|
+
const accessToken = getAccessToken();
|
|
7407
|
+
if (!accessToken) {
|
|
7408
|
+
throw new Error("Access token is not available");
|
|
7409
|
+
}
|
|
7410
|
+
const iframeManager = getIframeManager();
|
|
7411
|
+
if (!iframeManager) {
|
|
7412
|
+
throw new Error("Iframe manager is not initialized");
|
|
7575
7413
|
}
|
|
7576
|
-
return
|
|
7414
|
+
return await iframeManager.sendMessage("BINANCE_GET_QUOTE_QUERY", {
|
|
7415
|
+
...payload,
|
|
7416
|
+
accessToken
|
|
7417
|
+
});
|
|
7577
7418
|
}
|
|
7578
7419
|
async function createPreorderMutation(payload) {
|
|
7579
|
-
const
|
|
7580
|
-
|
|
7581
|
-
|
|
7582
|
-
|
|
7583
|
-
|
|
7584
|
-
|
|
7585
|
-
|
|
7586
|
-
body: JSON.stringify(payload)
|
|
7587
|
-
});
|
|
7588
|
-
const data = await response.json();
|
|
7589
|
-
if (!data.success) {
|
|
7590
|
-
throw new Error(`${data.code}: ${data.message}`);
|
|
7420
|
+
const accessToken = getAccessToken();
|
|
7421
|
+
if (!accessToken) {
|
|
7422
|
+
throw new Error("Access token is not available");
|
|
7423
|
+
}
|
|
7424
|
+
const iframeManager = getIframeManager();
|
|
7425
|
+
if (!iframeManager) {
|
|
7426
|
+
throw new Error("Iframe manager is not initialized");
|
|
7591
7427
|
}
|
|
7592
|
-
return
|
|
7428
|
+
return await iframeManager.sendMessage("BINANCE_CREATE_PREORDER_MUTATION", {
|
|
7429
|
+
...payload,
|
|
7430
|
+
accessToken
|
|
7431
|
+
});
|
|
7593
7432
|
}
|
|
7594
7433
|
|
|
7595
7434
|
// src/internal/components/BuyMenu/binance/useQueriesErrorHandler.ts
|
|
7596
|
-
import { useEffect as
|
|
7435
|
+
import { useEffect as useEffect10 } from "react";
|
|
7597
7436
|
|
|
7598
7437
|
// src/internal/components/BuyMenu/binance/utils.ts
|
|
7599
7438
|
function getPayMethodID(pm) {
|
|
@@ -7613,7 +7452,7 @@ function handleErrors(errors) {
|
|
|
7613
7452
|
// src/internal/components/BuyMenu/binance/useQueriesErrorHandler.ts
|
|
7614
7453
|
var useQueriesErrorHandler = (errors, stateUpdater) => {
|
|
7615
7454
|
const { error: errorTitle, message: errorMessage } = handleErrors(errors);
|
|
7616
|
-
|
|
7455
|
+
useEffect10(() => {
|
|
7617
7456
|
if (!errorTitle && !errorMessage) return;
|
|
7618
7457
|
console.error(`[BuyModal][Binance] ${errorTitle}: ${errorMessage}`);
|
|
7619
7458
|
stateUpdater(1);
|
|
@@ -7662,14 +7501,14 @@ function Binance(props) {
|
|
|
7662
7501
|
queryFn: async () => getPaymentMethodsQuery({ totalAmount: String(srcQueryAmount || 1) })
|
|
7663
7502
|
});
|
|
7664
7503
|
const lastLoadedPaymentModes = useRef6([]);
|
|
7665
|
-
|
|
7504
|
+
useEffect11(() => {
|
|
7666
7505
|
if (!paymentModes?.length) return;
|
|
7667
7506
|
setPaymentMode(getPayMethodID(paymentModes[0]));
|
|
7668
7507
|
lastLoadedPaymentModes.current = paymentModes;
|
|
7669
7508
|
}, [paymentModes]);
|
|
7670
7509
|
const selectedPaymentMode = paymentModes?.find((el) => getPayMethodID(el) === paymentMode) || null;
|
|
7671
7510
|
const minimum = Number(selectedPaymentMode?.fiatMinLimit || "0");
|
|
7672
|
-
|
|
7511
|
+
useEffect11(() => setMinAmount(minimum), [minimum]);
|
|
7673
7512
|
const {
|
|
7674
7513
|
data: quoteData = null,
|
|
7675
7514
|
isLoading: isQuoteDataLoading,
|
|
@@ -7690,7 +7529,7 @@ function Binance(props) {
|
|
|
7690
7529
|
[lumiaNetworkError, paymentMethodsError, quoteError],
|
|
7691
7530
|
setSrcInputAmount
|
|
7692
7531
|
);
|
|
7693
|
-
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } =
|
|
7532
|
+
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = useMutation5({
|
|
7694
7533
|
mutationFn: async () => {
|
|
7695
7534
|
setRedirecting(true);
|
|
7696
7535
|
const returnUrl = window.location.href.split("?")[0];
|
|
@@ -7714,7 +7553,7 @@ function Binance(props) {
|
|
|
7714
7553
|
setRedirecting(false);
|
|
7715
7554
|
}
|
|
7716
7555
|
});
|
|
7717
|
-
|
|
7556
|
+
useEffect11(() => {
|
|
7718
7557
|
return () => {
|
|
7719
7558
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.binanceNetworksQuery] });
|
|
7720
7559
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.binancePaymentModes] });
|
|
@@ -7776,36 +7615,36 @@ function Binance(props) {
|
|
|
7776
7615
|
}
|
|
7777
7616
|
|
|
7778
7617
|
// src/internal/components/BuyMenu/rampnow/Rampnow.tsx
|
|
7779
|
-
import { useMutation as
|
|
7618
|
+
import { useMutation as useMutation6, useQuery as useQuery4, useQueryClient as useQueryClient2 } from "@tanstack/react-query";
|
|
7780
7619
|
import { DollarSign as DollarSign2, LoaderIcon as LoaderIcon2 } from "lucide-react";
|
|
7781
|
-
import { useEffect as
|
|
7620
|
+
import { useEffect as useEffect12 } from "react";
|
|
7782
7621
|
|
|
7783
7622
|
// src/internal/components/BuyMenu/rampnow/api.ts
|
|
7784
|
-
|
|
7623
|
+
init_iframe_manager();
|
|
7785
7624
|
async function getRampnowConfigQuery() {
|
|
7786
|
-
const
|
|
7787
|
-
|
|
7788
|
-
|
|
7789
|
-
|
|
7790
|
-
|
|
7791
|
-
|
|
7792
|
-
|
|
7625
|
+
const accessToken = getAccessToken();
|
|
7626
|
+
if (!accessToken) {
|
|
7627
|
+
throw new Error("Access token is not available");
|
|
7628
|
+
}
|
|
7629
|
+
const iframeManager = getIframeManager();
|
|
7630
|
+
if (!iframeManager) {
|
|
7631
|
+
throw new Error("Iframe manager is not initialized");
|
|
7632
|
+
}
|
|
7633
|
+
return await iframeManager.sendMessage("RAMPNOW_GET_CONFIG", { accessToken });
|
|
7793
7634
|
}
|
|
7794
7635
|
async function getRampOrderQuoteQuery(payload) {
|
|
7795
|
-
const
|
|
7796
|
-
|
|
7797
|
-
|
|
7798
|
-
|
|
7799
|
-
|
|
7800
|
-
|
|
7801
|
-
|
|
7802
|
-
body: JSON.stringify(payload)
|
|
7803
|
-
});
|
|
7804
|
-
const data = await response.json();
|
|
7805
|
-
if (!data.data) {
|
|
7806
|
-
throw new Error(`${data.code}: ${data.message}`);
|
|
7636
|
+
const accessToken = getAccessToken();
|
|
7637
|
+
if (!accessToken) {
|
|
7638
|
+
throw new Error("Access token is not available");
|
|
7639
|
+
}
|
|
7640
|
+
const iframeManager = getIframeManager();
|
|
7641
|
+
if (!iframeManager) {
|
|
7642
|
+
throw new Error("Iframe manager is not initialized");
|
|
7807
7643
|
}
|
|
7808
|
-
return
|
|
7644
|
+
return await iframeManager.sendMessage("RAMPNOW_GET_ORDER_QUOTE", {
|
|
7645
|
+
...payload,
|
|
7646
|
+
accessToken
|
|
7647
|
+
});
|
|
7809
7648
|
}
|
|
7810
7649
|
|
|
7811
7650
|
// src/internal/components/BuyMenu/rampnow/constants.ts
|
|
@@ -7843,7 +7682,7 @@ function Rampnow(props) {
|
|
|
7843
7682
|
setMinAmount
|
|
7844
7683
|
} = control;
|
|
7845
7684
|
const qc = useQueryClient2();
|
|
7846
|
-
|
|
7685
|
+
useEffect12(() => {
|
|
7847
7686
|
setMinAmount(MINIMUM_RAMP_AMOUNT);
|
|
7848
7687
|
setPaymentMode(PAYMENT_MODES[0].id);
|
|
7849
7688
|
}, []);
|
|
@@ -7871,7 +7710,7 @@ function Rampnow(props) {
|
|
|
7871
7710
|
paymentMode
|
|
7872
7711
|
})
|
|
7873
7712
|
});
|
|
7874
|
-
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } =
|
|
7713
|
+
const { mutate: checkoutFundWalletOrder, isPending: isFundWalletOrderCheckouting } = useMutation6({
|
|
7875
7714
|
mutationFn: async () => {
|
|
7876
7715
|
if (!configData?.apiKey?.length || !configData?.orderUrl?.length) {
|
|
7877
7716
|
throw new Error("RampNow order service is not available");
|
|
@@ -7900,7 +7739,7 @@ function Rampnow(props) {
|
|
|
7900
7739
|
console.error("Create CheckoutOrder failed:", err);
|
|
7901
7740
|
}
|
|
7902
7741
|
});
|
|
7903
|
-
|
|
7742
|
+
useEffect12(() => {
|
|
7904
7743
|
return () => {
|
|
7905
7744
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.getRampNowConfig] });
|
|
7906
7745
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.getRampNowQuote] });
|
|
@@ -7982,7 +7821,7 @@ var RAMP_PROVIDERS = {
|
|
|
7982
7821
|
var REDIRECT_TIMEOUT_MS = 1500;
|
|
7983
7822
|
|
|
7984
7823
|
// src/internal/components/BuyMenu/useSelectables.ts
|
|
7985
|
-
import { useCallback as useCallback8, useEffect as
|
|
7824
|
+
import { useCallback as useCallback8, useEffect as useEffect13, useRef as useRef7, useState as useState6 } from "react";
|
|
7986
7825
|
|
|
7987
7826
|
// src/internal/utils/debounce.ts
|
|
7988
7827
|
function debounce2(func, waitFor) {
|
|
@@ -8011,7 +7850,7 @@ var useSelectables = () => {
|
|
|
8011
7850
|
}, ON_INPUT_QUERY_DELAY),
|
|
8012
7851
|
[minAmount]
|
|
8013
7852
|
);
|
|
8014
|
-
|
|
7853
|
+
useEffect13(() => setQueryAmountDebounced(srcInputAmount), [srcInputAmount, setQueryAmountDebounced]);
|
|
8015
7854
|
return {
|
|
8016
7855
|
inputRef,
|
|
8017
7856
|
redirecting,
|
|
@@ -8032,6 +7871,7 @@ import { jsx as jsx33, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
|
8032
7871
|
function BuyMenu() {
|
|
8033
7872
|
const walletAddress = useLumiaPassportSession((st) => st.address);
|
|
8034
7873
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
7874
|
+
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
8035
7875
|
const control = useSelectables();
|
|
8036
7876
|
const { rampProvider, setrRampProvider } = control;
|
|
8037
7877
|
const ProviderComponent = RAMP_PROVIDERS[rampProvider];
|
|
@@ -8040,25 +7880,32 @@ function BuyMenu() {
|
|
|
8040
7880
|
simplex: "bg-[#081f2c]",
|
|
8041
7881
|
binance: "bg-[#f3ba2f]"
|
|
8042
7882
|
};
|
|
8043
|
-
return /* @__PURE__ */ jsxs25(
|
|
8044
|
-
|
|
8045
|
-
|
|
8046
|
-
|
|
8047
|
-
|
|
8048
|
-
|
|
8049
|
-
|
|
8050
|
-
|
|
8051
|
-
|
|
8052
|
-
|
|
8053
|
-
|
|
8054
|
-
|
|
8055
|
-
|
|
8056
|
-
|
|
8057
|
-
|
|
8058
|
-
|
|
8059
|
-
|
|
8060
|
-
|
|
8061
|
-
|
|
7883
|
+
return /* @__PURE__ */ jsxs25(
|
|
7884
|
+
"div",
|
|
7885
|
+
{
|
|
7886
|
+
style: { "--l-pass-scrollbar-mah": `${maxScrollHeight}px` },
|
|
7887
|
+
className: "list-scrollbar-y w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]",
|
|
7888
|
+
children: [
|
|
7889
|
+
/* @__PURE__ */ jsxs25("div", { className: "flex items-center gap-2", children: [
|
|
7890
|
+
/* @__PURE__ */ jsx33(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx33(ArrowLeft4, { className: "h-4 w-4" }) }),
|
|
7891
|
+
/* @__PURE__ */ jsx33("span", { className: "text-xl font-semibold", children: "Buy LUMIA" })
|
|
7892
|
+
] }),
|
|
7893
|
+
/* @__PURE__ */ jsx33("div", { className: "w-full flex items-center gap-2", children: AVAILABLE_RAMP_PROVIDERS.map(({ id, icon: Icon }) => /* @__PURE__ */ jsx33(
|
|
7894
|
+
Button,
|
|
7895
|
+
{
|
|
7896
|
+
type: "button",
|
|
7897
|
+
variant: "ghost",
|
|
7898
|
+
size: "large",
|
|
7899
|
+
onClick: () => setrRampProvider(id),
|
|
7900
|
+
className: cn("w-full flex-1", { [activeServiceButtonsStyles[id]]: rampProvider === id }),
|
|
7901
|
+
children: /* @__PURE__ */ jsx33(Icon, {})
|
|
7902
|
+
},
|
|
7903
|
+
id
|
|
7904
|
+
)) }),
|
|
7905
|
+
/* @__PURE__ */ jsx33(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-4", children: /* @__PURE__ */ jsx33(ProviderComponent, { control, walletAddress }) })
|
|
7906
|
+
]
|
|
7907
|
+
}
|
|
7908
|
+
);
|
|
8062
7909
|
}
|
|
8063
7910
|
|
|
8064
7911
|
// src/internal/components/KeyshareBackupMenu/KeyshareBackupMenu.tsx
|
|
@@ -8074,7 +7921,7 @@ import {
|
|
|
8074
7921
|
Loader as Loader6,
|
|
8075
7922
|
Lock
|
|
8076
7923
|
} from "lucide-react";
|
|
8077
|
-
import React7, { useEffect as
|
|
7924
|
+
import React7, { useEffect as useEffect14 } from "react";
|
|
8078
7925
|
init_iframe_manager();
|
|
8079
7926
|
|
|
8080
7927
|
// src/internal/components/ui/checkbox.tsx
|
|
@@ -8110,7 +7957,7 @@ function KeyshareBackupMenu() {
|
|
|
8110
7957
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
8111
7958
|
const userId = session?.mpcUserId || "";
|
|
8112
7959
|
const onBackupSuccess = () => console.log("[ConnectWalletButton] Backup created successfully");
|
|
8113
|
-
|
|
7960
|
+
useEffect14(() => {
|
|
8114
7961
|
if (!userId) setPage("main-menu" /* MAIN_MENU */);
|
|
8115
7962
|
}, [userId, setPage]);
|
|
8116
7963
|
const [backupStatus, setBackupStatus] = React7.useState({
|
|
@@ -8141,7 +7988,7 @@ function KeyshareBackupMenu() {
|
|
|
8141
7988
|
return null;
|
|
8142
7989
|
}
|
|
8143
7990
|
}, []);
|
|
8144
|
-
|
|
7991
|
+
useEffect14(() => {
|
|
8145
7992
|
const loadCloudProviders = async () => {
|
|
8146
7993
|
try {
|
|
8147
7994
|
const { getAvailableCloudProviders: getAvailableCloudProviders3 } = await Promise.resolve().then(() => (init_cloudStorage(), cloudStorage_exports));
|
|
@@ -8170,7 +8017,7 @@ function KeyshareBackupMenu() {
|
|
|
8170
8017
|
console.error("[KeyshareBackup] Failed to get backup status:", error2);
|
|
8171
8018
|
}
|
|
8172
8019
|
}, [iframeManager, userId]);
|
|
8173
|
-
|
|
8020
|
+
useEffect14(() => {
|
|
8174
8021
|
refreshStatus();
|
|
8175
8022
|
}, [refreshStatus]);
|
|
8176
8023
|
const handleBackup = async (method) => {
|
|
@@ -8399,9 +8246,9 @@ function KeyshareBackupMenu() {
|
|
|
8399
8246
|
}
|
|
8400
8247
|
|
|
8401
8248
|
// src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
|
|
8402
|
-
import { useMutation as
|
|
8249
|
+
import { useMutation as useMutation7 } from "@tanstack/react-query";
|
|
8403
8250
|
import { AlertCircle as AlertCircle4, CheckCircle2 as CheckCircle22, Loader as Loader9, LogOut as LogOut2 } from "lucide-react";
|
|
8404
|
-
import React8, { useCallback as useCallback9, useEffect as
|
|
8251
|
+
import React8, { useCallback as useCallback9, useEffect as useEffect15 } from "react";
|
|
8405
8252
|
init_vaultClient();
|
|
8406
8253
|
|
|
8407
8254
|
// src/internal/components/KeyshareRestoreMenu/NoBackupFound.tsx
|
|
@@ -8586,7 +8433,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8586
8433
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
8587
8434
|
const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
|
|
8588
8435
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
8589
|
-
|
|
8436
|
+
useEffect15(() => setIsDialogForced(true), []);
|
|
8590
8437
|
const { usePaymaster, recoveryUserId, setRecoveryUserId, setSession, setAddress, setStatus, setIsLoading } = useLumiaPassportSession();
|
|
8591
8438
|
const [error, setError] = React8.useState(null);
|
|
8592
8439
|
const [success, setSuccess] = React8.useState(null);
|
|
@@ -8695,7 +8542,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8695
8542
|
callbacks,
|
|
8696
8543
|
config.projectId
|
|
8697
8544
|
]);
|
|
8698
|
-
|
|
8545
|
+
useEffect15(() => {
|
|
8699
8546
|
const checkBackupAvailability = async () => {
|
|
8700
8547
|
try {
|
|
8701
8548
|
setCheckingBackup(true);
|
|
@@ -8713,7 +8560,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8713
8560
|
};
|
|
8714
8561
|
checkBackupAvailability();
|
|
8715
8562
|
}, [recoveryUserId]);
|
|
8716
|
-
const { mutate: restoreFromServer2, isPending: isRestoringFromServer } =
|
|
8563
|
+
const { mutate: restoreFromServer2, isPending: isRestoringFromServer } = useMutation7({
|
|
8717
8564
|
mutationFn: async () => {
|
|
8718
8565
|
setError(null);
|
|
8719
8566
|
setSuccess(null);
|
|
@@ -8748,7 +8595,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8748
8595
|
setError(errorMsg);
|
|
8749
8596
|
}
|
|
8750
8597
|
});
|
|
8751
|
-
const { mutate: restoreFromFile, isPending: isRestoringFromFile } =
|
|
8598
|
+
const { mutate: restoreFromFile, isPending: isRestoringFromFile } = useMutation7({
|
|
8752
8599
|
mutationFn: async () => {
|
|
8753
8600
|
if (!restoreFile) {
|
|
8754
8601
|
throw new Error("Please select a backup file");
|
|
@@ -8782,7 +8629,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8782
8629
|
setError(errorMsg);
|
|
8783
8630
|
}
|
|
8784
8631
|
});
|
|
8785
|
-
const { mutate: disconnect, isPending: isDisconnecting } =
|
|
8632
|
+
const { mutate: disconnect, isPending: isDisconnecting } = useMutation7({
|
|
8786
8633
|
mutationFn: async () => {
|
|
8787
8634
|
setError(null);
|
|
8788
8635
|
setStatus("disconnecting");
|
|
@@ -8874,7 +8721,7 @@ import { ArrowLeft as ArrowLeft6 } from "lucide-react";
|
|
|
8874
8721
|
import { LoaderIcon as LoaderIcon3 } from "lucide-react";
|
|
8875
8722
|
|
|
8876
8723
|
// src/internal/components/KYC/useSumsubIframe.ts
|
|
8877
|
-
import { useEffect as
|
|
8724
|
+
import { useEffect as useEffect16, useRef as useRef8, useState as useState8 } from "react";
|
|
8878
8725
|
|
|
8879
8726
|
// src/internal/components/KYC/api/sumsub.ts
|
|
8880
8727
|
init_httpClient();
|
|
@@ -9003,7 +8850,7 @@ function useSumsubIframe({ iframeUrl }) {
|
|
|
9003
8850
|
const [height, setHeight] = useState8(0);
|
|
9004
8851
|
const [status, setStatus] = useState8("");
|
|
9005
8852
|
const levelName = config.kyc?.options?.levelName;
|
|
9006
|
-
|
|
8853
|
+
useEffect16(() => {
|
|
9007
8854
|
setError(null);
|
|
9008
8855
|
setIsLoading(true);
|
|
9009
8856
|
setStatus("Preparing verification...");
|
|
@@ -9111,7 +8958,7 @@ function KycMenu() {
|
|
|
9111
8958
|
|
|
9112
8959
|
// src/internal/components/MainMenu/MainMenu.tsx
|
|
9113
8960
|
import { ChevronLeft, ChevronRight as ChevronRight2, DollarSign as DollarSign3, Wallet2 as Wallet23 } from "lucide-react";
|
|
9114
|
-
import { useEffect as
|
|
8961
|
+
import { useEffect as useEffect17 } from "react";
|
|
9115
8962
|
|
|
9116
8963
|
// src/internal/components/MainMenu/BackupWarning.tsx
|
|
9117
8964
|
import { AnimatePresence as AnimatePresence2, motion as motion2 } from "framer-motion";
|
|
@@ -9167,18 +9014,18 @@ function MainMenu() {
|
|
|
9167
9014
|
const address = useLumiaPassportSession((st) => st.address);
|
|
9168
9015
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
9169
9016
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
9170
|
-
|
|
9017
|
+
useEffect17(() => setMainPageHeight(DEFAULT_MAIN_MENU_HEIGHT), [setMainPageHeight]);
|
|
9171
9018
|
return /* @__PURE__ */ jsxs33("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
9172
|
-
/* @__PURE__ */ jsx42("div", { className: "grid grid-cols-4 gap-[var(--l-pass-gap)]", children: MAIN_MENU_BUTTONS.map(({ id, label, icon: Icon }) => /* @__PURE__ */ jsxs33(
|
|
9019
|
+
/* @__PURE__ */ jsx42("div", { className: "w-full grid grid-cols-4 gap-0 md:gap-[var(--l-pass-gap)] py-[10px] md:py-0 ", children: MAIN_MENU_BUTTONS.map(({ id, label, icon: Icon }) => /* @__PURE__ */ jsxs33(
|
|
9173
9020
|
Button,
|
|
9174
9021
|
{
|
|
9175
9022
|
size: "large",
|
|
9176
9023
|
variant: "ghost",
|
|
9177
9024
|
disabled: !address,
|
|
9178
|
-
className: "flex-col h-fit
|
|
9025
|
+
className: "flex-col w-full h-fit p-0",
|
|
9179
9026
|
onClick: () => setPage(id),
|
|
9180
9027
|
children: [
|
|
9181
|
-
/* @__PURE__ */ jsx42(Icon, { className: "w-8 h-8" }),
|
|
9028
|
+
/* @__PURE__ */ jsx42(Icon, { className: "w-5 h-5 md:w-8 md:h-8" }),
|
|
9182
9029
|
/* @__PURE__ */ jsx42("span", { className: "text-xs font-semibold", children: label })
|
|
9183
9030
|
]
|
|
9184
9031
|
},
|
|
@@ -9241,7 +9088,7 @@ init_passkey2();
|
|
|
9241
9088
|
// src/internal/components/ManageWalletMenu/EmailForm.tsx
|
|
9242
9089
|
init_lumiaPassport();
|
|
9243
9090
|
init_projectId();
|
|
9244
|
-
import { useMutation as
|
|
9091
|
+
import { useMutation as useMutation8 } from "@tanstack/react-query";
|
|
9245
9092
|
import { ChevronRight as ChevronRight3, Loader as Loader10, Mail as Mail4 } from "lucide-react";
|
|
9246
9093
|
|
|
9247
9094
|
// src/internal/components/ManageWalletMenu/hooks/useStore.ts
|
|
@@ -9283,7 +9130,7 @@ function EmailForm() {
|
|
|
9283
9130
|
const isLoading = useLumiaPassportSession((st) => st.isLoading);
|
|
9284
9131
|
const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
|
|
9285
9132
|
const { email, setEmail, setEmailCodeSentError, setEmailCodeExpiresIn, setEmailStep } = useManageWalletStore();
|
|
9286
|
-
const { mutate: onSendVerificationCode } =
|
|
9133
|
+
const { mutate: onSendVerificationCode } = useMutation8({
|
|
9287
9134
|
mutationFn: async () => {
|
|
9288
9135
|
if (!email) return;
|
|
9289
9136
|
setIsLoading(true);
|
|
@@ -9376,10 +9223,10 @@ function useProvidersList() {
|
|
|
9376
9223
|
|
|
9377
9224
|
// src/internal/components/ManageWalletMenu/hooks/useSendVerificationCode.ts
|
|
9378
9225
|
init_email();
|
|
9379
|
-
import { useMutation as
|
|
9226
|
+
import { useMutation as useMutation9 } from "@tanstack/react-query";
|
|
9380
9227
|
function useSendVerificationCode() {
|
|
9381
9228
|
const { setVerificationError, setLinkIsLoading, setEmailCodeSentError, setEmailCodeExpiresIn } = useManageWalletStore();
|
|
9382
|
-
return
|
|
9229
|
+
return useMutation9({
|
|
9383
9230
|
mutationFn: async (email) => {
|
|
9384
9231
|
if (!email) {
|
|
9385
9232
|
throw new Error("Email is required");
|
|
@@ -9402,7 +9249,7 @@ function useSendVerificationCode() {
|
|
|
9402
9249
|
}
|
|
9403
9250
|
|
|
9404
9251
|
// src/internal/components/ManageWalletMenu/hooks/useVerifyCode.ts
|
|
9405
|
-
import { useMutation as
|
|
9252
|
+
import { useMutation as useMutation10, useQueryClient as useQueryClient4 } from "@tanstack/react-query";
|
|
9406
9253
|
init_email();
|
|
9407
9254
|
function useVerifyCode() {
|
|
9408
9255
|
const { callbacks } = useLumiaPassportConfig();
|
|
@@ -9420,7 +9267,7 @@ function useVerifyCode() {
|
|
|
9420
9267
|
setVerificationError,
|
|
9421
9268
|
setEmailCodeSentError
|
|
9422
9269
|
} = useManageWalletStore();
|
|
9423
|
-
return
|
|
9270
|
+
return useMutation10({
|
|
9424
9271
|
mutationFn: async (codeToVerify) => {
|
|
9425
9272
|
const code = codeToVerify ?? emailCode;
|
|
9426
9273
|
if (!code) {
|
|
@@ -9631,7 +9478,7 @@ function EmailNotConnectedWarning() {
|
|
|
9631
9478
|
|
|
9632
9479
|
// src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts
|
|
9633
9480
|
import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
|
|
9634
|
-
import React9, { useEffect as
|
|
9481
|
+
import React9, { useEffect as useEffect18 } from "react";
|
|
9635
9482
|
init_auth();
|
|
9636
9483
|
function useLinkSocial() {
|
|
9637
9484
|
const qc = useQueryClient6();
|
|
@@ -9695,7 +9542,7 @@ function useLinkSocial() {
|
|
|
9695
9542
|
[config.social?.providers, callbacks]
|
|
9696
9543
|
);
|
|
9697
9544
|
const [socialLinkStarted, setSocialLinkStarted] = React9.useState(false);
|
|
9698
|
-
|
|
9545
|
+
useEffect18(() => {
|
|
9699
9546
|
const key = providerType?.toLowerCase();
|
|
9700
9547
|
console.log("[useLinkSocial] Effect triggered:", { key, linkIsLoading, socialLinkStarted, isWalletLinking });
|
|
9701
9548
|
if (isWalletLinking) {
|
|
@@ -9716,7 +9563,7 @@ function useLinkSocial() {
|
|
|
9716
9563
|
|
|
9717
9564
|
// src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
|
|
9718
9565
|
import { useQueryClient as useQueryClient7 } from "@tanstack/react-query";
|
|
9719
|
-
import { useCallback as useCallback11, useEffect as
|
|
9566
|
+
import { useCallback as useCallback11, useEffect as useEffect19, useState as useState9 } from "react";
|
|
9720
9567
|
init_telegram2();
|
|
9721
9568
|
function useLinkTelegram() {
|
|
9722
9569
|
const {
|
|
@@ -9770,7 +9617,7 @@ function useLinkTelegram() {
|
|
|
9770
9617
|
}
|
|
9771
9618
|
}, [config.social?.providers, callbacks]);
|
|
9772
9619
|
const [telegramLinkStarted, setTelegramLinkStarted] = useState9(false);
|
|
9773
|
-
|
|
9620
|
+
useEffect19(() => {
|
|
9774
9621
|
console.log("[useLinkTelegram] Effect triggered:", { providerType, linkIsLoading, telegramLinkStarted, isWalletLinking });
|
|
9775
9622
|
if (isWalletLinking) {
|
|
9776
9623
|
console.log("[useLinkTelegram] Skipping - wallet linking in progress");
|
|
@@ -9782,7 +9629,7 @@ function useLinkTelegram() {
|
|
|
9782
9629
|
handleLinkTelegram();
|
|
9783
9630
|
}
|
|
9784
9631
|
}, [providerType, handleLinkTelegram, linkIsLoading, telegramLinkStarted, isWalletLinking]);
|
|
9785
|
-
|
|
9632
|
+
useEffect19(() => {
|
|
9786
9633
|
if (providerType !== "telegram") {
|
|
9787
9634
|
setTelegramLinkStarted(false);
|
|
9788
9635
|
}
|
|
@@ -9992,7 +9839,7 @@ function ManageWalletMenu() {
|
|
|
9992
9839
|
}
|
|
9993
9840
|
|
|
9994
9841
|
// src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx
|
|
9995
|
-
import { useMutation as
|
|
9842
|
+
import { useMutation as useMutation11, useQueryClient as useQueryClient8 } from "@tanstack/react-query";
|
|
9996
9843
|
import { Key as Key7, Loader as Loader12 } from "lucide-react";
|
|
9997
9844
|
import { useState as useState10 } from "react";
|
|
9998
9845
|
init_auth();
|
|
@@ -10004,7 +9851,7 @@ function UnlinkProviderMenu() {
|
|
|
10004
9851
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10005
9852
|
const { confirmUnlink, setConfirmUnlink, setLinkError } = useManageWalletStore();
|
|
10006
9853
|
const [confirmInput, setConfirmInput] = useState10("");
|
|
10007
|
-
const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } =
|
|
9854
|
+
const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = useMutation11({
|
|
10008
9855
|
mutationFn: async () => {
|
|
10009
9856
|
if (!confirmUnlink) {
|
|
10010
9857
|
throw new Error("No provider to unlink");
|
|
@@ -10079,7 +9926,7 @@ function UnlinkProviderMenu() {
|
|
|
10079
9926
|
// src/internal/components/PortfolioMenu/PortfolioMenu.tsx
|
|
10080
9927
|
import { useQueryClient as useQueryClient10 } from "@tanstack/react-query";
|
|
10081
9928
|
import { ArrowLeft as ArrowLeft8, Gem, Loader as Loader14, RefreshCw } from "lucide-react";
|
|
10082
|
-
import { useCallback as useCallback12, useEffect as
|
|
9929
|
+
import { useCallback as useCallback12, useEffect as useEffect20, useRef as useRef9 } from "react";
|
|
10083
9930
|
|
|
10084
9931
|
// src/modules/assets.ts
|
|
10085
9932
|
init_base();
|
|
@@ -10265,7 +10112,7 @@ function formatValue(price) {
|
|
|
10265
10112
|
function openInExplorer(address) {
|
|
10266
10113
|
window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
|
|
10267
10114
|
}
|
|
10268
|
-
async function
|
|
10115
|
+
async function getAssetRate2(symbol) {
|
|
10269
10116
|
const assetURL = `https://api.binance.com/api/v3/ticker/price?symbol=${symbol.toUpperCase()}USDT`;
|
|
10270
10117
|
const response = await fetch(assetURL);
|
|
10271
10118
|
return await response.json();
|
|
@@ -10282,7 +10129,7 @@ function PortfolioItem(props) {
|
|
|
10282
10129
|
staleTime: 4 * 60 * 1e3,
|
|
10283
10130
|
enabled: !!address && !!asset.symbol && !isProjectAsset,
|
|
10284
10131
|
queryKey: [ASSETS_RATES_QUERY_KEY, address, asset.symbol],
|
|
10285
|
-
queryFn: async () => await
|
|
10132
|
+
queryFn: async () => await getAssetRate2(asset.symbol)
|
|
10286
10133
|
});
|
|
10287
10134
|
const renderBalance = isProjectAsset && projectAssetBalance?.fiatFormatted ? projectAssetBalance.fiatFormatted : asset.formattedBalance;
|
|
10288
10135
|
return /* @__PURE__ */ jsxs40(
|
|
@@ -10347,7 +10194,7 @@ function PortfolioMenu() {
|
|
|
10347
10194
|
Promise.all(projectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
|
|
10348
10195
|
refreshBalances();
|
|
10349
10196
|
}, [qc, projectAssets, refreshBalances]);
|
|
10350
|
-
|
|
10197
|
+
useEffect20(() => {
|
|
10351
10198
|
if (!assetsContainerListRef.current || !assetsListRef.current) return;
|
|
10352
10199
|
const listTargetHeight = maxScrollHeight - 128;
|
|
10353
10200
|
assetsContainerListRef.current.style.setProperty("--l-pass-scrollbar-mah", `${listTargetHeight}px`);
|
|
@@ -10434,7 +10281,7 @@ import {
|
|
|
10434
10281
|
Shield,
|
|
10435
10282
|
Trash2 as Trash22
|
|
10436
10283
|
} from "lucide-react";
|
|
10437
|
-
import { useCallback as useCallback13, useEffect as
|
|
10284
|
+
import { useCallback as useCallback13, useEffect as useEffect21, useState as useState11 } from "react";
|
|
10438
10285
|
init_vaultClient();
|
|
10439
10286
|
import { jsx as jsx51, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
10440
10287
|
function SecurityMenu() {
|
|
@@ -10488,7 +10335,7 @@ function SecurityMenu() {
|
|
|
10488
10335
|
setIsRefreshing(false);
|
|
10489
10336
|
}
|
|
10490
10337
|
}, [userId]);
|
|
10491
|
-
|
|
10338
|
+
useEffect21(() => {
|
|
10492
10339
|
if (open) fetchRecovery();
|
|
10493
10340
|
}, [open, fetchRecovery]);
|
|
10494
10341
|
const parseOS = (ua) => {
|
|
@@ -10680,7 +10527,7 @@ function SecurityMenu() {
|
|
|
10680
10527
|
|
|
10681
10528
|
// src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
|
|
10682
10529
|
import { AlertCircle as AlertCircle5, ArrowLeft as ArrowLeft10, CheckCircle2 as CheckCircle24, Loader as Loader16, Wallet } from "lucide-react";
|
|
10683
|
-
import { useEffect as
|
|
10530
|
+
import { useEffect as useEffect22, useState as useState13 } from "react";
|
|
10684
10531
|
import { isAddress as isAddress2 } from "viem";
|
|
10685
10532
|
import { useBalance as useBalance3 } from "wagmi";
|
|
10686
10533
|
|
|
@@ -10768,7 +10615,7 @@ function SendLumiaMenu() {
|
|
|
10768
10615
|
const [validationError, setValidationError] = useState13(null);
|
|
10769
10616
|
const nativeAsset = assets.find((a) => a.type === "native");
|
|
10770
10617
|
const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
|
|
10771
|
-
|
|
10618
|
+
useEffect22(() => {
|
|
10772
10619
|
if (open) {
|
|
10773
10620
|
setTxStep("input");
|
|
10774
10621
|
setValidationError(null);
|
|
@@ -10933,7 +10780,7 @@ function SendLumiaMenu() {
|
|
|
10933
10780
|
init_clients();
|
|
10934
10781
|
import { ArrowLeft as ArrowLeft11, CheckCircle2 as CheckCircle25, Copy as Copy2, Loader as Loader17 } from "lucide-react";
|
|
10935
10782
|
import QRCode from "qrcode";
|
|
10936
|
-
import { useCallback as useCallback15, useEffect as
|
|
10783
|
+
import { useCallback as useCallback15, useEffect as useEffect23, useState as useState14 } from "react";
|
|
10937
10784
|
import { Fragment as Fragment13, jsx as jsx53, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
10938
10785
|
function ReceiveLumiaMenu() {
|
|
10939
10786
|
const address = useLumiaPassportSession((st) => st.address);
|
|
@@ -10943,7 +10790,7 @@ function ReceiveLumiaMenu() {
|
|
|
10943
10790
|
const open = page === "receive";
|
|
10944
10791
|
const [qrCodeUrl, setQrCodeUrl] = useState14("");
|
|
10945
10792
|
const [copied, setCopied] = useState14(false);
|
|
10946
|
-
|
|
10793
|
+
useEffect23(() => {
|
|
10947
10794
|
if (open && address) {
|
|
10948
10795
|
QRCode.toDataURL(address, {
|
|
10949
10796
|
width: 200,
|
|
@@ -11002,7 +10849,7 @@ function ReceiveLumiaMenu() {
|
|
|
11002
10849
|
|
|
11003
10850
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
11004
10851
|
import { ArrowLeft as ArrowLeft12 } from "lucide-react";
|
|
11005
|
-
import { useEffect as
|
|
10852
|
+
import { useEffect as useEffect24 } from "react";
|
|
11006
10853
|
|
|
11007
10854
|
// src/internal/components/SettingsMenu/constants.ts
|
|
11008
10855
|
import { ArrowLeftRight, DatabaseBackup as DatabaseBackup2, LockKeyhole, UsersRound } from "lucide-react";
|
|
@@ -11036,7 +10883,7 @@ function SettingsMenu() {
|
|
|
11036
10883
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11037
10884
|
const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
|
|
11038
10885
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
11039
|
-
|
|
10886
|
+
useEffect24(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
|
|
11040
10887
|
const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
|
|
11041
10888
|
const highlightedKeys = settingsNotifications.map((n) => n.target);
|
|
11042
10889
|
return /* @__PURE__ */ jsxs45("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
@@ -11096,7 +10943,7 @@ function TermsOfService() {
|
|
|
11096
10943
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
11097
10944
|
import { useQuery as useQuery8, useQueryClient as useQueryClient11 } from "@tanstack/react-query";
|
|
11098
10945
|
import { ArrowLeft as ArrowLeft14, Loader as Loader18, RefreshCw as RefreshCw3, XCircle as XCircle2 } from "lucide-react";
|
|
11099
|
-
import { useCallback as useCallback16, useEffect as
|
|
10946
|
+
import { useCallback as useCallback16, useEffect as useEffect25, useRef as useRef10, useState as useState15 } from "react";
|
|
11100
10947
|
|
|
11101
10948
|
// src/internal/components/TransactionsMenu/api.ts
|
|
11102
10949
|
init_base();
|
|
@@ -11596,7 +11443,7 @@ function TransactionsMenu() {
|
|
|
11596
11443
|
[qc, address]
|
|
11597
11444
|
);
|
|
11598
11445
|
const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
|
|
11599
|
-
|
|
11446
|
+
useEffect25(() => {
|
|
11600
11447
|
if (!txContainerListRef.current || !txListRef.current) return;
|
|
11601
11448
|
const listTargetHeight = maxScrollHeight - 128;
|
|
11602
11449
|
txContainerListRef.current.style.setProperty("--l-pass-scrollbar-mah", `${listTargetHeight}px`);
|
|
@@ -11788,7 +11635,7 @@ function usePageMapper() {
|
|
|
11788
11635
|
},
|
|
11789
11636
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
11790
11637
|
);
|
|
11791
|
-
|
|
11638
|
+
useEffect26(() => {
|
|
11792
11639
|
if (page === null) return closeDialog();
|
|
11793
11640
|
const pageItem = protectedRoutes[page];
|
|
11794
11641
|
if (!pageItem) {
|
|
@@ -11802,7 +11649,7 @@ function usePageMapper() {
|
|
|
11802
11649
|
|
|
11803
11650
|
// src/internal/hooks/useSettingsNotifications.ts
|
|
11804
11651
|
init_auth();
|
|
11805
|
-
import { useEffect as
|
|
11652
|
+
import { useEffect as useEffect27 } from "react";
|
|
11806
11653
|
var EMAIL_NOT_CONNECTED_NOTIFICATION = {
|
|
11807
11654
|
id: "email-not-connected",
|
|
11808
11655
|
target: "manage-wallet" /* MANAGE_WALLET */,
|
|
@@ -11818,13 +11665,13 @@ function useSettingsNotifications() {
|
|
|
11818
11665
|
const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
|
|
11819
11666
|
const providers = jwtTokenManager2.getProviders();
|
|
11820
11667
|
const hasEmail = providers.includes("email");
|
|
11821
|
-
|
|
11668
|
+
useEffect27(() => {
|
|
11822
11669
|
setSettingsNotifications({
|
|
11823
11670
|
...BACKUP_IS_NOT_CREATED_NOTIFICATION,
|
|
11824
11671
|
status: hasServerVault ? "resolved" : "active"
|
|
11825
11672
|
});
|
|
11826
11673
|
}, [hasServerVault, setSettingsNotifications]);
|
|
11827
|
-
|
|
11674
|
+
useEffect27(() => {
|
|
11828
11675
|
setSettingsNotifications({
|
|
11829
11676
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
11830
11677
|
status: hasEmail ? "resolved" : "active"
|
|
@@ -11833,7 +11680,7 @@ function useSettingsNotifications() {
|
|
|
11833
11680
|
}
|
|
11834
11681
|
|
|
11835
11682
|
// src/internal/hooks/useWalletStatus.ts
|
|
11836
|
-
import { useEffect as
|
|
11683
|
+
import { useEffect as useEffect28 } from "react";
|
|
11837
11684
|
init_auth();
|
|
11838
11685
|
function useWalletStatus() {
|
|
11839
11686
|
const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
|
|
@@ -11843,7 +11690,7 @@ function useWalletStatus() {
|
|
|
11843
11690
|
config: { current: config },
|
|
11844
11691
|
callbacks
|
|
11845
11692
|
} = useLumiaPassportConfig();
|
|
11846
|
-
|
|
11693
|
+
useEffect28(() => {
|
|
11847
11694
|
if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
|
|
11848
11695
|
const userId = jwtTokenManager2.getUserId();
|
|
11849
11696
|
const hasKeyshare = jwtTokenManager2.getHasKeyshare();
|
|
@@ -11872,7 +11719,7 @@ function LumiaPassportDialog() {
|
|
|
11872
11719
|
const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
|
|
11873
11720
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11874
11721
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
11875
|
-
|
|
11722
|
+
useEffect29(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
11876
11723
|
usePageMapper();
|
|
11877
11724
|
useAutoConnect();
|
|
11878
11725
|
useCheckVaultStatus();
|
|
@@ -11956,7 +11803,7 @@ var TssManagerWithRef = React12.forwardRef((props, ref) => {
|
|
|
11956
11803
|
init_wallet();
|
|
11957
11804
|
import { useConnectModal } from "@rainbow-me/rainbowkit";
|
|
11958
11805
|
import { useQueryClient as useQueryClient12 } from "@tanstack/react-query";
|
|
11959
|
-
import React13, { useCallback as useCallback19, useEffect as
|
|
11806
|
+
import React13, { useCallback as useCallback19, useEffect as useEffect30 } from "react";
|
|
11960
11807
|
import { useAccount, useDisconnect, useSignMessage } from "wagmi";
|
|
11961
11808
|
function WalletConnectHandler() {
|
|
11962
11809
|
const qc = useQueryClient12();
|
|
@@ -11997,7 +11844,7 @@ function WalletConnectHandler() {
|
|
|
11997
11844
|
const { openConnectModal, connectModalOpen } = useConnectModal();
|
|
11998
11845
|
const [hasStartedLinking, setHasStartedLinking] = React13.useState(false);
|
|
11999
11846
|
const timeoutRef = React13.useRef();
|
|
12000
|
-
|
|
11847
|
+
useEffect30(() => {
|
|
12001
11848
|
if (isWalletLinking && !hasStartedLinking) {
|
|
12002
11849
|
setHasStartedLinking(true);
|
|
12003
11850
|
setProviderType(null);
|
|
@@ -12022,7 +11869,7 @@ function WalletConnectHandler() {
|
|
|
12022
11869
|
if (isConnected) disconnect();
|
|
12023
11870
|
}
|
|
12024
11871
|
}, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect, setPage, setProviderType]);
|
|
12025
|
-
|
|
11872
|
+
useEffect30(() => {
|
|
12026
11873
|
console.log("[WalletConnectHandler] Modal state check:", {
|
|
12027
11874
|
hasStartedLinking,
|
|
12028
11875
|
connectModalOpen,
|
|
@@ -12035,7 +11882,7 @@ function WalletConnectHandler() {
|
|
|
12035
11882
|
setHasStartedLinking(false);
|
|
12036
11883
|
}
|
|
12037
11884
|
}, [connectModalOpen, hasStartedLinking, isConnected, isWalletLinking]);
|
|
12038
|
-
|
|
11885
|
+
useEffect30(() => {
|
|
12039
11886
|
if (isConnected && walletAddress && isWalletLinking && hasStartedLinking) {
|
|
12040
11887
|
handleWalletSign();
|
|
12041
11888
|
}
|
|
@@ -12120,12 +11967,10 @@ var useLumiaPassportSession = create5((set) => ({
|
|
|
12120
11967
|
setWalletReadyStatus: (status) => set({ walletReadyStatus: status })
|
|
12121
11968
|
}));
|
|
12122
11969
|
function LumiaPassportSessionProvider({ children }) {
|
|
12123
|
-
const
|
|
12124
|
-
config: { current: config }
|
|
12125
|
-
} = useLumiaPassportConfig();
|
|
11970
|
+
const config = useLumiaPassportConfig().config;
|
|
12126
11971
|
return /* @__PURE__ */ jsxs51(Fragment15, { children: [
|
|
12127
11972
|
children,
|
|
12128
|
-
config.wallet?.enabled && /* @__PURE__ */ jsx62(WalletConnectHandler, {}),
|
|
11973
|
+
config.current?.wallet?.enabled && /* @__PURE__ */ jsx62(WalletConnectHandler, {}),
|
|
12129
11974
|
/* @__PURE__ */ jsx62(BalanceFeedProvider, {}),
|
|
12130
11975
|
/* @__PURE__ */ jsx62(
|
|
12131
11976
|
TssManagerWithRef,
|
|
@@ -12180,7 +12025,7 @@ function LumiaPassportProvider(props) {
|
|
|
12180
12025
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
12181
12026
|
const setIsIframeReady = useLumiaPassportSession((st) => st.setIsIframeReady);
|
|
12182
12027
|
const setWalletReadyStatus = useLumiaPassportSession((st) => st.setWalletReadyStatus);
|
|
12183
|
-
|
|
12028
|
+
useEffect31(() => notifyNoProjetctId(projectId), [projectId]);
|
|
12184
12029
|
const config = useRef11({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
|
|
12185
12030
|
const updateConfig = useCallback20((updates) => {
|
|
12186
12031
|
const prev = config.current;
|
|
@@ -12217,7 +12062,7 @@ function LumiaPassportProvider(props) {
|
|
|
12217
12062
|
}
|
|
12218
12063
|
config.current = next;
|
|
12219
12064
|
}, []);
|
|
12220
|
-
|
|
12065
|
+
useEffect31(() => {
|
|
12221
12066
|
if (typeof window === "undefined" || !projectId) return;
|
|
12222
12067
|
const mergedConfig = merge2(DEFAULT_LUMIA_PASSPORT_CONFIG, initialConfig);
|
|
12223
12068
|
updateConfig(mergedConfig);
|
|
@@ -12273,7 +12118,7 @@ var useLumiaPassportConfig = () => {
|
|
|
12273
12118
|
|
|
12274
12119
|
// src/components/ConnectWalletButton.tsx
|
|
12275
12120
|
import { Cloud as Cloud3, Laptop as Laptop2, Loader as Loader19, Shield as Shield2 } from "lucide-react";
|
|
12276
|
-
import { useEffect as
|
|
12121
|
+
import { useEffect as useEffect32, useMemo as useMemo4 } from "react";
|
|
12277
12122
|
init_auth();
|
|
12278
12123
|
import { Fragment as Fragment16, jsx as jsx65, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
12279
12124
|
function getFormattedStatus(label, status, showStatus) {
|
|
@@ -12293,7 +12138,7 @@ function ConnectWalletButton(props) {
|
|
|
12293
12138
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
12294
12139
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
|
|
12295
12140
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
12296
|
-
|
|
12141
|
+
useEffect32(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
12297
12142
|
const avatar = jwtTokenManager2.getAvatar();
|
|
12298
12143
|
const displayName = jwtTokenManager2.getDisplayName();
|
|
12299
12144
|
const indicators = useMemo4(() => {
|
|
@@ -12430,6 +12275,9 @@ function ConnectWalletButton(props) {
|
|
|
12430
12275
|
}
|
|
12431
12276
|
|
|
12432
12277
|
// src/hooks/childAppHooks.ts
|
|
12278
|
+
var useLumiaPassportIsMobileView = () => {
|
|
12279
|
+
return useLayoutStore((st) => st.isMobileView);
|
|
12280
|
+
};
|
|
12433
12281
|
var useLumiaPassportBalance = () => {
|
|
12434
12282
|
const walletBalance = useLayoutDataStore((st) => st.balance);
|
|
12435
12283
|
const fiatBalance = useLayoutDataStore((st) => st.fiatBalance);
|
|
@@ -12471,7 +12319,7 @@ function useLumiaPassportOpen() {
|
|
|
12471
12319
|
}
|
|
12472
12320
|
|
|
12473
12321
|
// src/hooks/useLumiaPassportColorMode.ts
|
|
12474
|
-
import { useCallback as useCallback22, useEffect as
|
|
12322
|
+
import { useCallback as useCallback22, useEffect as useEffect33 } from "react";
|
|
12475
12323
|
function useLumiaPassportColorMode() {
|
|
12476
12324
|
const {
|
|
12477
12325
|
config: { current: config }
|
|
@@ -12486,7 +12334,7 @@ function useLumiaPassportColorMode() {
|
|
|
12486
12334
|
},
|
|
12487
12335
|
[handleStoreColorMode]
|
|
12488
12336
|
);
|
|
12489
|
-
|
|
12337
|
+
useEffect33(() => {
|
|
12490
12338
|
let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
|
|
12491
12339
|
if (!targetColorMode && !preferedColorMode) {
|
|
12492
12340
|
const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
@@ -13149,13 +12997,13 @@ var Hash = ({
|
|
|
13149
12997
|
|
|
13150
12998
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
13151
12999
|
init_base();
|
|
13152
|
-
import { useEffect as
|
|
13000
|
+
import { useEffect as useEffect35, useState as useState19 } from "react";
|
|
13153
13001
|
import { jsx as jsx72, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
13154
13002
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
13155
13003
|
const [transactions, setTransactions] = useState19([]);
|
|
13156
13004
|
const [loading, setLoading] = useState19(true);
|
|
13157
13005
|
const [error, setError] = useState19(null);
|
|
13158
|
-
|
|
13006
|
+
useEffect35(() => {
|
|
13159
13007
|
const fetchTransactions = async () => {
|
|
13160
13008
|
try {
|
|
13161
13009
|
setLoading(true);
|
|
@@ -13662,6 +13510,7 @@ export {
|
|
|
13662
13510
|
useLumiaPassportError,
|
|
13663
13511
|
useLumiaPassportHasServerVault,
|
|
13664
13512
|
useLumiaPassportIFrameReady,
|
|
13513
|
+
useLumiaPassportIsMobileView,
|
|
13665
13514
|
useLumiaPassportLinkedProfiles,
|
|
13666
13515
|
useLumiaPassportLoadingStatus,
|
|
13667
13516
|
useLumiaPassportOpen,
|