@lumiapassport/ui-kit 1.14.5 → 1.14.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/iframe/index.html +1 -1
- package/dist/iframe/main.js +1 -1
- package/dist/index.cjs +663 -272
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +56 -1
- package/dist/index.d.ts +56 -1
- package/dist/index.js +627 -234
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -81,6 +81,7 @@ var init_assets = __esm({
|
|
|
81
81
|
var lumiaPassport_exports = {};
|
|
82
82
|
__export(lumiaPassport_exports, {
|
|
83
83
|
DEFAULT_LUMIA_PASSPORT_CONFIG: () => DEFAULT_LUMIA_PASSPORT_CONFIG,
|
|
84
|
+
getBlockscoutApiUrl: () => getBlockscoutApiUrl,
|
|
84
85
|
getIframeUrl: () => getIframeUrl,
|
|
85
86
|
getServiceUrls: () => getServiceUrls
|
|
86
87
|
});
|
|
@@ -114,6 +115,15 @@ function getIframeUrl() {
|
|
|
114
115
|
const iframeUrl = buildIframeUrl || config.services.iframeUrl || "https://auth.lumiapassport.com";
|
|
115
116
|
return iframeUrl;
|
|
116
117
|
}
|
|
118
|
+
function getBlockscoutApiUrl() {
|
|
119
|
+
const config = DEFAULT_LUMIA_PASSPORT_CONFIG;
|
|
120
|
+
const buildBlockscoutUrl = "https://beam-explorer.lumia.org/api/v2";
|
|
121
|
+
if (buildBlockscoutUrl) {
|
|
122
|
+
return buildBlockscoutUrl;
|
|
123
|
+
}
|
|
124
|
+
const explorerUrl = config.network.explorerUrl || "https://beam-explorer.lumia.org";
|
|
125
|
+
return `${explorerUrl.replace(/\/$/, "")}/api/v2`;
|
|
126
|
+
}
|
|
117
127
|
var DEFAULT_LUMIA_PASSPORT_CONFIG;
|
|
118
128
|
var init_lumiaPassport = __esm({
|
|
119
129
|
"src/config/lumiaPassport.tsx"() {
|
|
@@ -4368,17 +4378,17 @@ __export(index_exports, {
|
|
|
4368
4378
|
module.exports = __toCommonJS(index_exports);
|
|
4369
4379
|
|
|
4370
4380
|
// src/styles/built.css
|
|
4371
|
-
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 .-top-3{top:-.75rem}.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-0{right:0}.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-\\[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 .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-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.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 .mt-\\[var\\(--l-pass-gap\\)\\]{margin-top:var(--l-pass-gap)}.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 .aspect-square{aspect-ratio:1/1}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.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-\\[100dvh\\]{height:100dvh}.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-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-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.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 .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.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-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.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-normal{overflow-wrap:normal;word-break:normal}.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-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-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-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-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-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-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.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-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-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-gap\\)\\]{padding-top:var(--l-pass-gap);padding-bottom:var(--l-pass-gap)}.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-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-8{line-height:2rem}.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-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-black{--tw-text-opacity:1;color:rgb(0 0 0/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-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-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.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-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 .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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 .grayscale{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 .grayscale{--tw-grayscale:grayscale(100%)}.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,384px);--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;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.lumia-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.lumia-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@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 .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\\: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-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/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-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/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-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\\:underline:hover{text-decoration-line:underline}.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 .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-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-1{padding-top:.25rem;padding-bottom:.25rem}}@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\\]\\:shrink-0 svg){flex-shrink:0}';
|
|
4381
|
+
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-1{top:-.25rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .-top-3{top:-.75rem}.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-0{right:0}.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-\\[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 .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-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.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 .mt-\\[var\\(--l-pass-gap\\)\\]{margin-top:var(--l-pass-gap)}.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 .aspect-square{aspect-ratio:1/1}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.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-\\[100dvh\\]{height:100dvh}.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-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-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.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 .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[150px\\]{max-width:150px}.lumia-scope .max-w-\\[160px\\]{max-width:160px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.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-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.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-normal{overflow-wrap:normal;word-break:normal}.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-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-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-accent\\)\\]{background-color:var(--l-pass-accent)}.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-warning-bg\\)\\]{background-color:var(--l-pass-warning-bg)}.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-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-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-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.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-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-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-gap\\)\\]{padding-top:var(--l-pass-gap);padding-bottom:var(--l-pass-gap)}.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-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-normal{font-weight:400}.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-8{line-height:2rem}.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-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-black{--tw-text-opacity:1;color:rgb(0 0 0/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-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-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.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-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 .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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 .grayscale{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 .grayscale{--tw-grayscale:grayscale(100%)}.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,384px);--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;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.lumia-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.lumia-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@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 .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\\: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-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/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-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/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-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\\:underline:hover{text-decoration-line:underline}.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 .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-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-1{padding-top:.25rem;padding-bottom:.25rem}}@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\\]\\:shrink-0 svg){flex-shrink:0}';
|
|
4372
4382
|
|
|
4373
4383
|
// src/context/LumiaPassportContext.tsx
|
|
4374
4384
|
var import_error_tracking4 = require("@lumiapassport/core/internal/error-tracking");
|
|
4375
4385
|
var import_lodash_es4 = require("lodash-es");
|
|
4376
|
-
var
|
|
4386
|
+
var import_react56 = require("react");
|
|
4377
4387
|
init_lumiaPassport();
|
|
4378
4388
|
init_iframe_manager();
|
|
4379
4389
|
|
|
4380
4390
|
// src/context/LumiaPassportSessionContext.tsx
|
|
4381
|
-
var
|
|
4391
|
+
var import_react55 = require("react");
|
|
4382
4392
|
var import_zustand6 = require("zustand");
|
|
4383
4393
|
|
|
4384
4394
|
// src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
|
|
@@ -4400,6 +4410,10 @@ var DEFAULT_SETTINGS_MENU_HEIGHT = 346;
|
|
|
4400
4410
|
var MAX_CONTENT_HEIGHT = 640;
|
|
4401
4411
|
var MAIN_DIALOG_ANIMATION_SPEED = 375;
|
|
4402
4412
|
var Y_ANIMATION_SETUP = { duration: 0.15, ease: "easeInOut", height: { duration: 0.375 } };
|
|
4413
|
+
var BLOCKSCOUT_QUERY_STALE_TIME = 30 * 1e3;
|
|
4414
|
+
var BLOCKSCOUT_QUERY_GC_TIME = 5 * 60 * 1e3;
|
|
4415
|
+
var BLOCKSCOUT_REFRESH_DEBOUNCE = 2e3;
|
|
4416
|
+
var IPFS_GATEWAY = "https://ipfs.io/ipfs/";
|
|
4403
4417
|
var PROVIDERS_META2 = {
|
|
4404
4418
|
passkey: { name: "Passkey", icon: import_lucide_react2.Key, description: "Biometric authentication" },
|
|
4405
4419
|
email: { name: "Email", icon: import_lucide_react2.Mail, description: "Email verification" },
|
|
@@ -4549,12 +4563,12 @@ function BalanceFeedProvider() {
|
|
|
4549
4563
|
|
|
4550
4564
|
// src/internal/components/Dialog/LumiaPassportDialog.tsx
|
|
4551
4565
|
var import_framer_motion3 = require("framer-motion");
|
|
4552
|
-
var
|
|
4566
|
+
var import_react52 = require("react");
|
|
4553
4567
|
|
|
4554
4568
|
// package.json
|
|
4555
4569
|
var package_default = {
|
|
4556
4570
|
name: "@lumiapassport/ui-kit",
|
|
4557
|
-
version: "1.14.
|
|
4571
|
+
version: "1.14.6",
|
|
4558
4572
|
description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
|
|
4559
4573
|
type: "module",
|
|
4560
4574
|
main: "./dist/index.cjs",
|
|
@@ -5847,7 +5861,7 @@ function useDetectMaxScrollHeight() {
|
|
|
5847
5861
|
}
|
|
5848
5862
|
|
|
5849
5863
|
// src/internal/hooks/usePageMapper.tsx
|
|
5850
|
-
var
|
|
5864
|
+
var import_react49 = require("react");
|
|
5851
5865
|
|
|
5852
5866
|
// src/internal/components/AuthMenu/AuthMenu.tsx
|
|
5853
5867
|
var import_framer_motion = require("framer-motion");
|
|
@@ -10290,174 +10304,322 @@ function UnlinkProviderMenu() {
|
|
|
10290
10304
|
}
|
|
10291
10305
|
|
|
10292
10306
|
// src/internal/components/PortfolioMenu/PortfolioMenu.tsx
|
|
10293
|
-
var
|
|
10307
|
+
var import_react_query29 = require("@tanstack/react-query");
|
|
10294
10308
|
var import_lucide_react35 = require("lucide-react");
|
|
10295
|
-
var
|
|
10309
|
+
var import_react41 = require("react");
|
|
10296
10310
|
|
|
10297
|
-
// src/
|
|
10298
|
-
var import_react39 =
|
|
10311
|
+
// src/internal/hooks/useBlockscoutAssets.ts
|
|
10312
|
+
var import_react39 = require("react");
|
|
10313
|
+
var import_react_query27 = require("@tanstack/react-query");
|
|
10299
10314
|
var import_wagmi2 = require("wagmi");
|
|
10300
10315
|
var import_viem4 = require("viem");
|
|
10316
|
+
var import_clients2 = require("@lumiapassport/core/clients");
|
|
10317
|
+
init_lumiaPassport();
|
|
10301
10318
|
init_base();
|
|
10302
|
-
var
|
|
10303
|
-
|
|
10304
|
-
|
|
10305
|
-
|
|
10306
|
-
|
|
10307
|
-
|
|
10308
|
-
|
|
10309
|
-
|
|
10310
|
-
|
|
10319
|
+
var BLOCKSCOUT_QUERY_KEY = "blockscout-token-balances";
|
|
10320
|
+
var ERC3643_DETECTION_QUERY_KEY = "erc3643-detection";
|
|
10321
|
+
var ERC3643_ABI = [
|
|
10322
|
+
{
|
|
10323
|
+
name: "identityRegistry",
|
|
10324
|
+
type: "function",
|
|
10325
|
+
stateMutability: "view",
|
|
10326
|
+
inputs: [],
|
|
10327
|
+
outputs: [{ name: "", type: "address" }]
|
|
10328
|
+
}
|
|
10311
10329
|
];
|
|
10312
|
-
function
|
|
10313
|
-
|
|
10330
|
+
function resolveIpfsUri(uri) {
|
|
10331
|
+
if (!uri) return "";
|
|
10332
|
+
if (uri.startsWith("ipfs://")) {
|
|
10333
|
+
return uri.replace("ipfs://", IPFS_GATEWAY);
|
|
10334
|
+
}
|
|
10335
|
+
if (uri.startsWith("data:application/json")) {
|
|
10336
|
+
return uri;
|
|
10337
|
+
}
|
|
10338
|
+
return uri;
|
|
10339
|
+
}
|
|
10340
|
+
function mapTokenType(blockscoutType) {
|
|
10341
|
+
switch (blockscoutType) {
|
|
10342
|
+
case "ERC-20":
|
|
10343
|
+
return "erc20";
|
|
10344
|
+
case "ERC-721":
|
|
10345
|
+
return "erc721";
|
|
10346
|
+
case "ERC-1155":
|
|
10347
|
+
return "erc1155";
|
|
10348
|
+
default:
|
|
10349
|
+
return "erc20";
|
|
10350
|
+
}
|
|
10351
|
+
}
|
|
10352
|
+
function mapBlockscoutToAsset(balance) {
|
|
10353
|
+
const { token, value, token_id, token_instance } = balance;
|
|
10354
|
+
const type = mapTokenType(token.type);
|
|
10355
|
+
const decimals = token.decimals ? parseInt(token.decimals, 10) : void 0;
|
|
10356
|
+
let formattedBalance;
|
|
10357
|
+
if (type === "erc721") {
|
|
10358
|
+
formattedBalance = "1";
|
|
10359
|
+
} else if (decimals !== void 0) {
|
|
10360
|
+
formattedBalance = parseFloat((0, import_viem4.formatUnits)(BigInt(value), decimals)).toFixed(4);
|
|
10361
|
+
} else {
|
|
10362
|
+
formattedBalance = value;
|
|
10363
|
+
}
|
|
10364
|
+
const asset = {
|
|
10365
|
+
type,
|
|
10366
|
+
address: token.address,
|
|
10367
|
+
name: token.name || "Unknown Token",
|
|
10368
|
+
symbol: token.symbol || "???",
|
|
10369
|
+
balance: value,
|
|
10370
|
+
formattedBalance,
|
|
10371
|
+
decimals,
|
|
10372
|
+
logo: token.icon_url || void 0
|
|
10373
|
+
};
|
|
10374
|
+
if (type === "erc721" || type === "erc1155") {
|
|
10375
|
+
asset.tokenId = token_id || void 0;
|
|
10376
|
+
if (token_instance?.metadata) {
|
|
10377
|
+
const metadata = token_instance.metadata;
|
|
10378
|
+
asset.image = metadata.image ? resolveIpfsUri(metadata.image) : void 0;
|
|
10379
|
+
asset.nftMetadata = {
|
|
10380
|
+
name: metadata.name,
|
|
10381
|
+
description: metadata.description,
|
|
10382
|
+
image: asset.image,
|
|
10383
|
+
externalUrl: metadata.external_url,
|
|
10384
|
+
collectionName: token.name,
|
|
10385
|
+
attributes: metadata.attributes
|
|
10386
|
+
};
|
|
10387
|
+
}
|
|
10388
|
+
}
|
|
10389
|
+
return asset;
|
|
10390
|
+
}
|
|
10391
|
+
function mapBlockscoutNftToAsset(nft) {
|
|
10392
|
+
const { token, value, id, image_url, metadata } = nft;
|
|
10393
|
+
const type = mapTokenType(token.type);
|
|
10394
|
+
const imageUrl = image_url || (metadata?.image ? resolveIpfsUri(metadata.image) : void 0);
|
|
10395
|
+
const asset = {
|
|
10396
|
+
type,
|
|
10397
|
+
address: token.address,
|
|
10398
|
+
name: token.name || "Unknown NFT",
|
|
10399
|
+
symbol: token.symbol || "???",
|
|
10400
|
+
balance: value || "1",
|
|
10401
|
+
formattedBalance: "1",
|
|
10402
|
+
tokenId: id,
|
|
10403
|
+
logo: token.icon_url || void 0,
|
|
10404
|
+
image: imageUrl,
|
|
10405
|
+
nftMetadata: {
|
|
10406
|
+
name: metadata?.name,
|
|
10407
|
+
description: metadata?.description,
|
|
10408
|
+
image: imageUrl,
|
|
10409
|
+
externalUrl: metadata?.external_url,
|
|
10410
|
+
collectionName: token.name,
|
|
10411
|
+
attributes: metadata?.attributes
|
|
10412
|
+
}
|
|
10413
|
+
};
|
|
10414
|
+
return asset;
|
|
10415
|
+
}
|
|
10416
|
+
function createError(error) {
|
|
10417
|
+
if (error instanceof Error) {
|
|
10418
|
+
const message = error.message;
|
|
10419
|
+
if (message.includes("abort") || message.includes("timeout")) {
|
|
10420
|
+
return {
|
|
10421
|
+
type: "timeout",
|
|
10422
|
+
message: "Unable to load token list - request timed out",
|
|
10423
|
+
retryable: true
|
|
10424
|
+
};
|
|
10425
|
+
}
|
|
10426
|
+
if (message.includes("network") || message.includes("fetch")) {
|
|
10427
|
+
return {
|
|
10428
|
+
type: "network",
|
|
10429
|
+
message: "Unable to load token list - network error",
|
|
10430
|
+
retryable: true
|
|
10431
|
+
};
|
|
10432
|
+
}
|
|
10433
|
+
if (message.includes("Blockscout") || message.includes("API")) {
|
|
10434
|
+
return {
|
|
10435
|
+
type: "api",
|
|
10436
|
+
message: "Token service unavailable",
|
|
10437
|
+
retryable: true
|
|
10438
|
+
};
|
|
10439
|
+
}
|
|
10440
|
+
return {
|
|
10441
|
+
type: "unknown",
|
|
10442
|
+
message: "Unable to load token list",
|
|
10443
|
+
retryable: true
|
|
10444
|
+
};
|
|
10445
|
+
}
|
|
10446
|
+
return {
|
|
10447
|
+
type: "unknown",
|
|
10448
|
+
message: "Unable to load token list",
|
|
10449
|
+
retryable: true
|
|
10450
|
+
};
|
|
10451
|
+
}
|
|
10452
|
+
function useBlockscoutAssets(options) {
|
|
10453
|
+
const { address, enabled = true, detectSecurityTokens = true } = options;
|
|
10454
|
+
const blockscoutApiUrl = getBlockscoutApiUrl();
|
|
10455
|
+
const blockscoutClient = (0, import_react39.useMemo)(
|
|
10456
|
+
() => (0, import_clients2.createBlockscoutClient)({ baseUrl: blockscoutApiUrl }),
|
|
10457
|
+
[blockscoutApiUrl]
|
|
10458
|
+
);
|
|
10459
|
+
const publicClient2 = (0, import_wagmi2.usePublicClient)({ chainId: lumiaBeam.id });
|
|
10460
|
+
const lastRefreshRef = (0, import_react39.useRef)(0);
|
|
10461
|
+
const {
|
|
10462
|
+
data: nativeBalanceData,
|
|
10463
|
+
isLoading: nativeLoading,
|
|
10464
|
+
refetch: refetchNative
|
|
10465
|
+
} = (0, import_wagmi2.useBalance)({
|
|
10314
10466
|
address,
|
|
10315
10467
|
chainId: lumiaBeam.id,
|
|
10316
10468
|
query: {
|
|
10317
|
-
enabled: !!address
|
|
10469
|
+
enabled: !!address && enabled
|
|
10318
10470
|
}
|
|
10319
10471
|
});
|
|
10320
|
-
const
|
|
10321
|
-
|
|
10322
|
-
|
|
10323
|
-
|
|
10324
|
-
|
|
10325
|
-
|
|
10326
|
-
})
|
|
10327
|
-
|
|
10328
|
-
|
|
10329
|
-
|
|
10330
|
-
|
|
10331
|
-
|
|
10472
|
+
const {
|
|
10473
|
+
data: tokenBalances,
|
|
10474
|
+
isLoading: tokensLoading,
|
|
10475
|
+
error: tokensError,
|
|
10476
|
+
refetch: refetchTokens,
|
|
10477
|
+
dataUpdatedAt
|
|
10478
|
+
} = (0, import_react_query27.useQuery)({
|
|
10479
|
+
queryKey: [BLOCKSCOUT_QUERY_KEY, address, blockscoutApiUrl],
|
|
10480
|
+
queryFn: () => blockscoutClient.getTokenBalances(address),
|
|
10481
|
+
enabled: !!address && enabled,
|
|
10482
|
+
staleTime: BLOCKSCOUT_QUERY_STALE_TIME,
|
|
10483
|
+
gcTime: BLOCKSCOUT_QUERY_GC_TIME,
|
|
10484
|
+
retry: 2,
|
|
10485
|
+
retryDelay: 1e3
|
|
10332
10486
|
});
|
|
10333
|
-
const {
|
|
10334
|
-
|
|
10335
|
-
|
|
10336
|
-
|
|
10337
|
-
|
|
10487
|
+
const {
|
|
10488
|
+
data: nftItems,
|
|
10489
|
+
isLoading: nftsLoading,
|
|
10490
|
+
refetch: refetchNfts
|
|
10491
|
+
} = (0, import_react_query27.useQuery)({
|
|
10492
|
+
queryKey: [BLOCKSCOUT_QUERY_KEY, "nfts", address, blockscoutApiUrl],
|
|
10493
|
+
queryFn: () => blockscoutClient.getNfts(address),
|
|
10494
|
+
enabled: !!address && enabled,
|
|
10495
|
+
staleTime: BLOCKSCOUT_QUERY_STALE_TIME,
|
|
10496
|
+
gcTime: BLOCKSCOUT_QUERY_GC_TIME,
|
|
10497
|
+
retry: 2,
|
|
10498
|
+
retryDelay: 1e3
|
|
10499
|
+
});
|
|
10500
|
+
const erc20TokenAddresses = (0, import_react39.useMemo)(() => {
|
|
10501
|
+
if (!tokenBalances) return [];
|
|
10502
|
+
return tokenBalances.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address);
|
|
10503
|
+
}, [tokenBalances]);
|
|
10504
|
+
const { data: erc3643Results } = (0, import_react_query27.useQuery)({
|
|
10505
|
+
queryKey: [ERC3643_DETECTION_QUERY_KEY, address, erc20TokenAddresses],
|
|
10506
|
+
queryFn: async () => {
|
|
10507
|
+
if (!publicClient2 || erc20TokenAddresses.length === 0) {
|
|
10508
|
+
return /* @__PURE__ */ new Map();
|
|
10509
|
+
}
|
|
10510
|
+
const results = /* @__PURE__ */ new Map();
|
|
10511
|
+
const batchSize = 10;
|
|
10512
|
+
for (let i = 0; i < erc20TokenAddresses.length; i += batchSize) {
|
|
10513
|
+
const batch = erc20TokenAddresses.slice(i, i + batchSize);
|
|
10514
|
+
const promises = batch.map(async (tokenAddress) => {
|
|
10515
|
+
try {
|
|
10516
|
+
const registry = await publicClient2.readContract({
|
|
10517
|
+
address: tokenAddress,
|
|
10518
|
+
abi: ERC3643_ABI,
|
|
10519
|
+
functionName: "identityRegistry"
|
|
10520
|
+
});
|
|
10521
|
+
if (registry && registry !== "0x0000000000000000000000000000000000000000") {
|
|
10522
|
+
return { tokenAddress, registry };
|
|
10523
|
+
}
|
|
10524
|
+
return null;
|
|
10525
|
+
} catch {
|
|
10526
|
+
return null;
|
|
10527
|
+
}
|
|
10528
|
+
});
|
|
10529
|
+
const batchResults = await Promise.allSettled(promises);
|
|
10530
|
+
batchResults.forEach((result) => {
|
|
10531
|
+
if (result.status === "fulfilled" && result.value) {
|
|
10532
|
+
results.set(result.value.tokenAddress.toLowerCase(), result.value.registry);
|
|
10533
|
+
}
|
|
10534
|
+
});
|
|
10535
|
+
}
|
|
10536
|
+
return results;
|
|
10537
|
+
},
|
|
10538
|
+
enabled: !!address && enabled && detectSecurityTokens && erc20TokenAddresses.length > 0 && !!publicClient2,
|
|
10539
|
+
staleTime: BLOCKSCOUT_QUERY_STALE_TIME * 2,
|
|
10540
|
+
// Less frequent refresh for contract calls
|
|
10541
|
+
gcTime: BLOCKSCOUT_QUERY_GC_TIME,
|
|
10542
|
+
retry: 1
|
|
10543
|
+
});
|
|
10544
|
+
const assets = (0, import_react39.useMemo)(() => {
|
|
10545
|
+
const result = [];
|
|
10546
|
+
if (nativeBalanceData) {
|
|
10547
|
+
result.push({
|
|
10338
10548
|
type: "native",
|
|
10339
10549
|
name: "Lumia",
|
|
10340
10550
|
symbol: "LUMIA",
|
|
10341
|
-
balance:
|
|
10342
|
-
formattedBalance: parseFloat(
|
|
10551
|
+
balance: nativeBalanceData.value.toString(),
|
|
10552
|
+
formattedBalance: parseFloat(nativeBalanceData.formatted).toFixed(4),
|
|
10343
10553
|
decimals: 18
|
|
10344
10554
|
});
|
|
10345
10555
|
}
|
|
10346
|
-
if (tokenBalances
|
|
10347
|
-
tokenBalances.
|
|
10348
|
-
|
|
10349
|
-
|
|
10350
|
-
|
|
10351
|
-
const
|
|
10352
|
-
|
|
10353
|
-
type
|
|
10354
|
-
|
|
10355
|
-
|
|
10356
|
-
|
|
10357
|
-
|
|
10358
|
-
|
|
10359
|
-
decimals: token.decimals,
|
|
10360
|
-
logo: token.logo
|
|
10361
|
-
});
|
|
10556
|
+
if (tokenBalances) {
|
|
10557
|
+
const erc20Tokens = tokenBalances.filter((balance) => balance.token.type === "ERC-20");
|
|
10558
|
+
const mappedTokens = erc20Tokens.map((balance) => {
|
|
10559
|
+
const asset = mapBlockscoutToAsset(balance);
|
|
10560
|
+
if (asset.type === "erc20" && asset.address && erc3643Results) {
|
|
10561
|
+
const registryAddress = erc3643Results.get(asset.address.toLowerCase());
|
|
10562
|
+
if (registryAddress) {
|
|
10563
|
+
asset.type = "erc3643";
|
|
10564
|
+
asset.complianceStatus = {
|
|
10565
|
+
isSecurityToken: true,
|
|
10566
|
+
identityRegistry: registryAddress
|
|
10567
|
+
};
|
|
10568
|
+
}
|
|
10362
10569
|
}
|
|
10570
|
+
return asset;
|
|
10363
10571
|
});
|
|
10572
|
+
result.push(...mappedTokens);
|
|
10364
10573
|
}
|
|
10365
|
-
|
|
10366
|
-
|
|
10367
|
-
|
|
10368
|
-
const tokenIndex = COMMON_TOKENS.findIndex(
|
|
10369
|
-
(token2) => token2.address.toLowerCase() === tokenAddress.toLowerCase()
|
|
10370
|
-
);
|
|
10371
|
-
if (tokenIndex === -1 || !tokenBalances?.[tokenIndex]) {
|
|
10372
|
-
return null;
|
|
10574
|
+
if (nftItems && nftItems.length > 0) {
|
|
10575
|
+
const mappedNfts = nftItems.map(mapBlockscoutNftToAsset);
|
|
10576
|
+
result.push(...mappedNfts);
|
|
10373
10577
|
}
|
|
10374
|
-
|
|
10375
|
-
|
|
10376
|
-
|
|
10377
|
-
|
|
10378
|
-
const formattedBalance = (0, import_viem4.formatUnits)(balanceValue, token.decimals);
|
|
10379
|
-
return {
|
|
10380
|
-
address: token.address,
|
|
10381
|
-
name: token.name,
|
|
10382
|
-
symbol: token.symbol,
|
|
10383
|
-
decimals: token.decimals,
|
|
10384
|
-
balance: balanceValue.toString(),
|
|
10385
|
-
formattedBalance: parseFloat(formattedBalance).toFixed(4),
|
|
10386
|
-
logo: token.logo
|
|
10387
|
-
};
|
|
10388
|
-
}
|
|
10389
|
-
return null;
|
|
10390
|
-
};
|
|
10391
|
-
const refreshBalances = async () => {
|
|
10392
|
-
await Promise.all([
|
|
10393
|
-
refetchNativeBalance(),
|
|
10394
|
-
refetchTokenBalances()
|
|
10395
|
-
]);
|
|
10396
|
-
};
|
|
10397
|
-
return {
|
|
10398
|
-
nativeBalance,
|
|
10399
|
-
tokenBalances,
|
|
10400
|
-
assets: getAllAssets(),
|
|
10401
|
-
getTokenBalance,
|
|
10402
|
-
refreshBalances,
|
|
10403
|
-
isLoading: nativeBalanceLoading || tokenBalancesLoading,
|
|
10404
|
-
isConnected: !!address
|
|
10405
|
-
};
|
|
10406
|
-
}
|
|
10407
|
-
function useTokenInfo(tokenAddress) {
|
|
10408
|
-
const readContractsResult = (0, import_wagmi2.useReadContracts)({
|
|
10409
|
-
contracts: [
|
|
10410
|
-
{ address: tokenAddress, abi: import_viem4.erc20Abi, functionName: "name", chainId: lumiaBeam.id },
|
|
10411
|
-
{ address: tokenAddress, abi: import_viem4.erc20Abi, functionName: "symbol", chainId: lumiaBeam.id },
|
|
10412
|
-
{ address: tokenAddress, abi: import_viem4.erc20Abi, functionName: "decimals", chainId: lumiaBeam.id }
|
|
10413
|
-
]
|
|
10414
|
-
});
|
|
10415
|
-
const { data: tokenData, isLoading } = readContractsResult;
|
|
10416
|
-
if (!tokenData || isLoading) {
|
|
10417
|
-
return { isLoading, tokenInfo: null };
|
|
10418
|
-
}
|
|
10419
|
-
const [nameResult, symbolResult, decimalsResult] = tokenData;
|
|
10420
|
-
if (nameResult.status === "success" && symbolResult.status === "success" && decimalsResult.status === "success") {
|
|
10578
|
+
return result;
|
|
10579
|
+
}, [nativeBalanceData, tokenBalances, nftItems, erc3643Results]);
|
|
10580
|
+
const nativeBalance = (0, import_react39.useMemo)(() => {
|
|
10581
|
+
if (!nativeBalanceData) return null;
|
|
10421
10582
|
return {
|
|
10422
|
-
|
|
10423
|
-
|
|
10424
|
-
|
|
10425
|
-
symbol: symbolResult.result,
|
|
10426
|
-
decimals: decimalsResult.result,
|
|
10427
|
-
address: tokenAddress
|
|
10428
|
-
}
|
|
10583
|
+
value: nativeBalanceData.value,
|
|
10584
|
+
formatted: nativeBalanceData.formatted,
|
|
10585
|
+
symbol: "LUMIA"
|
|
10429
10586
|
};
|
|
10430
|
-
}
|
|
10431
|
-
|
|
10432
|
-
|
|
10433
|
-
|
|
10434
|
-
|
|
10435
|
-
|
|
10436
|
-
|
|
10437
|
-
|
|
10438
|
-
|
|
10439
|
-
chainId: lumiaBeam.id,
|
|
10440
|
-
query: {
|
|
10441
|
-
enabled: !!userAddress
|
|
10587
|
+
}, [nativeBalanceData]);
|
|
10588
|
+
const error = (0, import_react39.useMemo)(() => {
|
|
10589
|
+
if (!tokensError) return null;
|
|
10590
|
+
return createError(tokensError);
|
|
10591
|
+
}, [tokensError]);
|
|
10592
|
+
const refreshBalances = (0, import_react39.useCallback)(async () => {
|
|
10593
|
+
const now = Date.now();
|
|
10594
|
+
if (now - lastRefreshRef.current < BLOCKSCOUT_REFRESH_DEBOUNCE) {
|
|
10595
|
+
return;
|
|
10442
10596
|
}
|
|
10443
|
-
|
|
10444
|
-
|
|
10445
|
-
|
|
10446
|
-
|
|
10447
|
-
|
|
10448
|
-
|
|
10597
|
+
lastRefreshRef.current = now;
|
|
10598
|
+
await Promise.all([refetchNative(), refetchTokens(), refetchNfts()]);
|
|
10599
|
+
}, [refetchNative, refetchTokens, refetchNfts]);
|
|
10600
|
+
const getTokenBalance = (0, import_react39.useCallback)(
|
|
10601
|
+
(tokenAddress) => {
|
|
10602
|
+
return assets.find((a) => a.address?.toLowerCase() === tokenAddress.toLowerCase()) || null;
|
|
10603
|
+
},
|
|
10604
|
+
[assets]
|
|
10605
|
+
);
|
|
10449
10606
|
return {
|
|
10450
|
-
|
|
10451
|
-
|
|
10452
|
-
|
|
10453
|
-
|
|
10454
|
-
|
|
10607
|
+
nativeBalance,
|
|
10608
|
+
assets,
|
|
10609
|
+
isLoading: nativeLoading || tokensLoading || nftsLoading,
|
|
10610
|
+
isInitialLoading: nativeLoading && !nativeBalanceData,
|
|
10611
|
+
error,
|
|
10612
|
+
isBlockscoutAvailable: !tokensError,
|
|
10613
|
+
refreshBalances,
|
|
10614
|
+
getTokenBalance,
|
|
10615
|
+
lastUpdated: dataUpdatedAt || null
|
|
10455
10616
|
};
|
|
10456
10617
|
}
|
|
10457
10618
|
|
|
10458
10619
|
// src/internal/components/PortfolioMenu/PortfolioItem.tsx
|
|
10459
|
-
var
|
|
10620
|
+
var import_react_query28 = require("@tanstack/react-query");
|
|
10460
10621
|
var import_lucide_react34 = require("lucide-react");
|
|
10622
|
+
var import_react40 = require("react");
|
|
10461
10623
|
init_base();
|
|
10462
10624
|
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
10463
10625
|
var price16 = Intl.NumberFormat("en-US", { minimumFractionDigits: 16, maximumFractionDigits: 16 });
|
|
@@ -10478,6 +10640,18 @@ function formatValue(price) {
|
|
|
10478
10640
|
function openInExplorer(address) {
|
|
10479
10641
|
window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
|
|
10480
10642
|
}
|
|
10643
|
+
function isNftAsset(asset) {
|
|
10644
|
+
if (!("type" in asset)) return false;
|
|
10645
|
+
return asset.type === "erc721" || asset.type === "erc1155";
|
|
10646
|
+
}
|
|
10647
|
+
function getNftImage(asset) {
|
|
10648
|
+
if (!("type" in asset)) return void 0;
|
|
10649
|
+
return asset.image || asset.nftMetadata?.image;
|
|
10650
|
+
}
|
|
10651
|
+
function isSecurityToken(asset) {
|
|
10652
|
+
if (!("type" in asset)) return false;
|
|
10653
|
+
return asset.type === "erc3643";
|
|
10654
|
+
}
|
|
10481
10655
|
async function getAssetRate2(symbol) {
|
|
10482
10656
|
const assetURL = `https://api.binance.com/api/v3/ticker/price?symbol=${symbol.toUpperCase()}USDT`;
|
|
10483
10657
|
const response = await fetch(assetURL);
|
|
@@ -10486,14 +10660,18 @@ async function getAssetRate2(symbol) {
|
|
|
10486
10660
|
var ASSETS_RATES_QUERY_KEY = "lumia-passport-assets-rates-query-key";
|
|
10487
10661
|
function PortfolioItem(props) {
|
|
10488
10662
|
const { address, asset, isProjectAsset } = props;
|
|
10663
|
+
const [nftImageError, setNftImageError] = (0, import_react40.useState)(false);
|
|
10489
10664
|
const { assets: projectAssets, showBalanceAs: showBalanceAsSymbol } = useLumiaPassportConfig().config.current.projectAssets || {};
|
|
10490
|
-
const qc = (0,
|
|
10665
|
+
const qc = (0, import_react_query28.useQueryClient)();
|
|
10491
10666
|
const { balanceQueryKey } = projectAssets?.find((a) => a.symbol === showBalanceAsSymbol) || {};
|
|
10492
10667
|
const projectAssetBalance = !!balanceQueryKey ? qc.getQueryData(balanceQueryKey) : null;
|
|
10493
|
-
const
|
|
10668
|
+
const isNft = isNftAsset(asset);
|
|
10669
|
+
const nftImage = getNftImage(asset);
|
|
10670
|
+
const isSecurity = isSecurityToken(asset);
|
|
10671
|
+
const { data: assetRate, isLoading: isRateLoading } = (0, import_react_query28.useQuery)({
|
|
10494
10672
|
retry: false,
|
|
10495
10673
|
staleTime: 4 * 60 * 1e3,
|
|
10496
|
-
enabled: !!address && !!asset.symbol && !isProjectAsset,
|
|
10674
|
+
enabled: !!address && !!asset.symbol && !isProjectAsset && !isNft && !isSecurity,
|
|
10497
10675
|
queryKey: [ASSETS_RATES_QUERY_KEY, address, asset.symbol],
|
|
10498
10676
|
queryFn: async () => await getAssetRate2(asset.symbol)
|
|
10499
10677
|
});
|
|
@@ -10509,22 +10687,68 @@ function PortfolioItem(props) {
|
|
|
10509
10687
|
),
|
|
10510
10688
|
onClick: () => asset.address ? openInExplorer(asset.address) : void 0,
|
|
10511
10689
|
children: [
|
|
10512
|
-
/* @__PURE__ */ (0, import_jsx_runtime52.
|
|
10690
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
|
|
10513
10691
|
"div",
|
|
10514
10692
|
{
|
|
10515
10693
|
className: cn(
|
|
10516
|
-
"flex-none
|
|
10517
|
-
"group-hover:opacity-60 transition-opacity"
|
|
10694
|
+
"flex-none flex items-center justify-center overflow-hidden relative",
|
|
10695
|
+
"group-hover:opacity-60 transition-opacity",
|
|
10696
|
+
// NFTs get rounded corners, tokens get circular
|
|
10697
|
+
isNft ? "w-12 h-12 rounded-lg" : "w-10 h-10 rounded-full",
|
|
10698
|
+
!asset.logo && !nftImage && "bg-[var(--l-pass-fg)]"
|
|
10518
10699
|
),
|
|
10519
|
-
children:
|
|
10700
|
+
children: [
|
|
10701
|
+
isNft && nftImage && !nftImageError ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
10702
|
+
"img",
|
|
10703
|
+
{
|
|
10704
|
+
src: nftImage,
|
|
10705
|
+
alt: asset.nftMetadata?.name || asset.name,
|
|
10706
|
+
className: "w-full h-full object-cover",
|
|
10707
|
+
onError: () => setNftImageError(true)
|
|
10708
|
+
}
|
|
10709
|
+
) : isNft && (!nftImage || nftImageError) ? (
|
|
10710
|
+
// NFT placeholder when no image available
|
|
10711
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "w-full h-full bg-[var(--l-pass-fg)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react34.Image, { className: "w-5 h-5 text-[var(--l-pass-fg-inverted)]" }) })
|
|
10712
|
+
) : asset.logo ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
10713
|
+
"img",
|
|
10714
|
+
{
|
|
10715
|
+
src: asset.logo,
|
|
10716
|
+
alt: asset.symbol,
|
|
10717
|
+
className: "w-full h-full object-cover",
|
|
10718
|
+
onError: (e) => {
|
|
10719
|
+
const target = e.target;
|
|
10720
|
+
target.style.display = "none";
|
|
10721
|
+
target.parentElement.classList.add("bg-[var(--l-pass-fg)]");
|
|
10722
|
+
target.parentElement.innerHTML = `<span class="text-[var(--l-pass-fg-inverted)] font-bold text-sm">${asset.symbol.charAt(0)}</span>`;
|
|
10723
|
+
}
|
|
10724
|
+
}
|
|
10725
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[var(--l-pass-fg-inverted)] font-bold text-sm", children: asset.symbol.charAt(0) }),
|
|
10726
|
+
isNft && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react34.Sparkles, { className: "w-2.5 h-2.5 text-[var(--l-pass-fg-inverted)]" }) }),
|
|
10727
|
+
isSecurity && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
10728
|
+
"div",
|
|
10729
|
+
{
|
|
10730
|
+
className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-amber-500 flex items-center justify-center",
|
|
10731
|
+
title: "Security Token (ERC-3643)",
|
|
10732
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react34.Shield, { className: "w-2.5 h-2.5 text-white" })
|
|
10733
|
+
}
|
|
10734
|
+
)
|
|
10735
|
+
]
|
|
10520
10736
|
}
|
|
10521
10737
|
),
|
|
10522
10738
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "w-full flex-1", children: [
|
|
10523
10739
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "w-full flex items-center justify-between text-xs", children: [
|
|
10524
|
-
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { children: asset.name }),
|
|
10525
|
-
!isProjectAsset && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "USD" })
|
|
10740
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "truncate max-w-[150px]", title: isNft ? asset.nftMetadata?.collectionName || asset.name : asset.name, children: isNft ? asset.nftMetadata?.collectionName || asset.name || (asset.address ? `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` : "Unknown") : asset.name || (asset.address ? `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` : "Unknown") }),
|
|
10741
|
+
!isProjectAsset && !isNft && !isSecurity && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "USD" }),
|
|
10742
|
+
isNft && "type" in asset && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[var(--l-pass-fg-muted)] uppercase text-[10px]", children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" }),
|
|
10743
|
+
isSecurity && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-amber-500 uppercase text-[10px] font-medium", children: "Security Token" })
|
|
10526
10744
|
] }),
|
|
10527
|
-
/* @__PURE__ */ (0, import_jsx_runtime52.
|
|
10745
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "w-full flex items-center justify-between font-bold text-lg leading-5", children: isNft ? /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
|
|
10746
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "truncate max-w-[160px]", title: asset.nftMetadata?.name || asset.symbol, children: asset.nftMetadata?.name || asset.symbol }),
|
|
10747
|
+
"tokenId" in asset && asset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("span", { className: "text-xs text-[var(--l-pass-fg-muted)] font-normal", children: [
|
|
10748
|
+
"#",
|
|
10749
|
+
asset.tokenId.length > 8 ? `${asset.tokenId.slice(0, 6)}...` : asset.tokenId
|
|
10750
|
+
] })
|
|
10751
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
|
|
10528
10752
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("span", { children: [
|
|
10529
10753
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { children: formatValue(Number(renderBalance)) }),
|
|
10530
10754
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { children: " " + asset.symbol })
|
|
@@ -10536,7 +10760,7 @@ function PortfolioItem(props) {
|
|
|
10536
10760
|
currency: "USD",
|
|
10537
10761
|
style: "currency"
|
|
10538
10762
|
}) })
|
|
10539
|
-
] })
|
|
10763
|
+
] }) })
|
|
10540
10764
|
] })
|
|
10541
10765
|
]
|
|
10542
10766
|
}
|
|
@@ -10549,12 +10773,14 @@ function PortfolioItem(props) {
|
|
|
10549
10773
|
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
10550
10774
|
function PortfolioMenu() {
|
|
10551
10775
|
const { assets: projectAssets = [] } = useLumiaPassportConfig().config.current?.projectAssets || {};
|
|
10552
|
-
const qc = (0,
|
|
10776
|
+
const qc = (0, import_react_query29.useQueryClient)();
|
|
10553
10777
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10554
10778
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
10555
10779
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10556
|
-
const { assets, refreshBalances, isLoading } =
|
|
10557
|
-
|
|
10780
|
+
const { assets, refreshBalances, isLoading, error, isBlockscoutAvailable } = useBlockscoutAssets({
|
|
10781
|
+
address
|
|
10782
|
+
});
|
|
10783
|
+
const refreshAllAssetsBalances = (0, import_react41.useCallback)(() => {
|
|
10558
10784
|
Promise.all(projectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
|
|
10559
10785
|
refreshBalances();
|
|
10560
10786
|
}, [qc, projectAssets, refreshBalances]);
|
|
@@ -10583,6 +10809,10 @@ function PortfolioMenu() {
|
|
|
10583
10809
|
)
|
|
10584
10810
|
] }),
|
|
10585
10811
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
10812
|
+
error && !isBlockscoutAvailable && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full flex items-center gap-2 p-3 rounded-lg bg-[var(--l-pass-warning-bg)] text-[var(--l-pass-warning)]", children: [
|
|
10813
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react35.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
|
|
10814
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm", children: error.message })
|
|
10815
|
+
] }),
|
|
10586
10816
|
isLoading && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
|
|
10587
10817
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react35.Loader, { className: "h-5 w-5 animate-spin" }),
|
|
10588
10818
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-[var(--l-pass-muted)]", children: "Loading assets..." })
|
|
@@ -10599,7 +10829,7 @@ function PortfolioMenu() {
|
|
|
10599
10829
|
address,
|
|
10600
10830
|
asset
|
|
10601
10831
|
},
|
|
10602
|
-
`${asset.type}-${asset.address || "native"}-${index}`
|
|
10832
|
+
`${asset.type}-${asset.address || "native"}-${asset.tokenId || index}`
|
|
10603
10833
|
))
|
|
10604
10834
|
] })
|
|
10605
10835
|
] })
|
|
@@ -10609,9 +10839,9 @@ function PortfolioMenu() {
|
|
|
10609
10839
|
}
|
|
10610
10840
|
|
|
10611
10841
|
// src/internal/components/SecurityMenu/SecurityMenu.tsx
|
|
10612
|
-
var
|
|
10842
|
+
var import_react_query30 = require("@tanstack/react-query");
|
|
10613
10843
|
var import_lucide_react36 = require("lucide-react");
|
|
10614
|
-
var
|
|
10844
|
+
var import_react42 = require("react");
|
|
10615
10845
|
init_auth();
|
|
10616
10846
|
init_keyshare();
|
|
10617
10847
|
init_iframe_manager();
|
|
@@ -10628,28 +10858,28 @@ function parseOS(ua) {
|
|
|
10628
10858
|
return null;
|
|
10629
10859
|
}
|
|
10630
10860
|
function SecurityMenu() {
|
|
10631
|
-
const qc = (0,
|
|
10861
|
+
const qc = (0, import_react_query30.useQueryClient)();
|
|
10632
10862
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
10633
10863
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10634
10864
|
const userId = import_auth3.jwtTokenManager.getUserId();
|
|
10635
|
-
(0,
|
|
10865
|
+
(0, import_react42.useEffect)(() => {
|
|
10636
10866
|
if (!userId) setPage("main-menu" /* MAIN_MENU */);
|
|
10637
10867
|
}, [userId, setPage]);
|
|
10638
|
-
const [localInfo, setLocalInfo] = (0,
|
|
10639
|
-
const [recoveryCreatedAt, setRecoveryCreatedAt] = (0,
|
|
10640
|
-
const [recoveryBrowser, setRecoveryBrowser] = (0,
|
|
10641
|
-
const [recoveryUa, setRecoveryUa] = (0,
|
|
10642
|
-
const [recoveryDeviceId, setRecoveryDeviceId] = (0,
|
|
10643
|
-
const [recoveryDeviceName, setRecoveryDeviceName] = (0,
|
|
10644
|
-
const [recoveryCountry, setRecoveryCountry] = (0,
|
|
10645
|
-
const [hasServerBackup, setHasServerBackup] = (0,
|
|
10646
|
-
const [trustedApps, setTrustedApps] = (0,
|
|
10647
|
-
const [appToRemove, setAppToRemove] = (0,
|
|
10868
|
+
const [localInfo, setLocalInfo] = (0, import_react42.useState)(null);
|
|
10869
|
+
const [recoveryCreatedAt, setRecoveryCreatedAt] = (0, import_react42.useState)(null);
|
|
10870
|
+
const [recoveryBrowser, setRecoveryBrowser] = (0, import_react42.useState)(null);
|
|
10871
|
+
const [recoveryUa, setRecoveryUa] = (0, import_react42.useState)(null);
|
|
10872
|
+
const [recoveryDeviceId, setRecoveryDeviceId] = (0, import_react42.useState)(null);
|
|
10873
|
+
const [recoveryDeviceName, setRecoveryDeviceName] = (0, import_react42.useState)(null);
|
|
10874
|
+
const [recoveryCountry, setRecoveryCountry] = (0, import_react42.useState)(null);
|
|
10875
|
+
const [hasServerBackup, setHasServerBackup] = (0, import_react42.useState)(false);
|
|
10876
|
+
const [trustedApps, setTrustedApps] = (0, import_react42.useState)([]);
|
|
10877
|
+
const [appToRemove, setAppToRemove] = (0, import_react42.useState)(null);
|
|
10648
10878
|
const {
|
|
10649
10879
|
data: recoveryData,
|
|
10650
10880
|
isFetching: isRecoveryRefreshing
|
|
10651
10881
|
// error: recoveryError
|
|
10652
|
-
} = (0,
|
|
10882
|
+
} = (0, import_react_query30.useQuery)({
|
|
10653
10883
|
enabled: !!userId,
|
|
10654
10884
|
queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId],
|
|
10655
10885
|
queryFn: async () => {
|
|
@@ -10663,7 +10893,7 @@ function SecurityMenu() {
|
|
|
10663
10893
|
return { trustedApps: trustedApps2, keyshareInfo, shareRecoveryStats };
|
|
10664
10894
|
}
|
|
10665
10895
|
});
|
|
10666
|
-
(0,
|
|
10896
|
+
(0, import_react42.useEffect)(() => {
|
|
10667
10897
|
if (!recoveryData) return;
|
|
10668
10898
|
const { trustedApps: trustedApps2, keyshareInfo, shareRecoveryStats } = recoveryData;
|
|
10669
10899
|
setLocalInfo(keyshareInfo);
|
|
@@ -10895,21 +11125,21 @@ function SecurityMenu() {
|
|
|
10895
11125
|
|
|
10896
11126
|
// src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
|
|
10897
11127
|
var import_lucide_react37 = require("lucide-react");
|
|
10898
|
-
var
|
|
10899
|
-
var
|
|
10900
|
-
var
|
|
11128
|
+
var import_react45 = require("react");
|
|
11129
|
+
var import_viem7 = require("viem");
|
|
11130
|
+
var import_wagmi4 = require("wagmi");
|
|
10901
11131
|
|
|
10902
11132
|
// src/hooks/useSendTransaction.ts
|
|
10903
|
-
var
|
|
11133
|
+
var import_react43 = require("react");
|
|
10904
11134
|
var import_viem5 = require("viem");
|
|
10905
11135
|
init_account();
|
|
10906
11136
|
function useSendTransaction() {
|
|
10907
11137
|
const session = useLumiaPassportSession((st) => st.session);
|
|
10908
11138
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10909
|
-
const [isLoading, setIsLoading] = (0,
|
|
10910
|
-
const [error, setError] = (0,
|
|
10911
|
-
const [userOpHash, setUserOpHash] = (0,
|
|
10912
|
-
const sendTransaction = (0,
|
|
11139
|
+
const [isLoading, setIsLoading] = (0, import_react43.useState)(false);
|
|
11140
|
+
const [error, setError] = (0, import_react43.useState)(null);
|
|
11141
|
+
const [userOpHash, setUserOpHash] = (0, import_react43.useState)(null);
|
|
11142
|
+
const sendTransaction = (0, import_react43.useCallback)(
|
|
10913
11143
|
async (params) => {
|
|
10914
11144
|
if (!session || !address) {
|
|
10915
11145
|
setError("No active session");
|
|
@@ -10949,7 +11179,7 @@ function useSendTransaction() {
|
|
|
10949
11179
|
},
|
|
10950
11180
|
[session, address]
|
|
10951
11181
|
);
|
|
10952
|
-
const reset = (0,
|
|
11182
|
+
const reset = (0, import_react43.useCallback)(() => {
|
|
10953
11183
|
setError(null);
|
|
10954
11184
|
setUserOpHash(null);
|
|
10955
11185
|
setIsLoading(false);
|
|
@@ -10963,6 +11193,167 @@ function useSendTransaction() {
|
|
|
10963
11193
|
};
|
|
10964
11194
|
}
|
|
10965
11195
|
|
|
11196
|
+
// src/modules/assets.ts
|
|
11197
|
+
var import_react44 = __toESM(require("react"), 1);
|
|
11198
|
+
var import_wagmi3 = require("wagmi");
|
|
11199
|
+
var import_viem6 = require("viem");
|
|
11200
|
+
init_base();
|
|
11201
|
+
var COMMON_TOKENS = [
|
|
11202
|
+
// Add real token addresses here when available
|
|
11203
|
+
// {
|
|
11204
|
+
// address: '0x....',
|
|
11205
|
+
// name: 'USD Coin',
|
|
11206
|
+
// symbol: 'USDC',
|
|
11207
|
+
// decimals: 6,
|
|
11208
|
+
// logo: 'https://...'
|
|
11209
|
+
// }
|
|
11210
|
+
];
|
|
11211
|
+
function useAssets(address) {
|
|
11212
|
+
const { data: nativeBalance, isLoading: nativeBalanceLoading, refetch: refetchNativeBalance } = (0, import_wagmi3.useBalance)({
|
|
11213
|
+
address,
|
|
11214
|
+
chainId: lumiaBeam.id,
|
|
11215
|
+
query: {
|
|
11216
|
+
enabled: !!address
|
|
11217
|
+
}
|
|
11218
|
+
});
|
|
11219
|
+
const tokenContracts = COMMON_TOKENS.map((token) => ({
|
|
11220
|
+
address: token.address,
|
|
11221
|
+
abi: import_viem6.erc20Abi,
|
|
11222
|
+
functionName: "balanceOf",
|
|
11223
|
+
args: [address],
|
|
11224
|
+
chainId: lumiaBeam.id
|
|
11225
|
+
}));
|
|
11226
|
+
const readContractsResult = (0, import_wagmi3.useReadContracts)({
|
|
11227
|
+
contracts: tokenContracts,
|
|
11228
|
+
query: {
|
|
11229
|
+
enabled: !!address && COMMON_TOKENS.length > 0
|
|
11230
|
+
}
|
|
11231
|
+
});
|
|
11232
|
+
const { data: tokenBalances, isLoading: tokenBalancesLoading, refetch: refetchTokenBalances } = readContractsResult;
|
|
11233
|
+
const getAllAssets = () => {
|
|
11234
|
+
const assets = [];
|
|
11235
|
+
if (nativeBalance) {
|
|
11236
|
+
assets.push({
|
|
11237
|
+
type: "native",
|
|
11238
|
+
name: "Lumia",
|
|
11239
|
+
symbol: "LUMIA",
|
|
11240
|
+
balance: nativeBalance.value.toString(),
|
|
11241
|
+
formattedBalance: parseFloat(nativeBalance.formatted).toFixed(4),
|
|
11242
|
+
decimals: 18
|
|
11243
|
+
});
|
|
11244
|
+
}
|
|
11245
|
+
if (tokenBalances && COMMON_TOKENS.length > 0) {
|
|
11246
|
+
tokenBalances.forEach((balance, index) => {
|
|
11247
|
+
const token = COMMON_TOKENS[index];
|
|
11248
|
+
if (balance.status === "success" && balance.result) {
|
|
11249
|
+
const balanceValue = balance.result;
|
|
11250
|
+
const formattedBalance = (0, import_viem6.formatUnits)(balanceValue, token.decimals);
|
|
11251
|
+
assets.push({
|
|
11252
|
+
type: "erc20",
|
|
11253
|
+
address: token.address,
|
|
11254
|
+
name: token.name,
|
|
11255
|
+
symbol: token.symbol,
|
|
11256
|
+
balance: balanceValue.toString(),
|
|
11257
|
+
formattedBalance: parseFloat(formattedBalance).toFixed(4),
|
|
11258
|
+
decimals: token.decimals,
|
|
11259
|
+
logo: token.logo
|
|
11260
|
+
});
|
|
11261
|
+
}
|
|
11262
|
+
});
|
|
11263
|
+
}
|
|
11264
|
+
return assets;
|
|
11265
|
+
};
|
|
11266
|
+
const getTokenBalance = (tokenAddress) => {
|
|
11267
|
+
const tokenIndex = COMMON_TOKENS.findIndex(
|
|
11268
|
+
(token2) => token2.address.toLowerCase() === tokenAddress.toLowerCase()
|
|
11269
|
+
);
|
|
11270
|
+
if (tokenIndex === -1 || !tokenBalances?.[tokenIndex]) {
|
|
11271
|
+
return null;
|
|
11272
|
+
}
|
|
11273
|
+
const balance = tokenBalances[tokenIndex];
|
|
11274
|
+
const token = COMMON_TOKENS[tokenIndex];
|
|
11275
|
+
if (balance.status === "success" && balance.result) {
|
|
11276
|
+
const balanceValue = balance.result;
|
|
11277
|
+
const formattedBalance = (0, import_viem6.formatUnits)(balanceValue, token.decimals);
|
|
11278
|
+
return {
|
|
11279
|
+
address: token.address,
|
|
11280
|
+
name: token.name,
|
|
11281
|
+
symbol: token.symbol,
|
|
11282
|
+
decimals: token.decimals,
|
|
11283
|
+
balance: balanceValue.toString(),
|
|
11284
|
+
formattedBalance: parseFloat(formattedBalance).toFixed(4),
|
|
11285
|
+
logo: token.logo
|
|
11286
|
+
};
|
|
11287
|
+
}
|
|
11288
|
+
return null;
|
|
11289
|
+
};
|
|
11290
|
+
const refreshBalances = async () => {
|
|
11291
|
+
await Promise.all([
|
|
11292
|
+
refetchNativeBalance(),
|
|
11293
|
+
refetchTokenBalances()
|
|
11294
|
+
]);
|
|
11295
|
+
};
|
|
11296
|
+
return {
|
|
11297
|
+
nativeBalance,
|
|
11298
|
+
tokenBalances,
|
|
11299
|
+
assets: getAllAssets(),
|
|
11300
|
+
getTokenBalance,
|
|
11301
|
+
refreshBalances,
|
|
11302
|
+
isLoading: nativeBalanceLoading || tokenBalancesLoading,
|
|
11303
|
+
isConnected: !!address
|
|
11304
|
+
};
|
|
11305
|
+
}
|
|
11306
|
+
function useTokenInfo(tokenAddress) {
|
|
11307
|
+
const readContractsResult = (0, import_wagmi3.useReadContracts)({
|
|
11308
|
+
contracts: [
|
|
11309
|
+
{ address: tokenAddress, abi: import_viem6.erc20Abi, functionName: "name", chainId: lumiaBeam.id },
|
|
11310
|
+
{ address: tokenAddress, abi: import_viem6.erc20Abi, functionName: "symbol", chainId: lumiaBeam.id },
|
|
11311
|
+
{ address: tokenAddress, abi: import_viem6.erc20Abi, functionName: "decimals", chainId: lumiaBeam.id }
|
|
11312
|
+
]
|
|
11313
|
+
});
|
|
11314
|
+
const { data: tokenData, isLoading } = readContractsResult;
|
|
11315
|
+
if (!tokenData || isLoading) {
|
|
11316
|
+
return { isLoading, tokenInfo: null };
|
|
11317
|
+
}
|
|
11318
|
+
const [nameResult, symbolResult, decimalsResult] = tokenData;
|
|
11319
|
+
if (nameResult.status === "success" && symbolResult.status === "success" && decimalsResult.status === "success") {
|
|
11320
|
+
return {
|
|
11321
|
+
isLoading: false,
|
|
11322
|
+
tokenInfo: {
|
|
11323
|
+
name: nameResult.result,
|
|
11324
|
+
symbol: symbolResult.result,
|
|
11325
|
+
decimals: decimalsResult.result,
|
|
11326
|
+
address: tokenAddress
|
|
11327
|
+
}
|
|
11328
|
+
};
|
|
11329
|
+
}
|
|
11330
|
+
return { isLoading: false, tokenInfo: null };
|
|
11331
|
+
}
|
|
11332
|
+
function useTokenBalance(tokenAddress, userAddress) {
|
|
11333
|
+
const { data: balance, isLoading, refetch } = (0, import_wagmi3.useReadContract)({
|
|
11334
|
+
address: tokenAddress,
|
|
11335
|
+
abi: import_viem6.erc20Abi,
|
|
11336
|
+
functionName: "balanceOf",
|
|
11337
|
+
args: userAddress ? [userAddress] : void 0,
|
|
11338
|
+
chainId: lumiaBeam.id,
|
|
11339
|
+
query: {
|
|
11340
|
+
enabled: !!userAddress
|
|
11341
|
+
}
|
|
11342
|
+
});
|
|
11343
|
+
const { tokenInfo } = useTokenInfo(tokenAddress);
|
|
11344
|
+
const formattedBalance = import_react44.default.useMemo(() => {
|
|
11345
|
+
if (!balance || !tokenInfo) return "0";
|
|
11346
|
+
return (0, import_viem6.formatUnits)(balance, tokenInfo.decimals);
|
|
11347
|
+
}, [balance, tokenInfo]);
|
|
11348
|
+
return {
|
|
11349
|
+
balance,
|
|
11350
|
+
formattedBalance,
|
|
11351
|
+
tokenInfo,
|
|
11352
|
+
isLoading,
|
|
11353
|
+
refetch
|
|
11354
|
+
};
|
|
11355
|
+
}
|
|
11356
|
+
|
|
10966
11357
|
// src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
|
|
10967
11358
|
init_base();
|
|
10968
11359
|
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
@@ -10973,17 +11364,17 @@ function SendLumiaMenu() {
|
|
|
10973
11364
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10974
11365
|
const { assets } = useAssets(address);
|
|
10975
11366
|
const { sendTransaction, isLoading, error, userOpHash, reset } = useSendTransaction();
|
|
10976
|
-
const { refetch: refetchBalance } = (0,
|
|
11367
|
+
const { refetch: refetchBalance } = (0, import_wagmi4.useBalance)({
|
|
10977
11368
|
address,
|
|
10978
11369
|
chainId: lumiaBeam.id
|
|
10979
11370
|
});
|
|
10980
|
-
const [recipient, setRecipient] = (0,
|
|
10981
|
-
const [amount, setAmount] = (0,
|
|
10982
|
-
const [txStep, setTxStep] = (0,
|
|
10983
|
-
const [validationError, setValidationError] = (0,
|
|
11371
|
+
const [recipient, setRecipient] = (0, import_react45.useState)("");
|
|
11372
|
+
const [amount, setAmount] = (0, import_react45.useState)("");
|
|
11373
|
+
const [txStep, setTxStep] = (0, import_react45.useState)("input");
|
|
11374
|
+
const [validationError, setValidationError] = (0, import_react45.useState)(null);
|
|
10984
11375
|
const nativeAsset = assets.find((a) => a.type === "native");
|
|
10985
11376
|
const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
|
|
10986
|
-
(0,
|
|
11377
|
+
(0, import_react45.useEffect)(() => {
|
|
10987
11378
|
if (open) {
|
|
10988
11379
|
setTxStep("input");
|
|
10989
11380
|
setValidationError(null);
|
|
@@ -10995,7 +11386,7 @@ function SendLumiaMenu() {
|
|
|
10995
11386
|
setValidationError("Please enter a recipient address");
|
|
10996
11387
|
return false;
|
|
10997
11388
|
}
|
|
10998
|
-
if (!(0,
|
|
11389
|
+
if (!(0, import_viem7.isAddress)(recipient)) {
|
|
10999
11390
|
setValidationError("Invalid recipient address");
|
|
11000
11391
|
return false;
|
|
11001
11392
|
}
|
|
@@ -11147,7 +11538,7 @@ function SendLumiaMenu() {
|
|
|
11147
11538
|
// src/internal/components/SendRecieveMenu/ReceiveLumiaMenu.tsx
|
|
11148
11539
|
var import_lucide_react38 = require("lucide-react");
|
|
11149
11540
|
var import_qrcode = __toESM(require("qrcode"), 1);
|
|
11150
|
-
var
|
|
11541
|
+
var import_react46 = require("react");
|
|
11151
11542
|
init_clients();
|
|
11152
11543
|
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
11153
11544
|
function ReceiveLumiaMenu() {
|
|
@@ -11156,9 +11547,9 @@ function ReceiveLumiaMenu() {
|
|
|
11156
11547
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11157
11548
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
11158
11549
|
const open = page === "receive";
|
|
11159
|
-
const [qrCodeUrl, setQrCodeUrl] = (0,
|
|
11160
|
-
const [copied, setCopied] = (0,
|
|
11161
|
-
(0,
|
|
11550
|
+
const [qrCodeUrl, setQrCodeUrl] = (0, import_react46.useState)("");
|
|
11551
|
+
const [copied, setCopied] = (0, import_react46.useState)(false);
|
|
11552
|
+
(0, import_react46.useEffect)(() => {
|
|
11162
11553
|
if (open && address) {
|
|
11163
11554
|
import_qrcode.default.toDataURL(address, {
|
|
11164
11555
|
width: 200,
|
|
@@ -11171,7 +11562,7 @@ function ReceiveLumiaMenu() {
|
|
|
11171
11562
|
});
|
|
11172
11563
|
}
|
|
11173
11564
|
}, [open, address]);
|
|
11174
|
-
const handleCopy = (0,
|
|
11565
|
+
const handleCopy = (0, import_react46.useCallback)(async () => {
|
|
11175
11566
|
if (!address) return;
|
|
11176
11567
|
try {
|
|
11177
11568
|
await navigator.clipboard.writeText(address);
|
|
@@ -11217,7 +11608,7 @@ function ReceiveLumiaMenu() {
|
|
|
11217
11608
|
|
|
11218
11609
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
11219
11610
|
var import_lucide_react40 = require("lucide-react");
|
|
11220
|
-
var
|
|
11611
|
+
var import_react47 = require("react");
|
|
11221
11612
|
|
|
11222
11613
|
// src/internal/components/SettingsMenu/constants.ts
|
|
11223
11614
|
var import_lucide_react39 = require("lucide-react");
|
|
@@ -11251,7 +11642,7 @@ function SettingsMenu() {
|
|
|
11251
11642
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11252
11643
|
const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
|
|
11253
11644
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
11254
|
-
(0,
|
|
11645
|
+
(0, import_react47.useEffect)(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
|
|
11255
11646
|
useProvidersList();
|
|
11256
11647
|
const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
|
|
11257
11648
|
const highlightedKeys = settingsNotifications.map((n) => n.target);
|
|
@@ -11310,9 +11701,9 @@ function TermsOfService() {
|
|
|
11310
11701
|
}
|
|
11311
11702
|
|
|
11312
11703
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
11313
|
-
var
|
|
11704
|
+
var import_react_query31 = require("@tanstack/react-query");
|
|
11314
11705
|
var import_lucide_react43 = require("lucide-react");
|
|
11315
|
-
var
|
|
11706
|
+
var import_react48 = require("react");
|
|
11316
11707
|
|
|
11317
11708
|
// src/internal/components/TransactionsMenu/api.ts
|
|
11318
11709
|
init_base();
|
|
@@ -11788,24 +12179,24 @@ function TransactionsGroup(props) {
|
|
|
11788
12179
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
11789
12180
|
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
11790
12181
|
function TransactionsMenu() {
|
|
11791
|
-
const qc = (0,
|
|
12182
|
+
const qc = (0, import_react_query31.useQueryClient)();
|
|
11792
12183
|
const address = useLumiaPassportSession((st) => st.address);
|
|
11793
12184
|
const page = useLayoutDataStore((st) => st.page);
|
|
11794
12185
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11795
12186
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
11796
|
-
const [expandedGroups, setExpandedGroups] = (0,
|
|
12187
|
+
const [expandedGroups, setExpandedGroups] = (0, import_react48.useState)({});
|
|
11797
12188
|
const {
|
|
11798
12189
|
data: txHistoryGroups = [],
|
|
11799
12190
|
isLoading: isTxHistoryLoading,
|
|
11800
12191
|
isFetching: isTxHistoryFetching,
|
|
11801
12192
|
error: txHistoryError
|
|
11802
|
-
} = (0,
|
|
12193
|
+
} = (0, import_react_query31.useQuery)({
|
|
11803
12194
|
retry: false,
|
|
11804
12195
|
enabled: !!address && page === "transactions",
|
|
11805
12196
|
queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
|
|
11806
12197
|
queryFn: () => getTransactionsListQuery(address)
|
|
11807
12198
|
});
|
|
11808
|
-
const refreshTxHistory = (0,
|
|
12199
|
+
const refreshTxHistory = (0, import_react48.useCallback)(
|
|
11809
12200
|
() => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address] }),
|
|
11810
12201
|
[qc, address]
|
|
11811
12202
|
);
|
|
@@ -11965,7 +12356,7 @@ function usePageMapper() {
|
|
|
11965
12356
|
setIsDialogOpen,
|
|
11966
12357
|
setIsDialogClosing
|
|
11967
12358
|
} = useLayoutStore();
|
|
11968
|
-
const closeDialog = (0,
|
|
12359
|
+
const closeDialog = (0, import_react49.useCallback)(() => {
|
|
11969
12360
|
setIsDialogClosing(true);
|
|
11970
12361
|
setTimeout(() => {
|
|
11971
12362
|
setDialogContent(null);
|
|
@@ -11976,7 +12367,7 @@ function usePageMapper() {
|
|
|
11976
12367
|
setIsDialogOpen(false);
|
|
11977
12368
|
}, CLEAR_DIALOG_TIMEOUT);
|
|
11978
12369
|
}, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
|
|
11979
|
-
const openDialog = (0,
|
|
12370
|
+
const openDialog = (0, import_react49.useCallback)(
|
|
11980
12371
|
(pageItem) => {
|
|
11981
12372
|
const PageContentComponent = pageItem.component;
|
|
11982
12373
|
setDialogTitle(pageItem.title);
|
|
@@ -11986,7 +12377,7 @@ function usePageMapper() {
|
|
|
11986
12377
|
},
|
|
11987
12378
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
11988
12379
|
);
|
|
11989
|
-
(0,
|
|
12380
|
+
(0, import_react49.useEffect)(() => {
|
|
11990
12381
|
if (page === null) return closeDialog();
|
|
11991
12382
|
const pageItem = protectedRoutes[page];
|
|
11992
12383
|
if (!pageItem) {
|
|
@@ -11999,7 +12390,7 @@ function usePageMapper() {
|
|
|
11999
12390
|
}
|
|
12000
12391
|
|
|
12001
12392
|
// src/internal/hooks/useSettingsNotifications.ts
|
|
12002
|
-
var
|
|
12393
|
+
var import_react50 = require("react");
|
|
12003
12394
|
init_auth();
|
|
12004
12395
|
var EMAIL_NOT_CONNECTED_NOTIFICATION = {
|
|
12005
12396
|
id: "email-not-connected",
|
|
@@ -12016,13 +12407,13 @@ function useSettingsNotifications() {
|
|
|
12016
12407
|
const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
|
|
12017
12408
|
const providers = import_auth3.jwtTokenManager.getProviders();
|
|
12018
12409
|
const hasEmail = providers.includes("email");
|
|
12019
|
-
(0,
|
|
12410
|
+
(0, import_react50.useEffect)(() => {
|
|
12020
12411
|
setSettingsNotifications({
|
|
12021
12412
|
...BACKUP_IS_NOT_CREATED_NOTIFICATION,
|
|
12022
12413
|
status: hasServerVault ? "resolved" : "active"
|
|
12023
12414
|
});
|
|
12024
12415
|
}, [hasServerVault, setSettingsNotifications]);
|
|
12025
|
-
(0,
|
|
12416
|
+
(0, import_react50.useEffect)(() => {
|
|
12026
12417
|
setSettingsNotifications({
|
|
12027
12418
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
12028
12419
|
status: hasEmail ? "resolved" : "active"
|
|
@@ -12031,7 +12422,7 @@ function useSettingsNotifications() {
|
|
|
12031
12422
|
}
|
|
12032
12423
|
|
|
12033
12424
|
// src/internal/hooks/useWalletStatus.ts
|
|
12034
|
-
var
|
|
12425
|
+
var import_react51 = require("react");
|
|
12035
12426
|
init_auth();
|
|
12036
12427
|
function useWalletStatus() {
|
|
12037
12428
|
const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
|
|
@@ -12041,7 +12432,7 @@ function useWalletStatus() {
|
|
|
12041
12432
|
config: { current: config },
|
|
12042
12433
|
callbacks
|
|
12043
12434
|
} = useLumiaPassportConfig();
|
|
12044
|
-
(0,
|
|
12435
|
+
(0, import_react51.useEffect)(() => {
|
|
12045
12436
|
if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
|
|
12046
12437
|
const userId = import_auth3.jwtTokenManager.getUserId();
|
|
12047
12438
|
const hasKeyshare = import_auth3.jwtTokenManager.getHasKeyshare();
|
|
@@ -12070,7 +12461,7 @@ function LumiaPassportDialog() {
|
|
|
12070
12461
|
const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
|
|
12071
12462
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
12072
12463
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
12073
|
-
(0,
|
|
12464
|
+
(0, import_react52.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
12074
12465
|
usePageMapper();
|
|
12075
12466
|
useAutoConnect();
|
|
12076
12467
|
useCheckVaultStatus();
|
|
@@ -12111,23 +12502,23 @@ function LumiaPassportDialog() {
|
|
|
12111
12502
|
}
|
|
12112
12503
|
|
|
12113
12504
|
// src/internal/components/TssManager.tsx
|
|
12114
|
-
var
|
|
12505
|
+
var import_react53 = __toESM(require("react"), 1);
|
|
12115
12506
|
init_auth();
|
|
12116
12507
|
init_clients();
|
|
12117
|
-
var TssManagerWithRef =
|
|
12508
|
+
var TssManagerWithRef = import_react53.default.forwardRef((props, ref) => {
|
|
12118
12509
|
const { mpcPin } = props;
|
|
12119
12510
|
const usePaymaster = useLumiaPassportSession((st) => st.usePaymaster);
|
|
12120
12511
|
const setStatus = useLumiaPassportSession((st) => st.setStatus);
|
|
12121
12512
|
const setSession = useLumiaPassportSession((st) => st.setSession);
|
|
12122
12513
|
const setAddress = useLumiaPassportSession((st) => st.setAddress);
|
|
12123
|
-
const onSessionCreated = (0,
|
|
12514
|
+
const onSessionCreated = (0, import_react53.useCallback)(
|
|
12124
12515
|
(session, address) => {
|
|
12125
12516
|
setSession(session);
|
|
12126
12517
|
setAddress(address);
|
|
12127
12518
|
},
|
|
12128
12519
|
[setSession, setAddress]
|
|
12129
12520
|
);
|
|
12130
|
-
const createSessionWithKeyshare =
|
|
12521
|
+
const createSessionWithKeyshare = import_react53.default.useCallback(
|
|
12131
12522
|
async (userId, hasServerKeyshare, isNewUser) => {
|
|
12132
12523
|
setStatus("checking key management setup...");
|
|
12133
12524
|
await ensureKeyshare(userId, hasServerKeyshare, setStatus, isNewUser);
|
|
@@ -12148,24 +12539,24 @@ var TssManagerWithRef = import_react51.default.forwardRef((props, ref) => {
|
|
|
12148
12539
|
},
|
|
12149
12540
|
[setStatus, usePaymaster, mpcPin]
|
|
12150
12541
|
);
|
|
12151
|
-
|
|
12542
|
+
import_react53.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
|
|
12152
12543
|
return null;
|
|
12153
12544
|
});
|
|
12154
12545
|
|
|
12155
12546
|
// src/internal/components/WalletConnectHandler.tsx
|
|
12156
12547
|
var import_rainbowkit = require("@rainbow-me/rainbowkit");
|
|
12157
|
-
var
|
|
12158
|
-
var
|
|
12159
|
-
var
|
|
12548
|
+
var import_react_query32 = require("@tanstack/react-query");
|
|
12549
|
+
var import_react54 = __toESM(require("react"), 1);
|
|
12550
|
+
var import_wagmi5 = require("wagmi");
|
|
12160
12551
|
init_wallet();
|
|
12161
12552
|
function WalletConnectHandler() {
|
|
12162
|
-
const qc = (0,
|
|
12553
|
+
const qc = (0, import_react_query32.useQueryClient)();
|
|
12163
12554
|
const callbacks = useLumiaPassportConfig().callbacks;
|
|
12164
12555
|
const passportWalletAddress = useLumiaPassportSession((st) => st.address);
|
|
12165
|
-
const { address: walletAddress, isConnected, chain, connector } = (0,
|
|
12556
|
+
const { address: walletAddress, isConnected, chain, connector } = (0, import_wagmi5.useAccount)();
|
|
12166
12557
|
const { openConnectModal, connectModalOpen } = (0, import_rainbowkit.useConnectModal)();
|
|
12167
|
-
const { disconnect } = (0,
|
|
12168
|
-
const { signMessageAsync } = (0,
|
|
12558
|
+
const { disconnect } = (0, import_wagmi5.useDisconnect)();
|
|
12559
|
+
const { signMessageAsync } = (0, import_wagmi5.useSignMessage)();
|
|
12169
12560
|
const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
|
|
12170
12561
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
12171
12562
|
const setIsWalletLinking = useLayoutDataStore((st) => st.setIsWalletLinking);
|
|
@@ -12173,7 +12564,7 @@ function WalletConnectHandler() {
|
|
|
12173
12564
|
const setManageWalletLinkError = useManageWalletStore((st) => st.setLinkError);
|
|
12174
12565
|
const setLinkIsLoading = useManageWalletStore((st) => st.setLinkIsLoading);
|
|
12175
12566
|
const setProviderType = useManageWalletStore((st) => st.setProviderType);
|
|
12176
|
-
const onLinkingComplete = (0,
|
|
12567
|
+
const onLinkingComplete = (0, import_react54.useCallback)(
|
|
12177
12568
|
async (success) => {
|
|
12178
12569
|
setIsWalletLinking(false);
|
|
12179
12570
|
if (!success && !passportWalletAddress) {
|
|
@@ -12200,8 +12591,8 @@ function WalletConnectHandler() {
|
|
|
12200
12591
|
},
|
|
12201
12592
|
[qc, passportWalletAddress, callbacks, setProviderType, setPage, setIsWalletLinking]
|
|
12202
12593
|
);
|
|
12203
|
-
const [hasStartedLinking, setHasStartedLinking] =
|
|
12204
|
-
(0,
|
|
12594
|
+
const [hasStartedLinking, setHasStartedLinking] = import_react54.default.useState(false);
|
|
12595
|
+
(0, import_react54.useEffect)(() => {
|
|
12205
12596
|
if (isWalletLinking && !hasStartedLinking) {
|
|
12206
12597
|
setHasStartedLinking(true);
|
|
12207
12598
|
setProviderType(null);
|
|
@@ -12221,14 +12612,14 @@ function WalletConnectHandler() {
|
|
|
12221
12612
|
if (isConnected) disconnect();
|
|
12222
12613
|
}
|
|
12223
12614
|
}, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect, setPage, setProviderType]);
|
|
12224
|
-
(0,
|
|
12615
|
+
(0, import_react54.useEffect)(() => {
|
|
12225
12616
|
if (hasStartedLinking && !connectModalOpen && !isConnected && isWalletLinking) {
|
|
12226
12617
|
console.log("[WalletConnectHandler] Modal closed without connecting");
|
|
12227
12618
|
onLinkingComplete(false);
|
|
12228
12619
|
setHasStartedLinking(false);
|
|
12229
12620
|
}
|
|
12230
12621
|
}, [connectModalOpen, hasStartedLinking, isConnected, isWalletLinking]);
|
|
12231
|
-
const { mutate: handleWalletSign, isPending: isWalletSigning } = (0,
|
|
12622
|
+
const { mutate: handleWalletSign, isPending: isWalletSigning } = (0, import_react_query32.useMutation)({
|
|
12232
12623
|
mutationFn: async (payload) => {
|
|
12233
12624
|
const { chainId, signingWalletAddress } = payload;
|
|
12234
12625
|
if (!signingWalletAddress || !chainId) {
|
|
@@ -12297,7 +12688,7 @@ function WalletConnectHandler() {
|
|
|
12297
12688
|
setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
|
|
12298
12689
|
}
|
|
12299
12690
|
});
|
|
12300
|
-
(0,
|
|
12691
|
+
(0, import_react54.useEffect)(() => {
|
|
12301
12692
|
if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking) {
|
|
12302
12693
|
console.log("[WalletConnectHandler] handleWalletSign triggered");
|
|
12303
12694
|
handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
|
|
@@ -12333,7 +12724,7 @@ var useLumiaPassportSession = (0, import_zustand6.create)((set) => ({
|
|
|
12333
12724
|
}));
|
|
12334
12725
|
function LumiaPassportSessionProvider({ children }) {
|
|
12335
12726
|
const config = useLumiaPassportConfig().config;
|
|
12336
|
-
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
|
|
12727
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_react55.Fragment, { children: [
|
|
12337
12728
|
children,
|
|
12338
12729
|
config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(WalletConnectHandler, {}),
|
|
12339
12730
|
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(BalanceFeedProvider, {}),
|
|
@@ -12359,15 +12750,15 @@ function notifyNoProjetctId(projectId) {
|
|
|
12359
12750
|
}
|
|
12360
12751
|
|
|
12361
12752
|
// src/context/WagmiContext.tsx
|
|
12362
|
-
var
|
|
12753
|
+
var import_wagmi7 = require("wagmi");
|
|
12363
12754
|
|
|
12364
12755
|
// src/config/wagmi.ts
|
|
12365
|
-
var
|
|
12756
|
+
var import_wagmi6 = require("wagmi");
|
|
12366
12757
|
init_base();
|
|
12367
|
-
var wagmiConfig = (0,
|
|
12758
|
+
var wagmiConfig = (0, import_wagmi6.createConfig)({
|
|
12368
12759
|
chains: [lumiaBeam],
|
|
12369
12760
|
transports: {
|
|
12370
|
-
[lumiaBeam.id]: (0,
|
|
12761
|
+
[lumiaBeam.id]: (0, import_wagmi6.http)(lumiaBeam.rpcUrls.default.http[0], {
|
|
12371
12762
|
timeout: 1e4,
|
|
12372
12763
|
retryCount: 0,
|
|
12373
12764
|
batch: false,
|
|
@@ -12380,19 +12771,19 @@ var wagmiConfig = (0, import_wagmi5.createConfig)({
|
|
|
12380
12771
|
// src/context/WagmiContext.tsx
|
|
12381
12772
|
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
12382
12773
|
var LumiaWagmiProvider = ({ children }) => {
|
|
12383
|
-
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
12774
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_wagmi7.WagmiProvider, { config: wagmiConfig, children });
|
|
12384
12775
|
};
|
|
12385
12776
|
|
|
12386
12777
|
// src/context/LumiaPassportContext.tsx
|
|
12387
12778
|
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
12388
|
-
var LumiaPassportContext = (0,
|
|
12779
|
+
var LumiaPassportContext = (0, import_react56.createContext)(void 0);
|
|
12389
12780
|
function LumiaPassportProvider(props) {
|
|
12390
12781
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
12391
12782
|
const setIsIframeReady = useLumiaPassportSession((st) => st.setIsIframeReady);
|
|
12392
12783
|
const setWalletReadyStatus = useLumiaPassportSession((st) => st.setWalletReadyStatus);
|
|
12393
|
-
(0,
|
|
12394
|
-
const config = (0,
|
|
12395
|
-
const updateConfig = (0,
|
|
12784
|
+
(0, import_react56.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
|
|
12785
|
+
const config = (0, import_react56.useRef)({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
|
|
12786
|
+
const updateConfig = (0, import_react56.useCallback)((updates) => {
|
|
12396
12787
|
const prev = config.current;
|
|
12397
12788
|
const next = { ...prev };
|
|
12398
12789
|
if (updates.projectId !== void 0) next.projectId = updates.projectId;
|
|
@@ -12427,7 +12818,7 @@ function LumiaPassportProvider(props) {
|
|
|
12427
12818
|
}
|
|
12428
12819
|
config.current = next;
|
|
12429
12820
|
}, []);
|
|
12430
|
-
(0,
|
|
12821
|
+
(0, import_react56.useEffect)(() => {
|
|
12431
12822
|
if (typeof window === "undefined" || !projectId) return;
|
|
12432
12823
|
const mergedConfig = (0, import_lodash_es4.merge)(DEFAULT_LUMIA_PASSPORT_CONFIG, initialConfig);
|
|
12433
12824
|
updateConfig(mergedConfig);
|
|
@@ -12472,18 +12863,18 @@ function LumiaPassportProvider(props) {
|
|
|
12472
12863
|
console.error("[LumiaPassport] Error setting up iframe manager:", error);
|
|
12473
12864
|
}
|
|
12474
12865
|
}, [projectId, initialConfig, callbacks, updateConfig, setIsIframeReady, setWalletReadyStatus]);
|
|
12475
|
-
const contextValue = (0,
|
|
12866
|
+
const contextValue = (0, import_react56.useMemo)(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
|
|
12476
12867
|
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(LumiaWagmiProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(LumiaPassportContext.Provider, { value: contextValue, children }) });
|
|
12477
12868
|
}
|
|
12478
12869
|
var useLumiaPassportConfig = () => {
|
|
12479
|
-
const ctx = (0,
|
|
12870
|
+
const ctx = (0, import_react56.useContext)(LumiaPassportContext);
|
|
12480
12871
|
if (!ctx) throw new Error("useLumiaPassportConfig must be used within a LumiaPassportProvider");
|
|
12481
12872
|
return ctx;
|
|
12482
12873
|
};
|
|
12483
12874
|
|
|
12484
12875
|
// src/components/ConnectWalletButton.tsx
|
|
12485
12876
|
var import_lucide_react44 = require("lucide-react");
|
|
12486
|
-
var
|
|
12877
|
+
var import_react57 = require("react");
|
|
12487
12878
|
init_auth();
|
|
12488
12879
|
var import_jsx_runtime68 = (
|
|
12489
12880
|
/** external Buttons can be provided */
|
|
@@ -12507,10 +12898,10 @@ function ConnectWalletButton(props) {
|
|
|
12507
12898
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
12508
12899
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
|
|
12509
12900
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
12510
|
-
(0,
|
|
12901
|
+
(0, import_react57.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
12511
12902
|
const avatar = import_auth3.jwtTokenManager.getAvatar();
|
|
12512
12903
|
const displayName = import_auth3.jwtTokenManager.getDisplayName();
|
|
12513
|
-
const indicators = (0,
|
|
12904
|
+
const indicators = (0, import_react57.useMemo)(() => {
|
|
12514
12905
|
const userId = import_auth3.jwtTokenManager.getUserId();
|
|
12515
12906
|
if (!userId) return { server: false, local: false, backup: false };
|
|
12516
12907
|
const server = import_auth3.jwtTokenManager.getHasKeyshare() ?? false;
|
|
@@ -12679,13 +13070,13 @@ var useLumiaPassportRecoveryUserId = () => useLumiaPassportSession((st) => st.re
|
|
|
12679
13070
|
var useLumiaPassportHasServerVault = () => useLumiaPassportSession((st) => st.hasServerVault);
|
|
12680
13071
|
|
|
12681
13072
|
// src/hooks/useLumiaPassportOpen.ts
|
|
12682
|
-
var
|
|
13073
|
+
var import_react58 = require("react");
|
|
12683
13074
|
function useLumiaPassportOpen() {
|
|
12684
13075
|
const page = useLayoutDataStore((st) => st.page);
|
|
12685
13076
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
12686
13077
|
const setPageParams = useLayoutDataStore((st) => st.setPageParams);
|
|
12687
13078
|
const address = useLumiaPassportSession((st) => st.address);
|
|
12688
|
-
const open = (0,
|
|
13079
|
+
const open = (0, import_react58.useCallback)(
|
|
12689
13080
|
(passportPage, params) => {
|
|
12690
13081
|
if (!address) return setPage("auth" /* AUTH */);
|
|
12691
13082
|
if (!!address && passportPage === "auth" /* AUTH */) return setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
@@ -12694,12 +13085,12 @@ function useLumiaPassportOpen() {
|
|
|
12694
13085
|
},
|
|
12695
13086
|
[setPage, setPageParams, address]
|
|
12696
13087
|
);
|
|
12697
|
-
const close = (0,
|
|
13088
|
+
const close = (0, import_react58.useCallback)(() => setPage(null), [setPage]);
|
|
12698
13089
|
return { open, close, isOpen: page !== null };
|
|
12699
13090
|
}
|
|
12700
13091
|
|
|
12701
13092
|
// src/hooks/useLumiaPassportColorMode.ts
|
|
12702
|
-
var
|
|
13093
|
+
var import_react59 = require("react");
|
|
12703
13094
|
function useLumiaPassportColorMode() {
|
|
12704
13095
|
const {
|
|
12705
13096
|
config: { current: config }
|
|
@@ -12707,14 +13098,14 @@ function useLumiaPassportColorMode() {
|
|
|
12707
13098
|
const preferedColorMode = config?.preferedColorMode;
|
|
12708
13099
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
12709
13100
|
const handleStoreColorMode = useLayoutStore((st) => st.setColorMode);
|
|
12710
|
-
const setColorMode = (0,
|
|
13101
|
+
const setColorMode = (0, import_react59.useCallback)(
|
|
12711
13102
|
(mode) => {
|
|
12712
13103
|
localStorage.setItem(LOCAL_COLOR_MODE_KEY, mode);
|
|
12713
13104
|
handleStoreColorMode(mode);
|
|
12714
13105
|
},
|
|
12715
13106
|
[handleStoreColorMode]
|
|
12716
13107
|
);
|
|
12717
|
-
(0,
|
|
13108
|
+
(0, import_react59.useEffect)(() => {
|
|
12718
13109
|
let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
|
|
12719
13110
|
if (!targetColorMode && !preferedColorMode) {
|
|
12720
13111
|
const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
@@ -12757,8 +13148,8 @@ function ThemeToggle(props) {
|
|
|
12757
13148
|
|
|
12758
13149
|
// src/context/RainbowKitContext.tsx
|
|
12759
13150
|
var import_rainbowkit3 = require("@rainbow-me/rainbowkit");
|
|
12760
|
-
var
|
|
12761
|
-
var
|
|
13151
|
+
var import_react60 = require("react");
|
|
13152
|
+
var import_wagmi9 = require("wagmi");
|
|
12762
13153
|
|
|
12763
13154
|
// src/config/rainbowkit.ts
|
|
12764
13155
|
var import_rainbowkit2 = require("@rainbow-me/rainbowkit");
|
|
@@ -12989,8 +13380,8 @@ var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
|
12989
13380
|
function LumiaRainbowKitProvider({ children }) {
|
|
12990
13381
|
const config = useLumiaPassportConfig().config;
|
|
12991
13382
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
12992
|
-
const rainbowConfig2 = (0,
|
|
12993
|
-
const customTheme = (0,
|
|
13383
|
+
const rainbowConfig2 = (0, import_react60.useMemo)(() => createRainbowConfig(config.current?.wallet?.walletConnectProjectId), [config]);
|
|
13384
|
+
const customTheme = (0, import_react60.useMemo)(
|
|
12994
13385
|
() => colorMode === "dark" ? {
|
|
12995
13386
|
...(0, import_rainbowkit3.darkTheme)(),
|
|
12996
13387
|
colors: { ...(0, import_rainbowkit3.darkTheme)().colors, ...rainbowTheme.darkMode.colors },
|
|
@@ -13005,7 +13396,7 @@ function LumiaRainbowKitProvider({ children }) {
|
|
|
13005
13396
|
[colorMode]
|
|
13006
13397
|
);
|
|
13007
13398
|
if (!config.current?.wallet?.enabled) return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_jsx_runtime70.Fragment, { children });
|
|
13008
|
-
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
13399
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_wagmi9.WagmiProvider, { config: rainbowConfig2, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_rainbowkit3.RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
|
|
13009
13400
|
}
|
|
13010
13401
|
|
|
13011
13402
|
// src/internal/components/UserOpStatus.tsx
|
|
@@ -13442,14 +13833,14 @@ var Hash = ({
|
|
|
13442
13833
|
};
|
|
13443
13834
|
|
|
13444
13835
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
13445
|
-
var
|
|
13836
|
+
var import_react61 = require("react");
|
|
13446
13837
|
init_base();
|
|
13447
13838
|
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
13448
13839
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
13449
|
-
const [transactions, setTransactions] = (0,
|
|
13450
|
-
const [loading, setLoading] = (0,
|
|
13451
|
-
const [error, setError] = (0,
|
|
13452
|
-
(0,
|
|
13840
|
+
const [transactions, setTransactions] = (0, import_react61.useState)([]);
|
|
13841
|
+
const [loading, setLoading] = (0, import_react61.useState)(true);
|
|
13842
|
+
const [error, setError] = (0, import_react61.useState)(null);
|
|
13843
|
+
(0, import_react61.useEffect)(() => {
|
|
13453
13844
|
const fetchTransactions = async () => {
|
|
13454
13845
|
try {
|
|
13455
13846
|
setLoading(true);
|
|
@@ -13751,11 +14142,11 @@ function useUserOpStatus(options = {}) {
|
|
|
13751
14142
|
|
|
13752
14143
|
// src/hooks/useLogout.ts
|
|
13753
14144
|
var import_auth20 = require("@lumiapassport/core/auth");
|
|
13754
|
-
var
|
|
14145
|
+
var import_react62 = require("react");
|
|
13755
14146
|
function useLogout() {
|
|
13756
14147
|
const { setSession, setIsLoading, setAddress, setStatus, setError, address } = useLumiaPassportSession();
|
|
13757
14148
|
const { callbacks } = useLumiaPassportConfig();
|
|
13758
|
-
const logout2 = (0,
|
|
14149
|
+
const logout2 = (0, import_react62.useCallback)(async () => {
|
|
13759
14150
|
const prevAddress = address;
|
|
13760
14151
|
let userId = null;
|
|
13761
14152
|
setIsLoading(true);
|
|
@@ -13793,20 +14184,20 @@ init_auth();
|
|
|
13793
14184
|
init_profile();
|
|
13794
14185
|
|
|
13795
14186
|
// src/modules/transactions.ts
|
|
13796
|
-
var
|
|
13797
|
-
var
|
|
14187
|
+
var import_wagmi10 = require("wagmi");
|
|
14188
|
+
var import_viem8 = require("viem");
|
|
13798
14189
|
init_base();
|
|
13799
14190
|
function useTransactions() {
|
|
13800
|
-
const publicClient2 = (0,
|
|
13801
|
-
const { data: walletClient } = (0,
|
|
13802
|
-
const { address } = (0,
|
|
14191
|
+
const publicClient2 = (0, import_wagmi10.usePublicClient)({ chainId: lumiaBeam.id });
|
|
14192
|
+
const { data: walletClient } = (0, import_wagmi10.useWalletClient)();
|
|
14193
|
+
const { address } = (0, import_wagmi10.useAccount)();
|
|
13803
14194
|
const sendTransaction = async (params) => {
|
|
13804
14195
|
if (!walletClient) {
|
|
13805
14196
|
throw new Error("Wallet not connected");
|
|
13806
14197
|
}
|
|
13807
14198
|
const txParams = {
|
|
13808
14199
|
to: params.to,
|
|
13809
|
-
value: (0,
|
|
14200
|
+
value: (0, import_viem8.parseEther)(params.value),
|
|
13810
14201
|
data: params.data,
|
|
13811
14202
|
chain: lumiaBeam
|
|
13812
14203
|
};
|
|
@@ -13856,9 +14247,9 @@ function useTransactions() {
|
|
|
13856
14247
|
}
|
|
13857
14248
|
|
|
13858
14249
|
// src/modules/smartAccountTransactions.ts
|
|
13859
|
-
var
|
|
14250
|
+
var import_viem9 = require("viem");
|
|
13860
14251
|
init_base();
|
|
13861
|
-
var USER_OP_EVENT = (0,
|
|
14252
|
+
var USER_OP_EVENT = (0, import_viem9.parseAbiItem)(
|
|
13862
14253
|
"event UserOperationEvent(bytes32 indexed userOpHash, address indexed sender, address indexed paymaster, uint256 nonce, bool success, uint256 actualGasCost, uint256 actualGasUsed)"
|
|
13863
14254
|
);
|
|
13864
14255
|
function useSmartAccountTransactions() {
|