@lumiapassport/ui-kit 1.14.5 → 1.14.7
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 +659 -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 +623 -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.7",
|
|
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 = (0, import_viem4.formatUnits)(BigInt(value), decimals);
|
|
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
|
+
args: []
|
|
10521
|
+
});
|
|
10522
|
+
if (registry && registry !== "0x0000000000000000000000000000000000000000") {
|
|
10523
|
+
return { tokenAddress, registry };
|
|
10524
|
+
}
|
|
10525
|
+
return null;
|
|
10526
|
+
} catch {
|
|
10527
|
+
return null;
|
|
10528
|
+
}
|
|
10529
|
+
});
|
|
10530
|
+
const batchResults = await Promise.allSettled(promises);
|
|
10531
|
+
batchResults.forEach((result) => {
|
|
10532
|
+
if (result.status === "fulfilled" && result.value) {
|
|
10533
|
+
results.set(result.value.tokenAddress.toLowerCase(), result.value.registry);
|
|
10534
|
+
}
|
|
10535
|
+
});
|
|
10536
|
+
}
|
|
10537
|
+
return results;
|
|
10538
|
+
},
|
|
10539
|
+
enabled: !!address && enabled && detectSecurityTokens && erc20TokenAddresses.length > 0 && !!publicClient2,
|
|
10540
|
+
staleTime: BLOCKSCOUT_QUERY_STALE_TIME * 2,
|
|
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,19 @@ 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);
|
|
10664
|
+
const [logoError, setLogoError] = (0, import_react40.useState)(false);
|
|
10489
10665
|
const { assets: projectAssets, showBalanceAs: showBalanceAsSymbol } = useLumiaPassportConfig().config.current.projectAssets || {};
|
|
10490
|
-
const qc = (0,
|
|
10666
|
+
const qc = (0, import_react_query28.useQueryClient)();
|
|
10491
10667
|
const { balanceQueryKey } = projectAssets?.find((a) => a.symbol === showBalanceAsSymbol) || {};
|
|
10492
10668
|
const projectAssetBalance = !!balanceQueryKey ? qc.getQueryData(balanceQueryKey) : null;
|
|
10493
|
-
const
|
|
10669
|
+
const isNft = isNftAsset(asset);
|
|
10670
|
+
const nftImage = getNftImage(asset);
|
|
10671
|
+
const isSecurity = isSecurityToken(asset);
|
|
10672
|
+
const { data: assetRate, isLoading: isRateLoading } = (0, import_react_query28.useQuery)({
|
|
10494
10673
|
retry: false,
|
|
10495
10674
|
staleTime: 4 * 60 * 1e3,
|
|
10496
|
-
enabled: !!address && !!asset.symbol && !isProjectAsset,
|
|
10675
|
+
enabled: !!address && !!asset.symbol && !isProjectAsset && !isNft && !isSecurity,
|
|
10497
10676
|
queryKey: [ASSETS_RATES_QUERY_KEY, address, asset.symbol],
|
|
10498
10677
|
queryFn: async () => await getAssetRate2(asset.symbol)
|
|
10499
10678
|
});
|
|
@@ -10509,22 +10688,63 @@ function PortfolioItem(props) {
|
|
|
10509
10688
|
),
|
|
10510
10689
|
onClick: () => asset.address ? openInExplorer(asset.address) : void 0,
|
|
10511
10690
|
children: [
|
|
10512
|
-
/* @__PURE__ */ (0, import_jsx_runtime52.
|
|
10691
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
|
|
10513
10692
|
"div",
|
|
10514
10693
|
{
|
|
10515
10694
|
className: cn(
|
|
10516
|
-
"flex-none
|
|
10517
|
-
"group-hover:opacity-60 transition-opacity"
|
|
10695
|
+
"flex-none flex items-center justify-center overflow-hidden relative",
|
|
10696
|
+
"group-hover:opacity-60 transition-opacity",
|
|
10697
|
+
// NFTs get rounded corners, tokens get circular
|
|
10698
|
+
isNft ? "w-12 h-12 rounded-lg" : "w-10 h-10 rounded-full",
|
|
10699
|
+
(!asset.logo || logoError) && !nftImage && "bg-[var(--l-pass-fg)]"
|
|
10518
10700
|
),
|
|
10519
|
-
children:
|
|
10701
|
+
children: [
|
|
10702
|
+
isNft && nftImage && !nftImageError ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
10703
|
+
"img",
|
|
10704
|
+
{
|
|
10705
|
+
src: nftImage,
|
|
10706
|
+
alt: asset.nftMetadata?.name || asset.name,
|
|
10707
|
+
className: "w-full h-full object-cover",
|
|
10708
|
+
onError: () => setNftImageError(true)
|
|
10709
|
+
}
|
|
10710
|
+
) : isNft && (!nftImage || nftImageError) ? (
|
|
10711
|
+
// NFT placeholder when no image available
|
|
10712
|
+
/* @__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)]" }) })
|
|
10713
|
+
) : asset.logo && !logoError ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
10714
|
+
"img",
|
|
10715
|
+
{
|
|
10716
|
+
src: asset.logo,
|
|
10717
|
+
alt: asset.symbol,
|
|
10718
|
+
className: "w-full h-full object-cover",
|
|
10719
|
+
onError: () => setLogoError(true)
|
|
10720
|
+
}
|
|
10721
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[var(--l-pass-fg-inverted)] font-bold text-sm", children: asset.symbol.charAt(0) }),
|
|
10722
|
+
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)]" }) }),
|
|
10723
|
+
isSecurity && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
10724
|
+
"div",
|
|
10725
|
+
{
|
|
10726
|
+
className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-amber-500 flex items-center justify-center",
|
|
10727
|
+
title: "Security Token (ERC-3643)",
|
|
10728
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react34.Shield, { className: "w-2.5 h-2.5 text-white" })
|
|
10729
|
+
}
|
|
10730
|
+
)
|
|
10731
|
+
]
|
|
10520
10732
|
}
|
|
10521
10733
|
),
|
|
10522
10734
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "w-full flex-1", children: [
|
|
10523
10735
|
/* @__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" })
|
|
10736
|
+
/* @__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") }),
|
|
10737
|
+
!isProjectAsset && !isNft && !isSecurity && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "USD" }),
|
|
10738
|
+
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" }),
|
|
10739
|
+
isSecurity && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-amber-500 uppercase text-[10px] font-medium", children: "Security Token" })
|
|
10526
10740
|
] }),
|
|
10527
|
-
/* @__PURE__ */ (0, import_jsx_runtime52.
|
|
10741
|
+
/* @__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: [
|
|
10742
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "truncate max-w-[160px]", title: asset.nftMetadata?.name || asset.symbol, children: asset.nftMetadata?.name || asset.symbol }),
|
|
10743
|
+
"tokenId" in asset && asset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("span", { className: "text-xs text-[var(--l-pass-fg-muted)] font-normal", children: [
|
|
10744
|
+
"#",
|
|
10745
|
+
asset.tokenId.length > 8 ? `${asset.tokenId.slice(0, 6)}...` : asset.tokenId
|
|
10746
|
+
] })
|
|
10747
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
|
|
10528
10748
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("span", { children: [
|
|
10529
10749
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { children: formatValue(Number(renderBalance)) }),
|
|
10530
10750
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { children: " " + asset.symbol })
|
|
@@ -10536,7 +10756,7 @@ function PortfolioItem(props) {
|
|
|
10536
10756
|
currency: "USD",
|
|
10537
10757
|
style: "currency"
|
|
10538
10758
|
}) })
|
|
10539
|
-
] })
|
|
10759
|
+
] }) })
|
|
10540
10760
|
] })
|
|
10541
10761
|
]
|
|
10542
10762
|
}
|
|
@@ -10549,12 +10769,14 @@ function PortfolioItem(props) {
|
|
|
10549
10769
|
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
10550
10770
|
function PortfolioMenu() {
|
|
10551
10771
|
const { assets: projectAssets = [] } = useLumiaPassportConfig().config.current?.projectAssets || {};
|
|
10552
|
-
const qc = (0,
|
|
10772
|
+
const qc = (0, import_react_query29.useQueryClient)();
|
|
10553
10773
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10554
10774
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
10555
10775
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10556
|
-
const { assets, refreshBalances, isLoading } =
|
|
10557
|
-
|
|
10776
|
+
const { assets, refreshBalances, isLoading, error, isBlockscoutAvailable } = useBlockscoutAssets({
|
|
10777
|
+
address
|
|
10778
|
+
});
|
|
10779
|
+
const refreshAllAssetsBalances = (0, import_react41.useCallback)(() => {
|
|
10558
10780
|
Promise.all(projectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
|
|
10559
10781
|
refreshBalances();
|
|
10560
10782
|
}, [qc, projectAssets, refreshBalances]);
|
|
@@ -10583,6 +10805,10 @@ function PortfolioMenu() {
|
|
|
10583
10805
|
)
|
|
10584
10806
|
] }),
|
|
10585
10807
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
10808
|
+
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: [
|
|
10809
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react35.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
|
|
10810
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm", children: error.message })
|
|
10811
|
+
] }),
|
|
10586
10812
|
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
10813
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react35.Loader, { className: "h-5 w-5 animate-spin" }),
|
|
10588
10814
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-[var(--l-pass-muted)]", children: "Loading assets..." })
|
|
@@ -10599,7 +10825,7 @@ function PortfolioMenu() {
|
|
|
10599
10825
|
address,
|
|
10600
10826
|
asset
|
|
10601
10827
|
},
|
|
10602
|
-
`${asset.type}-${asset.address || "native"}-${index}`
|
|
10828
|
+
`${asset.type}-${asset.address || "native"}-${asset.tokenId || index}`
|
|
10603
10829
|
))
|
|
10604
10830
|
] })
|
|
10605
10831
|
] })
|
|
@@ -10609,9 +10835,9 @@ function PortfolioMenu() {
|
|
|
10609
10835
|
}
|
|
10610
10836
|
|
|
10611
10837
|
// src/internal/components/SecurityMenu/SecurityMenu.tsx
|
|
10612
|
-
var
|
|
10838
|
+
var import_react_query30 = require("@tanstack/react-query");
|
|
10613
10839
|
var import_lucide_react36 = require("lucide-react");
|
|
10614
|
-
var
|
|
10840
|
+
var import_react42 = require("react");
|
|
10615
10841
|
init_auth();
|
|
10616
10842
|
init_keyshare();
|
|
10617
10843
|
init_iframe_manager();
|
|
@@ -10628,28 +10854,28 @@ function parseOS(ua) {
|
|
|
10628
10854
|
return null;
|
|
10629
10855
|
}
|
|
10630
10856
|
function SecurityMenu() {
|
|
10631
|
-
const qc = (0,
|
|
10857
|
+
const qc = (0, import_react_query30.useQueryClient)();
|
|
10632
10858
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
10633
10859
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10634
10860
|
const userId = import_auth3.jwtTokenManager.getUserId();
|
|
10635
|
-
(0,
|
|
10861
|
+
(0, import_react42.useEffect)(() => {
|
|
10636
10862
|
if (!userId) setPage("main-menu" /* MAIN_MENU */);
|
|
10637
10863
|
}, [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,
|
|
10864
|
+
const [localInfo, setLocalInfo] = (0, import_react42.useState)(null);
|
|
10865
|
+
const [recoveryCreatedAt, setRecoveryCreatedAt] = (0, import_react42.useState)(null);
|
|
10866
|
+
const [recoveryBrowser, setRecoveryBrowser] = (0, import_react42.useState)(null);
|
|
10867
|
+
const [recoveryUa, setRecoveryUa] = (0, import_react42.useState)(null);
|
|
10868
|
+
const [recoveryDeviceId, setRecoveryDeviceId] = (0, import_react42.useState)(null);
|
|
10869
|
+
const [recoveryDeviceName, setRecoveryDeviceName] = (0, import_react42.useState)(null);
|
|
10870
|
+
const [recoveryCountry, setRecoveryCountry] = (0, import_react42.useState)(null);
|
|
10871
|
+
const [hasServerBackup, setHasServerBackup] = (0, import_react42.useState)(false);
|
|
10872
|
+
const [trustedApps, setTrustedApps] = (0, import_react42.useState)([]);
|
|
10873
|
+
const [appToRemove, setAppToRemove] = (0, import_react42.useState)(null);
|
|
10648
10874
|
const {
|
|
10649
10875
|
data: recoveryData,
|
|
10650
10876
|
isFetching: isRecoveryRefreshing
|
|
10651
10877
|
// error: recoveryError
|
|
10652
|
-
} = (0,
|
|
10878
|
+
} = (0, import_react_query30.useQuery)({
|
|
10653
10879
|
enabled: !!userId,
|
|
10654
10880
|
queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId],
|
|
10655
10881
|
queryFn: async () => {
|
|
@@ -10663,7 +10889,7 @@ function SecurityMenu() {
|
|
|
10663
10889
|
return { trustedApps: trustedApps2, keyshareInfo, shareRecoveryStats };
|
|
10664
10890
|
}
|
|
10665
10891
|
});
|
|
10666
|
-
(0,
|
|
10892
|
+
(0, import_react42.useEffect)(() => {
|
|
10667
10893
|
if (!recoveryData) return;
|
|
10668
10894
|
const { trustedApps: trustedApps2, keyshareInfo, shareRecoveryStats } = recoveryData;
|
|
10669
10895
|
setLocalInfo(keyshareInfo);
|
|
@@ -10895,21 +11121,21 @@ function SecurityMenu() {
|
|
|
10895
11121
|
|
|
10896
11122
|
// src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
|
|
10897
11123
|
var import_lucide_react37 = require("lucide-react");
|
|
10898
|
-
var
|
|
10899
|
-
var
|
|
10900
|
-
var
|
|
11124
|
+
var import_react45 = require("react");
|
|
11125
|
+
var import_viem7 = require("viem");
|
|
11126
|
+
var import_wagmi4 = require("wagmi");
|
|
10901
11127
|
|
|
10902
11128
|
// src/hooks/useSendTransaction.ts
|
|
10903
|
-
var
|
|
11129
|
+
var import_react43 = require("react");
|
|
10904
11130
|
var import_viem5 = require("viem");
|
|
10905
11131
|
init_account();
|
|
10906
11132
|
function useSendTransaction() {
|
|
10907
11133
|
const session = useLumiaPassportSession((st) => st.session);
|
|
10908
11134
|
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,
|
|
11135
|
+
const [isLoading, setIsLoading] = (0, import_react43.useState)(false);
|
|
11136
|
+
const [error, setError] = (0, import_react43.useState)(null);
|
|
11137
|
+
const [userOpHash, setUserOpHash] = (0, import_react43.useState)(null);
|
|
11138
|
+
const sendTransaction = (0, import_react43.useCallback)(
|
|
10913
11139
|
async (params) => {
|
|
10914
11140
|
if (!session || !address) {
|
|
10915
11141
|
setError("No active session");
|
|
@@ -10949,7 +11175,7 @@ function useSendTransaction() {
|
|
|
10949
11175
|
},
|
|
10950
11176
|
[session, address]
|
|
10951
11177
|
);
|
|
10952
|
-
const reset = (0,
|
|
11178
|
+
const reset = (0, import_react43.useCallback)(() => {
|
|
10953
11179
|
setError(null);
|
|
10954
11180
|
setUserOpHash(null);
|
|
10955
11181
|
setIsLoading(false);
|
|
@@ -10963,6 +11189,167 @@ function useSendTransaction() {
|
|
|
10963
11189
|
};
|
|
10964
11190
|
}
|
|
10965
11191
|
|
|
11192
|
+
// src/modules/assets.ts
|
|
11193
|
+
var import_react44 = __toESM(require("react"), 1);
|
|
11194
|
+
var import_wagmi3 = require("wagmi");
|
|
11195
|
+
var import_viem6 = require("viem");
|
|
11196
|
+
init_base();
|
|
11197
|
+
var COMMON_TOKENS = [
|
|
11198
|
+
// Add real token addresses here when available
|
|
11199
|
+
// {
|
|
11200
|
+
// address: '0x....',
|
|
11201
|
+
// name: 'USD Coin',
|
|
11202
|
+
// symbol: 'USDC',
|
|
11203
|
+
// decimals: 6,
|
|
11204
|
+
// logo: 'https://...'
|
|
11205
|
+
// }
|
|
11206
|
+
];
|
|
11207
|
+
function useAssets(address) {
|
|
11208
|
+
const { data: nativeBalance, isLoading: nativeBalanceLoading, refetch: refetchNativeBalance } = (0, import_wagmi3.useBalance)({
|
|
11209
|
+
address,
|
|
11210
|
+
chainId: lumiaBeam.id,
|
|
11211
|
+
query: {
|
|
11212
|
+
enabled: !!address
|
|
11213
|
+
}
|
|
11214
|
+
});
|
|
11215
|
+
const tokenContracts = COMMON_TOKENS.map((token) => ({
|
|
11216
|
+
address: token.address,
|
|
11217
|
+
abi: import_viem6.erc20Abi,
|
|
11218
|
+
functionName: "balanceOf",
|
|
11219
|
+
args: [address],
|
|
11220
|
+
chainId: lumiaBeam.id
|
|
11221
|
+
}));
|
|
11222
|
+
const readContractsResult = (0, import_wagmi3.useReadContracts)({
|
|
11223
|
+
contracts: tokenContracts,
|
|
11224
|
+
query: {
|
|
11225
|
+
enabled: !!address && COMMON_TOKENS.length > 0
|
|
11226
|
+
}
|
|
11227
|
+
});
|
|
11228
|
+
const { data: tokenBalances, isLoading: tokenBalancesLoading, refetch: refetchTokenBalances } = readContractsResult;
|
|
11229
|
+
const getAllAssets = () => {
|
|
11230
|
+
const assets = [];
|
|
11231
|
+
if (nativeBalance) {
|
|
11232
|
+
assets.push({
|
|
11233
|
+
type: "native",
|
|
11234
|
+
name: "Lumia",
|
|
11235
|
+
symbol: "LUMIA",
|
|
11236
|
+
balance: nativeBalance.value.toString(),
|
|
11237
|
+
formattedBalance: parseFloat(nativeBalance.formatted).toFixed(4),
|
|
11238
|
+
decimals: 18
|
|
11239
|
+
});
|
|
11240
|
+
}
|
|
11241
|
+
if (tokenBalances && COMMON_TOKENS.length > 0) {
|
|
11242
|
+
tokenBalances.forEach((balance, index) => {
|
|
11243
|
+
const token = COMMON_TOKENS[index];
|
|
11244
|
+
if (balance.status === "success" && balance.result) {
|
|
11245
|
+
const balanceValue = balance.result;
|
|
11246
|
+
const formattedBalance = (0, import_viem6.formatUnits)(balanceValue, token.decimals);
|
|
11247
|
+
assets.push({
|
|
11248
|
+
type: "erc20",
|
|
11249
|
+
address: token.address,
|
|
11250
|
+
name: token.name,
|
|
11251
|
+
symbol: token.symbol,
|
|
11252
|
+
balance: balanceValue.toString(),
|
|
11253
|
+
formattedBalance: parseFloat(formattedBalance).toFixed(4),
|
|
11254
|
+
decimals: token.decimals,
|
|
11255
|
+
logo: token.logo
|
|
11256
|
+
});
|
|
11257
|
+
}
|
|
11258
|
+
});
|
|
11259
|
+
}
|
|
11260
|
+
return assets;
|
|
11261
|
+
};
|
|
11262
|
+
const getTokenBalance = (tokenAddress) => {
|
|
11263
|
+
const tokenIndex = COMMON_TOKENS.findIndex(
|
|
11264
|
+
(token2) => token2.address.toLowerCase() === tokenAddress.toLowerCase()
|
|
11265
|
+
);
|
|
11266
|
+
if (tokenIndex === -1 || !tokenBalances?.[tokenIndex]) {
|
|
11267
|
+
return null;
|
|
11268
|
+
}
|
|
11269
|
+
const balance = tokenBalances[tokenIndex];
|
|
11270
|
+
const token = COMMON_TOKENS[tokenIndex];
|
|
11271
|
+
if (balance.status === "success" && balance.result) {
|
|
11272
|
+
const balanceValue = balance.result;
|
|
11273
|
+
const formattedBalance = (0, import_viem6.formatUnits)(balanceValue, token.decimals);
|
|
11274
|
+
return {
|
|
11275
|
+
address: token.address,
|
|
11276
|
+
name: token.name,
|
|
11277
|
+
symbol: token.symbol,
|
|
11278
|
+
decimals: token.decimals,
|
|
11279
|
+
balance: balanceValue.toString(),
|
|
11280
|
+
formattedBalance: parseFloat(formattedBalance).toFixed(4),
|
|
11281
|
+
logo: token.logo
|
|
11282
|
+
};
|
|
11283
|
+
}
|
|
11284
|
+
return null;
|
|
11285
|
+
};
|
|
11286
|
+
const refreshBalances = async () => {
|
|
11287
|
+
await Promise.all([
|
|
11288
|
+
refetchNativeBalance(),
|
|
11289
|
+
refetchTokenBalances()
|
|
11290
|
+
]);
|
|
11291
|
+
};
|
|
11292
|
+
return {
|
|
11293
|
+
nativeBalance,
|
|
11294
|
+
tokenBalances,
|
|
11295
|
+
assets: getAllAssets(),
|
|
11296
|
+
getTokenBalance,
|
|
11297
|
+
refreshBalances,
|
|
11298
|
+
isLoading: nativeBalanceLoading || tokenBalancesLoading,
|
|
11299
|
+
isConnected: !!address
|
|
11300
|
+
};
|
|
11301
|
+
}
|
|
11302
|
+
function useTokenInfo(tokenAddress) {
|
|
11303
|
+
const readContractsResult = (0, import_wagmi3.useReadContracts)({
|
|
11304
|
+
contracts: [
|
|
11305
|
+
{ address: tokenAddress, abi: import_viem6.erc20Abi, functionName: "name", chainId: lumiaBeam.id },
|
|
11306
|
+
{ address: tokenAddress, abi: import_viem6.erc20Abi, functionName: "symbol", chainId: lumiaBeam.id },
|
|
11307
|
+
{ address: tokenAddress, abi: import_viem6.erc20Abi, functionName: "decimals", chainId: lumiaBeam.id }
|
|
11308
|
+
]
|
|
11309
|
+
});
|
|
11310
|
+
const { data: tokenData, isLoading } = readContractsResult;
|
|
11311
|
+
if (!tokenData || isLoading) {
|
|
11312
|
+
return { isLoading, tokenInfo: null };
|
|
11313
|
+
}
|
|
11314
|
+
const [nameResult, symbolResult, decimalsResult] = tokenData;
|
|
11315
|
+
if (nameResult.status === "success" && symbolResult.status === "success" && decimalsResult.status === "success") {
|
|
11316
|
+
return {
|
|
11317
|
+
isLoading: false,
|
|
11318
|
+
tokenInfo: {
|
|
11319
|
+
name: nameResult.result,
|
|
11320
|
+
symbol: symbolResult.result,
|
|
11321
|
+
decimals: decimalsResult.result,
|
|
11322
|
+
address: tokenAddress
|
|
11323
|
+
}
|
|
11324
|
+
};
|
|
11325
|
+
}
|
|
11326
|
+
return { isLoading: false, tokenInfo: null };
|
|
11327
|
+
}
|
|
11328
|
+
function useTokenBalance(tokenAddress, userAddress) {
|
|
11329
|
+
const { data: balance, isLoading, refetch } = (0, import_wagmi3.useReadContract)({
|
|
11330
|
+
address: tokenAddress,
|
|
11331
|
+
abi: import_viem6.erc20Abi,
|
|
11332
|
+
functionName: "balanceOf",
|
|
11333
|
+
args: userAddress ? [userAddress] : void 0,
|
|
11334
|
+
chainId: lumiaBeam.id,
|
|
11335
|
+
query: {
|
|
11336
|
+
enabled: !!userAddress
|
|
11337
|
+
}
|
|
11338
|
+
});
|
|
11339
|
+
const { tokenInfo } = useTokenInfo(tokenAddress);
|
|
11340
|
+
const formattedBalance = import_react44.default.useMemo(() => {
|
|
11341
|
+
if (!balance || !tokenInfo) return "0";
|
|
11342
|
+
return (0, import_viem6.formatUnits)(balance, tokenInfo.decimals);
|
|
11343
|
+
}, [balance, tokenInfo]);
|
|
11344
|
+
return {
|
|
11345
|
+
balance,
|
|
11346
|
+
formattedBalance,
|
|
11347
|
+
tokenInfo,
|
|
11348
|
+
isLoading,
|
|
11349
|
+
refetch
|
|
11350
|
+
};
|
|
11351
|
+
}
|
|
11352
|
+
|
|
10966
11353
|
// src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
|
|
10967
11354
|
init_base();
|
|
10968
11355
|
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
@@ -10973,17 +11360,17 @@ function SendLumiaMenu() {
|
|
|
10973
11360
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10974
11361
|
const { assets } = useAssets(address);
|
|
10975
11362
|
const { sendTransaction, isLoading, error, userOpHash, reset } = useSendTransaction();
|
|
10976
|
-
const { refetch: refetchBalance } = (0,
|
|
11363
|
+
const { refetch: refetchBalance } = (0, import_wagmi4.useBalance)({
|
|
10977
11364
|
address,
|
|
10978
11365
|
chainId: lumiaBeam.id
|
|
10979
11366
|
});
|
|
10980
|
-
const [recipient, setRecipient] = (0,
|
|
10981
|
-
const [amount, setAmount] = (0,
|
|
10982
|
-
const [txStep, setTxStep] = (0,
|
|
10983
|
-
const [validationError, setValidationError] = (0,
|
|
11367
|
+
const [recipient, setRecipient] = (0, import_react45.useState)("");
|
|
11368
|
+
const [amount, setAmount] = (0, import_react45.useState)("");
|
|
11369
|
+
const [txStep, setTxStep] = (0, import_react45.useState)("input");
|
|
11370
|
+
const [validationError, setValidationError] = (0, import_react45.useState)(null);
|
|
10984
11371
|
const nativeAsset = assets.find((a) => a.type === "native");
|
|
10985
11372
|
const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
|
|
10986
|
-
(0,
|
|
11373
|
+
(0, import_react45.useEffect)(() => {
|
|
10987
11374
|
if (open) {
|
|
10988
11375
|
setTxStep("input");
|
|
10989
11376
|
setValidationError(null);
|
|
@@ -10995,7 +11382,7 @@ function SendLumiaMenu() {
|
|
|
10995
11382
|
setValidationError("Please enter a recipient address");
|
|
10996
11383
|
return false;
|
|
10997
11384
|
}
|
|
10998
|
-
if (!(0,
|
|
11385
|
+
if (!(0, import_viem7.isAddress)(recipient)) {
|
|
10999
11386
|
setValidationError("Invalid recipient address");
|
|
11000
11387
|
return false;
|
|
11001
11388
|
}
|
|
@@ -11147,7 +11534,7 @@ function SendLumiaMenu() {
|
|
|
11147
11534
|
// src/internal/components/SendRecieveMenu/ReceiveLumiaMenu.tsx
|
|
11148
11535
|
var import_lucide_react38 = require("lucide-react");
|
|
11149
11536
|
var import_qrcode = __toESM(require("qrcode"), 1);
|
|
11150
|
-
var
|
|
11537
|
+
var import_react46 = require("react");
|
|
11151
11538
|
init_clients();
|
|
11152
11539
|
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
11153
11540
|
function ReceiveLumiaMenu() {
|
|
@@ -11156,9 +11543,9 @@ function ReceiveLumiaMenu() {
|
|
|
11156
11543
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11157
11544
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
11158
11545
|
const open = page === "receive";
|
|
11159
|
-
const [qrCodeUrl, setQrCodeUrl] = (0,
|
|
11160
|
-
const [copied, setCopied] = (0,
|
|
11161
|
-
(0,
|
|
11546
|
+
const [qrCodeUrl, setQrCodeUrl] = (0, import_react46.useState)("");
|
|
11547
|
+
const [copied, setCopied] = (0, import_react46.useState)(false);
|
|
11548
|
+
(0, import_react46.useEffect)(() => {
|
|
11162
11549
|
if (open && address) {
|
|
11163
11550
|
import_qrcode.default.toDataURL(address, {
|
|
11164
11551
|
width: 200,
|
|
@@ -11171,7 +11558,7 @@ function ReceiveLumiaMenu() {
|
|
|
11171
11558
|
});
|
|
11172
11559
|
}
|
|
11173
11560
|
}, [open, address]);
|
|
11174
|
-
const handleCopy = (0,
|
|
11561
|
+
const handleCopy = (0, import_react46.useCallback)(async () => {
|
|
11175
11562
|
if (!address) return;
|
|
11176
11563
|
try {
|
|
11177
11564
|
await navigator.clipboard.writeText(address);
|
|
@@ -11217,7 +11604,7 @@ function ReceiveLumiaMenu() {
|
|
|
11217
11604
|
|
|
11218
11605
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
11219
11606
|
var import_lucide_react40 = require("lucide-react");
|
|
11220
|
-
var
|
|
11607
|
+
var import_react47 = require("react");
|
|
11221
11608
|
|
|
11222
11609
|
// src/internal/components/SettingsMenu/constants.ts
|
|
11223
11610
|
var import_lucide_react39 = require("lucide-react");
|
|
@@ -11251,7 +11638,7 @@ function SettingsMenu() {
|
|
|
11251
11638
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11252
11639
|
const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
|
|
11253
11640
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
11254
|
-
(0,
|
|
11641
|
+
(0, import_react47.useEffect)(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
|
|
11255
11642
|
useProvidersList();
|
|
11256
11643
|
const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
|
|
11257
11644
|
const highlightedKeys = settingsNotifications.map((n) => n.target);
|
|
@@ -11310,9 +11697,9 @@ function TermsOfService() {
|
|
|
11310
11697
|
}
|
|
11311
11698
|
|
|
11312
11699
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
11313
|
-
var
|
|
11700
|
+
var import_react_query31 = require("@tanstack/react-query");
|
|
11314
11701
|
var import_lucide_react43 = require("lucide-react");
|
|
11315
|
-
var
|
|
11702
|
+
var import_react48 = require("react");
|
|
11316
11703
|
|
|
11317
11704
|
// src/internal/components/TransactionsMenu/api.ts
|
|
11318
11705
|
init_base();
|
|
@@ -11788,24 +12175,24 @@ function TransactionsGroup(props) {
|
|
|
11788
12175
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
11789
12176
|
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
11790
12177
|
function TransactionsMenu() {
|
|
11791
|
-
const qc = (0,
|
|
12178
|
+
const qc = (0, import_react_query31.useQueryClient)();
|
|
11792
12179
|
const address = useLumiaPassportSession((st) => st.address);
|
|
11793
12180
|
const page = useLayoutDataStore((st) => st.page);
|
|
11794
12181
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11795
12182
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
11796
|
-
const [expandedGroups, setExpandedGroups] = (0,
|
|
12183
|
+
const [expandedGroups, setExpandedGroups] = (0, import_react48.useState)({});
|
|
11797
12184
|
const {
|
|
11798
12185
|
data: txHistoryGroups = [],
|
|
11799
12186
|
isLoading: isTxHistoryLoading,
|
|
11800
12187
|
isFetching: isTxHistoryFetching,
|
|
11801
12188
|
error: txHistoryError
|
|
11802
|
-
} = (0,
|
|
12189
|
+
} = (0, import_react_query31.useQuery)({
|
|
11803
12190
|
retry: false,
|
|
11804
12191
|
enabled: !!address && page === "transactions",
|
|
11805
12192
|
queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
|
|
11806
12193
|
queryFn: () => getTransactionsListQuery(address)
|
|
11807
12194
|
});
|
|
11808
|
-
const refreshTxHistory = (0,
|
|
12195
|
+
const refreshTxHistory = (0, import_react48.useCallback)(
|
|
11809
12196
|
() => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address] }),
|
|
11810
12197
|
[qc, address]
|
|
11811
12198
|
);
|
|
@@ -11965,7 +12352,7 @@ function usePageMapper() {
|
|
|
11965
12352
|
setIsDialogOpen,
|
|
11966
12353
|
setIsDialogClosing
|
|
11967
12354
|
} = useLayoutStore();
|
|
11968
|
-
const closeDialog = (0,
|
|
12355
|
+
const closeDialog = (0, import_react49.useCallback)(() => {
|
|
11969
12356
|
setIsDialogClosing(true);
|
|
11970
12357
|
setTimeout(() => {
|
|
11971
12358
|
setDialogContent(null);
|
|
@@ -11976,7 +12363,7 @@ function usePageMapper() {
|
|
|
11976
12363
|
setIsDialogOpen(false);
|
|
11977
12364
|
}, CLEAR_DIALOG_TIMEOUT);
|
|
11978
12365
|
}, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
|
|
11979
|
-
const openDialog = (0,
|
|
12366
|
+
const openDialog = (0, import_react49.useCallback)(
|
|
11980
12367
|
(pageItem) => {
|
|
11981
12368
|
const PageContentComponent = pageItem.component;
|
|
11982
12369
|
setDialogTitle(pageItem.title);
|
|
@@ -11986,7 +12373,7 @@ function usePageMapper() {
|
|
|
11986
12373
|
},
|
|
11987
12374
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
11988
12375
|
);
|
|
11989
|
-
(0,
|
|
12376
|
+
(0, import_react49.useEffect)(() => {
|
|
11990
12377
|
if (page === null) return closeDialog();
|
|
11991
12378
|
const pageItem = protectedRoutes[page];
|
|
11992
12379
|
if (!pageItem) {
|
|
@@ -11999,7 +12386,7 @@ function usePageMapper() {
|
|
|
11999
12386
|
}
|
|
12000
12387
|
|
|
12001
12388
|
// src/internal/hooks/useSettingsNotifications.ts
|
|
12002
|
-
var
|
|
12389
|
+
var import_react50 = require("react");
|
|
12003
12390
|
init_auth();
|
|
12004
12391
|
var EMAIL_NOT_CONNECTED_NOTIFICATION = {
|
|
12005
12392
|
id: "email-not-connected",
|
|
@@ -12016,13 +12403,13 @@ function useSettingsNotifications() {
|
|
|
12016
12403
|
const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
|
|
12017
12404
|
const providers = import_auth3.jwtTokenManager.getProviders();
|
|
12018
12405
|
const hasEmail = providers.includes("email");
|
|
12019
|
-
(0,
|
|
12406
|
+
(0, import_react50.useEffect)(() => {
|
|
12020
12407
|
setSettingsNotifications({
|
|
12021
12408
|
...BACKUP_IS_NOT_CREATED_NOTIFICATION,
|
|
12022
12409
|
status: hasServerVault ? "resolved" : "active"
|
|
12023
12410
|
});
|
|
12024
12411
|
}, [hasServerVault, setSettingsNotifications]);
|
|
12025
|
-
(0,
|
|
12412
|
+
(0, import_react50.useEffect)(() => {
|
|
12026
12413
|
setSettingsNotifications({
|
|
12027
12414
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
12028
12415
|
status: hasEmail ? "resolved" : "active"
|
|
@@ -12031,7 +12418,7 @@ function useSettingsNotifications() {
|
|
|
12031
12418
|
}
|
|
12032
12419
|
|
|
12033
12420
|
// src/internal/hooks/useWalletStatus.ts
|
|
12034
|
-
var
|
|
12421
|
+
var import_react51 = require("react");
|
|
12035
12422
|
init_auth();
|
|
12036
12423
|
function useWalletStatus() {
|
|
12037
12424
|
const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
|
|
@@ -12041,7 +12428,7 @@ function useWalletStatus() {
|
|
|
12041
12428
|
config: { current: config },
|
|
12042
12429
|
callbacks
|
|
12043
12430
|
} = useLumiaPassportConfig();
|
|
12044
|
-
(0,
|
|
12431
|
+
(0, import_react51.useEffect)(() => {
|
|
12045
12432
|
if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
|
|
12046
12433
|
const userId = import_auth3.jwtTokenManager.getUserId();
|
|
12047
12434
|
const hasKeyshare = import_auth3.jwtTokenManager.getHasKeyshare();
|
|
@@ -12070,7 +12457,7 @@ function LumiaPassportDialog() {
|
|
|
12070
12457
|
const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
|
|
12071
12458
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
12072
12459
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
12073
|
-
(0,
|
|
12460
|
+
(0, import_react52.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
12074
12461
|
usePageMapper();
|
|
12075
12462
|
useAutoConnect();
|
|
12076
12463
|
useCheckVaultStatus();
|
|
@@ -12111,23 +12498,23 @@ function LumiaPassportDialog() {
|
|
|
12111
12498
|
}
|
|
12112
12499
|
|
|
12113
12500
|
// src/internal/components/TssManager.tsx
|
|
12114
|
-
var
|
|
12501
|
+
var import_react53 = __toESM(require("react"), 1);
|
|
12115
12502
|
init_auth();
|
|
12116
12503
|
init_clients();
|
|
12117
|
-
var TssManagerWithRef =
|
|
12504
|
+
var TssManagerWithRef = import_react53.default.forwardRef((props, ref) => {
|
|
12118
12505
|
const { mpcPin } = props;
|
|
12119
12506
|
const usePaymaster = useLumiaPassportSession((st) => st.usePaymaster);
|
|
12120
12507
|
const setStatus = useLumiaPassportSession((st) => st.setStatus);
|
|
12121
12508
|
const setSession = useLumiaPassportSession((st) => st.setSession);
|
|
12122
12509
|
const setAddress = useLumiaPassportSession((st) => st.setAddress);
|
|
12123
|
-
const onSessionCreated = (0,
|
|
12510
|
+
const onSessionCreated = (0, import_react53.useCallback)(
|
|
12124
12511
|
(session, address) => {
|
|
12125
12512
|
setSession(session);
|
|
12126
12513
|
setAddress(address);
|
|
12127
12514
|
},
|
|
12128
12515
|
[setSession, setAddress]
|
|
12129
12516
|
);
|
|
12130
|
-
const createSessionWithKeyshare =
|
|
12517
|
+
const createSessionWithKeyshare = import_react53.default.useCallback(
|
|
12131
12518
|
async (userId, hasServerKeyshare, isNewUser) => {
|
|
12132
12519
|
setStatus("checking key management setup...");
|
|
12133
12520
|
await ensureKeyshare(userId, hasServerKeyshare, setStatus, isNewUser);
|
|
@@ -12148,24 +12535,24 @@ var TssManagerWithRef = import_react51.default.forwardRef((props, ref) => {
|
|
|
12148
12535
|
},
|
|
12149
12536
|
[setStatus, usePaymaster, mpcPin]
|
|
12150
12537
|
);
|
|
12151
|
-
|
|
12538
|
+
import_react53.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
|
|
12152
12539
|
return null;
|
|
12153
12540
|
});
|
|
12154
12541
|
|
|
12155
12542
|
// src/internal/components/WalletConnectHandler.tsx
|
|
12156
12543
|
var import_rainbowkit = require("@rainbow-me/rainbowkit");
|
|
12157
|
-
var
|
|
12158
|
-
var
|
|
12159
|
-
var
|
|
12544
|
+
var import_react_query32 = require("@tanstack/react-query");
|
|
12545
|
+
var import_react54 = __toESM(require("react"), 1);
|
|
12546
|
+
var import_wagmi5 = require("wagmi");
|
|
12160
12547
|
init_wallet();
|
|
12161
12548
|
function WalletConnectHandler() {
|
|
12162
|
-
const qc = (0,
|
|
12549
|
+
const qc = (0, import_react_query32.useQueryClient)();
|
|
12163
12550
|
const callbacks = useLumiaPassportConfig().callbacks;
|
|
12164
12551
|
const passportWalletAddress = useLumiaPassportSession((st) => st.address);
|
|
12165
|
-
const { address: walletAddress, isConnected, chain, connector } = (0,
|
|
12552
|
+
const { address: walletAddress, isConnected, chain, connector } = (0, import_wagmi5.useAccount)();
|
|
12166
12553
|
const { openConnectModal, connectModalOpen } = (0, import_rainbowkit.useConnectModal)();
|
|
12167
|
-
const { disconnect } = (0,
|
|
12168
|
-
const { signMessageAsync } = (0,
|
|
12554
|
+
const { disconnect } = (0, import_wagmi5.useDisconnect)();
|
|
12555
|
+
const { signMessageAsync } = (0, import_wagmi5.useSignMessage)();
|
|
12169
12556
|
const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
|
|
12170
12557
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
12171
12558
|
const setIsWalletLinking = useLayoutDataStore((st) => st.setIsWalletLinking);
|
|
@@ -12173,7 +12560,7 @@ function WalletConnectHandler() {
|
|
|
12173
12560
|
const setManageWalletLinkError = useManageWalletStore((st) => st.setLinkError);
|
|
12174
12561
|
const setLinkIsLoading = useManageWalletStore((st) => st.setLinkIsLoading);
|
|
12175
12562
|
const setProviderType = useManageWalletStore((st) => st.setProviderType);
|
|
12176
|
-
const onLinkingComplete = (0,
|
|
12563
|
+
const onLinkingComplete = (0, import_react54.useCallback)(
|
|
12177
12564
|
async (success) => {
|
|
12178
12565
|
setIsWalletLinking(false);
|
|
12179
12566
|
if (!success && !passportWalletAddress) {
|
|
@@ -12200,8 +12587,8 @@ function WalletConnectHandler() {
|
|
|
12200
12587
|
},
|
|
12201
12588
|
[qc, passportWalletAddress, callbacks, setProviderType, setPage, setIsWalletLinking]
|
|
12202
12589
|
);
|
|
12203
|
-
const [hasStartedLinking, setHasStartedLinking] =
|
|
12204
|
-
(0,
|
|
12590
|
+
const [hasStartedLinking, setHasStartedLinking] = import_react54.default.useState(false);
|
|
12591
|
+
(0, import_react54.useEffect)(() => {
|
|
12205
12592
|
if (isWalletLinking && !hasStartedLinking) {
|
|
12206
12593
|
setHasStartedLinking(true);
|
|
12207
12594
|
setProviderType(null);
|
|
@@ -12221,14 +12608,14 @@ function WalletConnectHandler() {
|
|
|
12221
12608
|
if (isConnected) disconnect();
|
|
12222
12609
|
}
|
|
12223
12610
|
}, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect, setPage, setProviderType]);
|
|
12224
|
-
(0,
|
|
12611
|
+
(0, import_react54.useEffect)(() => {
|
|
12225
12612
|
if (hasStartedLinking && !connectModalOpen && !isConnected && isWalletLinking) {
|
|
12226
12613
|
console.log("[WalletConnectHandler] Modal closed without connecting");
|
|
12227
12614
|
onLinkingComplete(false);
|
|
12228
12615
|
setHasStartedLinking(false);
|
|
12229
12616
|
}
|
|
12230
12617
|
}, [connectModalOpen, hasStartedLinking, isConnected, isWalletLinking]);
|
|
12231
|
-
const { mutate: handleWalletSign, isPending: isWalletSigning } = (0,
|
|
12618
|
+
const { mutate: handleWalletSign, isPending: isWalletSigning } = (0, import_react_query32.useMutation)({
|
|
12232
12619
|
mutationFn: async (payload) => {
|
|
12233
12620
|
const { chainId, signingWalletAddress } = payload;
|
|
12234
12621
|
if (!signingWalletAddress || !chainId) {
|
|
@@ -12297,7 +12684,7 @@ function WalletConnectHandler() {
|
|
|
12297
12684
|
setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
|
|
12298
12685
|
}
|
|
12299
12686
|
});
|
|
12300
|
-
(0,
|
|
12687
|
+
(0, import_react54.useEffect)(() => {
|
|
12301
12688
|
if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking) {
|
|
12302
12689
|
console.log("[WalletConnectHandler] handleWalletSign triggered");
|
|
12303
12690
|
handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
|
|
@@ -12333,7 +12720,7 @@ var useLumiaPassportSession = (0, import_zustand6.create)((set) => ({
|
|
|
12333
12720
|
}));
|
|
12334
12721
|
function LumiaPassportSessionProvider({ children }) {
|
|
12335
12722
|
const config = useLumiaPassportConfig().config;
|
|
12336
|
-
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
|
|
12723
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_react55.Fragment, { children: [
|
|
12337
12724
|
children,
|
|
12338
12725
|
config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(WalletConnectHandler, {}),
|
|
12339
12726
|
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(BalanceFeedProvider, {}),
|
|
@@ -12359,15 +12746,15 @@ function notifyNoProjetctId(projectId) {
|
|
|
12359
12746
|
}
|
|
12360
12747
|
|
|
12361
12748
|
// src/context/WagmiContext.tsx
|
|
12362
|
-
var
|
|
12749
|
+
var import_wagmi7 = require("wagmi");
|
|
12363
12750
|
|
|
12364
12751
|
// src/config/wagmi.ts
|
|
12365
|
-
var
|
|
12752
|
+
var import_wagmi6 = require("wagmi");
|
|
12366
12753
|
init_base();
|
|
12367
|
-
var wagmiConfig = (0,
|
|
12754
|
+
var wagmiConfig = (0, import_wagmi6.createConfig)({
|
|
12368
12755
|
chains: [lumiaBeam],
|
|
12369
12756
|
transports: {
|
|
12370
|
-
[lumiaBeam.id]: (0,
|
|
12757
|
+
[lumiaBeam.id]: (0, import_wagmi6.http)(lumiaBeam.rpcUrls.default.http[0], {
|
|
12371
12758
|
timeout: 1e4,
|
|
12372
12759
|
retryCount: 0,
|
|
12373
12760
|
batch: false,
|
|
@@ -12380,19 +12767,19 @@ var wagmiConfig = (0, import_wagmi5.createConfig)({
|
|
|
12380
12767
|
// src/context/WagmiContext.tsx
|
|
12381
12768
|
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
12382
12769
|
var LumiaWagmiProvider = ({ children }) => {
|
|
12383
|
-
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
12770
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_wagmi7.WagmiProvider, { config: wagmiConfig, children });
|
|
12384
12771
|
};
|
|
12385
12772
|
|
|
12386
12773
|
// src/context/LumiaPassportContext.tsx
|
|
12387
12774
|
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
12388
|
-
var LumiaPassportContext = (0,
|
|
12775
|
+
var LumiaPassportContext = (0, import_react56.createContext)(void 0);
|
|
12389
12776
|
function LumiaPassportProvider(props) {
|
|
12390
12777
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
12391
12778
|
const setIsIframeReady = useLumiaPassportSession((st) => st.setIsIframeReady);
|
|
12392
12779
|
const setWalletReadyStatus = useLumiaPassportSession((st) => st.setWalletReadyStatus);
|
|
12393
|
-
(0,
|
|
12394
|
-
const config = (0,
|
|
12395
|
-
const updateConfig = (0,
|
|
12780
|
+
(0, import_react56.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
|
|
12781
|
+
const config = (0, import_react56.useRef)({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
|
|
12782
|
+
const updateConfig = (0, import_react56.useCallback)((updates) => {
|
|
12396
12783
|
const prev = config.current;
|
|
12397
12784
|
const next = { ...prev };
|
|
12398
12785
|
if (updates.projectId !== void 0) next.projectId = updates.projectId;
|
|
@@ -12427,7 +12814,7 @@ function LumiaPassportProvider(props) {
|
|
|
12427
12814
|
}
|
|
12428
12815
|
config.current = next;
|
|
12429
12816
|
}, []);
|
|
12430
|
-
(0,
|
|
12817
|
+
(0, import_react56.useEffect)(() => {
|
|
12431
12818
|
if (typeof window === "undefined" || !projectId) return;
|
|
12432
12819
|
const mergedConfig = (0, import_lodash_es4.merge)(DEFAULT_LUMIA_PASSPORT_CONFIG, initialConfig);
|
|
12433
12820
|
updateConfig(mergedConfig);
|
|
@@ -12472,18 +12859,18 @@ function LumiaPassportProvider(props) {
|
|
|
12472
12859
|
console.error("[LumiaPassport] Error setting up iframe manager:", error);
|
|
12473
12860
|
}
|
|
12474
12861
|
}, [projectId, initialConfig, callbacks, updateConfig, setIsIframeReady, setWalletReadyStatus]);
|
|
12475
|
-
const contextValue = (0,
|
|
12862
|
+
const contextValue = (0, import_react56.useMemo)(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
|
|
12476
12863
|
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(LumiaWagmiProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(LumiaPassportContext.Provider, { value: contextValue, children }) });
|
|
12477
12864
|
}
|
|
12478
12865
|
var useLumiaPassportConfig = () => {
|
|
12479
|
-
const ctx = (0,
|
|
12866
|
+
const ctx = (0, import_react56.useContext)(LumiaPassportContext);
|
|
12480
12867
|
if (!ctx) throw new Error("useLumiaPassportConfig must be used within a LumiaPassportProvider");
|
|
12481
12868
|
return ctx;
|
|
12482
12869
|
};
|
|
12483
12870
|
|
|
12484
12871
|
// src/components/ConnectWalletButton.tsx
|
|
12485
12872
|
var import_lucide_react44 = require("lucide-react");
|
|
12486
|
-
var
|
|
12873
|
+
var import_react57 = require("react");
|
|
12487
12874
|
init_auth();
|
|
12488
12875
|
var import_jsx_runtime68 = (
|
|
12489
12876
|
/** external Buttons can be provided */
|
|
@@ -12507,10 +12894,10 @@ function ConnectWalletButton(props) {
|
|
|
12507
12894
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
12508
12895
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
|
|
12509
12896
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
12510
|
-
(0,
|
|
12897
|
+
(0, import_react57.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
12511
12898
|
const avatar = import_auth3.jwtTokenManager.getAvatar();
|
|
12512
12899
|
const displayName = import_auth3.jwtTokenManager.getDisplayName();
|
|
12513
|
-
const indicators = (0,
|
|
12900
|
+
const indicators = (0, import_react57.useMemo)(() => {
|
|
12514
12901
|
const userId = import_auth3.jwtTokenManager.getUserId();
|
|
12515
12902
|
if (!userId) return { server: false, local: false, backup: false };
|
|
12516
12903
|
const server = import_auth3.jwtTokenManager.getHasKeyshare() ?? false;
|
|
@@ -12679,13 +13066,13 @@ var useLumiaPassportRecoveryUserId = () => useLumiaPassportSession((st) => st.re
|
|
|
12679
13066
|
var useLumiaPassportHasServerVault = () => useLumiaPassportSession((st) => st.hasServerVault);
|
|
12680
13067
|
|
|
12681
13068
|
// src/hooks/useLumiaPassportOpen.ts
|
|
12682
|
-
var
|
|
13069
|
+
var import_react58 = require("react");
|
|
12683
13070
|
function useLumiaPassportOpen() {
|
|
12684
13071
|
const page = useLayoutDataStore((st) => st.page);
|
|
12685
13072
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
12686
13073
|
const setPageParams = useLayoutDataStore((st) => st.setPageParams);
|
|
12687
13074
|
const address = useLumiaPassportSession((st) => st.address);
|
|
12688
|
-
const open = (0,
|
|
13075
|
+
const open = (0, import_react58.useCallback)(
|
|
12689
13076
|
(passportPage, params) => {
|
|
12690
13077
|
if (!address) return setPage("auth" /* AUTH */);
|
|
12691
13078
|
if (!!address && passportPage === "auth" /* AUTH */) return setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
@@ -12694,12 +13081,12 @@ function useLumiaPassportOpen() {
|
|
|
12694
13081
|
},
|
|
12695
13082
|
[setPage, setPageParams, address]
|
|
12696
13083
|
);
|
|
12697
|
-
const close = (0,
|
|
13084
|
+
const close = (0, import_react58.useCallback)(() => setPage(null), [setPage]);
|
|
12698
13085
|
return { open, close, isOpen: page !== null };
|
|
12699
13086
|
}
|
|
12700
13087
|
|
|
12701
13088
|
// src/hooks/useLumiaPassportColorMode.ts
|
|
12702
|
-
var
|
|
13089
|
+
var import_react59 = require("react");
|
|
12703
13090
|
function useLumiaPassportColorMode() {
|
|
12704
13091
|
const {
|
|
12705
13092
|
config: { current: config }
|
|
@@ -12707,14 +13094,14 @@ function useLumiaPassportColorMode() {
|
|
|
12707
13094
|
const preferedColorMode = config?.preferedColorMode;
|
|
12708
13095
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
12709
13096
|
const handleStoreColorMode = useLayoutStore((st) => st.setColorMode);
|
|
12710
|
-
const setColorMode = (0,
|
|
13097
|
+
const setColorMode = (0, import_react59.useCallback)(
|
|
12711
13098
|
(mode) => {
|
|
12712
13099
|
localStorage.setItem(LOCAL_COLOR_MODE_KEY, mode);
|
|
12713
13100
|
handleStoreColorMode(mode);
|
|
12714
13101
|
},
|
|
12715
13102
|
[handleStoreColorMode]
|
|
12716
13103
|
);
|
|
12717
|
-
(0,
|
|
13104
|
+
(0, import_react59.useEffect)(() => {
|
|
12718
13105
|
let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
|
|
12719
13106
|
if (!targetColorMode && !preferedColorMode) {
|
|
12720
13107
|
const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
@@ -12757,8 +13144,8 @@ function ThemeToggle(props) {
|
|
|
12757
13144
|
|
|
12758
13145
|
// src/context/RainbowKitContext.tsx
|
|
12759
13146
|
var import_rainbowkit3 = require("@rainbow-me/rainbowkit");
|
|
12760
|
-
var
|
|
12761
|
-
var
|
|
13147
|
+
var import_react60 = require("react");
|
|
13148
|
+
var import_wagmi9 = require("wagmi");
|
|
12762
13149
|
|
|
12763
13150
|
// src/config/rainbowkit.ts
|
|
12764
13151
|
var import_rainbowkit2 = require("@rainbow-me/rainbowkit");
|
|
@@ -12989,8 +13376,8 @@ var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
|
12989
13376
|
function LumiaRainbowKitProvider({ children }) {
|
|
12990
13377
|
const config = useLumiaPassportConfig().config;
|
|
12991
13378
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
12992
|
-
const rainbowConfig2 = (0,
|
|
12993
|
-
const customTheme = (0,
|
|
13379
|
+
const rainbowConfig2 = (0, import_react60.useMemo)(() => createRainbowConfig(config.current?.wallet?.walletConnectProjectId), [config]);
|
|
13380
|
+
const customTheme = (0, import_react60.useMemo)(
|
|
12994
13381
|
() => colorMode === "dark" ? {
|
|
12995
13382
|
...(0, import_rainbowkit3.darkTheme)(),
|
|
12996
13383
|
colors: { ...(0, import_rainbowkit3.darkTheme)().colors, ...rainbowTheme.darkMode.colors },
|
|
@@ -13005,7 +13392,7 @@ function LumiaRainbowKitProvider({ children }) {
|
|
|
13005
13392
|
[colorMode]
|
|
13006
13393
|
);
|
|
13007
13394
|
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)(
|
|
13395
|
+
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
13396
|
}
|
|
13010
13397
|
|
|
13011
13398
|
// src/internal/components/UserOpStatus.tsx
|
|
@@ -13442,14 +13829,14 @@ var Hash = ({
|
|
|
13442
13829
|
};
|
|
13443
13830
|
|
|
13444
13831
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
13445
|
-
var
|
|
13832
|
+
var import_react61 = require("react");
|
|
13446
13833
|
init_base();
|
|
13447
13834
|
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
13448
13835
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
13449
|
-
const [transactions, setTransactions] = (0,
|
|
13450
|
-
const [loading, setLoading] = (0,
|
|
13451
|
-
const [error, setError] = (0,
|
|
13452
|
-
(0,
|
|
13836
|
+
const [transactions, setTransactions] = (0, import_react61.useState)([]);
|
|
13837
|
+
const [loading, setLoading] = (0, import_react61.useState)(true);
|
|
13838
|
+
const [error, setError] = (0, import_react61.useState)(null);
|
|
13839
|
+
(0, import_react61.useEffect)(() => {
|
|
13453
13840
|
const fetchTransactions = async () => {
|
|
13454
13841
|
try {
|
|
13455
13842
|
setLoading(true);
|
|
@@ -13751,11 +14138,11 @@ function useUserOpStatus(options = {}) {
|
|
|
13751
14138
|
|
|
13752
14139
|
// src/hooks/useLogout.ts
|
|
13753
14140
|
var import_auth20 = require("@lumiapassport/core/auth");
|
|
13754
|
-
var
|
|
14141
|
+
var import_react62 = require("react");
|
|
13755
14142
|
function useLogout() {
|
|
13756
14143
|
const { setSession, setIsLoading, setAddress, setStatus, setError, address } = useLumiaPassportSession();
|
|
13757
14144
|
const { callbacks } = useLumiaPassportConfig();
|
|
13758
|
-
const logout2 = (0,
|
|
14145
|
+
const logout2 = (0, import_react62.useCallback)(async () => {
|
|
13759
14146
|
const prevAddress = address;
|
|
13760
14147
|
let userId = null;
|
|
13761
14148
|
setIsLoading(true);
|
|
@@ -13793,20 +14180,20 @@ init_auth();
|
|
|
13793
14180
|
init_profile();
|
|
13794
14181
|
|
|
13795
14182
|
// src/modules/transactions.ts
|
|
13796
|
-
var
|
|
13797
|
-
var
|
|
14183
|
+
var import_wagmi10 = require("wagmi");
|
|
14184
|
+
var import_viem8 = require("viem");
|
|
13798
14185
|
init_base();
|
|
13799
14186
|
function useTransactions() {
|
|
13800
|
-
const publicClient2 = (0,
|
|
13801
|
-
const { data: walletClient } = (0,
|
|
13802
|
-
const { address } = (0,
|
|
14187
|
+
const publicClient2 = (0, import_wagmi10.usePublicClient)({ chainId: lumiaBeam.id });
|
|
14188
|
+
const { data: walletClient } = (0, import_wagmi10.useWalletClient)();
|
|
14189
|
+
const { address } = (0, import_wagmi10.useAccount)();
|
|
13803
14190
|
const sendTransaction = async (params) => {
|
|
13804
14191
|
if (!walletClient) {
|
|
13805
14192
|
throw new Error("Wallet not connected");
|
|
13806
14193
|
}
|
|
13807
14194
|
const txParams = {
|
|
13808
14195
|
to: params.to,
|
|
13809
|
-
value: (0,
|
|
14196
|
+
value: (0, import_viem8.parseEther)(params.value),
|
|
13810
14197
|
data: params.data,
|
|
13811
14198
|
chain: lumiaBeam
|
|
13812
14199
|
};
|
|
@@ -13856,9 +14243,9 @@ function useTransactions() {
|
|
|
13856
14243
|
}
|
|
13857
14244
|
|
|
13858
14245
|
// src/modules/smartAccountTransactions.ts
|
|
13859
|
-
var
|
|
14246
|
+
var import_viem9 = require("viem");
|
|
13860
14247
|
init_base();
|
|
13861
|
-
var USER_OP_EVENT = (0,
|
|
14248
|
+
var USER_OP_EVENT = (0, import_viem9.parseAbiItem)(
|
|
13862
14249
|
"event UserOperationEvent(bytes32 indexed userOpHash, address indexed sender, address indexed paymaster, uint256 nonce, bool success, uint256 actualGasCost, uint256 actualGasUsed)"
|
|
13863
14250
|
);
|
|
13864
14251
|
function useSmartAccountTransactions() {
|