@lumiapassport/ui-kit 1.13.7 → 1.13.9
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/kyc/sumsub.html +7 -2
- package/dist/iframe/main.js +1 -1
- package/dist/index.cjs +714 -609
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +602 -497
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4249,7 +4249,7 @@ var init_profile = __esm({
|
|
|
4249
4249
|
});
|
|
4250
4250
|
|
|
4251
4251
|
// src/styles/built.css
|
|
4252
|
-
var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .mb-\\[var\\(--l-pass-gap\\)\\]{margin-bottom:var(--l-pass-gap)}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[32px\\]{height:32px}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[var\\(--l-pass-maw\\)\\]{max-width:var(--l-pass-maw)}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-error)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-error)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-800\\/80{border-color:rgba(153,27,27,.8)}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-success\\)\\]{background-color:var(--l-pass-success)}.lumia-scope .bg-\\[var\\(--l-pass-warning\\)\\]{background-color:var(--l-pass-warning)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-primary\\)\\]{color:var(--l-pass-primary)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-600\\/90{color:rgba(220,38,38,.9)}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,320px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-l,0);overflow-y:auto;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope .file\\:mr-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{margin-right:var(--l-pass-pd)}.lumia-scope .file\\:h-8::file-selector-button{height:2rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
|
|
4252
|
+
var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .mb-\\[var\\(--l-pass-gap\\)\\]{margin-bottom:var(--l-pass-gap)}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[32px\\]{height:32px}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[var\\(--l-pass-maw\\)\\]{max-width:var(--l-pass-maw)}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-error)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-error)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-800\\/80{border-color:rgba(153,27,27,.8)}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-success\\)\\]{background-color:var(--l-pass-success)}.lumia-scope .bg-\\[var\\(--l-pass-warning\\)\\]{background-color:var(--l-pass-warning)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-primary\\)\\]{color:var(--l-pass-primary)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-600\\/90{color:rgba(220,38,38,.9)}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,320px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}[data-rk]{z-index:99999!important}[data-rk-modal-overlay]{z-index:99998!important}.lumia-scope .file\\:mr-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{margin-right:var(--l-pass-pd)}.lumia-scope .file\\:h-8::file-selector-button{height:2rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
|
|
4253
4253
|
|
|
4254
4254
|
// src/context/LumiaPassportContext.tsx
|
|
4255
4255
|
init_lumiaPassport();
|
|
@@ -4258,9 +4258,9 @@ import { initSdkErrorTracking } from "@lumiapassport/core/internal/error-trackin
|
|
|
4258
4258
|
import { merge } from "lodash-es";
|
|
4259
4259
|
import {
|
|
4260
4260
|
createContext,
|
|
4261
|
-
useCallback as
|
|
4261
|
+
useCallback as useCallback20,
|
|
4262
4262
|
useContext,
|
|
4263
|
-
useEffect as
|
|
4263
|
+
useEffect as useEffect32,
|
|
4264
4264
|
useMemo as useMemo3,
|
|
4265
4265
|
useRef as useRef11
|
|
4266
4266
|
} from "react";
|
|
@@ -4284,7 +4284,13 @@ import { Key as Key2, Mail as Mail2, Wallet2 as Wallet22 } from "lucide-react";
|
|
|
4284
4284
|
var DEFAULT_AUTH_MENU_HEIGHT = 253;
|
|
4285
4285
|
var DEFAULT_MAIN_MENU_HEIGHT = 90;
|
|
4286
4286
|
var DEFAULT_SETTINGS_MENU_HEIGHT = 346;
|
|
4287
|
-
var
|
|
4287
|
+
var MAX_CONTENT_HEIGHTS = {
|
|
4288
|
+
mobileSM: 384,
|
|
4289
|
+
mobileXL: 384,
|
|
4290
|
+
tablet: 512,
|
|
4291
|
+
laptop: 640,
|
|
4292
|
+
desktop: 768
|
|
4293
|
+
};
|
|
4288
4294
|
var MAIN_DIALOG_ANIMATION_SPEED = 375;
|
|
4289
4295
|
var Y_ANIMATION_SETUP = { duration: 0.15, ease: "easeInOut", height: { duration: 0.375 } };
|
|
4290
4296
|
var LOCAL_COLOR_MODE_KEY = "lumia-passport-theme";
|
|
@@ -4564,12 +4570,12 @@ function BalanceFeedProvider() {
|
|
|
4564
4570
|
|
|
4565
4571
|
// src/internal/components/Dialog/LumiaPassportDialog.tsx
|
|
4566
4572
|
import { AnimatePresence as AnimatePresence4, motion as motion4 } from "framer-motion";
|
|
4567
|
-
import { useEffect as
|
|
4573
|
+
import { useEffect as useEffect30 } from "react";
|
|
4568
4574
|
|
|
4569
4575
|
// package.json
|
|
4570
4576
|
var package_default = {
|
|
4571
4577
|
name: "@lumiapassport/ui-kit",
|
|
4572
|
-
version: "1.13.
|
|
4578
|
+
version: "1.13.8",
|
|
4573
4579
|
description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
|
|
4574
4580
|
type: "module",
|
|
4575
4581
|
main: "./dist/index.cjs",
|
|
@@ -5109,14 +5115,44 @@ function Header() {
|
|
|
5109
5115
|
{
|
|
5110
5116
|
}
|
|
5111
5117
|
|
|
5118
|
+
// src/internal/components/ManageWalletMenu/hooks/useStore.ts
|
|
5119
|
+
import { create as create2 } from "zustand";
|
|
5120
|
+
var useManageWalletStore = create2((set) => ({
|
|
5121
|
+
emailStep: "input",
|
|
5122
|
+
email: "",
|
|
5123
|
+
emailCode: "",
|
|
5124
|
+
emailCodeSentError: "",
|
|
5125
|
+
emailCodeExpiresIn: 0,
|
|
5126
|
+
isWalletLinking: false,
|
|
5127
|
+
linkIsLoading: false,
|
|
5128
|
+
linkError: "",
|
|
5129
|
+
verificationError: "",
|
|
5130
|
+
providerType: null,
|
|
5131
|
+
confirmUnlink: null,
|
|
5132
|
+
setEmailStep: (emailStep) => set({ emailStep }),
|
|
5133
|
+
setEmail: (email) => set({ email }),
|
|
5134
|
+
setEmailCode: (emailCode) => set({ emailCode }),
|
|
5135
|
+
setEmailCodeSentError: (emailCodeSentError) => set({ emailCodeSentError }),
|
|
5136
|
+
setEmailCodeExpiresIn: (emailCodeExpiresIn) => set({ emailCodeExpiresIn }),
|
|
5137
|
+
setIsWalletLinking: (isWalletLinking) => set({ isWalletLinking }),
|
|
5138
|
+
setLinkIsLoading: (linkIsLoading) => set({ linkIsLoading }),
|
|
5139
|
+
setLinkError: (linkError) => set({ linkError }),
|
|
5140
|
+
setVerificationError: (verificationError) => set({ verificationError }),
|
|
5141
|
+
setProviderType: (providerType) => {
|
|
5142
|
+
console.log("[ManageWalletStore] setProviderType called with:", providerType, new Error().stack);
|
|
5143
|
+
set({ providerType });
|
|
5144
|
+
},
|
|
5145
|
+
setConfirmUnlink: (confirmUnlink) => set({ confirmUnlink })
|
|
5146
|
+
}));
|
|
5147
|
+
|
|
5112
5148
|
// src/internal/components/ui/dialog.tsx
|
|
5113
5149
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
5114
5150
|
import { ArrowLeft, SlidersHorizontal, X } from "lucide-react";
|
|
5115
5151
|
import * as React2 from "react";
|
|
5116
5152
|
|
|
5117
5153
|
// src/internal/hooks/useLayoutStore.ts
|
|
5118
|
-
import { create as
|
|
5119
|
-
var useLayoutStore =
|
|
5154
|
+
import { create as create3 } from "zustand";
|
|
5155
|
+
var useLayoutStore = create3((set) => ({
|
|
5120
5156
|
colorMode: "light",
|
|
5121
5157
|
layoutView: "desktop",
|
|
5122
5158
|
// deviceType: 'non-touch',
|
|
@@ -5164,82 +5200,92 @@ var DialogContent = React2.forwardRef(
|
|
|
5164
5200
|
const isSettings = useLayoutStore((st) => st.isSettings);
|
|
5165
5201
|
const isDialogOpen = useLayoutStore((st) => st.isDialogOpen);
|
|
5166
5202
|
const isDialogClosing = useLayoutStore((st) => st.isDialogClosing);
|
|
5203
|
+
const isWalletLinking = useManageWalletStore((st) => st.isWalletLinking);
|
|
5167
5204
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
5168
5205
|
const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
|
|
5169
5206
|
const closing = isDialogOpen && isDialogClosing;
|
|
5170
|
-
return /* @__PURE__ */ jsx9(DialogPortal, { children: /* @__PURE__ */ jsxs8(
|
|
5171
|
-
|
|
5172
|
-
|
|
5173
|
-
"
|
|
5174
|
-
|
|
5175
|
-
|
|
5176
|
-
|
|
5177
|
-
|
|
5178
|
-
|
|
5179
|
-
|
|
5180
|
-
DialogPrimitive.Content,
|
|
5207
|
+
return /* @__PURE__ */ jsx9(DialogPortal, { children: /* @__PURE__ */ jsxs8(
|
|
5208
|
+
"div",
|
|
5209
|
+
{
|
|
5210
|
+
className: cn("lumia-scope", isWalletLinking && "invisible pointer-events-none"),
|
|
5211
|
+
"data-lumia-passport-mode": colorMode,
|
|
5212
|
+
style: isWalletLinking ? { visibility: "hidden", pointerEvents: "none" } : void 0,
|
|
5213
|
+
children: [
|
|
5214
|
+
!isWalletLinking && /* @__PURE__ */ jsx9(DialogOverlay, { closing }),
|
|
5215
|
+
/* @__PURE__ */ jsx9(
|
|
5216
|
+
"div",
|
|
5181
5217
|
{
|
|
5182
|
-
ref,
|
|
5183
|
-
style: !!className ? void 0 : {
|
|
5184
|
-
backgroundColor: "var(--l-pass-bg)",
|
|
5185
|
-
border: "1px solid var(--l-pass-bd)",
|
|
5186
|
-
boxShadow: "0px 4px 10px var(--l-pass-shadow-c)"
|
|
5187
|
-
},
|
|
5188
5218
|
className: cn(
|
|
5189
|
-
"
|
|
5190
|
-
"
|
|
5191
|
-
"rounded-[var(--l-pass-bdrs)] overflow-hidden",
|
|
5192
|
-
"max-w-[var(--l-pass-maw)] max-h-[95dvh] p-0 gap-0",
|
|
5193
|
-
className
|
|
5219
|
+
"fixed inset-0 z-[9999] flex items-center justify-center pointer-events-none",
|
|
5220
|
+
closing ? "animate-dialog-out" : "animate-dialog-in"
|
|
5194
5221
|
),
|
|
5195
|
-
|
|
5196
|
-
|
|
5197
|
-
|
|
5198
|
-
|
|
5199
|
-
|
|
5200
|
-
|
|
5201
|
-
|
|
5202
|
-
|
|
5203
|
-
|
|
5204
|
-
|
|
5205
|
-
|
|
5206
|
-
|
|
5207
|
-
|
|
5208
|
-
|
|
5209
|
-
|
|
5210
|
-
|
|
5211
|
-
|
|
5212
|
-
|
|
5213
|
-
|
|
5214
|
-
|
|
5215
|
-
|
|
5216
|
-
|
|
5217
|
-
|
|
5218
|
-
|
|
5219
|
-
|
|
5220
|
-
|
|
5221
|
-
|
|
5222
|
-
|
|
5223
|
-
|
|
5224
|
-
|
|
5225
|
-
|
|
5226
|
-
|
|
5227
|
-
|
|
5228
|
-
|
|
5229
|
-
|
|
5230
|
-
|
|
5231
|
-
|
|
5232
|
-
|
|
5233
|
-
|
|
5234
|
-
|
|
5235
|
-
|
|
5236
|
-
|
|
5237
|
-
|
|
5222
|
+
children: /* @__PURE__ */ jsxs8(
|
|
5223
|
+
DialogPrimitive.Content,
|
|
5224
|
+
{
|
|
5225
|
+
ref,
|
|
5226
|
+
style: !!className ? void 0 : {
|
|
5227
|
+
backgroundColor: "var(--l-pass-bg)",
|
|
5228
|
+
border: "1px solid var(--l-pass-bd)",
|
|
5229
|
+
boxShadow: "0px 4px 10px var(--l-pass-shadow-c)"
|
|
5230
|
+
},
|
|
5231
|
+
className: cn(
|
|
5232
|
+
"max-w-[var(--l-pass-maw)] max-h-[95dvh] p-0 gap-0",
|
|
5233
|
+
"relative w-full",
|
|
5234
|
+
isWalletLinking ? "pointer-events-none" : "pointer-events-auto",
|
|
5235
|
+
"text-[var(--l-pass-fg)]",
|
|
5236
|
+
"rounded-[var(--l-pass-bdrs)] overflow-hidden",
|
|
5237
|
+
className
|
|
5238
|
+
),
|
|
5239
|
+
...props,
|
|
5240
|
+
children: [
|
|
5241
|
+
children,
|
|
5242
|
+
/* @__PURE__ */ jsxs8(
|
|
5243
|
+
"div",
|
|
5244
|
+
{
|
|
5245
|
+
className: cn(
|
|
5246
|
+
"flex items-center justify-center gap-[var(--l-pass-gap)]",
|
|
5247
|
+
"absolute right-[var(--l-pass-pd)] top-[var(--l-pass-pd)]"
|
|
5248
|
+
),
|
|
5249
|
+
children: [
|
|
5250
|
+
isSettings && /* @__PURE__ */ jsxs8(
|
|
5251
|
+
Button,
|
|
5252
|
+
{
|
|
5253
|
+
variant: "ghost",
|
|
5254
|
+
size: "icon",
|
|
5255
|
+
className: "relative w-4 h-4",
|
|
5256
|
+
onClick: () => setPage("settings" /* SETTINGS */),
|
|
5257
|
+
children: [
|
|
5258
|
+
/* @__PURE__ */ jsx9("span", { className: "sr-only", children: "Settings" }),
|
|
5259
|
+
/* @__PURE__ */ jsx9(SlidersHorizontal, { className: "w-4 h-4" }),
|
|
5260
|
+
!!settingsNotifications.length && /* @__PURE__ */ jsx9(
|
|
5261
|
+
"div",
|
|
5262
|
+
{
|
|
5263
|
+
className: cn(
|
|
5264
|
+
"absolute -top-2 -right-2 flex h-4 w-4",
|
|
5265
|
+
"items-center justify-center rounded-full bg-[var(--l-pass-bg-error)]",
|
|
5266
|
+
"text-xs font-semibold text-[var(--l-pass-error)]"
|
|
5267
|
+
),
|
|
5268
|
+
children: settingsNotifications.length
|
|
5269
|
+
}
|
|
5270
|
+
)
|
|
5271
|
+
]
|
|
5272
|
+
}
|
|
5273
|
+
),
|
|
5274
|
+
!hideClose && /* @__PURE__ */ jsx9(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsxs8(Button, { variant: "ghost", size: "icon", className: "w-4 h-4", children: [
|
|
5275
|
+
/* @__PURE__ */ jsx9(X, { className: "h-4 w-4" }),
|
|
5276
|
+
/* @__PURE__ */ jsx9("span", { className: "sr-only", children: "Close" })
|
|
5277
|
+
] }) })
|
|
5278
|
+
]
|
|
5279
|
+
}
|
|
5280
|
+
)
|
|
5281
|
+
]
|
|
5282
|
+
}
|
|
5283
|
+
)
|
|
5238
5284
|
}
|
|
5239
5285
|
)
|
|
5240
|
-
|
|
5241
|
-
|
|
5242
|
-
|
|
5286
|
+
]
|
|
5287
|
+
}
|
|
5288
|
+
) });
|
|
5243
5289
|
}
|
|
5244
5290
|
);
|
|
5245
5291
|
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
@@ -5494,20 +5540,51 @@ function useCheckVaultStatus() {
|
|
|
5494
5540
|
}, [address, checkVaultStatus]);
|
|
5495
5541
|
}
|
|
5496
5542
|
|
|
5543
|
+
// src/internal/hooks/useDetectLayoutView.ts
|
|
5544
|
+
import { debounce } from "lodash-es";
|
|
5545
|
+
import { useCallback as useCallback2, useEffect as useEffect6 } from "react";
|
|
5546
|
+
var BREAKPOINTS = {
|
|
5547
|
+
mobileSM: 0,
|
|
5548
|
+
mobileXL: 475,
|
|
5549
|
+
tablet: 960,
|
|
5550
|
+
laptop: 1440,
|
|
5551
|
+
desktop: 1920
|
|
5552
|
+
};
|
|
5553
|
+
var DEBOUNCE_DELAY = 50;
|
|
5554
|
+
function useDetectLayoutView() {
|
|
5555
|
+
const setLayoutView = useLayoutStore((state) => state.setLayoutView);
|
|
5556
|
+
const onResize = useCallback2(
|
|
5557
|
+
debounce((viewportWidth) => {
|
|
5558
|
+
if (viewportWidth < BREAKPOINTS.mobileXL) return setLayoutView("mobileSM");
|
|
5559
|
+
if (viewportWidth < BREAKPOINTS.tablet) return setLayoutView("mobileXL");
|
|
5560
|
+
if (viewportWidth < BREAKPOINTS.laptop) return setLayoutView("tablet");
|
|
5561
|
+
if (viewportWidth < BREAKPOINTS.desktop) return setLayoutView("laptop");
|
|
5562
|
+
setLayoutView("desktop");
|
|
5563
|
+
}, DEBOUNCE_DELAY),
|
|
5564
|
+
[setLayoutView]
|
|
5565
|
+
);
|
|
5566
|
+
useEffect6(() => {
|
|
5567
|
+
const obs = new ResizeObserver(([entry]) => onResize(entry.contentRect.width));
|
|
5568
|
+
const doc = window.document.getElementsByTagName("html")[0];
|
|
5569
|
+
if (doc) obs.observe(doc);
|
|
5570
|
+
return () => obs.disconnect();
|
|
5571
|
+
}, [onResize]);
|
|
5572
|
+
}
|
|
5573
|
+
|
|
5497
5574
|
// src/internal/hooks/usePageMapper.tsx
|
|
5498
|
-
import { useCallback as
|
|
5575
|
+
import { useCallback as useCallback17, useEffect as useEffect27 } from "react";
|
|
5499
5576
|
|
|
5500
5577
|
// src/internal/components/AuthMenu/AuthMenu.tsx
|
|
5501
5578
|
import { AnimatePresence, motion } from "framer-motion";
|
|
5502
5579
|
import { Loader as Loader5 } from "lucide-react";
|
|
5503
|
-
import { useEffect as
|
|
5580
|
+
import { useEffect as useEffect10, useMemo } from "react";
|
|
5504
5581
|
|
|
5505
5582
|
// src/internal/components/AuthMenu/AuthFailedStep.tsx
|
|
5506
5583
|
import { AlertTriangle, Cross } from "lucide-react";
|
|
5507
5584
|
|
|
5508
5585
|
// src/internal/components/AuthMenu/useAuthStore.ts
|
|
5509
|
-
import { create as
|
|
5510
|
-
var useAuthStore =
|
|
5586
|
+
import { create as create4 } from "zustand";
|
|
5587
|
+
var useAuthStore = create4((set) => ({
|
|
5511
5588
|
step: "signin",
|
|
5512
5589
|
alert: null,
|
|
5513
5590
|
email: "",
|
|
@@ -5753,7 +5830,7 @@ function DisplayNameStep(props) {
|
|
|
5753
5830
|
|
|
5754
5831
|
// src/internal/components/AuthMenu/PassKeyStep.tsx
|
|
5755
5832
|
import { ArrowLeft as ArrowLeft2, Key as Key3 } from "lucide-react";
|
|
5756
|
-
import { useCallback as
|
|
5833
|
+
import { useCallback as useCallback4 } from "react";
|
|
5757
5834
|
|
|
5758
5835
|
// src/internal/assets/PasskeyAddIcon.tsx
|
|
5759
5836
|
import { jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
@@ -5786,16 +5863,16 @@ function PasskeyAddIcon(props) {
|
|
|
5786
5863
|
init_auth();
|
|
5787
5864
|
|
|
5788
5865
|
// src/internal/components/Expandable/hooks/useExpandable.ts
|
|
5789
|
-
import { useCallback as
|
|
5866
|
+
import { useCallback as useCallback3, useEffect as useEffect7, useRef as useRef3 } from "react";
|
|
5790
5867
|
var useExpandable = (props) => {
|
|
5791
5868
|
const { isExpanded = false, children, initHeight = 0, minHeight = 0 } = props;
|
|
5792
5869
|
const expandableRef = useRef3(null);
|
|
5793
5870
|
const contentRef = useRef3(null);
|
|
5794
|
-
|
|
5871
|
+
useEffect7(() => {
|
|
5795
5872
|
if (!expandableRef.current) return;
|
|
5796
5873
|
expandableRef.current.style.setProperty("--ifo-basic-expandable-h", `${initHeight}px )`);
|
|
5797
5874
|
}, []);
|
|
5798
|
-
const setExpandableHeight =
|
|
5875
|
+
const setExpandableHeight = useCallback3(
|
|
5799
5876
|
(isExpnd) => {
|
|
5800
5877
|
if (!contentRef.current || !expandableRef.current) return;
|
|
5801
5878
|
expandableRef.current.style.setProperty(
|
|
@@ -5806,7 +5883,7 @@ var useExpandable = (props) => {
|
|
|
5806
5883
|
// ON_RESIZE_DELEAY),
|
|
5807
5884
|
[minHeight]
|
|
5808
5885
|
);
|
|
5809
|
-
|
|
5886
|
+
useEffect7(() => {
|
|
5810
5887
|
if (!contentRef.current || !expandableRef.current) return;
|
|
5811
5888
|
const obs = new ResizeObserver(() => setExpandableHeight(isExpanded));
|
|
5812
5889
|
obs.observe(expandableRef.current);
|
|
@@ -5870,7 +5947,7 @@ function PassKeyStep(props) {
|
|
|
5870
5947
|
setFailedMessage,
|
|
5871
5948
|
setFailedType
|
|
5872
5949
|
} = useAuthStore();
|
|
5873
|
-
const onPasskeyRegister =
|
|
5950
|
+
const onPasskeyRegister = useCallback4(async () => {
|
|
5874
5951
|
setPasskeyError("");
|
|
5875
5952
|
setPasskeyStatus("registering passkey...");
|
|
5876
5953
|
setIsLoading(true);
|
|
@@ -5938,7 +6015,7 @@ function PassKeyStep(props) {
|
|
|
5938
6015
|
setIsLoading(false);
|
|
5939
6016
|
}
|
|
5940
6017
|
}, [onAuthSuccess, setPage, callbacks]);
|
|
5941
|
-
const onPasskeyAuth =
|
|
6018
|
+
const onPasskeyAuth = useCallback4(async () => {
|
|
5942
6019
|
setPasskeyError("");
|
|
5943
6020
|
setPasskeyStatus("checking available passkeys...");
|
|
5944
6021
|
setIsLoading(true);
|
|
@@ -6196,7 +6273,7 @@ init_assets();
|
|
|
6196
6273
|
init_lumiaPassport();
|
|
6197
6274
|
init_auth();
|
|
6198
6275
|
import { Key as Key4 } from "lucide-react";
|
|
6199
|
-
import { useCallback as
|
|
6276
|
+
import { useCallback as useCallback5 } from "react";
|
|
6200
6277
|
init_projectId();
|
|
6201
6278
|
|
|
6202
6279
|
// src/internal/components/AuthMenu/SignInStep/utils.ts
|
|
@@ -6284,7 +6361,7 @@ function Social(props) {
|
|
|
6284
6361
|
setPasskeyError,
|
|
6285
6362
|
setPasskeyStatus
|
|
6286
6363
|
} = useAuthStore();
|
|
6287
|
-
const onSocialAuth =
|
|
6364
|
+
const onSocialAuth = useCallback5(
|
|
6288
6365
|
async (providerId) => {
|
|
6289
6366
|
const normalizedProviderId = providerId.toLowerCase();
|
|
6290
6367
|
const provider = config.current?.social?.providers?.find(
|
|
@@ -6723,7 +6800,7 @@ function SignInStep(props) {
|
|
|
6723
6800
|
|
|
6724
6801
|
// src/internal/components/AuthMenu/useAuthMenuHanders.ts
|
|
6725
6802
|
init_auth();
|
|
6726
|
-
import { useCallback as
|
|
6803
|
+
import { useCallback as useCallback6, useRef as useRef4, useState as useState4 } from "react";
|
|
6727
6804
|
function useAuthMenuHandlers() {
|
|
6728
6805
|
const {
|
|
6729
6806
|
config: { current: config },
|
|
@@ -6734,7 +6811,7 @@ function useAuthMenuHandlers() {
|
|
|
6734
6811
|
const [telegramCleanup, setTelegramCleanup] = useState4(null);
|
|
6735
6812
|
const { usePaymaster, setError, setStatus, setSession, setAddress, setRecoveryUserId, setHasServerVault } = useLumiaPassportSession();
|
|
6736
6813
|
const { setStep, setVerificationError, setCodeSendError, setFailedMessage } = useAuthStore();
|
|
6737
|
-
const createSessionWithKeyshare =
|
|
6814
|
+
const createSessionWithKeyshare = useCallback6(
|
|
6738
6815
|
async (userId, hasServerKeyshare, isNewUser) => {
|
|
6739
6816
|
try {
|
|
6740
6817
|
try {
|
|
@@ -6768,7 +6845,7 @@ function useAuthMenuHandlers() {
|
|
|
6768
6845
|
},
|
|
6769
6846
|
[setStatus, callbacks, usePaymaster]
|
|
6770
6847
|
);
|
|
6771
|
-
const onAuthSuccess =
|
|
6848
|
+
const onAuthSuccess = useCallback6(async () => {
|
|
6772
6849
|
console.log("[ConnectWalletButton] handleAuthModalSuccess called");
|
|
6773
6850
|
const loginResponse = pendingLoginResponseRef.current;
|
|
6774
6851
|
console.log("[ConnectWalletButton] loginResponse:", loginResponse);
|
|
@@ -6863,7 +6940,7 @@ function useAuthMenuHandlers() {
|
|
|
6863
6940
|
setHasServerVault,
|
|
6864
6941
|
createSessionWithKeyshare
|
|
6865
6942
|
]);
|
|
6866
|
-
const checkDisplayNameRequired =
|
|
6943
|
+
const checkDisplayNameRequired = useCallback6(
|
|
6867
6944
|
async (loginResponse) => {
|
|
6868
6945
|
if (!config.features.displayNameNeeded) {
|
|
6869
6946
|
return false;
|
|
@@ -6890,7 +6967,7 @@ function useAuthMenuHandlers() {
|
|
|
6890
6967
|
},
|
|
6891
6968
|
[config.features.displayNameNeeded]
|
|
6892
6969
|
);
|
|
6893
|
-
const goBackToSignIn =
|
|
6970
|
+
const goBackToSignIn = useCallback6(() => {
|
|
6894
6971
|
setStep("signin");
|
|
6895
6972
|
setVerificationError("");
|
|
6896
6973
|
setCodeSendError("");
|
|
@@ -6908,11 +6985,11 @@ function useAuthMenuHandlers() {
|
|
|
6908
6985
|
}
|
|
6909
6986
|
|
|
6910
6987
|
// src/internal/components/AuthMenu/useListenIframeAuthEvents.ts
|
|
6911
|
-
import { useCallback as
|
|
6988
|
+
import { useCallback as useCallback7, useEffect as useEffect8 } from "react";
|
|
6912
6989
|
function useListenIframeAuthEvents() {
|
|
6913
6990
|
const setPage = useLayoutDataStore((state) => state.setPage);
|
|
6914
6991
|
const setIsIframeReady = useLumiaPassportSession((state) => state.setIsIframeReady);
|
|
6915
|
-
const handleIframeMessage =
|
|
6992
|
+
const handleIframeMessage = useCallback7(
|
|
6916
6993
|
(event) => {
|
|
6917
6994
|
console.log("[AuthMenu] Received iframe message:", event.data);
|
|
6918
6995
|
if (event.data?.type === "LUMIA_PASSPORT_IFRAME_READY") {
|
|
@@ -6930,7 +7007,7 @@ function useListenIframeAuthEvents() {
|
|
|
6930
7007
|
},
|
|
6931
7008
|
[setPage, setIsIframeReady]
|
|
6932
7009
|
);
|
|
6933
|
-
|
|
7010
|
+
useEffect8(() => {
|
|
6934
7011
|
window.addEventListener("message", handleIframeMessage);
|
|
6935
7012
|
return () => window.removeEventListener("message", handleIframeMessage);
|
|
6936
7013
|
}, [handleIframeMessage]);
|
|
@@ -6959,21 +7036,21 @@ init_auth();
|
|
|
6959
7036
|
init_projectId();
|
|
6960
7037
|
|
|
6961
7038
|
// src/internal/components/AuthMenu/VerifyStep/VerificationCodeInput.tsx
|
|
6962
|
-
import { useEffect as
|
|
7039
|
+
import { useEffect as useEffect9, useRef as useRef5, useState as useState5 } from "react";
|
|
6963
7040
|
import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
6964
7041
|
var VerificationCodeInput = (props) => {
|
|
6965
7042
|
const { onVerifyCode, onResendCode, isLoading, expiresIn, error } = props;
|
|
6966
7043
|
const setVerificationError = useAuthStore((st) => st.setVerificationError);
|
|
6967
7044
|
const [timeLeft, setTimeLeft] = useState5(expiresIn);
|
|
6968
|
-
|
|
6969
|
-
|
|
7045
|
+
useEffect9(() => setTimeLeft(expiresIn), [expiresIn]);
|
|
7046
|
+
useEffect9(() => {
|
|
6970
7047
|
const t = setInterval(() => setTimeLeft((secs) => secs > 0 ? secs - 1 : 0), 1e3);
|
|
6971
7048
|
return () => clearInterval(t);
|
|
6972
7049
|
}, []);
|
|
6973
7050
|
const lastSubmittedRef = useRef5(null);
|
|
6974
7051
|
const inputsRef = useRef5([]);
|
|
6975
7052
|
const [digits, setDigits] = useState5(["", "", "", "", "", ""]);
|
|
6976
|
-
|
|
7053
|
+
useEffect9(() => {
|
|
6977
7054
|
const code = digits.join("");
|
|
6978
7055
|
if (code.length === 6 && digits.every((d) => d !== "") && !isLoading) {
|
|
6979
7056
|
if (lastSubmittedRef.current !== code) {
|
|
@@ -6982,7 +7059,7 @@ var VerificationCodeInput = (props) => {
|
|
|
6982
7059
|
}
|
|
6983
7060
|
}
|
|
6984
7061
|
}, [digits, isLoading, onVerifyCode]);
|
|
6985
|
-
|
|
7062
|
+
useEffect9(() => {
|
|
6986
7063
|
const t = setTimeout(() => {
|
|
6987
7064
|
inputsRef.current[0]?.focus();
|
|
6988
7065
|
}, 0);
|
|
@@ -7258,7 +7335,7 @@ var AuthMenu = () => {
|
|
|
7258
7335
|
const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
|
|
7259
7336
|
const page = useLayoutDataStore((st) => st.page);
|
|
7260
7337
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
7261
|
-
|
|
7338
|
+
useEffect10(() => setMainPageHeight(DEFAULT_AUTH_MENU_HEIGHT), [setMainPageHeight]);
|
|
7262
7339
|
const {
|
|
7263
7340
|
step,
|
|
7264
7341
|
setStep,
|
|
@@ -7269,7 +7346,7 @@ var AuthMenu = () => {
|
|
|
7269
7346
|
setFailedMessage,
|
|
7270
7347
|
setCodeSendError
|
|
7271
7348
|
} = useAuthStore();
|
|
7272
|
-
|
|
7349
|
+
useEffect10(() => {
|
|
7273
7350
|
if (page !== "auth" /* AUTH */) {
|
|
7274
7351
|
setStep("signin");
|
|
7275
7352
|
setEmail("");
|
|
@@ -7436,7 +7513,7 @@ function RampnowIcon() {
|
|
|
7436
7513
|
// src/internal/components/BuyMenu/binance/Binance.tsx
|
|
7437
7514
|
import { useMutation as useMutation6, useQuery as useQuery3, useQueryClient } from "@tanstack/react-query";
|
|
7438
7515
|
import { DollarSign, LoaderIcon } from "lucide-react";
|
|
7439
|
-
import { useEffect as
|
|
7516
|
+
import { useEffect as useEffect12, useRef as useRef6 } from "react";
|
|
7440
7517
|
|
|
7441
7518
|
// src/internal/components/BuyMenu/components/PaymentSelector.tsx
|
|
7442
7519
|
import { jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
@@ -7551,7 +7628,7 @@ async function createPreorderMutation(payload) {
|
|
|
7551
7628
|
}
|
|
7552
7629
|
|
|
7553
7630
|
// src/internal/components/BuyMenu/binance/useQueriesErrorHandler.ts
|
|
7554
|
-
import { useEffect as
|
|
7631
|
+
import { useEffect as useEffect11 } from "react";
|
|
7555
7632
|
|
|
7556
7633
|
// src/internal/components/BuyMenu/binance/utils.ts
|
|
7557
7634
|
function getPayMethodID(pm) {
|
|
@@ -7571,7 +7648,7 @@ function handleErrors(errors) {
|
|
|
7571
7648
|
// src/internal/components/BuyMenu/binance/useQueriesErrorHandler.ts
|
|
7572
7649
|
var useQueriesErrorHandler = (errors, stateUpdater) => {
|
|
7573
7650
|
const { error: errorTitle, message: errorMessage } = handleErrors(errors);
|
|
7574
|
-
|
|
7651
|
+
useEffect11(() => {
|
|
7575
7652
|
if (!errorTitle && !errorMessage) return;
|
|
7576
7653
|
console.error(`[BuyModal][Binance] ${errorTitle}: ${errorMessage}`);
|
|
7577
7654
|
stateUpdater(1);
|
|
@@ -7620,14 +7697,14 @@ function Binance(props) {
|
|
|
7620
7697
|
queryFn: async () => getPaymentMethodsQuery({ totalAmount: String(srcQueryAmount || 1) })
|
|
7621
7698
|
});
|
|
7622
7699
|
const lastLoadedPaymentModes = useRef6([]);
|
|
7623
|
-
|
|
7700
|
+
useEffect12(() => {
|
|
7624
7701
|
if (!paymentModes?.length) return;
|
|
7625
7702
|
setPaymentMode(getPayMethodID(paymentModes[0]));
|
|
7626
7703
|
lastLoadedPaymentModes.current = paymentModes;
|
|
7627
7704
|
}, [paymentModes]);
|
|
7628
7705
|
const selectedPaymentMode = paymentModes?.find((el) => getPayMethodID(el) === paymentMode) || null;
|
|
7629
7706
|
const minimum = Number(selectedPaymentMode?.fiatMinLimit || "0");
|
|
7630
|
-
|
|
7707
|
+
useEffect12(() => setMinAmount(minimum), [minimum]);
|
|
7631
7708
|
const {
|
|
7632
7709
|
data: quoteData = null,
|
|
7633
7710
|
isLoading: isQuoteDataLoading,
|
|
@@ -7672,7 +7749,7 @@ function Binance(props) {
|
|
|
7672
7749
|
setRedirecting(false);
|
|
7673
7750
|
}
|
|
7674
7751
|
});
|
|
7675
|
-
|
|
7752
|
+
useEffect12(() => {
|
|
7676
7753
|
return () => {
|
|
7677
7754
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.binanceNetworksQuery] });
|
|
7678
7755
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.binancePaymentModes] });
|
|
@@ -7736,7 +7813,7 @@ function Binance(props) {
|
|
|
7736
7813
|
// src/internal/components/BuyMenu/rampnow/Rampnow.tsx
|
|
7737
7814
|
import { useMutation as useMutation7, useQuery as useQuery4, useQueryClient as useQueryClient2 } from "@tanstack/react-query";
|
|
7738
7815
|
import { DollarSign as DollarSign2, LoaderIcon as LoaderIcon2 } from "lucide-react";
|
|
7739
|
-
import { useEffect as
|
|
7816
|
+
import { useEffect as useEffect13 } from "react";
|
|
7740
7817
|
|
|
7741
7818
|
// src/internal/components/BuyMenu/rampnow/api.ts
|
|
7742
7819
|
var API_DOMAIN3 = "https://api.lumiapassport.com/on-ramp";
|
|
@@ -7801,7 +7878,7 @@ function Rampnow(props) {
|
|
|
7801
7878
|
setMinAmount
|
|
7802
7879
|
} = control;
|
|
7803
7880
|
const qc = useQueryClient2();
|
|
7804
|
-
|
|
7881
|
+
useEffect13(() => {
|
|
7805
7882
|
setMinAmount(MINIMUM_RAMP_AMOUNT);
|
|
7806
7883
|
setPaymentMode(PAYMENT_MODES[0].id);
|
|
7807
7884
|
}, []);
|
|
@@ -7858,7 +7935,7 @@ function Rampnow(props) {
|
|
|
7858
7935
|
console.error("Create CheckoutOrder failed:", err);
|
|
7859
7936
|
}
|
|
7860
7937
|
});
|
|
7861
|
-
|
|
7938
|
+
useEffect13(() => {
|
|
7862
7939
|
return () => {
|
|
7863
7940
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.getRampNowConfig] });
|
|
7864
7941
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.getRampNowQuote] });
|
|
@@ -7940,10 +8017,10 @@ var RAMP_PROVIDERS = {
|
|
|
7940
8017
|
var REDIRECT_TIMEOUT_MS = 1500;
|
|
7941
8018
|
|
|
7942
8019
|
// src/internal/components/BuyMenu/useSelectables.ts
|
|
7943
|
-
import { useCallback as
|
|
8020
|
+
import { useCallback as useCallback8, useEffect as useEffect14, useRef as useRef7, useState as useState6 } from "react";
|
|
7944
8021
|
|
|
7945
8022
|
// src/internal/utils/debounce.ts
|
|
7946
|
-
function
|
|
8023
|
+
function debounce2(func, waitFor) {
|
|
7947
8024
|
let timeout;
|
|
7948
8025
|
return (...args) => {
|
|
7949
8026
|
if (timeout) clearTimeout(timeout);
|
|
@@ -7961,15 +8038,15 @@ var useSelectables = () => {
|
|
|
7961
8038
|
const [srcQueryAmount, setSrcQueryAmount] = useState6(0);
|
|
7962
8039
|
const [srcInputAmount, setSrcInputAmount] = useState6(0);
|
|
7963
8040
|
const [paymentMode, setPaymentMode] = useState6(null);
|
|
7964
|
-
const setQueryAmountDebounced =
|
|
7965
|
-
|
|
8041
|
+
const setQueryAmountDebounced = useCallback8(
|
|
8042
|
+
debounce2((inputAmount) => {
|
|
7966
8043
|
const checkedValue = Math.max(inputAmount, minAmount);
|
|
7967
8044
|
setSrcInputAmount(checkedValue);
|
|
7968
8045
|
setSrcQueryAmount(checkedValue);
|
|
7969
8046
|
}, ON_INPUT_QUERY_DELAY),
|
|
7970
8047
|
[minAmount]
|
|
7971
8048
|
);
|
|
7972
|
-
|
|
8049
|
+
useEffect14(() => setQueryAmountDebounced(srcInputAmount), [srcInputAmount, setQueryAmountDebounced]);
|
|
7973
8050
|
return {
|
|
7974
8051
|
inputRef,
|
|
7975
8052
|
redirecting,
|
|
@@ -8032,7 +8109,7 @@ import {
|
|
|
8032
8109
|
Loader as Loader6,
|
|
8033
8110
|
Lock
|
|
8034
8111
|
} from "lucide-react";
|
|
8035
|
-
import React8, { useEffect as
|
|
8112
|
+
import React8, { useEffect as useEffect15 } from "react";
|
|
8036
8113
|
init_iframe_manager();
|
|
8037
8114
|
|
|
8038
8115
|
// src/internal/components/ui/checkbox.tsx
|
|
@@ -8065,9 +8142,10 @@ import { Fragment as Fragment5, jsx as jsx35, jsxs as jsxs26 } from "react/jsx-r
|
|
|
8065
8142
|
function KeyshareBackupMenu() {
|
|
8066
8143
|
const session = useLumiaPassportSession((st) => st.session);
|
|
8067
8144
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
8145
|
+
const layoutView = useLayoutStore((st) => st.layoutView);
|
|
8068
8146
|
const userId = session?.mpcUserId || "";
|
|
8069
8147
|
const onBackupSuccess = () => console.log("[ConnectWalletButton] Backup created successfully");
|
|
8070
|
-
|
|
8148
|
+
useEffect15(() => {
|
|
8071
8149
|
if (!userId) setPage("main-menu" /* MAIN_MENU */);
|
|
8072
8150
|
}, [userId, setPage]);
|
|
8073
8151
|
const [backupStatus, setBackupStatus] = React8.useState({
|
|
@@ -8098,7 +8176,7 @@ function KeyshareBackupMenu() {
|
|
|
8098
8176
|
return null;
|
|
8099
8177
|
}
|
|
8100
8178
|
}, []);
|
|
8101
|
-
|
|
8179
|
+
useEffect15(() => {
|
|
8102
8180
|
const loadCloudProviders = async () => {
|
|
8103
8181
|
try {
|
|
8104
8182
|
const { getAvailableCloudProviders: getAvailableCloudProviders3 } = await Promise.resolve().then(() => (init_cloudStorage(), cloudStorage_exports));
|
|
@@ -8127,7 +8205,7 @@ function KeyshareBackupMenu() {
|
|
|
8127
8205
|
console.error("[KeyshareBackup] Failed to get backup status:", error2);
|
|
8128
8206
|
}
|
|
8129
8207
|
}, [iframeManager, userId]);
|
|
8130
|
-
|
|
8208
|
+
useEffect15(() => {
|
|
8131
8209
|
refreshStatus();
|
|
8132
8210
|
}, [refreshStatus]);
|
|
8133
8211
|
const handleBackup = async (method) => {
|
|
@@ -8216,152 +8294,149 @@ function KeyshareBackupMenu() {
|
|
|
8216
8294
|
const date = new Date(timestamp);
|
|
8217
8295
|
return `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`;
|
|
8218
8296
|
};
|
|
8219
|
-
return /* @__PURE__ */ jsx35(
|
|
8220
|
-
|
|
8221
|
-
|
|
8222
|
-
|
|
8223
|
-
|
|
8224
|
-
|
|
8225
|
-
|
|
8226
|
-
onClick: () => setPage("settings" /* SETTINGS */),
|
|
8227
|
-
className: "
|
|
8228
|
-
title: "Back",
|
|
8229
|
-
children: /* @__PURE__ */ jsx35(ArrowLeft5, { className: "h-4 w-4" })
|
|
8230
|
-
}
|
|
8231
|
-
),
|
|
8232
|
-
/* @__PURE__ */ jsx35("span", { className: "text-xl font-semibold", children: "Create Backup" })
|
|
8233
|
-
] }),
|
|
8234
|
-
/* @__PURE__ */ jsx35("span", { className: "text-xs", children: "Secure your keyshare with encrypted backups" }),
|
|
8235
|
-
/* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-2", children: [
|
|
8236
|
-
/* @__PURE__ */ jsx35(
|
|
8237
|
-
Checkbox,
|
|
8238
|
-
{
|
|
8239
|
-
name: "use-backup-password-checkbox",
|
|
8240
|
-
id: "use-backup-password",
|
|
8241
|
-
checked: useCustomPassword,
|
|
8242
|
-
onCheckedChange: (checked) => setUseCustomPassword(!!checked)
|
|
8243
|
-
}
|
|
8244
|
-
),
|
|
8245
|
-
/* @__PURE__ */ jsx35("label", { htmlFor: "use-backup-password", className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Use custom password instead of passkey" })
|
|
8246
|
-
] }),
|
|
8247
|
-
useCustomPassword ? /* @__PURE__ */ jsxs26(Fragment5, { children: [
|
|
8248
|
-
/* @__PURE__ */ jsx35(
|
|
8249
|
-
Input,
|
|
8250
|
-
{
|
|
8251
|
-
Icon: Key5,
|
|
8252
|
-
type: showPassword ? "text" : "password",
|
|
8253
|
-
placeholder: "Enter backup password",
|
|
8254
|
-
value: customPassword,
|
|
8255
|
-
onChange: (e) => setCustomPassword(e.target.value),
|
|
8256
|
-
element: /* @__PURE__ */ jsx35(Button, { variant: "ghost", size: "icon", type: "button", onClick: () => setShowPassword(!showPassword), children: showPassword ? /* @__PURE__ */ jsx35(EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx35(Eye, { className: "h-4 w-4" }) })
|
|
8257
|
-
}
|
|
8258
|
-
),
|
|
8259
|
-
/* @__PURE__ */ jsxs26(
|
|
8260
|
-
Button,
|
|
8261
|
-
{
|
|
8262
|
-
size: "medium",
|
|
8263
|
-
onClick: () => handleBackup("server"),
|
|
8264
|
-
disabled: !!loading.server || !customPassword || !hasKeyshareData,
|
|
8265
|
-
className: "w-full",
|
|
8266
|
-
children: [
|
|
8267
|
-
loading.server ? /* @__PURE__ */ jsx35(Loader6, { className: "animate-spin h-4 w-4" }) : /* @__PURE__ */ jsx35(OtpIcon, { className: "h-4 w-4" }),
|
|
8268
|
-
/* @__PURE__ */ jsx35("span", { children: loading.server ? "Backing up..." : "Create Backup with Password" })
|
|
8269
|
-
]
|
|
8270
|
-
}
|
|
8271
|
-
)
|
|
8272
|
-
] }) : /* @__PURE__ */ jsxs26(Fragment5, { children: [
|
|
8273
|
-
/* @__PURE__ */ jsxs26(Highlight, { className: "h-12 flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
8274
|
-
/* @__PURE__ */ jsx35(Key5, { className: "h-4 w-4 text-[var(--l-pass-info)] mx-1" }),
|
|
8275
|
-
/* @__PURE__ */ jsx35("span", { className: "text-xs", children: "Backup will be encrypted with passkey" })
|
|
8276
|
-
] }),
|
|
8277
|
-
/* @__PURE__ */ jsxs26(
|
|
8278
|
-
Button,
|
|
8279
|
-
{
|
|
8280
|
-
size: "medium",
|
|
8281
|
-
onClick: () => handleBackup("server"),
|
|
8282
|
-
disabled: loading.server || !!customPassword || !hasKeyshareData,
|
|
8283
|
-
className: "w-full",
|
|
8284
|
-
children: [
|
|
8285
|
-
loading.server ? /* @__PURE__ */ jsx35(Loader6, { className: "animate-spin h-4 w-4" }) : /* @__PURE__ */ jsx35(PasskeyAddIcon, { className: "h-4 w-4" }),
|
|
8286
|
-
/* @__PURE__ */ jsx35("span", { children: loading.server ? "Backing up..." : "Create Backup with Passkey" })
|
|
8287
|
-
]
|
|
8288
|
-
}
|
|
8289
|
-
)
|
|
8290
|
-
] }),
|
|
8291
|
-
/* @__PURE__ */ jsxs26("div", { className: "w-full flex items-center", children: [
|
|
8292
|
-
/* @__PURE__ */ jsx35("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
|
|
8293
|
-
/* @__PURE__ */ jsx35("div", { className: "flex-none font-bold px-2 text-xs leading-4", children: "Alternative" }),
|
|
8294
|
-
/* @__PURE__ */ jsx35("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" })
|
|
8295
|
-
] }),
|
|
8296
|
-
/* @__PURE__ */ jsxs26("div", { className: "grid grid-cols-2 gap-[var(--l-pass-gap)]", children: [
|
|
8297
|
-
/* @__PURE__ */ jsxs26(Highlight, { children: [
|
|
8298
|
-
/* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-[var(--l-pass-gap)] mb-[var(--l-pass-gap)]", children: [
|
|
8299
|
-
/* @__PURE__ */ jsx35(Cloud, { className: "h-4 w-4 text-[var(--l-pass-info)]" }),
|
|
8300
|
-
/* @__PURE__ */ jsx35("div", { className: "text-sm font-medium", children: "Cloud" })
|
|
8297
|
+
return /* @__PURE__ */ jsx35(
|
|
8298
|
+
"div",
|
|
8299
|
+
{
|
|
8300
|
+
style: { "--l-pass-scrollbar-mah": `${MAX_CONTENT_HEIGHTS[layoutView]}px` },
|
|
8301
|
+
className: "list-scrollbar-y w-full",
|
|
8302
|
+
children: /* @__PURE__ */ jsxs26(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
|
|
8303
|
+
/* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-2", children: [
|
|
8304
|
+
/* @__PURE__ */ jsx35(Button, { variant: "ghost", size: "icon", onClick: () => setPage("settings" /* SETTINGS */), title: "Back", children: /* @__PURE__ */ jsx35(ArrowLeft5, { className: "h-4 w-4" }) }),
|
|
8305
|
+
/* @__PURE__ */ jsx35("span", { className: "text-xl font-semibold", children: "Create Backup" })
|
|
8301
8306
|
] }),
|
|
8302
|
-
|
|
8303
|
-
|
|
8304
|
-
|
|
8305
|
-
|
|
8306
|
-
|
|
8307
|
-
|
|
8308
|
-
|
|
8309
|
-
|
|
8310
|
-
|
|
8311
|
-
|
|
8312
|
-
|
|
8313
|
-
{
|
|
8314
|
-
className: "w-full",
|
|
8315
|
-
onClick: () => handleBackup("cloud"),
|
|
8316
|
-
disabled: loading.cloud || useCustomPassword && !customPassword || !hasKeyshareData || cloudProviders.length === 0,
|
|
8317
|
-
children: loading.cloud ? "Creating..." : "Create"
|
|
8318
|
-
}
|
|
8319
|
-
)
|
|
8320
|
-
] }),
|
|
8321
|
-
/* @__PURE__ */ jsxs26(Highlight, { children: [
|
|
8322
|
-
/* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-[var(--l-pass-gap)] mb-[var(--l-pass-gap)]", children: [
|
|
8323
|
-
/* @__PURE__ */ jsx35(Download, { className: "h-4 w-4 text-[var(--l-pass-info)]" }),
|
|
8324
|
-
/* @__PURE__ */ jsx35("div", { className: "text-sm font-medium", children: "File" })
|
|
8307
|
+
/* @__PURE__ */ jsx35("span", { className: "text-xs", children: "Secure your keyshare with encrypted backups" }),
|
|
8308
|
+
/* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-2", children: [
|
|
8309
|
+
/* @__PURE__ */ jsx35(
|
|
8310
|
+
Checkbox,
|
|
8311
|
+
{
|
|
8312
|
+
name: "use-backup-password-checkbox",
|
|
8313
|
+
id: "use-backup-password",
|
|
8314
|
+
checked: useCustomPassword,
|
|
8315
|
+
onCheckedChange: (checked) => setUseCustomPassword(!!checked)
|
|
8316
|
+
}
|
|
8317
|
+
),
|
|
8318
|
+
/* @__PURE__ */ jsx35("label", { htmlFor: "use-backup-password", className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Use custom password instead of passkey" })
|
|
8325
8319
|
] }),
|
|
8326
|
-
|
|
8327
|
-
|
|
8328
|
-
|
|
8329
|
-
|
|
8330
|
-
|
|
8331
|
-
|
|
8332
|
-
|
|
8333
|
-
|
|
8334
|
-
|
|
8335
|
-
|
|
8336
|
-
|
|
8337
|
-
|
|
8338
|
-
|
|
8339
|
-
|
|
8340
|
-
|
|
8341
|
-
|
|
8342
|
-
|
|
8343
|
-
|
|
8344
|
-
|
|
8345
|
-
|
|
8346
|
-
|
|
8347
|
-
|
|
8320
|
+
useCustomPassword ? /* @__PURE__ */ jsxs26(Fragment5, { children: [
|
|
8321
|
+
/* @__PURE__ */ jsx35(
|
|
8322
|
+
Input,
|
|
8323
|
+
{
|
|
8324
|
+
Icon: Key5,
|
|
8325
|
+
type: showPassword ? "text" : "password",
|
|
8326
|
+
placeholder: "Enter backup password",
|
|
8327
|
+
value: customPassword,
|
|
8328
|
+
onChange: (e) => setCustomPassword(e.target.value),
|
|
8329
|
+
element: /* @__PURE__ */ jsx35(Button, { variant: "ghost", size: "icon", type: "button", onClick: () => setShowPassword(!showPassword), children: showPassword ? /* @__PURE__ */ jsx35(EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx35(Eye, { className: "h-4 w-4" }) })
|
|
8330
|
+
}
|
|
8331
|
+
),
|
|
8332
|
+
/* @__PURE__ */ jsxs26(
|
|
8333
|
+
Button,
|
|
8334
|
+
{
|
|
8335
|
+
size: "medium",
|
|
8336
|
+
onClick: () => handleBackup("server"),
|
|
8337
|
+
disabled: !!loading.server || !customPassword || !hasKeyshareData,
|
|
8338
|
+
className: "w-full",
|
|
8339
|
+
children: [
|
|
8340
|
+
loading.server ? /* @__PURE__ */ jsx35(Loader6, { className: "animate-spin h-4 w-4" }) : /* @__PURE__ */ jsx35(OtpIcon, { className: "h-4 w-4" }),
|
|
8341
|
+
/* @__PURE__ */ jsx35("span", { children: loading.server ? "Backing up..." : "Create Backup with Password" })
|
|
8342
|
+
]
|
|
8343
|
+
}
|
|
8344
|
+
)
|
|
8345
|
+
] }) : /* @__PURE__ */ jsxs26(Fragment5, { children: [
|
|
8346
|
+
/* @__PURE__ */ jsxs26(Highlight, { className: "h-12 flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
8347
|
+
/* @__PURE__ */ jsx35(Key5, { className: "h-4 w-4 text-[var(--l-pass-info)] mx-1" }),
|
|
8348
|
+
/* @__PURE__ */ jsx35("span", { className: "text-xs", children: "Backup will be encrypted with passkey" })
|
|
8349
|
+
] }),
|
|
8350
|
+
/* @__PURE__ */ jsxs26(
|
|
8351
|
+
Button,
|
|
8352
|
+
{
|
|
8353
|
+
size: "medium",
|
|
8354
|
+
onClick: () => handleBackup("server"),
|
|
8355
|
+
disabled: loading.server || !!customPassword || !hasKeyshareData,
|
|
8356
|
+
className: "w-full",
|
|
8357
|
+
children: [
|
|
8358
|
+
loading.server ? /* @__PURE__ */ jsx35(Loader6, { className: "animate-spin h-4 w-4" }) : /* @__PURE__ */ jsx35(PasskeyAddIcon, { className: "h-4 w-4" }),
|
|
8359
|
+
/* @__PURE__ */ jsx35("span", { children: loading.server ? "Backing up..." : "Create Backup with Passkey" })
|
|
8360
|
+
]
|
|
8361
|
+
}
|
|
8362
|
+
)
|
|
8363
|
+
] }),
|
|
8364
|
+
/* @__PURE__ */ jsxs26("div", { className: "w-full flex items-center", children: [
|
|
8365
|
+
/* @__PURE__ */ jsx35("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
|
|
8366
|
+
/* @__PURE__ */ jsx35("div", { className: "flex-none font-bold px-2 text-xs leading-4", children: "Alternative" }),
|
|
8367
|
+
/* @__PURE__ */ jsx35("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" })
|
|
8368
|
+
] }),
|
|
8369
|
+
/* @__PURE__ */ jsxs26("div", { className: "grid grid-cols-2 gap-[var(--l-pass-gap)]", children: [
|
|
8370
|
+
/* @__PURE__ */ jsxs26(Highlight, { children: [
|
|
8371
|
+
/* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-[var(--l-pass-gap)] mb-[var(--l-pass-gap)]", children: [
|
|
8372
|
+
/* @__PURE__ */ jsx35(Cloud, { className: "h-4 w-4 text-[var(--l-pass-info)]" }),
|
|
8373
|
+
/* @__PURE__ */ jsx35("div", { className: "text-sm font-medium", children: "Cloud" })
|
|
8374
|
+
] }),
|
|
8375
|
+
cloudProviders.length > 1 && /* @__PURE__ */ jsx35(
|
|
8376
|
+
"select",
|
|
8377
|
+
{
|
|
8378
|
+
value: selectedCloudProvider || "",
|
|
8379
|
+
onChange: (e) => setSelectedCloudProvider(e.target.value),
|
|
8380
|
+
className: "text-xs text-[var(--l-pass-fg)] border border-[var(--l-pass-bd)] rounded-[var(--l-pass-el-bdrs)] px-2 py-1 w-full mb-2 bg-transparent",
|
|
8381
|
+
children: cloudProviders.map((provider) => /* @__PURE__ */ jsx35("option", { value: provider.id, disabled: !provider.available, children: provider.name }, provider.id))
|
|
8382
|
+
}
|
|
8383
|
+
),
|
|
8384
|
+
/* @__PURE__ */ jsx35(
|
|
8385
|
+
Button,
|
|
8386
|
+
{
|
|
8387
|
+
className: "w-full",
|
|
8388
|
+
onClick: () => handleBackup("cloud"),
|
|
8389
|
+
disabled: loading.cloud || useCustomPassword && !customPassword || !hasKeyshareData || cloudProviders.length === 0,
|
|
8390
|
+
children: loading.cloud ? "Creating..." : "Create"
|
|
8391
|
+
}
|
|
8392
|
+
)
|
|
8393
|
+
] }),
|
|
8394
|
+
/* @__PURE__ */ jsxs26(Highlight, { children: [
|
|
8395
|
+
/* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-[var(--l-pass-gap)] mb-[var(--l-pass-gap)]", children: [
|
|
8396
|
+
/* @__PURE__ */ jsx35(Download, { className: "h-4 w-4 text-[var(--l-pass-info)]" }),
|
|
8397
|
+
/* @__PURE__ */ jsx35("div", { className: "text-sm font-medium", children: "File" })
|
|
8398
|
+
] }),
|
|
8399
|
+
cloudProviders.length > 1 && /* @__PURE__ */ jsx35("div", { className: "h-[32px]" }),
|
|
8400
|
+
/* @__PURE__ */ jsx35(
|
|
8401
|
+
Button,
|
|
8402
|
+
{
|
|
8403
|
+
onClick: () => handleBackup("local"),
|
|
8404
|
+
disabled: loading.local || useCustomPassword && !customPassword || !hasKeyshareData,
|
|
8405
|
+
className: "w-full",
|
|
8406
|
+
children: loading.local ? "Creating..." : "Download"
|
|
8407
|
+
}
|
|
8408
|
+
)
|
|
8409
|
+
] })
|
|
8410
|
+
] }),
|
|
8411
|
+
/* @__PURE__ */ jsxs26(Highlight, { className: "flex items-start gap-[var(--l-pass-gap)]", type: "warning", children: [
|
|
8412
|
+
/* @__PURE__ */ jsx35(Lock, { className: "h-4 w-4 flex-shrink-0" }),
|
|
8413
|
+
/* @__PURE__ */ jsxs26("div", { children: [
|
|
8414
|
+
/* @__PURE__ */ jsx35("span", { className: "font-medium", children: "Security Notice:" }),
|
|
8415
|
+
" All backups are encrypted with AES-256 using your",
|
|
8416
|
+
" ",
|
|
8417
|
+
useCustomPassword ? "custom password" : "passkey",
|
|
8418
|
+
".",
|
|
8419
|
+
useCustomPassword ? " Store your password securely - " : " Your passkey authenticator is required to restore backups. ",
|
|
8420
|
+
"Without backup access, you cannot recover your account if you lose this device."
|
|
8421
|
+
] })
|
|
8422
|
+
] }),
|
|
8423
|
+
error && /* @__PURE__ */ jsxs26(Highlight, { type: "error", className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
8424
|
+
/* @__PURE__ */ jsx35(AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
|
|
8425
|
+
/* @__PURE__ */ jsx35("span", { children: error })
|
|
8426
|
+
] }),
|
|
8427
|
+
success && /* @__PURE__ */ jsxs26(Highlight, { type: "success", className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
8428
|
+
/* @__PURE__ */ jsx35(CheckCircle2, { className: "h-4 w-4 flex-shrink-0" }),
|
|
8429
|
+
/* @__PURE__ */ jsx35("span", { children: success })
|
|
8430
|
+
] })
|
|
8348
8431
|
] })
|
|
8349
|
-
|
|
8350
|
-
|
|
8351
|
-
/* @__PURE__ */ jsx35(AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
|
|
8352
|
-
/* @__PURE__ */ jsx35("span", { children: error })
|
|
8353
|
-
] }),
|
|
8354
|
-
success && /* @__PURE__ */ jsxs26(Highlight, { type: "success", className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
8355
|
-
/* @__PURE__ */ jsx35(CheckCircle2, { className: "h-4 w-4 flex-shrink-0" }),
|
|
8356
|
-
/* @__PURE__ */ jsx35("span", { children: success })
|
|
8357
|
-
] })
|
|
8358
|
-
] }) });
|
|
8432
|
+
}
|
|
8433
|
+
);
|
|
8359
8434
|
}
|
|
8360
8435
|
|
|
8361
8436
|
// src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
|
|
8362
8437
|
import { useMutation as useMutation8 } from "@tanstack/react-query";
|
|
8363
8438
|
import { AlertCircle as AlertCircle4, CheckCircle2 as CheckCircle22, Loader as Loader9, LogOut as LogOut2 } from "lucide-react";
|
|
8364
|
-
import React9, { useCallback as
|
|
8439
|
+
import React9, { useCallback as useCallback9, useEffect as useEffect16 } from "react";
|
|
8365
8440
|
init_vaultClient();
|
|
8366
8441
|
|
|
8367
8442
|
// src/internal/components/KeyshareRestoreMenu/NoBackupFound.tsx
|
|
@@ -8543,9 +8618,10 @@ var KeyshareRestoreMenu = () => {
|
|
|
8543
8618
|
config: { current: config },
|
|
8544
8619
|
callbacks
|
|
8545
8620
|
} = useLumiaPassportConfig();
|
|
8546
|
-
const
|
|
8621
|
+
const layoutView = useLayoutStore((st) => st.layoutView);
|
|
8547
8622
|
const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
|
|
8548
|
-
|
|
8623
|
+
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
8624
|
+
useEffect16(() => setIsDialogForced(true), []);
|
|
8549
8625
|
const { usePaymaster, recoveryUserId, setRecoveryUserId, setSession, setAddress, setStatus, setIsLoading } = useLumiaPassportSession();
|
|
8550
8626
|
const [error, setError] = React9.useState(null);
|
|
8551
8627
|
const [success, setSuccess] = React9.useState(null);
|
|
@@ -8555,7 +8631,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8555
8631
|
const [restorePassword, setRestorePassword] = React9.useState("");
|
|
8556
8632
|
const [hasServerBackup, setHasServerBackup] = React9.useState(null);
|
|
8557
8633
|
const [checkingBackup, setCheckingBackup] = React9.useState(true);
|
|
8558
|
-
const createSessionWithKeyshare =
|
|
8634
|
+
const createSessionWithKeyshare = useCallback9(
|
|
8559
8635
|
async (userId, hasServerKeyshare, isNewUser) => {
|
|
8560
8636
|
try {
|
|
8561
8637
|
try {
|
|
@@ -8589,7 +8665,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8589
8665
|
},
|
|
8590
8666
|
[setStatus, callbacks, usePaymaster]
|
|
8591
8667
|
);
|
|
8592
|
-
const onRestoreSuccess =
|
|
8668
|
+
const onRestoreSuccess = useCallback9(async () => {
|
|
8593
8669
|
const { verifyToken: verifyToken2, jwtTokenManager: jwtTokenManager4 } = await Promise.resolve().then(() => (init_auth(), auth_exports));
|
|
8594
8670
|
const verify = await verifyToken2();
|
|
8595
8671
|
const hasServerKeyshare = verify?.hasKeyshare ?? jwtTokenManager4.getHasKeyshare() ?? false;
|
|
@@ -8654,7 +8730,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8654
8730
|
callbacks,
|
|
8655
8731
|
config.projectId
|
|
8656
8732
|
]);
|
|
8657
|
-
|
|
8733
|
+
useEffect16(() => {
|
|
8658
8734
|
const checkBackupAvailability = async () => {
|
|
8659
8735
|
try {
|
|
8660
8736
|
setCheckingBackup(true);
|
|
@@ -8767,56 +8843,63 @@ var KeyshareRestoreMenu = () => {
|
|
|
8767
8843
|
setIsLoading(false);
|
|
8768
8844
|
}
|
|
8769
8845
|
});
|
|
8770
|
-
return /* @__PURE__ */
|
|
8771
|
-
|
|
8772
|
-
|
|
8773
|
-
|
|
8774
|
-
|
|
8775
|
-
|
|
8776
|
-
|
|
8777
|
-
|
|
8778
|
-
|
|
8779
|
-
|
|
8780
|
-
|
|
8781
|
-
|
|
8782
|
-
|
|
8783
|
-
|
|
8784
|
-
|
|
8785
|
-
|
|
8786
|
-
|
|
8787
|
-
|
|
8788
|
-
|
|
8789
|
-
|
|
8790
|
-
|
|
8791
|
-
|
|
8792
|
-
|
|
8793
|
-
|
|
8794
|
-
|
|
8795
|
-
|
|
8796
|
-
|
|
8797
|
-
|
|
8798
|
-
|
|
8799
|
-
|
|
8800
|
-
|
|
8801
|
-
|
|
8802
|
-
|
|
8803
|
-
|
|
8804
|
-
|
|
8805
|
-
|
|
8806
|
-
|
|
8807
|
-
|
|
8808
|
-
|
|
8809
|
-
|
|
8810
|
-
|
|
8811
|
-
|
|
8812
|
-
|
|
8813
|
-
|
|
8814
|
-
|
|
8815
|
-
|
|
8816
|
-
|
|
8817
|
-
|
|
8818
|
-
|
|
8819
|
-
|
|
8846
|
+
return /* @__PURE__ */ jsx38(
|
|
8847
|
+
"div",
|
|
8848
|
+
{
|
|
8849
|
+
style: { "--l-pass-scrollbar-mah": `${MAX_CONTENT_HEIGHTS[layoutView]}px` },
|
|
8850
|
+
className: "list-scrollbar-y w-full",
|
|
8851
|
+
children: /* @__PURE__ */ jsxs29(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
|
|
8852
|
+
checkingBackup && /* @__PURE__ */ jsxs29("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] text-center justify-center items-center", children: [
|
|
8853
|
+
/* @__PURE__ */ jsx38(Loader9, { className: "w-5 h-5 animate-spin" }),
|
|
8854
|
+
/* @__PURE__ */ jsx38("span", { className: "block w-full text-xs leading-4", children: "Checking for backups..." }),
|
|
8855
|
+
/* @__PURE__ */ jsx38("span", { className: "block w-full text-xs leading-4", children: "Please wait while we check for available backups..." })
|
|
8856
|
+
] }),
|
|
8857
|
+
!checkingBackup && hasServerBackup === false && /* @__PURE__ */ jsx38(NoBackupFound, { isLoading: isRestoringFromFile || isDisconnecting, restoreFromFile }),
|
|
8858
|
+
!checkingBackup && hasServerBackup && /* @__PURE__ */ jsx38(
|
|
8859
|
+
ServerBackupFound,
|
|
8860
|
+
{
|
|
8861
|
+
showPassword,
|
|
8862
|
+
setShowPassword,
|
|
8863
|
+
useCustomPassword,
|
|
8864
|
+
setUseCustomPassword,
|
|
8865
|
+
restorePassword,
|
|
8866
|
+
setRestorePassword,
|
|
8867
|
+
restoreFile,
|
|
8868
|
+
setRestoreFile,
|
|
8869
|
+
isLoading: isRestoringFromFile || isRestoringFromServer || isDisconnecting,
|
|
8870
|
+
restoreFromFile,
|
|
8871
|
+
restoreFromServer: restoreFromServer2
|
|
8872
|
+
}
|
|
8873
|
+
),
|
|
8874
|
+
!checkingBackup && /* @__PURE__ */ jsxs29("div", { className: "w-full flex items-center", children: [
|
|
8875
|
+
/* @__PURE__ */ jsx38("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
|
|
8876
|
+
/* @__PURE__ */ jsx38("div", { className: "flex-none font-bold px-2 text-xs leading-4 text-[var(--l-pass-fg-muted)]", children: "Misc" }),
|
|
8877
|
+
/* @__PURE__ */ jsx38("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" })
|
|
8878
|
+
] }),
|
|
8879
|
+
error && /* @__PURE__ */ jsxs29(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
|
|
8880
|
+
/* @__PURE__ */ jsx38(AlertCircle4, { className: "h-4 w-4 flex-shrink-0" }),
|
|
8881
|
+
/* @__PURE__ */ jsx38("span", { className: "w-full flex-1 block", children: error })
|
|
8882
|
+
] }),
|
|
8883
|
+
success && /* @__PURE__ */ jsxs29(Highlight, { type: "success", className: "flex gap-[var(--l-pass-gap)]", children: [
|
|
8884
|
+
/* @__PURE__ */ jsx38(CheckCircle22, { className: "h-4 w-4 flex-shrink-0" }),
|
|
8885
|
+
/* @__PURE__ */ jsx38("span", { className: "w-full flex-1 block", children: success })
|
|
8886
|
+
] }),
|
|
8887
|
+
!checkingBackup && /* @__PURE__ */ jsxs29(
|
|
8888
|
+
Button,
|
|
8889
|
+
{
|
|
8890
|
+
size: "large",
|
|
8891
|
+
variant: "ghost",
|
|
8892
|
+
onClick: () => disconnect(),
|
|
8893
|
+
disabled: isDisconnecting || isRestoringFromFile || isRestoringFromServer,
|
|
8894
|
+
children: [
|
|
8895
|
+
isDisconnecting ? /* @__PURE__ */ jsx38(Loader9, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx38(LogOut2, { className: "w-4 h-4" }),
|
|
8896
|
+
/* @__PURE__ */ jsx38("span", { children: "Disconnect" })
|
|
8897
|
+
]
|
|
8898
|
+
}
|
|
8899
|
+
)
|
|
8900
|
+
] })
|
|
8901
|
+
}
|
|
8902
|
+
);
|
|
8820
8903
|
};
|
|
8821
8904
|
|
|
8822
8905
|
// src/internal/components/KYC/KycMenu.tsx
|
|
@@ -8826,7 +8909,7 @@ import { ArrowLeft as ArrowLeft6 } from "lucide-react";
|
|
|
8826
8909
|
import { LoaderIcon as LoaderIcon3 } from "lucide-react";
|
|
8827
8910
|
|
|
8828
8911
|
// src/internal/components/KYC/useSumsubIframe.ts
|
|
8829
|
-
import { useEffect as
|
|
8912
|
+
import { useEffect as useEffect17, useRef as useRef8, useState as useState8 } from "react";
|
|
8830
8913
|
|
|
8831
8914
|
// src/internal/components/KYC/api/sumsub.ts
|
|
8832
8915
|
init_httpClient();
|
|
@@ -8955,7 +9038,7 @@ function useSumsubIframe({ iframeUrl }) {
|
|
|
8955
9038
|
const [height, setHeight] = useState8(0);
|
|
8956
9039
|
const [status, setStatus] = useState8("");
|
|
8957
9040
|
const levelName = config.kyc?.options?.levelName;
|
|
8958
|
-
|
|
9041
|
+
useEffect17(() => {
|
|
8959
9042
|
setError(null);
|
|
8960
9043
|
setIsLoading(true);
|
|
8961
9044
|
setStatus("Preparing verification...");
|
|
@@ -9038,14 +9121,18 @@ var KycContent = () => {
|
|
|
9038
9121
|
};
|
|
9039
9122
|
function KycMenu() {
|
|
9040
9123
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
9124
|
+
const layoutView = useLayoutStore((st) => st.layoutView);
|
|
9041
9125
|
return /* @__PURE__ */ jsxs31(
|
|
9042
9126
|
"div",
|
|
9043
9127
|
{
|
|
9044
9128
|
style: {
|
|
9045
|
-
"--l-pass-scrollbar-mah":
|
|
9046
|
-
"--l-pass-list-scrollbar-pd-
|
|
9129
|
+
"--l-pass-scrollbar-mah": `${MAX_CONTENT_HEIGHTS[layoutView]}px`,
|
|
9130
|
+
"--l-pass-list-scrollbar-pd-r": "4px",
|
|
9131
|
+
"paddingTop": "var(--l-pass-pd)",
|
|
9132
|
+
"paddingBottom": "var(--l-pass-pd)",
|
|
9133
|
+
"paddingLeft": "4px"
|
|
9047
9134
|
},
|
|
9048
|
-
className: "list-scrollbar-y w-full
|
|
9135
|
+
className: "list-scrollbar-y w-full flex flex-col gap-[var(--l-pass-gap)]",
|
|
9049
9136
|
children: [
|
|
9050
9137
|
/* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
9051
9138
|
/* @__PURE__ */ jsx40(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx40(ArrowLeft6, { className: "h-4 w-4" }) }),
|
|
@@ -9059,7 +9146,7 @@ function KycMenu() {
|
|
|
9059
9146
|
|
|
9060
9147
|
// src/internal/components/MainMenu/MainMenu.tsx
|
|
9061
9148
|
import { ChevronLeft, ChevronRight as ChevronRight2, DollarSign as DollarSign3, Wallet2 as Wallet23 } from "lucide-react";
|
|
9062
|
-
import { useEffect as
|
|
9149
|
+
import { useEffect as useEffect18 } from "react";
|
|
9063
9150
|
|
|
9064
9151
|
// src/internal/components/MainMenu/BackupWarning.tsx
|
|
9065
9152
|
import { AnimatePresence as AnimatePresence2, motion as motion2 } from "framer-motion";
|
|
@@ -9115,7 +9202,7 @@ function MainMenu() {
|
|
|
9115
9202
|
const address = useLumiaPassportSession((st) => st.address);
|
|
9116
9203
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
9117
9204
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
9118
|
-
|
|
9205
|
+
useEffect18(() => setMainPageHeight(DEFAULT_MAIN_MENU_HEIGHT), [setMainPageHeight]);
|
|
9119
9206
|
return /* @__PURE__ */ jsxs33("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
9120
9207
|
/* @__PURE__ */ jsx42("div", { className: "grid grid-cols-4 gap-[var(--l-pass-gap)]", children: MAIN_MENU_BUTTONS.map(({ id, label, icon: Icon }) => /* @__PURE__ */ jsxs33(
|
|
9121
9208
|
Button,
|
|
@@ -9143,7 +9230,7 @@ import { useMemo as useMemo2 } from "react";
|
|
|
9143
9230
|
|
|
9144
9231
|
// src/modules/linkedProfiles.ts
|
|
9145
9232
|
import { useQuery as useQuery5, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
|
|
9146
|
-
import { useCallback as
|
|
9233
|
+
import { useCallback as useCallback10 } from "react";
|
|
9147
9234
|
init_auth();
|
|
9148
9235
|
init_common();
|
|
9149
9236
|
init_types();
|
|
@@ -9176,7 +9263,7 @@ function useLumiaPassportLinkedProfiles() {
|
|
|
9176
9263
|
queryFn: getLinkProfilesData
|
|
9177
9264
|
});
|
|
9178
9265
|
const { profiles = [], avatar = null } = data || {};
|
|
9179
|
-
const refresh =
|
|
9266
|
+
const refresh = useCallback10(async () => {
|
|
9180
9267
|
await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, address] });
|
|
9181
9268
|
}, [qc, address]);
|
|
9182
9269
|
return { profiles, avatar, isLoading, error, refresh };
|
|
@@ -9191,35 +9278,6 @@ init_lumiaPassport();
|
|
|
9191
9278
|
init_projectId();
|
|
9192
9279
|
import { useMutation as useMutation9 } from "@tanstack/react-query";
|
|
9193
9280
|
import { ChevronRight as ChevronRight3, Loader as Loader10, Mail as Mail4 } from "lucide-react";
|
|
9194
|
-
|
|
9195
|
-
// src/internal/components/ManageWalletMenu/hooks/useStore.ts
|
|
9196
|
-
import { create as create4 } from "zustand";
|
|
9197
|
-
var useManageWalletStore = create4((set) => ({
|
|
9198
|
-
emailStep: "input",
|
|
9199
|
-
email: "",
|
|
9200
|
-
emailCode: "",
|
|
9201
|
-
emailCodeSentError: "",
|
|
9202
|
-
emailCodeExpiresIn: 0,
|
|
9203
|
-
isWalletLinking: false,
|
|
9204
|
-
linkIsLoading: false,
|
|
9205
|
-
linkError: "",
|
|
9206
|
-
verificationError: "",
|
|
9207
|
-
providerType: null,
|
|
9208
|
-
confirmUnlink: null,
|
|
9209
|
-
setEmailStep: (emailStep) => set({ emailStep }),
|
|
9210
|
-
setEmail: (email) => set({ email }),
|
|
9211
|
-
setEmailCode: (emailCode) => set({ emailCode }),
|
|
9212
|
-
setEmailCodeSentError: (emailCodeSentError) => set({ emailCodeSentError }),
|
|
9213
|
-
setEmailCodeExpiresIn: (emailCodeExpiresIn) => set({ emailCodeExpiresIn }),
|
|
9214
|
-
setIsWalletLinking: (isWalletLinking) => set({ isWalletLinking }),
|
|
9215
|
-
setLinkIsLoading: (linkIsLoading) => set({ linkIsLoading }),
|
|
9216
|
-
setLinkError: (linkError) => set({ linkError }),
|
|
9217
|
-
setVerificationError: (verificationError) => set({ verificationError }),
|
|
9218
|
-
setProviderType: (providerType) => set({ providerType }),
|
|
9219
|
-
setConfirmUnlink: (confirmUnlink) => set({ confirmUnlink })
|
|
9220
|
-
}));
|
|
9221
|
-
|
|
9222
|
-
// src/internal/components/ManageWalletMenu/EmailForm.tsx
|
|
9223
9281
|
import { jsx as jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
9224
9282
|
function EmailForm() {
|
|
9225
9283
|
const {
|
|
@@ -9577,7 +9635,7 @@ function EmailNotConnectedWarning() {
|
|
|
9577
9635
|
|
|
9578
9636
|
// src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts
|
|
9579
9637
|
import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
|
|
9580
|
-
import React10, { useEffect as
|
|
9638
|
+
import React10, { useEffect as useEffect19 } from "react";
|
|
9581
9639
|
init_auth();
|
|
9582
9640
|
function useLinkSocial() {
|
|
9583
9641
|
const qc = useQueryClient6();
|
|
@@ -9587,15 +9645,16 @@ function useLinkSocial() {
|
|
|
9587
9645
|
callbacks
|
|
9588
9646
|
} = useLumiaPassportConfig();
|
|
9589
9647
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
9590
|
-
const { providerType, linkIsLoading, setProviderType, setLinkIsLoading, setLinkError } = useManageWalletStore();
|
|
9648
|
+
const { providerType, linkIsLoading, isWalletLinking, setProviderType, setLinkIsLoading, setLinkError } = useManageWalletStore();
|
|
9591
9649
|
const handleLinkSocialProvider = React10.useCallback(
|
|
9592
9650
|
async (providerIdRaw) => {
|
|
9593
9651
|
const providerKey = providerIdRaw.toLowerCase();
|
|
9652
|
+
const normalizedKey = providerKey === "twitter" ? "x" : providerKey;
|
|
9594
9653
|
try {
|
|
9595
9654
|
setLinkIsLoading(true);
|
|
9596
9655
|
setLinkError("");
|
|
9597
9656
|
const socialProvider = config.social?.providers?.find(
|
|
9598
|
-
(p) => (p.id || "").toLowerCase() ===
|
|
9657
|
+
(p) => (p.id || "").toLowerCase() === normalizedKey && p.enabled
|
|
9599
9658
|
);
|
|
9600
9659
|
if (!socialProvider) {
|
|
9601
9660
|
throw new Error(`${providerIdRaw} provider not configured`);
|
|
@@ -9640,22 +9699,28 @@ function useLinkSocial() {
|
|
|
9640
9699
|
[config.social?.providers, callbacks]
|
|
9641
9700
|
);
|
|
9642
9701
|
const [socialLinkStarted, setSocialLinkStarted] = React10.useState(false);
|
|
9643
|
-
|
|
9702
|
+
useEffect19(() => {
|
|
9644
9703
|
const key = providerType?.toLowerCase();
|
|
9704
|
+
console.log("[useLinkSocial] Effect triggered:", { key, linkIsLoading, socialLinkStarted, isWalletLinking });
|
|
9705
|
+
if (isWalletLinking) {
|
|
9706
|
+
console.log("[useLinkSocial] Skipping - wallet linking in progress");
|
|
9707
|
+
return;
|
|
9708
|
+
}
|
|
9645
9709
|
if (key && key !== "telegram" && key !== "email" && key !== "passkey" && key !== "wallet") {
|
|
9646
9710
|
if (!linkIsLoading && !socialLinkStarted) {
|
|
9711
|
+
console.log("[useLinkSocial] Starting social link flow for:", key);
|
|
9647
9712
|
setSocialLinkStarted(true);
|
|
9648
9713
|
handleLinkSocialProvider(key);
|
|
9649
9714
|
}
|
|
9650
9715
|
} else if (socialLinkStarted) {
|
|
9651
9716
|
setSocialLinkStarted(false);
|
|
9652
9717
|
}
|
|
9653
|
-
}, [providerType, linkIsLoading, socialLinkStarted, handleLinkSocialProvider]);
|
|
9718
|
+
}, [providerType, linkIsLoading, socialLinkStarted, isWalletLinking, handleLinkSocialProvider]);
|
|
9654
9719
|
}
|
|
9655
9720
|
|
|
9656
9721
|
// src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
|
|
9657
9722
|
import { useQueryClient as useQueryClient7 } from "@tanstack/react-query";
|
|
9658
|
-
import { useCallback as
|
|
9723
|
+
import { useCallback as useCallback11, useEffect as useEffect20, useState as useState9 } from "react";
|
|
9659
9724
|
init_telegram2();
|
|
9660
9725
|
function useLinkTelegram() {
|
|
9661
9726
|
const {
|
|
@@ -9664,9 +9729,9 @@ function useLinkTelegram() {
|
|
|
9664
9729
|
} = useLumiaPassportConfig();
|
|
9665
9730
|
const qc = useQueryClient7();
|
|
9666
9731
|
const address = useLumiaPassportSession((st) => st.address);
|
|
9667
|
-
const { providerType, linkIsLoading, setLinkIsLoading, setProviderType, setLinkError } = useManageWalletStore();
|
|
9732
|
+
const { providerType, linkIsLoading, isWalletLinking, setLinkIsLoading, setProviderType, setLinkError } = useManageWalletStore();
|
|
9668
9733
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
9669
|
-
const handleLinkTelegram =
|
|
9734
|
+
const handleLinkTelegram = useCallback11(async () => {
|
|
9670
9735
|
try {
|
|
9671
9736
|
setLinkIsLoading(true);
|
|
9672
9737
|
setLinkError("");
|
|
@@ -9709,13 +9774,19 @@ function useLinkTelegram() {
|
|
|
9709
9774
|
}
|
|
9710
9775
|
}, [config.social?.providers, callbacks]);
|
|
9711
9776
|
const [telegramLinkStarted, setTelegramLinkStarted] = useState9(false);
|
|
9712
|
-
|
|
9777
|
+
useEffect20(() => {
|
|
9778
|
+
console.log("[useLinkTelegram] Effect triggered:", { providerType, linkIsLoading, telegramLinkStarted, isWalletLinking });
|
|
9779
|
+
if (isWalletLinking) {
|
|
9780
|
+
console.log("[useLinkTelegram] Skipping - wallet linking in progress");
|
|
9781
|
+
return;
|
|
9782
|
+
}
|
|
9713
9783
|
if (providerType === "telegram" && !linkIsLoading && !telegramLinkStarted) {
|
|
9784
|
+
console.log("[useLinkTelegram] Starting Telegram link flow");
|
|
9714
9785
|
setTelegramLinkStarted(true);
|
|
9715
9786
|
handleLinkTelegram();
|
|
9716
9787
|
}
|
|
9717
|
-
}, [providerType, handleLinkTelegram, linkIsLoading, telegramLinkStarted]);
|
|
9718
|
-
|
|
9788
|
+
}, [providerType, handleLinkTelegram, linkIsLoading, telegramLinkStarted, isWalletLinking]);
|
|
9789
|
+
useEffect20(() => {
|
|
9719
9790
|
if (providerType !== "telegram") {
|
|
9720
9791
|
setTelegramLinkStarted(false);
|
|
9721
9792
|
}
|
|
@@ -9807,6 +9878,7 @@ function ManageWalletMenu() {
|
|
|
9807
9878
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
9808
9879
|
const {
|
|
9809
9880
|
providerType,
|
|
9881
|
+
isWalletLinking,
|
|
9810
9882
|
linkError,
|
|
9811
9883
|
verificationError,
|
|
9812
9884
|
emailCodeSentError,
|
|
@@ -9817,7 +9889,8 @@ function ManageWalletMenu() {
|
|
|
9817
9889
|
setEmailCodeExpiresIn,
|
|
9818
9890
|
setEmailCode,
|
|
9819
9891
|
setLinkError,
|
|
9820
|
-
setVerificationError
|
|
9892
|
+
setVerificationError,
|
|
9893
|
+
setIsWalletLinking
|
|
9821
9894
|
} = useManageWalletStore();
|
|
9822
9895
|
const configuredProviders = getConfiguredProviders(config);
|
|
9823
9896
|
const { data: providers = [], isLoading: isProvidersLoading, error: providersError } = useProvidersList();
|
|
@@ -9841,7 +9914,9 @@ function ManageWalletMenu() {
|
|
|
9841
9914
|
variant: "default",
|
|
9842
9915
|
size: "medium",
|
|
9843
9916
|
className: "w-full",
|
|
9917
|
+
disabled: isWalletLinking,
|
|
9844
9918
|
onClick: () => {
|
|
9919
|
+
if (isWalletLinking) return;
|
|
9845
9920
|
switch (provider) {
|
|
9846
9921
|
case "email":
|
|
9847
9922
|
setEmail("");
|
|
@@ -9852,7 +9927,12 @@ function ManageWalletMenu() {
|
|
|
9852
9927
|
setProviderType(provider);
|
|
9853
9928
|
break;
|
|
9854
9929
|
case "twitter":
|
|
9855
|
-
|
|
9930
|
+
console.log("[ManageWallet] Twitter button clicked!");
|
|
9931
|
+
setProviderType("twitter");
|
|
9932
|
+
break;
|
|
9933
|
+
case "wallet":
|
|
9934
|
+
setProviderType(null);
|
|
9935
|
+
setIsWalletLinking(true);
|
|
9856
9936
|
break;
|
|
9857
9937
|
default:
|
|
9858
9938
|
setProviderType(provider);
|
|
@@ -9870,7 +9950,7 @@ function ManageWalletMenu() {
|
|
|
9870
9950
|
}
|
|
9871
9951
|
});
|
|
9872
9952
|
return [...used, ...unused];
|
|
9873
|
-
}, [providers, configuredProviders]);
|
|
9953
|
+
}, [providers, configuredProviders, isWalletLinking]);
|
|
9874
9954
|
useLinkTelegram();
|
|
9875
9955
|
useLinkSocial();
|
|
9876
9956
|
const showCurrentProviders = !isProvidersLoading && !providersError && (providerType !== "email" && providerType !== "passkey" || providerType === null);
|
|
@@ -9938,14 +10018,15 @@ function UnlinkProviderMenu() {
|
|
|
9938
10018
|
await unlinkProvider(provider, externalId);
|
|
9939
10019
|
},
|
|
9940
10020
|
onSuccess: async () => {
|
|
9941
|
-
|
|
9942
|
-
|
|
10021
|
+
setConfirmUnlink(null);
|
|
10022
|
+
setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
10023
|
+
await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, address], refetchType: "active" });
|
|
10024
|
+
await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, address], refetchType: "active" });
|
|
10025
|
+
await qc.refetchQueries({ queryKey: [PROVIDERS_QUERY_KEY, address] });
|
|
9943
10026
|
try {
|
|
9944
10027
|
callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address]) });
|
|
9945
10028
|
} catch {
|
|
9946
10029
|
}
|
|
9947
|
-
setConfirmUnlink(null);
|
|
9948
|
-
setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
9949
10030
|
},
|
|
9950
10031
|
onError: (error) => {
|
|
9951
10032
|
setLinkError(error?.message || "Failed to unlink provider");
|
|
@@ -10003,7 +10084,7 @@ function UnlinkProviderMenu() {
|
|
|
10003
10084
|
// src/internal/components/PortfolioMenu/PortfolioMenu.tsx
|
|
10004
10085
|
import { useQueryClient as useQueryClient10 } from "@tanstack/react-query";
|
|
10005
10086
|
import { ArrowLeft as ArrowLeft8, Gem, Loader as Loader14, RefreshCw } from "lucide-react";
|
|
10006
|
-
import { useCallback as
|
|
10087
|
+
import { useCallback as useCallback12, useEffect as useEffect21, useRef as useRef9 } from "react";
|
|
10007
10088
|
|
|
10008
10089
|
// src/modules/assets.ts
|
|
10009
10090
|
init_base();
|
|
@@ -10262,29 +10343,30 @@ function PortfolioMenu() {
|
|
|
10262
10343
|
const { assets: projectAssets = [] } = useLumiaPassportConfig().config.current?.projectAssets || {};
|
|
10263
10344
|
const qc = useQueryClient10();
|
|
10264
10345
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10346
|
+
const layoutView = useLayoutStore((st) => st.layoutView);
|
|
10265
10347
|
const assetsContainerListRef = useRef9(null);
|
|
10266
10348
|
const assetsListRef = useRef9(null);
|
|
10267
10349
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10268
10350
|
const { assets, refreshBalances, isLoading } = useAssets(address);
|
|
10269
|
-
const refreshAllAssetsBalances =
|
|
10351
|
+
const refreshAllAssetsBalances = useCallback12(() => {
|
|
10270
10352
|
Promise.all(projectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
|
|
10271
10353
|
refreshBalances();
|
|
10272
10354
|
}, [qc, projectAssets, refreshBalances]);
|
|
10273
|
-
|
|
10355
|
+
useEffect21(() => {
|
|
10274
10356
|
if (!assetsContainerListRef.current || !assetsListRef.current) return;
|
|
10275
|
-
|
|
10276
|
-
|
|
10277
|
-
|
|
10278
|
-
|
|
10279
|
-
|
|
10280
|
-
|
|
10281
|
-
|
|
10282
|
-
|
|
10283
|
-
|
|
10284
|
-
|
|
10285
|
-
|
|
10286
|
-
|
|
10287
|
-
}, []);
|
|
10357
|
+
const listTargetHeight = MAX_CONTENT_HEIGHTS[layoutView] - 128;
|
|
10358
|
+
assetsContainerListRef.current.style.setProperty("--l-pass-scrollbar-mah", `${listTargetHeight}px`);
|
|
10359
|
+
assetsContainerListRef.current.style.setProperty(
|
|
10360
|
+
"--l-pass-list-bd",
|
|
10361
|
+
assetsListRef.current.clientHeight >= listTargetHeight ? "var(--l-pass-bd)" : "var(--l-pass-bg)"
|
|
10362
|
+
// hide border if no scrollbar
|
|
10363
|
+
);
|
|
10364
|
+
assetsContainerListRef.current.style.setProperty(
|
|
10365
|
+
"--l-pass-list-scrollbar-pd-r",
|
|
10366
|
+
assetsListRef.current.clientHeight >= listTargetHeight ? "4px" : "0px"
|
|
10367
|
+
// remove padding if no scrollbar
|
|
10368
|
+
);
|
|
10369
|
+
}, [layoutView]);
|
|
10288
10370
|
return /* @__PURE__ */ jsxs41("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
10289
10371
|
/* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
10290
10372
|
/* @__PURE__ */ jsx50(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx50(ArrowLeft8, { className: "h-4 w-4" }) }),
|
|
@@ -10357,7 +10439,7 @@ import {
|
|
|
10357
10439
|
Shield,
|
|
10358
10440
|
Trash2 as Trash22
|
|
10359
10441
|
} from "lucide-react";
|
|
10360
|
-
import { useCallback as
|
|
10442
|
+
import { useCallback as useCallback13, useEffect as useEffect22, useState as useState11 } from "react";
|
|
10361
10443
|
init_vaultClient();
|
|
10362
10444
|
import { jsx as jsx51, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
10363
10445
|
function SecurityMenu() {
|
|
@@ -10378,7 +10460,7 @@ function SecurityMenu() {
|
|
|
10378
10460
|
const [hasServerBackup, setHasServerBackup] = useState11(false);
|
|
10379
10461
|
const [trustedApps, setTrustedApps] = useState11([]);
|
|
10380
10462
|
const [appToRemove, setAppToRemove] = useState11(null);
|
|
10381
|
-
const fetchRecovery =
|
|
10463
|
+
const fetchRecovery = useCallback13(async () => {
|
|
10382
10464
|
if (!userId) return;
|
|
10383
10465
|
try {
|
|
10384
10466
|
setIsRefreshing(true);
|
|
@@ -10411,7 +10493,7 @@ function SecurityMenu() {
|
|
|
10411
10493
|
setIsRefreshing(false);
|
|
10412
10494
|
}
|
|
10413
10495
|
}, [userId]);
|
|
10414
|
-
|
|
10496
|
+
useEffect22(() => {
|
|
10415
10497
|
if (open) fetchRecovery();
|
|
10416
10498
|
}, [open, fetchRecovery]);
|
|
10417
10499
|
const parseOS = (ua) => {
|
|
@@ -10603,12 +10685,12 @@ function SecurityMenu() {
|
|
|
10603
10685
|
|
|
10604
10686
|
// src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
|
|
10605
10687
|
import { AlertCircle as AlertCircle5, ArrowLeft as ArrowLeft10, CheckCircle2 as CheckCircle24, Loader as Loader16, Wallet } from "lucide-react";
|
|
10606
|
-
import { useEffect as
|
|
10688
|
+
import { useEffect as useEffect23, useState as useState13 } from "react";
|
|
10607
10689
|
import { isAddress as isAddress2 } from "viem";
|
|
10608
10690
|
import { useBalance as useBalance3 } from "wagmi";
|
|
10609
10691
|
|
|
10610
10692
|
// src/hooks/useSendTransaction.ts
|
|
10611
|
-
import { useCallback as
|
|
10693
|
+
import { useCallback as useCallback14, useState as useState12 } from "react";
|
|
10612
10694
|
import { isAddress, parseEther as parseEther2 } from "viem";
|
|
10613
10695
|
init_account();
|
|
10614
10696
|
function useSendTransaction() {
|
|
@@ -10617,7 +10699,7 @@ function useSendTransaction() {
|
|
|
10617
10699
|
const [isLoading, setIsLoading] = useState12(false);
|
|
10618
10700
|
const [error, setError] = useState12(null);
|
|
10619
10701
|
const [userOpHash, setUserOpHash] = useState12(null);
|
|
10620
|
-
const sendTransaction =
|
|
10702
|
+
const sendTransaction = useCallback14(
|
|
10621
10703
|
async (params) => {
|
|
10622
10704
|
if (!session || !address) {
|
|
10623
10705
|
setError("No active session");
|
|
@@ -10657,7 +10739,7 @@ function useSendTransaction() {
|
|
|
10657
10739
|
},
|
|
10658
10740
|
[session, address]
|
|
10659
10741
|
);
|
|
10660
|
-
const reset =
|
|
10742
|
+
const reset = useCallback14(() => {
|
|
10661
10743
|
setError(null);
|
|
10662
10744
|
setUserOpHash(null);
|
|
10663
10745
|
setIsLoading(false);
|
|
@@ -10691,7 +10773,7 @@ function SendLumiaMenu() {
|
|
|
10691
10773
|
const [validationError, setValidationError] = useState13(null);
|
|
10692
10774
|
const nativeAsset = assets.find((a) => a.type === "native");
|
|
10693
10775
|
const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
|
|
10694
|
-
|
|
10776
|
+
useEffect23(() => {
|
|
10695
10777
|
if (open) {
|
|
10696
10778
|
setTxStep("input");
|
|
10697
10779
|
setValidationError(null);
|
|
@@ -10853,19 +10935,20 @@ function SendLumiaMenu() {
|
|
|
10853
10935
|
}
|
|
10854
10936
|
|
|
10855
10937
|
// src/internal/components/SendRecieveMenu/ReceiveLumiaMenu.tsx
|
|
10938
|
+
init_clients();
|
|
10856
10939
|
import { ArrowLeft as ArrowLeft11, CheckCircle2 as CheckCircle25, Copy as Copy2, Loader as Loader17 } from "lucide-react";
|
|
10857
10940
|
import QRCode from "qrcode";
|
|
10858
|
-
import { useEffect as
|
|
10859
|
-
init_clients();
|
|
10941
|
+
import { useCallback as useCallback15, useEffect as useEffect24, useState as useState14 } from "react";
|
|
10860
10942
|
import { Fragment as Fragment13, jsx as jsx53, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
10861
10943
|
function ReceiveLumiaMenu() {
|
|
10944
|
+
const address = useLumiaPassportSession((st) => st.address);
|
|
10862
10945
|
const page = useLayoutDataStore((st) => st.page);
|
|
10863
10946
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10947
|
+
const layoutView = useLayoutStore((st) => st.layoutView);
|
|
10864
10948
|
const open = page === "receive";
|
|
10865
|
-
const { address } = useLumiaPassportSession();
|
|
10866
10949
|
const [qrCodeUrl, setQrCodeUrl] = useState14("");
|
|
10867
10950
|
const [copied, setCopied] = useState14(false);
|
|
10868
|
-
|
|
10951
|
+
useEffect24(() => {
|
|
10869
10952
|
if (open && address) {
|
|
10870
10953
|
QRCode.toDataURL(address, {
|
|
10871
10954
|
width: 200,
|
|
@@ -10878,7 +10961,7 @@ function ReceiveLumiaMenu() {
|
|
|
10878
10961
|
});
|
|
10879
10962
|
}
|
|
10880
10963
|
}, [open, address]);
|
|
10881
|
-
const handleCopy = async () => {
|
|
10964
|
+
const handleCopy = useCallback15(async () => {
|
|
10882
10965
|
if (!address) return;
|
|
10883
10966
|
try {
|
|
10884
10967
|
await navigator.clipboard.writeText(address);
|
|
@@ -10887,34 +10970,44 @@ function ReceiveLumiaMenu() {
|
|
|
10887
10970
|
} catch (error) {
|
|
10888
10971
|
console.error("Failed to copy address:", error);
|
|
10889
10972
|
}
|
|
10890
|
-
};
|
|
10891
|
-
return /* @__PURE__ */ jsxs44(
|
|
10892
|
-
|
|
10893
|
-
|
|
10894
|
-
|
|
10895
|
-
|
|
10896
|
-
|
|
10897
|
-
|
|
10898
|
-
|
|
10899
|
-
|
|
10900
|
-
|
|
10901
|
-
|
|
10902
|
-
|
|
10903
|
-
|
|
10904
|
-
/* @__PURE__ */
|
|
10905
|
-
|
|
10906
|
-
|
|
10907
|
-
|
|
10908
|
-
/* @__PURE__ */ jsx53("
|
|
10909
|
-
|
|
10910
|
-
|
|
10911
|
-
|
|
10912
|
-
|
|
10973
|
+
}, [address]);
|
|
10974
|
+
return /* @__PURE__ */ jsxs44(
|
|
10975
|
+
"div",
|
|
10976
|
+
{
|
|
10977
|
+
style: {
|
|
10978
|
+
"--l-pass-scrollbar-mah": `${MAX_CONTENT_HEIGHTS[layoutView]}px`,
|
|
10979
|
+
"--l-pass-list-scrollbar-pd-r": "8px"
|
|
10980
|
+
},
|
|
10981
|
+
className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
|
|
10982
|
+
children: [
|
|
10983
|
+
/* @__PURE__ */ jsxs44("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
10984
|
+
/* @__PURE__ */ jsx53(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx53(ArrowLeft11, { className: "h-4 w-4" }) }),
|
|
10985
|
+
/* @__PURE__ */ jsx53("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
|
|
10986
|
+
] }),
|
|
10987
|
+
/* @__PURE__ */ jsxs44(Highlight, { className: "text-center", type: "warning", children: [
|
|
10988
|
+
/* @__PURE__ */ jsx53("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
|
|
10989
|
+
/* @__PURE__ */ jsx53("span", { className: "block w-full", children: "Ensure sender is on the same network" })
|
|
10990
|
+
] }),
|
|
10991
|
+
/* @__PURE__ */ jsx53("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ jsx53("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ jsx53(Loader17, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
|
|
10992
|
+
/* @__PURE__ */ jsxs44(Highlight, { type: "info", children: [
|
|
10993
|
+
/* @__PURE__ */ jsx53("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
|
|
10994
|
+
/* @__PURE__ */ jsx53(Button, { onClick: handleCopy, className: "w-full", size: "medium", children: copied ? /* @__PURE__ */ jsxs44(Fragment13, { children: [
|
|
10995
|
+
/* @__PURE__ */ jsx53(CheckCircle25, { className: "h-4 w-4" }),
|
|
10996
|
+
/* @__PURE__ */ jsx53("span", { children: "Copied!" })
|
|
10997
|
+
] }) : /* @__PURE__ */ jsxs44(Fragment13, { children: [
|
|
10998
|
+
/* @__PURE__ */ jsx53(Copy2, { className: "h-4 w-4" }),
|
|
10999
|
+
/* @__PURE__ */ jsx53("span", { children: "Copy Address" })
|
|
11000
|
+
] }) })
|
|
11001
|
+
] }),
|
|
11002
|
+
/* @__PURE__ */ jsx53("div", { className: "text-center text-xs text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx53("span", { className: "block", children: "Share this address to receive LUMIA tokens." }) })
|
|
11003
|
+
]
|
|
11004
|
+
}
|
|
11005
|
+
);
|
|
10913
11006
|
}
|
|
10914
11007
|
|
|
10915
11008
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
10916
11009
|
import { ArrowLeft as ArrowLeft12 } from "lucide-react";
|
|
10917
|
-
import { useEffect as
|
|
11010
|
+
import { useEffect as useEffect25 } from "react";
|
|
10918
11011
|
|
|
10919
11012
|
// src/internal/components/SettingsMenu/constants.ts
|
|
10920
11013
|
import { ArrowLeftRight, DatabaseBackup as DatabaseBackup2, LockKeyhole, UsersRound } from "lucide-react";
|
|
@@ -10948,7 +11041,7 @@ function SettingsMenu() {
|
|
|
10948
11041
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10949
11042
|
const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
|
|
10950
11043
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
10951
|
-
|
|
11044
|
+
useEffect25(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
|
|
10952
11045
|
const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
|
|
10953
11046
|
const highlightedKeys = settingsNotifications.map((n) => n.target);
|
|
10954
11047
|
return /* @__PURE__ */ jsxs45("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
@@ -11008,7 +11101,7 @@ function TermsOfService() {
|
|
|
11008
11101
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
11009
11102
|
import { useQuery as useQuery8, useQueryClient as useQueryClient11 } from "@tanstack/react-query";
|
|
11010
11103
|
import { ArrowLeft as ArrowLeft14, Loader as Loader18, RefreshCw as RefreshCw3, XCircle as XCircle2 } from "lucide-react";
|
|
11011
|
-
import { useCallback as
|
|
11104
|
+
import { useCallback as useCallback16, useEffect as useEffect26, useRef as useRef10, useState as useState15 } from "react";
|
|
11012
11105
|
|
|
11013
11106
|
// src/internal/components/TransactionsMenu/api.ts
|
|
11014
11107
|
init_base();
|
|
@@ -11488,6 +11581,7 @@ function TransactionsMenu() {
|
|
|
11488
11581
|
const address = useLumiaPassportSession((st) => st.address);
|
|
11489
11582
|
const page = useLayoutDataStore((st) => st.page);
|
|
11490
11583
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11584
|
+
const layoutView = useLayoutStore((st) => st.layoutView);
|
|
11491
11585
|
const txContainerListRef = useRef10(null);
|
|
11492
11586
|
const txListRef = useRef10(null);
|
|
11493
11587
|
const [expandedGroups, setExpandedGroups] = useState15({});
|
|
@@ -11502,26 +11596,26 @@ function TransactionsMenu() {
|
|
|
11502
11596
|
queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
|
|
11503
11597
|
queryFn: () => getTransactionsListQuery(address)
|
|
11504
11598
|
});
|
|
11505
|
-
const refreshTxHistory =
|
|
11599
|
+
const refreshTxHistory = useCallback16(
|
|
11506
11600
|
() => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address] }),
|
|
11507
11601
|
[qc, address]
|
|
11508
11602
|
);
|
|
11509
11603
|
const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
|
|
11510
|
-
|
|
11604
|
+
useEffect26(() => {
|
|
11511
11605
|
if (!txContainerListRef.current || !txListRef.current) return;
|
|
11512
|
-
|
|
11513
|
-
|
|
11514
|
-
|
|
11515
|
-
|
|
11516
|
-
|
|
11517
|
-
|
|
11518
|
-
|
|
11519
|
-
|
|
11520
|
-
|
|
11521
|
-
|
|
11522
|
-
|
|
11523
|
-
|
|
11524
|
-
}, []);
|
|
11606
|
+
const listTargetHeight = MAX_CONTENT_HEIGHTS[layoutView] - 128;
|
|
11607
|
+
txContainerListRef.current.style.setProperty("--l-pass-scrollbar-mah", `${listTargetHeight}px`);
|
|
11608
|
+
txContainerListRef.current.style.setProperty(
|
|
11609
|
+
"--l-pass-list-bd",
|
|
11610
|
+
txListRef.current.clientHeight >= listTargetHeight ? "var(--l-pass-bd)" : "var(--l-pass-bg)"
|
|
11611
|
+
// hide border if no scrollbar
|
|
11612
|
+
);
|
|
11613
|
+
txContainerListRef.current.style.setProperty(
|
|
11614
|
+
"--l-pass-list-scrollbar-pd-r",
|
|
11615
|
+
txListRef.current.clientHeight >= listTargetHeight ? "4px" : "0px"
|
|
11616
|
+
// remove padding if no scrollbar
|
|
11617
|
+
);
|
|
11618
|
+
}, [layoutView]);
|
|
11525
11619
|
return /* @__PURE__ */ jsxs49("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
11526
11620
|
/* @__PURE__ */ jsxs49("div", { className: "flex items-center gap-2", children: [
|
|
11527
11621
|
/* @__PURE__ */ jsx59(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx59(ArrowLeft14, { className: "h-4 w-4" }) }),
|
|
@@ -11549,7 +11643,10 @@ function TransactionsMenu() {
|
|
|
11549
11643
|
"div",
|
|
11550
11644
|
{
|
|
11551
11645
|
ref: txContainerListRef,
|
|
11552
|
-
style: {
|
|
11646
|
+
style: {
|
|
11647
|
+
borderTop: "1px solid var(--l-pass-list-bd)",
|
|
11648
|
+
borderBottom: "1px solid var(--l-pass-list-bd)"
|
|
11649
|
+
},
|
|
11553
11650
|
className: "list-scrollbar-y relative",
|
|
11554
11651
|
children: /* @__PURE__ */ jsx59("div", { ref: txListRef, className: "w-full flex flex-col gap-[var(--l-pass-gap)] py-[var(--l-pass-pd)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx59(
|
|
11555
11652
|
TransactionsGroup,
|
|
@@ -11675,7 +11772,7 @@ function usePageMapper() {
|
|
|
11675
11772
|
setIsDialogOpen,
|
|
11676
11773
|
setIsDialogClosing
|
|
11677
11774
|
} = useLayoutStore();
|
|
11678
|
-
const closeDialog =
|
|
11775
|
+
const closeDialog = useCallback17(() => {
|
|
11679
11776
|
setIsDialogClosing(true);
|
|
11680
11777
|
setTimeout(() => {
|
|
11681
11778
|
setDialogContent(null);
|
|
@@ -11686,7 +11783,7 @@ function usePageMapper() {
|
|
|
11686
11783
|
setIsDialogOpen(false);
|
|
11687
11784
|
}, CLEAR_DIALOG_TIMEOUT);
|
|
11688
11785
|
}, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
|
|
11689
|
-
const openDialog =
|
|
11786
|
+
const openDialog = useCallback17(
|
|
11690
11787
|
(pageItem) => {
|
|
11691
11788
|
const PageContentComponent = pageItem.component;
|
|
11692
11789
|
setDialogTitle(pageItem.title);
|
|
@@ -11696,7 +11793,7 @@ function usePageMapper() {
|
|
|
11696
11793
|
},
|
|
11697
11794
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
11698
11795
|
);
|
|
11699
|
-
|
|
11796
|
+
useEffect27(() => {
|
|
11700
11797
|
if (page === null) return closeDialog();
|
|
11701
11798
|
const pageItem = protectedRoutes[page];
|
|
11702
11799
|
if (!pageItem) {
|
|
@@ -11710,7 +11807,7 @@ function usePageMapper() {
|
|
|
11710
11807
|
|
|
11711
11808
|
// src/internal/hooks/useSettingsNotifications.ts
|
|
11712
11809
|
init_auth();
|
|
11713
|
-
import { useEffect as
|
|
11810
|
+
import { useEffect as useEffect28 } from "react";
|
|
11714
11811
|
var EMAIL_NOT_CONNECTED_NOTIFICATION = {
|
|
11715
11812
|
id: "email-not-connected",
|
|
11716
11813
|
target: "manage-wallet" /* MANAGE_WALLET */,
|
|
@@ -11726,13 +11823,13 @@ function useSettingsNotifications() {
|
|
|
11726
11823
|
const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
|
|
11727
11824
|
const providers = jwtTokenManager2.getProviders();
|
|
11728
11825
|
const hasEmail = providers.includes("email");
|
|
11729
|
-
|
|
11826
|
+
useEffect28(() => {
|
|
11730
11827
|
setSettingsNotifications({
|
|
11731
11828
|
...BACKUP_IS_NOT_CREATED_NOTIFICATION,
|
|
11732
11829
|
status: hasServerVault ? "resolved" : "active"
|
|
11733
11830
|
});
|
|
11734
11831
|
}, [hasServerVault, setSettingsNotifications]);
|
|
11735
|
-
|
|
11832
|
+
useEffect28(() => {
|
|
11736
11833
|
setSettingsNotifications({
|
|
11737
11834
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
11738
11835
|
status: hasEmail ? "resolved" : "active"
|
|
@@ -11741,7 +11838,7 @@ function useSettingsNotifications() {
|
|
|
11741
11838
|
}
|
|
11742
11839
|
|
|
11743
11840
|
// src/internal/hooks/useWalletStatus.ts
|
|
11744
|
-
import { useEffect as
|
|
11841
|
+
import { useEffect as useEffect29 } from "react";
|
|
11745
11842
|
init_auth();
|
|
11746
11843
|
function useWalletStatus() {
|
|
11747
11844
|
const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
|
|
@@ -11751,7 +11848,7 @@ function useWalletStatus() {
|
|
|
11751
11848
|
config: { current: config },
|
|
11752
11849
|
callbacks
|
|
11753
11850
|
} = useLumiaPassportConfig();
|
|
11754
|
-
|
|
11851
|
+
useEffect29(() => {
|
|
11755
11852
|
if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
|
|
11756
11853
|
const userId = jwtTokenManager2.getUserId();
|
|
11757
11854
|
const hasKeyshare = jwtTokenManager2.getHasKeyshare();
|
|
@@ -11773,26 +11870,27 @@ function useWalletStatus() {
|
|
|
11773
11870
|
// src/internal/components/Dialog/LumiaPassportDialog.tsx
|
|
11774
11871
|
import { jsx as jsx61, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
11775
11872
|
function LumiaPassportDialog() {
|
|
11776
|
-
const
|
|
11777
|
-
|
|
11778
|
-
|
|
11779
|
-
const className = config?.ui?.dialogClassName;
|
|
11873
|
+
const config = useLumiaPassportConfig().config;
|
|
11874
|
+
const isWalletLinking = useManageWalletStore((st) => st.isWalletLinking);
|
|
11875
|
+
const className = config.current?.ui?.dialogClassName;
|
|
11780
11876
|
const session = useLumiaPassportSession((st) => st.session);
|
|
11781
11877
|
const page = useLayoutDataStore((st) => st.page);
|
|
11782
11878
|
const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
|
|
11783
11879
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11784
11880
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
11785
|
-
|
|
11881
|
+
useEffect30(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
11786
11882
|
usePageMapper();
|
|
11787
11883
|
useAutoConnect();
|
|
11788
11884
|
useCheckVaultStatus();
|
|
11789
11885
|
useBackupStatusChanges();
|
|
11886
|
+
useDetectLayoutView();
|
|
11790
11887
|
useSettingsNotifications();
|
|
11791
11888
|
useWalletStatus();
|
|
11792
11889
|
return /* @__PURE__ */ jsx61(
|
|
11793
11890
|
Dialog,
|
|
11794
11891
|
{
|
|
11795
11892
|
open: isDialogOpen,
|
|
11893
|
+
modal: !isWalletLinking,
|
|
11796
11894
|
onOpenChange: (open) => {
|
|
11797
11895
|
if (isDialogForced) return;
|
|
11798
11896
|
if (!open) setPage(null);
|
|
@@ -11820,7 +11918,7 @@ function LumiaPassportDialog() {
|
|
|
11820
11918
|
}
|
|
11821
11919
|
|
|
11822
11920
|
// src/internal/components/TssManager.tsx
|
|
11823
|
-
import React13, { useCallback as
|
|
11921
|
+
import React13, { useCallback as useCallback18 } from "react";
|
|
11824
11922
|
init_auth();
|
|
11825
11923
|
init_clients();
|
|
11826
11924
|
var TssManagerWithRef = React13.forwardRef((props, ref) => {
|
|
@@ -11829,7 +11927,7 @@ var TssManagerWithRef = React13.forwardRef((props, ref) => {
|
|
|
11829
11927
|
const setStatus = useLumiaPassportSession((st) => st.setStatus);
|
|
11830
11928
|
const setSession = useLumiaPassportSession((st) => st.setSession);
|
|
11831
11929
|
const setAddress = useLumiaPassportSession((st) => st.setAddress);
|
|
11832
|
-
const onSessionCreated =
|
|
11930
|
+
const onSessionCreated = useCallback18(
|
|
11833
11931
|
(session, address) => {
|
|
11834
11932
|
setSession(session);
|
|
11835
11933
|
setAddress(address);
|
|
@@ -11865,40 +11963,45 @@ var TssManagerWithRef = React13.forwardRef((props, ref) => {
|
|
|
11865
11963
|
init_wallet();
|
|
11866
11964
|
import { useConnectModal } from "@rainbow-me/rainbowkit";
|
|
11867
11965
|
import { useQueryClient as useQueryClient12 } from "@tanstack/react-query";
|
|
11868
|
-
import React14, { useCallback as
|
|
11966
|
+
import React14, { useCallback as useCallback19, useEffect as useEffect31 } from "react";
|
|
11869
11967
|
import { useAccount, useDisconnect, useSignMessage } from "wagmi";
|
|
11870
11968
|
function WalletConnectHandler() {
|
|
11871
11969
|
const qc = useQueryClient12();
|
|
11872
11970
|
const { callbacks } = useLumiaPassportConfig();
|
|
11873
|
-
const
|
|
11971
|
+
const userAddress = useLumiaPassportSession((st) => st.address);
|
|
11972
|
+
const { address: walletAddress, isConnected, chain, connector } = useAccount();
|
|
11874
11973
|
const { disconnect } = useDisconnect();
|
|
11875
11974
|
const { signMessageAsync } = useSignMessage();
|
|
11876
11975
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11877
11976
|
const { isWalletLinking, setLinkError, setIsWalletLinking, setLinkIsLoading, setProviderType } = useManageWalletStore();
|
|
11878
|
-
const onError =
|
|
11977
|
+
const onError = useCallback19((error) => {
|
|
11879
11978
|
setLinkError(error);
|
|
11880
11979
|
setIsWalletLinking(false);
|
|
11881
11980
|
setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
11882
11981
|
}, []);
|
|
11883
|
-
const onLinkingComplete =
|
|
11982
|
+
const onLinkingComplete = useCallback19(async (success) => {
|
|
11983
|
+
console.log("[WalletConnectHandler] onLinkingComplete called:", { success, userAddress });
|
|
11984
|
+
setIsWalletLinking(false);
|
|
11884
11985
|
if (success) {
|
|
11885
|
-
|
|
11886
|
-
|
|
11986
|
+
setProviderType(null);
|
|
11987
|
+
setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
11988
|
+
console.log("[WalletConnectHandler] Invalidating and refetching queries with key:", [PROVIDERS_QUERY_KEY, userAddress]);
|
|
11989
|
+
await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, userAddress], refetchType: "active" });
|
|
11990
|
+
await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, userAddress], refetchType: "active" });
|
|
11991
|
+
await qc.refetchQueries({ queryKey: [PROVIDERS_QUERY_KEY, userAddress] });
|
|
11887
11992
|
try {
|
|
11888
|
-
callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY,
|
|
11993
|
+
callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, userAddress]) });
|
|
11889
11994
|
} catch {
|
|
11890
11995
|
}
|
|
11891
|
-
setProviderType(null);
|
|
11892
|
-
setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
11893
11996
|
}
|
|
11894
|
-
|
|
11895
|
-
|
|
11896
|
-
const { openConnectModal } = useConnectModal();
|
|
11997
|
+
}, [qc, userAddress, callbacks, setProviderType, setPage, setIsWalletLinking]);
|
|
11998
|
+
const { openConnectModal, connectModalOpen } = useConnectModal();
|
|
11897
11999
|
const [hasStartedLinking, setHasStartedLinking] = React14.useState(false);
|
|
11898
12000
|
const timeoutRef = React14.useRef();
|
|
11899
|
-
|
|
12001
|
+
useEffect31(() => {
|
|
11900
12002
|
if (isWalletLinking && !hasStartedLinking) {
|
|
11901
12003
|
setHasStartedLinking(true);
|
|
12004
|
+
setProviderType(null);
|
|
11902
12005
|
if (isConnected) {
|
|
11903
12006
|
disconnect();
|
|
11904
12007
|
setTimeout(() => {
|
|
@@ -11911,12 +12014,6 @@ function WalletConnectHandler() {
|
|
|
11911
12014
|
openConnectModal();
|
|
11912
12015
|
}
|
|
11913
12016
|
}
|
|
11914
|
-
timeoutRef.current = setTimeout(() => {
|
|
11915
|
-
if (!isConnected && isWalletLinking) {
|
|
11916
|
-
onLinkingComplete(false);
|
|
11917
|
-
setHasStartedLinking(false);
|
|
11918
|
-
}
|
|
11919
|
-
}, 3e4);
|
|
11920
12017
|
}
|
|
11921
12018
|
if (!isWalletLinking && hasStartedLinking) {
|
|
11922
12019
|
setHasStartedLinking(false);
|
|
@@ -11928,16 +12025,24 @@ function WalletConnectHandler() {
|
|
|
11928
12025
|
}
|
|
11929
12026
|
}
|
|
11930
12027
|
}, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect]);
|
|
11931
|
-
|
|
11932
|
-
|
|
12028
|
+
useEffect31(() => {
|
|
12029
|
+
console.log("[WalletConnectHandler] Modal state check:", { hasStartedLinking, connectModalOpen, isConnected, isWalletLinking });
|
|
12030
|
+
if (hasStartedLinking && !connectModalOpen && !isConnected && isWalletLinking) {
|
|
12031
|
+
console.log("[WalletConnectHandler] Modal closed without connecting, resetting state");
|
|
12032
|
+
onLinkingComplete(false);
|
|
12033
|
+
setHasStartedLinking(false);
|
|
12034
|
+
}
|
|
12035
|
+
}, [connectModalOpen, hasStartedLinking, isConnected, isWalletLinking]);
|
|
12036
|
+
useEffect31(() => {
|
|
12037
|
+
if (isConnected && walletAddress && isWalletLinking && hasStartedLinking) {
|
|
11933
12038
|
handleWalletSign();
|
|
11934
12039
|
}
|
|
11935
|
-
}, [isConnected,
|
|
12040
|
+
}, [isConnected, walletAddress, isWalletLinking, hasStartedLinking]);
|
|
11936
12041
|
const handleWalletSign = async () => {
|
|
11937
12042
|
if (timeoutRef.current) {
|
|
11938
12043
|
clearTimeout(timeoutRef.current);
|
|
11939
12044
|
}
|
|
11940
|
-
if (!
|
|
12045
|
+
if (!walletAddress || !chain) {
|
|
11941
12046
|
onError("No wallet connected");
|
|
11942
12047
|
disconnect();
|
|
11943
12048
|
onLinkingComplete(false);
|
|
@@ -11946,7 +12051,7 @@ function WalletConnectHandler() {
|
|
|
11946
12051
|
}
|
|
11947
12052
|
try {
|
|
11948
12053
|
setLinkIsLoading(true);
|
|
11949
|
-
const message = createSignatureMessage(
|
|
12054
|
+
const message = createSignatureMessage(walletAddress);
|
|
11950
12055
|
const signature = await signMessageAsync({ message });
|
|
11951
12056
|
if (!signature) {
|
|
11952
12057
|
throw new Error("Failed to get signature");
|
|
@@ -11959,7 +12064,7 @@ function WalletConnectHandler() {
|
|
|
11959
12064
|
connectorInfo: connector
|
|
11960
12065
|
});
|
|
11961
12066
|
await linkWallet({
|
|
11962
|
-
address,
|
|
12067
|
+
address: walletAddress,
|
|
11963
12068
|
signature,
|
|
11964
12069
|
message,
|
|
11965
12070
|
chainId: chain.id,
|
|
@@ -12073,9 +12178,9 @@ function LumiaPassportProvider(props) {
|
|
|
12073
12178
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
12074
12179
|
const setIsIframeReady = useLumiaPassportSession((st) => st.setIsIframeReady);
|
|
12075
12180
|
const setWalletReadyStatus = useLumiaPassportSession((st) => st.setWalletReadyStatus);
|
|
12076
|
-
|
|
12181
|
+
useEffect32(() => notifyNoProjetctId(projectId), [projectId]);
|
|
12077
12182
|
const config = useRef11({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
|
|
12078
|
-
const updateConfig =
|
|
12183
|
+
const updateConfig = useCallback20((updates) => {
|
|
12079
12184
|
const prev = config.current;
|
|
12080
12185
|
const next = { ...prev };
|
|
12081
12186
|
if (updates.projectId !== void 0) next.projectId = updates.projectId;
|
|
@@ -12110,7 +12215,7 @@ function LumiaPassportProvider(props) {
|
|
|
12110
12215
|
}
|
|
12111
12216
|
config.current = next;
|
|
12112
12217
|
}, []);
|
|
12113
|
-
|
|
12218
|
+
useEffect32(() => {
|
|
12114
12219
|
if (typeof window === "undefined" || !projectId) return;
|
|
12115
12220
|
const mergedConfig = merge(DEFAULT_LUMIA_PASSPORT_CONFIG, initialConfig);
|
|
12116
12221
|
updateConfig(mergedConfig);
|
|
@@ -12166,7 +12271,7 @@ var useLumiaPassportConfig = () => {
|
|
|
12166
12271
|
|
|
12167
12272
|
// src/components/ConnectWalletButton.tsx
|
|
12168
12273
|
import { Cloud as Cloud3, Laptop as Laptop2, Loader as Loader19, Shield as Shield2 } from "lucide-react";
|
|
12169
|
-
import { useEffect as
|
|
12274
|
+
import { useEffect as useEffect33, useMemo as useMemo4 } from "react";
|
|
12170
12275
|
init_auth();
|
|
12171
12276
|
import { Fragment as Fragment16, jsx as jsx65, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
12172
12277
|
function getFormattedStatus(label, status, showStatus) {
|
|
@@ -12186,7 +12291,7 @@ function ConnectWalletButton(props) {
|
|
|
12186
12291
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
12187
12292
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
|
|
12188
12293
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
12189
|
-
|
|
12294
|
+
useEffect33(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
12190
12295
|
const avatar = jwtTokenManager2.getAvatar();
|
|
12191
12296
|
const displayName = jwtTokenManager2.getDisplayName();
|
|
12192
12297
|
const indicators = useMemo4(() => {
|
|
@@ -12344,13 +12449,13 @@ var useLumiaPassportRecoveryUserId = () => useLumiaPassportSession((st) => st.re
|
|
|
12344
12449
|
var useLumiaPassportHasServerVault = () => useLumiaPassportSession((st) => st.hasServerVault);
|
|
12345
12450
|
|
|
12346
12451
|
// src/hooks/useLumiaPassportOpen.ts
|
|
12347
|
-
import { useCallback as
|
|
12452
|
+
import { useCallback as useCallback21 } from "react";
|
|
12348
12453
|
function useLumiaPassportOpen() {
|
|
12349
12454
|
const page = useLayoutDataStore((st) => st.page);
|
|
12350
12455
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
12351
12456
|
const setPageParams = useLayoutDataStore((st) => st.setPageParams);
|
|
12352
12457
|
const address = useLumiaPassportSession((st) => st.address);
|
|
12353
|
-
const open =
|
|
12458
|
+
const open = useCallback21(
|
|
12354
12459
|
(passportPage, params) => {
|
|
12355
12460
|
if (!address) return setPage("auth" /* AUTH */);
|
|
12356
12461
|
if (!!address && passportPage === "auth" /* AUTH */) return setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
@@ -12359,12 +12464,12 @@ function useLumiaPassportOpen() {
|
|
|
12359
12464
|
},
|
|
12360
12465
|
[setPage, setPageParams, address]
|
|
12361
12466
|
);
|
|
12362
|
-
const close =
|
|
12467
|
+
const close = useCallback21(() => setPage(null), [setPage]);
|
|
12363
12468
|
return { open, close, isOpen: page !== null };
|
|
12364
12469
|
}
|
|
12365
12470
|
|
|
12366
12471
|
// src/hooks/useLumiaPassportColorMode.ts
|
|
12367
|
-
import { useCallback as
|
|
12472
|
+
import { useCallback as useCallback22, useEffect as useEffect34 } from "react";
|
|
12368
12473
|
function useLumiaPassportColorMode() {
|
|
12369
12474
|
const {
|
|
12370
12475
|
config: { current: config }
|
|
@@ -12372,14 +12477,14 @@ function useLumiaPassportColorMode() {
|
|
|
12372
12477
|
const preferedColorMode = config?.preferedColorMode;
|
|
12373
12478
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
12374
12479
|
const handleStoreColorMode = useLayoutStore((st) => st.setColorMode);
|
|
12375
|
-
const setColorMode =
|
|
12480
|
+
const setColorMode = useCallback22(
|
|
12376
12481
|
(mode) => {
|
|
12377
12482
|
localStorage.setItem(LOCAL_COLOR_MODE_KEY, mode);
|
|
12378
12483
|
handleStoreColorMode(mode);
|
|
12379
12484
|
},
|
|
12380
12485
|
[handleStoreColorMode]
|
|
12381
12486
|
);
|
|
12382
|
-
|
|
12487
|
+
useEffect34(() => {
|
|
12383
12488
|
let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
|
|
12384
12489
|
if (!targetColorMode && !preferedColorMode) {
|
|
12385
12490
|
const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
@@ -13042,13 +13147,13 @@ var Hash = ({
|
|
|
13042
13147
|
|
|
13043
13148
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
13044
13149
|
init_base();
|
|
13045
|
-
import { useEffect as
|
|
13150
|
+
import { useEffect as useEffect36, useState as useState19 } from "react";
|
|
13046
13151
|
import { jsx as jsx72, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
13047
13152
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
13048
13153
|
const [transactions, setTransactions] = useState19([]);
|
|
13049
13154
|
const [loading, setLoading] = useState19(true);
|
|
13050
13155
|
const [error, setError] = useState19(null);
|
|
13051
|
-
|
|
13156
|
+
useEffect36(() => {
|
|
13052
13157
|
const fetchTransactions = async () => {
|
|
13053
13158
|
try {
|
|
13054
13159
|
setLoading(true);
|
|
@@ -13350,11 +13455,11 @@ function useUserOpStatus(options = {}) {
|
|
|
13350
13455
|
|
|
13351
13456
|
// src/hooks/useLogout.ts
|
|
13352
13457
|
import { logout as coreLogout, jwtTokenManager as jwtTokenManager3 } from "@lumiapassport/core/auth";
|
|
13353
|
-
import { useCallback as
|
|
13458
|
+
import { useCallback as useCallback25 } from "react";
|
|
13354
13459
|
function useLogout() {
|
|
13355
13460
|
const { setSession, setIsLoading, setAddress, setStatus, setError, address } = useLumiaPassportSession();
|
|
13356
13461
|
const { callbacks } = useLumiaPassportConfig();
|
|
13357
|
-
const logout2 =
|
|
13462
|
+
const logout2 = useCallback25(async () => {
|
|
13358
13463
|
const prevAddress = address;
|
|
13359
13464
|
let userId = null;
|
|
13360
13465
|
setIsLoading(true);
|