@lumiapassport/ui-kit 1.13.9 → 1.13.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/iframe/index.html +1 -1
- package/dist/iframe/main.js +1 -1
- package/dist/index.cjs +465 -463
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +268 -266
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -4297,17 +4297,17 @@ __export(index_exports, {
|
|
|
4297
4297
|
module.exports = __toCommonJS(index_exports);
|
|
4298
4298
|
|
|
4299
4299
|
// src/styles/built.css
|
|
4300
|
-
var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .mb-\\[var\\(--l-pass-gap\\)\\]{margin-bottom:var(--l-pass-gap)}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[32px\\]{height:32px}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[var\\(--l-pass-maw\\)\\]{max-width:var(--l-pass-maw)}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-error)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-error)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-800\\/80{border-color:rgba(153,27,27,.8)}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-success\\)\\]{background-color:var(--l-pass-success)}.lumia-scope .bg-\\[var\\(--l-pass-warning\\)\\]{background-color:var(--l-pass-warning)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-primary\\)\\]{color:var(--l-pass-primary)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-600\\/90{color:rgba(220,38,38,.9)}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,320px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}[data-rk]{z-index:99999!important}[data-rk-modal-overlay]{z-index:99998!important}.lumia-scope .file\\:mr-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{margin-right:var(--l-pass-pd)}.lumia-scope .file\\:h-8::file-selector-button{height:2rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
|
|
4300
|
+
var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .mb-\\[var\\(--l-pass-gap\\)\\]{margin-bottom:var(--l-pass-gap)}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[32px\\]{height:32px}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[var\\(--l-pass-maw\\)\\]{max-width:var(--l-pass-maw)}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-error)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-error)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-800\\/80{border-color:rgba(153,27,27,.8)}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-success\\)\\]{background-color:var(--l-pass-success)}.lumia-scope .bg-\\[var\\(--l-pass-warning\\)\\]{background-color:var(--l-pass-warning)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-primary\\)\\]{color:var(--l-pass-primary)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-600\\/90{color:rgba(220,38,38,.9)}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,320px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope .file\\:mr-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{margin-right:var(--l-pass-pd)}.lumia-scope .file\\:h-8::file-selector-button{height:2rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
|
|
4301
4301
|
|
|
4302
4302
|
// src/context/LumiaPassportContext.tsx
|
|
4303
4303
|
var import_error_tracking4 = require("@lumiapassport/core/internal/error-tracking");
|
|
4304
|
-
var
|
|
4305
|
-
var
|
|
4304
|
+
var import_lodash_es4 = require("lodash-es");
|
|
4305
|
+
var import_react50 = require("react");
|
|
4306
4306
|
init_lumiaPassport();
|
|
4307
4307
|
init_iframe_manager();
|
|
4308
4308
|
|
|
4309
4309
|
// src/context/LumiaPassportSessionContext.tsx
|
|
4310
|
-
var
|
|
4310
|
+
var import_react49 = require("react");
|
|
4311
4311
|
var import_zustand5 = require("zustand");
|
|
4312
4312
|
|
|
4313
4313
|
// src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
|
|
@@ -4325,13 +4325,7 @@ init_assets();
|
|
|
4325
4325
|
var DEFAULT_AUTH_MENU_HEIGHT = 253;
|
|
4326
4326
|
var DEFAULT_MAIN_MENU_HEIGHT = 90;
|
|
4327
4327
|
var DEFAULT_SETTINGS_MENU_HEIGHT = 346;
|
|
4328
|
-
var
|
|
4329
|
-
mobileSM: 384,
|
|
4330
|
-
mobileXL: 384,
|
|
4331
|
-
tablet: 512,
|
|
4332
|
-
laptop: 640,
|
|
4333
|
-
desktop: 768
|
|
4334
|
-
};
|
|
4328
|
+
var MAX_CONTENT_HEIGHT = 640;
|
|
4335
4329
|
var MAIN_DIALOG_ANIMATION_SPEED = 375;
|
|
4336
4330
|
var Y_ANIMATION_SETUP = { duration: 0.15, ease: "easeInOut", height: { duration: 0.375 } };
|
|
4337
4331
|
var LOCAL_COLOR_MODE_KEY = "lumia-passport-theme";
|
|
@@ -4611,12 +4605,12 @@ function BalanceFeedProvider() {
|
|
|
4611
4605
|
|
|
4612
4606
|
// src/internal/components/Dialog/LumiaPassportDialog.tsx
|
|
4613
4607
|
var import_framer_motion4 = require("framer-motion");
|
|
4614
|
-
var
|
|
4608
|
+
var import_react46 = require("react");
|
|
4615
4609
|
|
|
4616
4610
|
// package.json
|
|
4617
4611
|
var package_default = {
|
|
4618
4612
|
name: "@lumiapassport/ui-kit",
|
|
4619
|
-
version: "1.13.
|
|
4613
|
+
version: "1.13.10",
|
|
4620
4614
|
description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
|
|
4621
4615
|
type: "module",
|
|
4622
4616
|
main: "./dist/index.cjs",
|
|
@@ -5156,47 +5150,20 @@ function Header() {
|
|
|
5156
5150
|
{
|
|
5157
5151
|
}
|
|
5158
5152
|
|
|
5159
|
-
// src/internal/components/ManageWalletMenu/hooks/useStore.ts
|
|
5160
|
-
var import_zustand2 = require("zustand");
|
|
5161
|
-
var useManageWalletStore = (0, import_zustand2.create)((set) => ({
|
|
5162
|
-
emailStep: "input",
|
|
5163
|
-
email: "",
|
|
5164
|
-
emailCode: "",
|
|
5165
|
-
emailCodeSentError: "",
|
|
5166
|
-
emailCodeExpiresIn: 0,
|
|
5167
|
-
isWalletLinking: false,
|
|
5168
|
-
linkIsLoading: false,
|
|
5169
|
-
linkError: "",
|
|
5170
|
-
verificationError: "",
|
|
5171
|
-
providerType: null,
|
|
5172
|
-
confirmUnlink: null,
|
|
5173
|
-
setEmailStep: (emailStep) => set({ emailStep }),
|
|
5174
|
-
setEmail: (email) => set({ email }),
|
|
5175
|
-
setEmailCode: (emailCode) => set({ emailCode }),
|
|
5176
|
-
setEmailCodeSentError: (emailCodeSentError) => set({ emailCodeSentError }),
|
|
5177
|
-
setEmailCodeExpiresIn: (emailCodeExpiresIn) => set({ emailCodeExpiresIn }),
|
|
5178
|
-
setIsWalletLinking: (isWalletLinking) => set({ isWalletLinking }),
|
|
5179
|
-
setLinkIsLoading: (linkIsLoading) => set({ linkIsLoading }),
|
|
5180
|
-
setLinkError: (linkError) => set({ linkError }),
|
|
5181
|
-
setVerificationError: (verificationError) => set({ verificationError }),
|
|
5182
|
-
setProviderType: (providerType) => {
|
|
5183
|
-
console.log("[ManageWalletStore] setProviderType called with:", providerType, new Error().stack);
|
|
5184
|
-
set({ providerType });
|
|
5185
|
-
},
|
|
5186
|
-
setConfirmUnlink: (confirmUnlink) => set({ confirmUnlink })
|
|
5187
|
-
}));
|
|
5188
|
-
|
|
5189
5153
|
// src/internal/components/ui/dialog.tsx
|
|
5190
5154
|
var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
5155
|
+
var import_lodash_es = require("lodash-es");
|
|
5191
5156
|
var import_lucide_react5 = require("lucide-react");
|
|
5192
|
-
var
|
|
5157
|
+
var import_react5 = require("react");
|
|
5193
5158
|
|
|
5194
5159
|
// src/internal/hooks/useLayoutStore.ts
|
|
5195
|
-
var
|
|
5196
|
-
var useLayoutStore = (0,
|
|
5160
|
+
var import_zustand2 = require("zustand");
|
|
5161
|
+
var useLayoutStore = (0, import_zustand2.create)((set) => ({
|
|
5197
5162
|
colorMode: "light",
|
|
5198
|
-
layoutView:
|
|
5163
|
+
// layoutView: 'desktop',
|
|
5199
5164
|
// deviceType: 'non-touch',
|
|
5165
|
+
isMobileView: false,
|
|
5166
|
+
maxScrollHeight: MAX_CONTENT_HEIGHT,
|
|
5200
5167
|
isDialogClosing: false,
|
|
5201
5168
|
isDialogOpen: false,
|
|
5202
5169
|
isDialogForced: false,
|
|
@@ -5205,8 +5172,10 @@ var useLayoutStore = (0, import_zustand3.create)((set) => ({
|
|
|
5205
5172
|
dialogContent: null,
|
|
5206
5173
|
isSettings: false,
|
|
5207
5174
|
setColorMode: (colorMode) => set({ colorMode }),
|
|
5208
|
-
setLayoutView: (layoutView) => set(() => ({ layoutView })),
|
|
5175
|
+
// setLayoutView: (layoutView) => set(() => ({ layoutView })),
|
|
5209
5176
|
// setDeviceType: (deviceType) => set(() => ({ deviceType })),
|
|
5177
|
+
setIsMobileView: (isMobileView) => set({ isMobileView }),
|
|
5178
|
+
setMaxScrollHeight: (maxScrollHeight) => set({ maxScrollHeight }),
|
|
5210
5179
|
setIsDialogClosing: (isDialogClosing) => set({ isDialogClosing }),
|
|
5211
5180
|
setIsDialogOpen: (isDialogOpen) => set({ isDialogOpen }),
|
|
5212
5181
|
setIsDialogForced: (isDialogForced) => set({ isDialogForced }),
|
|
@@ -5220,7 +5189,7 @@ var useLayoutStore = (0, import_zustand3.create)((set) => ({
|
|
|
5220
5189
|
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
5221
5190
|
var Dialog = DialogPrimitive.Root;
|
|
5222
5191
|
var DialogPortal = DialogPrimitive.Portal;
|
|
5223
|
-
var DialogOverlay =
|
|
5192
|
+
var DialogOverlay = (0, import_react5.forwardRef)(
|
|
5224
5193
|
({ className, closing, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
5225
5194
|
DialogPrimitive.Overlay,
|
|
5226
5195
|
{
|
|
@@ -5236,97 +5205,101 @@ var DialogOverlay = React2.forwardRef(
|
|
|
5236
5205
|
)
|
|
5237
5206
|
);
|
|
5238
5207
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
5239
|
-
|
|
5208
|
+
function useDecideContentStyles() {
|
|
5209
|
+
const isMobileView = useLayoutStore((st) => st.isMobileView);
|
|
5210
|
+
const isDialogOpen = useLayoutStore((st) => st.isDialogOpen);
|
|
5211
|
+
const isDialogClosing = useLayoutStore((st) => st.isDialogClosing);
|
|
5212
|
+
const isClosing = isDialogOpen && isDialogClosing;
|
|
5213
|
+
console.log("[IS_MOBILE_VIEW]", isMobileView);
|
|
5214
|
+
const mobileStyles = isMobileView ? { "--l-pass-maw": "100%", "--l-pass-bdrs": "20px 20px 0px 0px" } : {};
|
|
5215
|
+
return {
|
|
5216
|
+
isClosing,
|
|
5217
|
+
isMobileView,
|
|
5218
|
+
style: (0, import_lodash_es.merge)({}, mobileStyles)
|
|
5219
|
+
};
|
|
5220
|
+
}
|
|
5221
|
+
var CONTENT_BG_SETUP = {
|
|
5222
|
+
backgroundColor: "var(--l-pass-bg)",
|
|
5223
|
+
border: "1px solid var(--l-pass-bd)",
|
|
5224
|
+
boxShadow: "0px 4px 10px var(--l-pass-shadow-c)"
|
|
5225
|
+
};
|
|
5226
|
+
var DialogContent = (0, import_react5.forwardRef)(
|
|
5240
5227
|
({ className, children, hideClose, colorMode, ...props }, ref) => {
|
|
5241
5228
|
const isSettings = useLayoutStore((st) => st.isSettings);
|
|
5242
|
-
const isDialogOpen = useLayoutStore((st) => st.isDialogOpen);
|
|
5243
|
-
const isDialogClosing = useLayoutStore((st) => st.isDialogClosing);
|
|
5244
|
-
const isWalletLinking = useManageWalletStore((st) => st.isWalletLinking);
|
|
5245
5229
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
5246
5230
|
const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
|
|
5247
|
-
const
|
|
5248
|
-
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
5249
|
-
|
|
5250
|
-
|
|
5251
|
-
|
|
5252
|
-
|
|
5253
|
-
|
|
5254
|
-
|
|
5255
|
-
|
|
5256
|
-
|
|
5257
|
-
|
|
5231
|
+
const { isMobileView, isClosing, style } = useDecideContentStyles();
|
|
5232
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "lumia-scope", "data-lumia-passport-mode": colorMode, style, children: [
|
|
5233
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogOverlay, { closing: isClosing }),
|
|
5234
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
5235
|
+
"div",
|
|
5236
|
+
{
|
|
5237
|
+
className: cn(
|
|
5238
|
+
"fixed inset-0 z-[9999] flex items-center justify-center pointer-events-none",
|
|
5239
|
+
isClosing ? "animate-dialog-out" : "animate-dialog-in",
|
|
5240
|
+
isMobileView ? "items-end" : "items-center"
|
|
5241
|
+
),
|
|
5242
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
5243
|
+
DialogPrimitive.Content,
|
|
5258
5244
|
{
|
|
5245
|
+
ref,
|
|
5246
|
+
style: !!className ? void 0 : CONTENT_BG_SETUP,
|
|
5259
5247
|
className: cn(
|
|
5260
|
-
|
|
5261
|
-
|
|
5248
|
+
// isWalletLinking ? 'pointer-events-none' : 'pointer-events-auto',
|
|
5249
|
+
"relative pointer-events-auto w-full",
|
|
5250
|
+
"max-w-[var(--l-pass-maw)] max-h-[95dvh] p-0 gap-0",
|
|
5251
|
+
"text-[var(--l-pass-fg)]",
|
|
5252
|
+
"rounded-[var(--l-pass-bdrs)] overflow-hidden",
|
|
5253
|
+
className
|
|
5262
5254
|
),
|
|
5263
|
-
|
|
5264
|
-
|
|
5265
|
-
|
|
5266
|
-
|
|
5267
|
-
|
|
5268
|
-
|
|
5269
|
-
|
|
5270
|
-
|
|
5271
|
-
|
|
5272
|
-
|
|
5273
|
-
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
|
|
5277
|
-
|
|
5278
|
-
|
|
5279
|
-
|
|
5280
|
-
|
|
5281
|
-
|
|
5282
|
-
|
|
5283
|
-
|
|
5284
|
-
|
|
5285
|
-
|
|
5286
|
-
|
|
5287
|
-
|
|
5288
|
-
|
|
5289
|
-
|
|
5290
|
-
|
|
5291
|
-
|
|
5292
|
-
|
|
5293
|
-
|
|
5294
|
-
|
|
5295
|
-
|
|
5296
|
-
|
|
5297
|
-
|
|
5298
|
-
|
|
5299
|
-
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
|
|
5304
|
-
|
|
5305
|
-
|
|
5306
|
-
"items-center justify-center rounded-full bg-[var(--l-pass-bg-error)]",
|
|
5307
|
-
"text-xs font-semibold text-[var(--l-pass-error)]"
|
|
5308
|
-
),
|
|
5309
|
-
children: settingsNotifications.length
|
|
5310
|
-
}
|
|
5311
|
-
)
|
|
5312
|
-
]
|
|
5313
|
-
}
|
|
5314
|
-
),
|
|
5315
|
-
!hideClose && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Button, { variant: "ghost", size: "icon", className: "w-4 h-4", children: [
|
|
5316
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_lucide_react5.X, { className: "h-4 w-4" }),
|
|
5317
|
-
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "sr-only", children: "Close" })
|
|
5318
|
-
] }) })
|
|
5319
|
-
]
|
|
5320
|
-
}
|
|
5321
|
-
)
|
|
5322
|
-
]
|
|
5323
|
-
}
|
|
5324
|
-
)
|
|
5255
|
+
...props,
|
|
5256
|
+
children: [
|
|
5257
|
+
children,
|
|
5258
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
5259
|
+
"div",
|
|
5260
|
+
{
|
|
5261
|
+
className: cn(
|
|
5262
|
+
"flex items-center justify-center gap-[var(--l-pass-gap)]",
|
|
5263
|
+
"absolute right-[var(--l-pass-pd)] top-[var(--l-pass-pd)]"
|
|
5264
|
+
),
|
|
5265
|
+
children: [
|
|
5266
|
+
isSettings && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
5267
|
+
Button,
|
|
5268
|
+
{
|
|
5269
|
+
variant: "ghost",
|
|
5270
|
+
size: "icon",
|
|
5271
|
+
className: "relative w-4 h-4",
|
|
5272
|
+
onClick: () => setPage("settings" /* SETTINGS */),
|
|
5273
|
+
children: [
|
|
5274
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "sr-only", children: "Settings" }),
|
|
5275
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_lucide_react5.SlidersHorizontal, { className: "w-4 h-4" }),
|
|
5276
|
+
!!settingsNotifications.length && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
5277
|
+
"div",
|
|
5278
|
+
{
|
|
5279
|
+
className: cn(
|
|
5280
|
+
"absolute -top-2 -right-2 flex h-4 w-4",
|
|
5281
|
+
"items-center justify-center rounded-full bg-[var(--l-pass-bg-error)]",
|
|
5282
|
+
"text-xs font-semibold text-[var(--l-pass-error)]"
|
|
5283
|
+
),
|
|
5284
|
+
children: settingsNotifications.length
|
|
5285
|
+
}
|
|
5286
|
+
)
|
|
5287
|
+
]
|
|
5288
|
+
}
|
|
5289
|
+
),
|
|
5290
|
+
!hideClose && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Button, { variant: "ghost", size: "icon", className: "w-4 h-4", children: [
|
|
5291
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_lucide_react5.X, { className: "h-4 w-4" }),
|
|
5292
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "sr-only", children: "Close" })
|
|
5293
|
+
] }) })
|
|
5294
|
+
]
|
|
5295
|
+
}
|
|
5296
|
+
)
|
|
5297
|
+
]
|
|
5325
5298
|
}
|
|
5326
5299
|
)
|
|
5327
|
-
|
|
5328
|
-
|
|
5329
|
-
) });
|
|
5300
|
+
}
|
|
5301
|
+
)
|
|
5302
|
+
] }) });
|
|
5330
5303
|
}
|
|
5331
5304
|
);
|
|
5332
5305
|
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
@@ -5334,7 +5307,7 @@ var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_r
|
|
|
5334
5307
|
DialogHeader.displayName = "DialogHeader";
|
|
5335
5308
|
var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
5336
5309
|
DialogFooter.displayName = "DialogFooter";
|
|
5337
|
-
var DialogTitle =
|
|
5310
|
+
var DialogTitle = (0, import_react5.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
5338
5311
|
DialogPrimitive.Title,
|
|
5339
5312
|
{
|
|
5340
5313
|
ref,
|
|
@@ -5343,7 +5316,7 @@ var DialogTitle = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
5343
5316
|
}
|
|
5344
5317
|
));
|
|
5345
5318
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
5346
|
-
var DialogDescription =
|
|
5319
|
+
var DialogDescription = (0, import_react5.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
|
|
5347
5320
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
5348
5321
|
|
|
5349
5322
|
// src/internal/components/ui/visually-hidden.tsx
|
|
@@ -5351,7 +5324,7 @@ var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
|
5351
5324
|
var VisuallyHidden = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "sr-only absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0", children });
|
|
5352
5325
|
|
|
5353
5326
|
// src/internal/hooks/useAutoConnect.ts
|
|
5354
|
-
var
|
|
5327
|
+
var import_react6 = require("react");
|
|
5355
5328
|
function useAutoConnect() {
|
|
5356
5329
|
const {
|
|
5357
5330
|
config: { current: config },
|
|
@@ -5371,7 +5344,7 @@ function useAutoConnect() {
|
|
|
5371
5344
|
setIsIframeReady,
|
|
5372
5345
|
setIsLoading
|
|
5373
5346
|
} = useLumiaPassportSession();
|
|
5374
|
-
const createSessionWithKeyshare = (0,
|
|
5347
|
+
const createSessionWithKeyshare = (0, import_react6.useCallback)(
|
|
5375
5348
|
async (userId, hasServerKeyshare, isNewUser) => {
|
|
5376
5349
|
try {
|
|
5377
5350
|
try {
|
|
@@ -5405,8 +5378,8 @@ function useAutoConnect() {
|
|
|
5405
5378
|
},
|
|
5406
5379
|
[usePaymaster, setStatus, callbacks]
|
|
5407
5380
|
);
|
|
5408
|
-
const autoConnectAttemptedRef = (0,
|
|
5409
|
-
(0,
|
|
5381
|
+
const autoConnectAttemptedRef = (0, import_react6.useRef)(false);
|
|
5382
|
+
(0, import_react6.useEffect)(() => {
|
|
5410
5383
|
if (autoConnectAttemptedRef.current) return;
|
|
5411
5384
|
setIsLoading(true);
|
|
5412
5385
|
const tryAutoConnect = async (attempt) => {
|
|
@@ -5525,11 +5498,11 @@ function useAutoConnect() {
|
|
|
5525
5498
|
}
|
|
5526
5499
|
|
|
5527
5500
|
// src/internal/hooks/useBackupStatusChanges.ts
|
|
5528
|
-
var
|
|
5501
|
+
var import_react7 = require("react");
|
|
5529
5502
|
init_vaultClient();
|
|
5530
5503
|
function useBackupStatusChanges() {
|
|
5531
5504
|
const setHasServerVault = useLumiaPassportSession((st) => st.setHasServerVault);
|
|
5532
|
-
(0,
|
|
5505
|
+
(0, import_react7.useEffect)(() => {
|
|
5533
5506
|
const handleBackupStatusChanged = async (event) => {
|
|
5534
5507
|
const customEvent = event;
|
|
5535
5508
|
const { method, success } = customEvent.detail || {};
|
|
@@ -5556,7 +5529,7 @@ function useBackupStatusChanges() {
|
|
|
5556
5529
|
|
|
5557
5530
|
// src/internal/hooks/useCheckVaultStatus.ts
|
|
5558
5531
|
var import_react_query5 = require("@tanstack/react-query");
|
|
5559
|
-
var
|
|
5532
|
+
var import_react8 = require("react");
|
|
5560
5533
|
init_vaultClient();
|
|
5561
5534
|
function useCheckVaultStatus() {
|
|
5562
5535
|
const address = useLumiaPassportSession((st) => st.address);
|
|
@@ -5575,37 +5548,29 @@ function useCheckVaultStatus() {
|
|
|
5575
5548
|
setHasServerVault(false);
|
|
5576
5549
|
}
|
|
5577
5550
|
});
|
|
5578
|
-
(0,
|
|
5551
|
+
(0, import_react8.useEffect)(() => {
|
|
5579
5552
|
if (!address) return setHasServerVault(false);
|
|
5580
5553
|
checkVaultStatus();
|
|
5581
5554
|
}, [address, checkVaultStatus]);
|
|
5582
5555
|
}
|
|
5583
5556
|
|
|
5584
|
-
// src/internal/hooks/
|
|
5585
|
-
var
|
|
5586
|
-
var
|
|
5587
|
-
var BREAKPOINTS = {
|
|
5588
|
-
mobileSM: 0,
|
|
5589
|
-
mobileXL: 475,
|
|
5590
|
-
tablet: 960,
|
|
5591
|
-
laptop: 1440,
|
|
5592
|
-
desktop: 1920
|
|
5593
|
-
};
|
|
5557
|
+
// src/internal/hooks/useDetectMaxScrollHeight.ts
|
|
5558
|
+
var import_lodash_es2 = require("lodash-es");
|
|
5559
|
+
var import_react9 = require("react");
|
|
5594
5560
|
var DEBOUNCE_DELAY = 50;
|
|
5595
|
-
function
|
|
5596
|
-
const
|
|
5597
|
-
const
|
|
5598
|
-
|
|
5599
|
-
|
|
5600
|
-
|
|
5601
|
-
|
|
5602
|
-
|
|
5603
|
-
setLayoutView("desktop");
|
|
5561
|
+
function useDetectMaxScrollHeight() {
|
|
5562
|
+
const setIsMobileView = useLayoutStore((state) => state.setIsMobileView);
|
|
5563
|
+
const setMaxScrollHeight = useLayoutStore((state) => state.setMaxScrollHeight);
|
|
5564
|
+
const onResize = (0, import_react9.useCallback)(
|
|
5565
|
+
(0, import_lodash_es2.debounce)(({ width, height }) => {
|
|
5566
|
+
const limContentHeight = height * 0.92 - 116 - 72;
|
|
5567
|
+
setIsMobileView(width < height && (width < 475 || limContentHeight <= MAX_CONTENT_HEIGHT));
|
|
5568
|
+
setMaxScrollHeight(Math.min(limContentHeight, MAX_CONTENT_HEIGHT));
|
|
5604
5569
|
}, DEBOUNCE_DELAY),
|
|
5605
|
-
[
|
|
5570
|
+
[setMaxScrollHeight, setIsMobileView]
|
|
5606
5571
|
);
|
|
5607
|
-
(0,
|
|
5608
|
-
const obs = new ResizeObserver(([entry]) => onResize(entry.contentRect
|
|
5572
|
+
(0, import_react9.useEffect)(() => {
|
|
5573
|
+
const obs = new ResizeObserver(([entry]) => onResize(entry.contentRect));
|
|
5609
5574
|
const doc = window.document.getElementsByTagName("html")[0];
|
|
5610
5575
|
if (doc) obs.observe(doc);
|
|
5611
5576
|
return () => obs.disconnect();
|
|
@@ -5613,19 +5578,19 @@ function useDetectLayoutView() {
|
|
|
5613
5578
|
}
|
|
5614
5579
|
|
|
5615
5580
|
// src/internal/hooks/usePageMapper.tsx
|
|
5616
|
-
var
|
|
5581
|
+
var import_react43 = require("react");
|
|
5617
5582
|
|
|
5618
5583
|
// src/internal/components/AuthMenu/AuthMenu.tsx
|
|
5619
5584
|
var import_framer_motion = require("framer-motion");
|
|
5620
5585
|
var import_lucide_react14 = require("lucide-react");
|
|
5621
|
-
var
|
|
5586
|
+
var import_react19 = require("react");
|
|
5622
5587
|
|
|
5623
5588
|
// src/internal/components/AuthMenu/AuthFailedStep.tsx
|
|
5624
5589
|
var import_lucide_react6 = require("lucide-react");
|
|
5625
5590
|
|
|
5626
5591
|
// src/internal/components/AuthMenu/useAuthStore.ts
|
|
5627
|
-
var
|
|
5628
|
-
var useAuthStore = (0,
|
|
5592
|
+
var import_zustand3 = require("zustand");
|
|
5593
|
+
var useAuthStore = (0, import_zustand3.create)((set) => ({
|
|
5629
5594
|
step: "signin",
|
|
5630
5595
|
alert: null,
|
|
5631
5596
|
email: "",
|
|
@@ -5706,17 +5671,17 @@ function AuthFailedStep() {
|
|
|
5706
5671
|
|
|
5707
5672
|
// src/internal/components/AuthMenu/DisaplayNameStep/DisplayNameInput.tsx
|
|
5708
5673
|
var import_lucide_react7 = require("lucide-react");
|
|
5709
|
-
var
|
|
5674
|
+
var import_react11 = require("react");
|
|
5710
5675
|
init_auth();
|
|
5711
5676
|
init_profile();
|
|
5712
5677
|
|
|
5713
5678
|
// src/internal/components/ui/input.tsx
|
|
5714
|
-
var
|
|
5679
|
+
var import_react10 = __toESM(require("react"), 1);
|
|
5715
5680
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
5716
|
-
var Input =
|
|
5681
|
+
var Input = import_react10.default.forwardRef((props, ref) => {
|
|
5717
5682
|
const { className, disabled, error, Icon, element, ...inputProps } = props;
|
|
5718
|
-
const internalRef = (0,
|
|
5719
|
-
(0,
|
|
5683
|
+
const internalRef = (0, import_react10.useRef)(null);
|
|
5684
|
+
(0, import_react10.useImperativeHandle)(ref, () => internalRef.current);
|
|
5720
5685
|
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: cn("w-full flex flex-col gap-1", className), children: [
|
|
5721
5686
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
5722
5687
|
"div",
|
|
@@ -5762,9 +5727,9 @@ Input.displayName = "Input";
|
|
|
5762
5727
|
// src/internal/components/AuthMenu/DisaplayNameStep/DisplayNameInput.tsx
|
|
5763
5728
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
5764
5729
|
var DisplayNameInput = ({ onComplete, onSkip }) => {
|
|
5765
|
-
const [displayName, setDisplayName] = (0,
|
|
5766
|
-
const [isLoading, setIsLoading] = (0,
|
|
5767
|
-
const [error, setError] = (0,
|
|
5730
|
+
const [displayName, setDisplayName] = (0, import_react11.useState)("");
|
|
5731
|
+
const [isLoading, setIsLoading] = (0, import_react11.useState)(false);
|
|
5732
|
+
const [error, setError] = (0, import_react11.useState)("");
|
|
5768
5733
|
const handleSubmit = async (e) => {
|
|
5769
5734
|
e.preventDefault();
|
|
5770
5735
|
if (!displayName.trim()) {
|
|
@@ -5871,7 +5836,7 @@ function DisplayNameStep(props) {
|
|
|
5871
5836
|
|
|
5872
5837
|
// src/internal/components/AuthMenu/PassKeyStep.tsx
|
|
5873
5838
|
var import_lucide_react8 = require("lucide-react");
|
|
5874
|
-
var
|
|
5839
|
+
var import_react13 = require("react");
|
|
5875
5840
|
|
|
5876
5841
|
// src/internal/assets/PasskeyAddIcon.tsx
|
|
5877
5842
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
@@ -5904,16 +5869,16 @@ function PasskeyAddIcon(props) {
|
|
|
5904
5869
|
init_auth();
|
|
5905
5870
|
|
|
5906
5871
|
// src/internal/components/Expandable/hooks/useExpandable.ts
|
|
5907
|
-
var
|
|
5872
|
+
var import_react12 = require("react");
|
|
5908
5873
|
var useExpandable = (props) => {
|
|
5909
5874
|
const { isExpanded = false, children, initHeight = 0, minHeight = 0 } = props;
|
|
5910
|
-
const expandableRef = (0,
|
|
5911
|
-
const contentRef = (0,
|
|
5912
|
-
(0,
|
|
5875
|
+
const expandableRef = (0, import_react12.useRef)(null);
|
|
5876
|
+
const contentRef = (0, import_react12.useRef)(null);
|
|
5877
|
+
(0, import_react12.useEffect)(() => {
|
|
5913
5878
|
if (!expandableRef.current) return;
|
|
5914
5879
|
expandableRef.current.style.setProperty("--ifo-basic-expandable-h", `${initHeight}px )`);
|
|
5915
5880
|
}, []);
|
|
5916
|
-
const setExpandableHeight = (0,
|
|
5881
|
+
const setExpandableHeight = (0, import_react12.useCallback)(
|
|
5917
5882
|
(isExpnd) => {
|
|
5918
5883
|
if (!contentRef.current || !expandableRef.current) return;
|
|
5919
5884
|
expandableRef.current.style.setProperty(
|
|
@@ -5924,7 +5889,7 @@ var useExpandable = (props) => {
|
|
|
5924
5889
|
// ON_RESIZE_DELEAY),
|
|
5925
5890
|
[minHeight]
|
|
5926
5891
|
);
|
|
5927
|
-
(0,
|
|
5892
|
+
(0, import_react12.useEffect)(() => {
|
|
5928
5893
|
if (!contentRef.current || !expandableRef.current) return;
|
|
5929
5894
|
const obs = new ResizeObserver(() => setExpandableHeight(isExpanded));
|
|
5930
5895
|
obs.observe(expandableRef.current);
|
|
@@ -5988,7 +5953,7 @@ function PassKeyStep(props) {
|
|
|
5988
5953
|
setFailedMessage,
|
|
5989
5954
|
setFailedType
|
|
5990
5955
|
} = useAuthStore();
|
|
5991
|
-
const onPasskeyRegister = (0,
|
|
5956
|
+
const onPasskeyRegister = (0, import_react13.useCallback)(async () => {
|
|
5992
5957
|
setPasskeyError("");
|
|
5993
5958
|
setPasskeyStatus("registering passkey...");
|
|
5994
5959
|
setIsLoading(true);
|
|
@@ -6056,7 +6021,7 @@ function PassKeyStep(props) {
|
|
|
6056
6021
|
setIsLoading(false);
|
|
6057
6022
|
}
|
|
6058
6023
|
}, [onAuthSuccess, setPage, callbacks]);
|
|
6059
|
-
const onPasskeyAuth = (0,
|
|
6024
|
+
const onPasskeyAuth = (0, import_react13.useCallback)(async () => {
|
|
6060
6025
|
setPasskeyError("");
|
|
6061
6026
|
setPasskeyStatus("checking available passkeys...");
|
|
6062
6027
|
setIsLoading(true);
|
|
@@ -6178,7 +6143,7 @@ function PassKeyStep(props) {
|
|
|
6178
6143
|
|
|
6179
6144
|
// src/internal/components/AuthMenu/SignInStep/SignInStep.tsx
|
|
6180
6145
|
var import_lucide_react12 = require("lucide-react");
|
|
6181
|
-
var
|
|
6146
|
+
var import_react15 = require("react");
|
|
6182
6147
|
|
|
6183
6148
|
// src/internal/components/AuthMenu/SignInStep/Email.tsx
|
|
6184
6149
|
init_lumiaPassport();
|
|
@@ -6311,7 +6276,7 @@ function ErrorAlert(props) {
|
|
|
6311
6276
|
|
|
6312
6277
|
// src/internal/components/AuthMenu/SignInStep/Social.tsx
|
|
6313
6278
|
var import_lucide_react11 = require("lucide-react");
|
|
6314
|
-
var
|
|
6279
|
+
var import_react14 = require("react");
|
|
6315
6280
|
init_assets();
|
|
6316
6281
|
init_lumiaPassport();
|
|
6317
6282
|
init_auth();
|
|
@@ -6402,7 +6367,7 @@ function Social(props) {
|
|
|
6402
6367
|
setPasskeyError,
|
|
6403
6368
|
setPasskeyStatus
|
|
6404
6369
|
} = useAuthStore();
|
|
6405
|
-
const onSocialAuth = (0,
|
|
6370
|
+
const onSocialAuth = (0, import_react14.useCallback)(
|
|
6406
6371
|
async (providerId) => {
|
|
6407
6372
|
const normalizedProviderId = providerId.toLowerCase();
|
|
6408
6373
|
const provider = config.current?.social?.providers?.find(
|
|
@@ -6813,7 +6778,7 @@ function SignInStep(props) {
|
|
|
6813
6778
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "font-bold text-xl leading-6", children: "Sign In" })
|
|
6814
6779
|
] }),
|
|
6815
6780
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
6816
|
-
enabledWoPasskey.map((kind, idx) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
6781
|
+
enabledWoPasskey.map((kind, idx) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_react15.Fragment, { children: [
|
|
6817
6782
|
idx > 0 && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center", children: [
|
|
6818
6783
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
|
|
6819
6784
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex-none px-2 text-xs leading-4", children: "Or sign in using" }),
|
|
@@ -6840,19 +6805,19 @@ function SignInStep(props) {
|
|
|
6840
6805
|
}
|
|
6841
6806
|
|
|
6842
6807
|
// src/internal/components/AuthMenu/useAuthMenuHanders.ts
|
|
6843
|
-
var
|
|
6808
|
+
var import_react16 = require("react");
|
|
6844
6809
|
init_auth();
|
|
6845
6810
|
function useAuthMenuHandlers() {
|
|
6846
6811
|
const {
|
|
6847
6812
|
config: { current: config },
|
|
6848
6813
|
callbacks
|
|
6849
6814
|
} = useLumiaPassportConfig();
|
|
6850
|
-
const pendingLoginResponseRef = (0,
|
|
6815
|
+
const pendingLoginResponseRef = (0, import_react16.useRef)(null);
|
|
6851
6816
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
6852
|
-
const [telegramCleanup, setTelegramCleanup] = (0,
|
|
6817
|
+
const [telegramCleanup, setTelegramCleanup] = (0, import_react16.useState)(null);
|
|
6853
6818
|
const { usePaymaster, setError, setStatus, setSession, setAddress, setRecoveryUserId, setHasServerVault } = useLumiaPassportSession();
|
|
6854
6819
|
const { setStep, setVerificationError, setCodeSendError, setFailedMessage } = useAuthStore();
|
|
6855
|
-
const createSessionWithKeyshare = (0,
|
|
6820
|
+
const createSessionWithKeyshare = (0, import_react16.useCallback)(
|
|
6856
6821
|
async (userId, hasServerKeyshare, isNewUser) => {
|
|
6857
6822
|
try {
|
|
6858
6823
|
try {
|
|
@@ -6886,7 +6851,7 @@ function useAuthMenuHandlers() {
|
|
|
6886
6851
|
},
|
|
6887
6852
|
[setStatus, callbacks, usePaymaster]
|
|
6888
6853
|
);
|
|
6889
|
-
const onAuthSuccess = (0,
|
|
6854
|
+
const onAuthSuccess = (0, import_react16.useCallback)(async () => {
|
|
6890
6855
|
console.log("[ConnectWalletButton] handleAuthModalSuccess called");
|
|
6891
6856
|
const loginResponse = pendingLoginResponseRef.current;
|
|
6892
6857
|
console.log("[ConnectWalletButton] loginResponse:", loginResponse);
|
|
@@ -6981,7 +6946,7 @@ function useAuthMenuHandlers() {
|
|
|
6981
6946
|
setHasServerVault,
|
|
6982
6947
|
createSessionWithKeyshare
|
|
6983
6948
|
]);
|
|
6984
|
-
const checkDisplayNameRequired = (0,
|
|
6949
|
+
const checkDisplayNameRequired = (0, import_react16.useCallback)(
|
|
6985
6950
|
async (loginResponse) => {
|
|
6986
6951
|
if (!config.features.displayNameNeeded) {
|
|
6987
6952
|
return false;
|
|
@@ -7008,7 +6973,7 @@ function useAuthMenuHandlers() {
|
|
|
7008
6973
|
},
|
|
7009
6974
|
[config.features.displayNameNeeded]
|
|
7010
6975
|
);
|
|
7011
|
-
const goBackToSignIn = (0,
|
|
6976
|
+
const goBackToSignIn = (0, import_react16.useCallback)(() => {
|
|
7012
6977
|
setStep("signin");
|
|
7013
6978
|
setVerificationError("");
|
|
7014
6979
|
setCodeSendError("");
|
|
@@ -7026,11 +6991,11 @@ function useAuthMenuHandlers() {
|
|
|
7026
6991
|
}
|
|
7027
6992
|
|
|
7028
6993
|
// src/internal/components/AuthMenu/useListenIframeAuthEvents.ts
|
|
7029
|
-
var
|
|
6994
|
+
var import_react17 = require("react");
|
|
7030
6995
|
function useListenIframeAuthEvents() {
|
|
7031
6996
|
const setPage = useLayoutDataStore((state) => state.setPage);
|
|
7032
6997
|
const setIsIframeReady = useLumiaPassportSession((state) => state.setIsIframeReady);
|
|
7033
|
-
const handleIframeMessage = (0,
|
|
6998
|
+
const handleIframeMessage = (0, import_react17.useCallback)(
|
|
7034
6999
|
(event) => {
|
|
7035
7000
|
console.log("[AuthMenu] Received iframe message:", event.data);
|
|
7036
7001
|
if (event.data?.type === "LUMIA_PASSPORT_IFRAME_READY") {
|
|
@@ -7048,7 +7013,7 @@ function useListenIframeAuthEvents() {
|
|
|
7048
7013
|
},
|
|
7049
7014
|
[setPage, setIsIframeReady]
|
|
7050
7015
|
);
|
|
7051
|
-
(0,
|
|
7016
|
+
(0, import_react17.useEffect)(() => {
|
|
7052
7017
|
window.addEventListener("message", handleIframeMessage);
|
|
7053
7018
|
return () => window.removeEventListener("message", handleIframeMessage);
|
|
7054
7019
|
}, [handleIframeMessage]);
|
|
@@ -7077,21 +7042,21 @@ init_auth();
|
|
|
7077
7042
|
init_projectId();
|
|
7078
7043
|
|
|
7079
7044
|
// src/internal/components/AuthMenu/VerifyStep/VerificationCodeInput.tsx
|
|
7080
|
-
var
|
|
7045
|
+
var import_react18 = require("react");
|
|
7081
7046
|
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
7082
7047
|
var VerificationCodeInput = (props) => {
|
|
7083
7048
|
const { onVerifyCode, onResendCode, isLoading, expiresIn, error } = props;
|
|
7084
7049
|
const setVerificationError = useAuthStore((st) => st.setVerificationError);
|
|
7085
|
-
const [timeLeft, setTimeLeft] = (0,
|
|
7086
|
-
(0,
|
|
7087
|
-
(0,
|
|
7050
|
+
const [timeLeft, setTimeLeft] = (0, import_react18.useState)(expiresIn);
|
|
7051
|
+
(0, import_react18.useEffect)(() => setTimeLeft(expiresIn), [expiresIn]);
|
|
7052
|
+
(0, import_react18.useEffect)(() => {
|
|
7088
7053
|
const t = setInterval(() => setTimeLeft((secs) => secs > 0 ? secs - 1 : 0), 1e3);
|
|
7089
7054
|
return () => clearInterval(t);
|
|
7090
7055
|
}, []);
|
|
7091
|
-
const lastSubmittedRef = (0,
|
|
7092
|
-
const inputsRef = (0,
|
|
7093
|
-
const [digits, setDigits] = (0,
|
|
7094
|
-
(0,
|
|
7056
|
+
const lastSubmittedRef = (0, import_react18.useRef)(null);
|
|
7057
|
+
const inputsRef = (0, import_react18.useRef)([]);
|
|
7058
|
+
const [digits, setDigits] = (0, import_react18.useState)(["", "", "", "", "", ""]);
|
|
7059
|
+
(0, import_react18.useEffect)(() => {
|
|
7095
7060
|
const code = digits.join("");
|
|
7096
7061
|
if (code.length === 6 && digits.every((d) => d !== "") && !isLoading) {
|
|
7097
7062
|
if (lastSubmittedRef.current !== code) {
|
|
@@ -7100,7 +7065,7 @@ var VerificationCodeInput = (props) => {
|
|
|
7100
7065
|
}
|
|
7101
7066
|
}
|
|
7102
7067
|
}, [digits, isLoading, onVerifyCode]);
|
|
7103
|
-
(0,
|
|
7068
|
+
(0, import_react18.useEffect)(() => {
|
|
7104
7069
|
const t = setTimeout(() => {
|
|
7105
7070
|
inputsRef.current[0]?.focus();
|
|
7106
7071
|
}, 0);
|
|
@@ -7376,7 +7341,7 @@ var AuthMenu = () => {
|
|
|
7376
7341
|
const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
|
|
7377
7342
|
const page = useLayoutDataStore((st) => st.page);
|
|
7378
7343
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
7379
|
-
(0,
|
|
7344
|
+
(0, import_react19.useEffect)(() => setMainPageHeight(DEFAULT_AUTH_MENU_HEIGHT), [setMainPageHeight]);
|
|
7380
7345
|
const {
|
|
7381
7346
|
step,
|
|
7382
7347
|
setStep,
|
|
@@ -7387,7 +7352,7 @@ var AuthMenu = () => {
|
|
|
7387
7352
|
setFailedMessage,
|
|
7388
7353
|
setCodeSendError
|
|
7389
7354
|
} = useAuthStore();
|
|
7390
|
-
(0,
|
|
7355
|
+
(0, import_react19.useEffect)(() => {
|
|
7391
7356
|
if (page !== "auth" /* AUTH */) {
|
|
7392
7357
|
setStep("signin");
|
|
7393
7358
|
setEmail("");
|
|
@@ -7406,7 +7371,7 @@ var AuthMenu = () => {
|
|
|
7406
7371
|
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Initializing wallet..." })
|
|
7407
7372
|
] });
|
|
7408
7373
|
}
|
|
7409
|
-
const stepContent = (0,
|
|
7374
|
+
const stepContent = (0, import_react19.useMemo)(
|
|
7410
7375
|
() => ({
|
|
7411
7376
|
"failed": /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(AuthFailedStep, {}),
|
|
7412
7377
|
"display-name": /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(DisplayNameStep, { onAuthSuccess }),
|
|
@@ -7554,7 +7519,7 @@ function RampnowIcon() {
|
|
|
7554
7519
|
// src/internal/components/BuyMenu/binance/Binance.tsx
|
|
7555
7520
|
var import_react_query8 = require("@tanstack/react-query");
|
|
7556
7521
|
var import_lucide_react15 = require("lucide-react");
|
|
7557
|
-
var
|
|
7522
|
+
var import_react21 = require("react");
|
|
7558
7523
|
|
|
7559
7524
|
// src/internal/components/BuyMenu/components/PaymentSelector.tsx
|
|
7560
7525
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
@@ -7669,7 +7634,7 @@ async function createPreorderMutation(payload) {
|
|
|
7669
7634
|
}
|
|
7670
7635
|
|
|
7671
7636
|
// src/internal/components/BuyMenu/binance/useQueriesErrorHandler.ts
|
|
7672
|
-
var
|
|
7637
|
+
var import_react20 = require("react");
|
|
7673
7638
|
|
|
7674
7639
|
// src/internal/components/BuyMenu/binance/utils.ts
|
|
7675
7640
|
function getPayMethodID(pm) {
|
|
@@ -7689,7 +7654,7 @@ function handleErrors(errors) {
|
|
|
7689
7654
|
// src/internal/components/BuyMenu/binance/useQueriesErrorHandler.ts
|
|
7690
7655
|
var useQueriesErrorHandler = (errors, stateUpdater) => {
|
|
7691
7656
|
const { error: errorTitle, message: errorMessage } = handleErrors(errors);
|
|
7692
|
-
(0,
|
|
7657
|
+
(0, import_react20.useEffect)(() => {
|
|
7693
7658
|
if (!errorTitle && !errorMessage) return;
|
|
7694
7659
|
console.error(`[BuyModal][Binance] ${errorTitle}: ${errorMessage}`);
|
|
7695
7660
|
stateUpdater(1);
|
|
@@ -7737,15 +7702,15 @@ function Binance(props) {
|
|
|
7737
7702
|
queryKey: [QUERY_KEYS2.binancePaymentModes, walletAddress, isLumiaAvailable, srcQueryAmount],
|
|
7738
7703
|
queryFn: async () => getPaymentMethodsQuery({ totalAmount: String(srcQueryAmount || 1) })
|
|
7739
7704
|
});
|
|
7740
|
-
const lastLoadedPaymentModes = (0,
|
|
7741
|
-
(0,
|
|
7705
|
+
const lastLoadedPaymentModes = (0, import_react21.useRef)([]);
|
|
7706
|
+
(0, import_react21.useEffect)(() => {
|
|
7742
7707
|
if (!paymentModes?.length) return;
|
|
7743
7708
|
setPaymentMode(getPayMethodID(paymentModes[0]));
|
|
7744
7709
|
lastLoadedPaymentModes.current = paymentModes;
|
|
7745
7710
|
}, [paymentModes]);
|
|
7746
7711
|
const selectedPaymentMode = paymentModes?.find((el) => getPayMethodID(el) === paymentMode) || null;
|
|
7747
7712
|
const minimum = Number(selectedPaymentMode?.fiatMinLimit || "0");
|
|
7748
|
-
(0,
|
|
7713
|
+
(0, import_react21.useEffect)(() => setMinAmount(minimum), [minimum]);
|
|
7749
7714
|
const {
|
|
7750
7715
|
data: quoteData = null,
|
|
7751
7716
|
isLoading: isQuoteDataLoading,
|
|
@@ -7790,7 +7755,7 @@ function Binance(props) {
|
|
|
7790
7755
|
setRedirecting(false);
|
|
7791
7756
|
}
|
|
7792
7757
|
});
|
|
7793
|
-
(0,
|
|
7758
|
+
(0, import_react21.useEffect)(() => {
|
|
7794
7759
|
return () => {
|
|
7795
7760
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.binanceNetworksQuery] });
|
|
7796
7761
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.binancePaymentModes] });
|
|
@@ -7854,7 +7819,7 @@ function Binance(props) {
|
|
|
7854
7819
|
// src/internal/components/BuyMenu/rampnow/Rampnow.tsx
|
|
7855
7820
|
var import_react_query9 = require("@tanstack/react-query");
|
|
7856
7821
|
var import_lucide_react16 = require("lucide-react");
|
|
7857
|
-
var
|
|
7822
|
+
var import_react22 = require("react");
|
|
7858
7823
|
|
|
7859
7824
|
// src/internal/components/BuyMenu/rampnow/api.ts
|
|
7860
7825
|
var API_DOMAIN3 = "https://api.lumiapassport.com/on-ramp";
|
|
@@ -7919,7 +7884,7 @@ function Rampnow(props) {
|
|
|
7919
7884
|
setMinAmount
|
|
7920
7885
|
} = control;
|
|
7921
7886
|
const qc = (0, import_react_query9.useQueryClient)();
|
|
7922
|
-
(0,
|
|
7887
|
+
(0, import_react22.useEffect)(() => {
|
|
7923
7888
|
setMinAmount(MINIMUM_RAMP_AMOUNT);
|
|
7924
7889
|
setPaymentMode(PAYMENT_MODES[0].id);
|
|
7925
7890
|
}, []);
|
|
@@ -7976,7 +7941,7 @@ function Rampnow(props) {
|
|
|
7976
7941
|
console.error("Create CheckoutOrder failed:", err);
|
|
7977
7942
|
}
|
|
7978
7943
|
});
|
|
7979
|
-
(0,
|
|
7944
|
+
(0, import_react22.useEffect)(() => {
|
|
7980
7945
|
return () => {
|
|
7981
7946
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.getRampNowConfig] });
|
|
7982
7947
|
qc.resetQueries({ queryKey: [QUERY_KEYS2.getRampNowQuote] });
|
|
@@ -8058,7 +8023,7 @@ var RAMP_PROVIDERS = {
|
|
|
8058
8023
|
var REDIRECT_TIMEOUT_MS = 1500;
|
|
8059
8024
|
|
|
8060
8025
|
// src/internal/components/BuyMenu/useSelectables.ts
|
|
8061
|
-
var
|
|
8026
|
+
var import_react23 = require("react");
|
|
8062
8027
|
|
|
8063
8028
|
// src/internal/utils/debounce.ts
|
|
8064
8029
|
function debounce2(func, waitFor) {
|
|
@@ -8072,14 +8037,14 @@ function debounce2(func, waitFor) {
|
|
|
8072
8037
|
// src/internal/components/BuyMenu/useSelectables.ts
|
|
8073
8038
|
var ON_INPUT_QUERY_DELAY = 2e3;
|
|
8074
8039
|
var useSelectables = () => {
|
|
8075
|
-
const [redirecting, setRedirecting] = (0,
|
|
8076
|
-
const [rampProvider, setrRampProvider] = (0,
|
|
8077
|
-
const [minAmount, setMinAmount] = (0,
|
|
8078
|
-
const inputRef = (0,
|
|
8079
|
-
const [srcQueryAmount, setSrcQueryAmount] = (0,
|
|
8080
|
-
const [srcInputAmount, setSrcInputAmount] = (0,
|
|
8081
|
-
const [paymentMode, setPaymentMode] = (0,
|
|
8082
|
-
const setQueryAmountDebounced = (0,
|
|
8040
|
+
const [redirecting, setRedirecting] = (0, import_react23.useState)(false);
|
|
8041
|
+
const [rampProvider, setrRampProvider] = (0, import_react23.useState)("binance");
|
|
8042
|
+
const [minAmount, setMinAmount] = (0, import_react23.useState)(0);
|
|
8043
|
+
const inputRef = (0, import_react23.useRef)(null);
|
|
8044
|
+
const [srcQueryAmount, setSrcQueryAmount] = (0, import_react23.useState)(0);
|
|
8045
|
+
const [srcInputAmount, setSrcInputAmount] = (0, import_react23.useState)(0);
|
|
8046
|
+
const [paymentMode, setPaymentMode] = (0, import_react23.useState)(null);
|
|
8047
|
+
const setQueryAmountDebounced = (0, import_react23.useCallback)(
|
|
8083
8048
|
debounce2((inputAmount) => {
|
|
8084
8049
|
const checkedValue = Math.max(inputAmount, minAmount);
|
|
8085
8050
|
setSrcInputAmount(checkedValue);
|
|
@@ -8087,7 +8052,7 @@ var useSelectables = () => {
|
|
|
8087
8052
|
}, ON_INPUT_QUERY_DELAY),
|
|
8088
8053
|
[minAmount]
|
|
8089
8054
|
);
|
|
8090
|
-
(0,
|
|
8055
|
+
(0, import_react23.useEffect)(() => setQueryAmountDebounced(srcInputAmount), [srcInputAmount, setQueryAmountDebounced]);
|
|
8091
8056
|
return {
|
|
8092
8057
|
inputRef,
|
|
8093
8058
|
redirecting,
|
|
@@ -8139,7 +8104,7 @@ function BuyMenu() {
|
|
|
8139
8104
|
|
|
8140
8105
|
// src/internal/components/KeyshareBackupMenu/KeyshareBackupMenu.tsx
|
|
8141
8106
|
var import_lucide_react19 = require("lucide-react");
|
|
8142
|
-
var
|
|
8107
|
+
var import_react24 = __toESM(require("react"), 1);
|
|
8143
8108
|
init_iframe_manager();
|
|
8144
8109
|
|
|
8145
8110
|
// src/internal/components/ui/checkbox.tsx
|
|
@@ -8172,33 +8137,33 @@ var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
|
8172
8137
|
function KeyshareBackupMenu() {
|
|
8173
8138
|
const session = useLumiaPassportSession((st) => st.session);
|
|
8174
8139
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
8175
|
-
const
|
|
8140
|
+
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
8176
8141
|
const userId = session?.mpcUserId || "";
|
|
8177
8142
|
const onBackupSuccess = () => console.log("[ConnectWalletButton] Backup created successfully");
|
|
8178
|
-
(0,
|
|
8143
|
+
(0, import_react24.useEffect)(() => {
|
|
8179
8144
|
if (!userId) setPage("main-menu" /* MAIN_MENU */);
|
|
8180
8145
|
}, [userId, setPage]);
|
|
8181
|
-
const [backupStatus, setBackupStatus] =
|
|
8146
|
+
const [backupStatus, setBackupStatus] = import_react24.default.useState({
|
|
8182
8147
|
server: {},
|
|
8183
8148
|
cloud: {},
|
|
8184
8149
|
local: {}
|
|
8185
8150
|
});
|
|
8186
|
-
const [loading, setLoading] =
|
|
8151
|
+
const [loading, setLoading] = import_react24.default.useState({
|
|
8187
8152
|
server: false,
|
|
8188
8153
|
cloud: false,
|
|
8189
8154
|
local: false
|
|
8190
8155
|
});
|
|
8191
|
-
const [error, setError] =
|
|
8192
|
-
const [success, setSuccess] =
|
|
8193
|
-
const [showPassword, setShowPassword] =
|
|
8194
|
-
const [useCustomPassword, setUseCustomPassword] =
|
|
8195
|
-
const [customPassword, setCustomPassword] =
|
|
8196
|
-
const [cloudProviders, setCloudProviders] =
|
|
8156
|
+
const [error, setError] = import_react24.default.useState(null);
|
|
8157
|
+
const [success, setSuccess] = import_react24.default.useState(null);
|
|
8158
|
+
const [showPassword, setShowPassword] = import_react24.default.useState(false);
|
|
8159
|
+
const [useCustomPassword, setUseCustomPassword] = import_react24.default.useState(false);
|
|
8160
|
+
const [customPassword, setCustomPassword] = import_react24.default.useState("");
|
|
8161
|
+
const [cloudProviders, setCloudProviders] = import_react24.default.useState(
|
|
8197
8162
|
[]
|
|
8198
8163
|
);
|
|
8199
|
-
const [selectedCloudProvider, setSelectedCloudProvider] =
|
|
8200
|
-
const [hasKeyshareData, setHasKeyshareData] =
|
|
8201
|
-
const iframeManager =
|
|
8164
|
+
const [selectedCloudProvider, setSelectedCloudProvider] = import_react24.default.useState(null);
|
|
8165
|
+
const [hasKeyshareData, setHasKeyshareData] = import_react24.default.useState(true);
|
|
8166
|
+
const iframeManager = import_react24.default.useMemo(() => {
|
|
8202
8167
|
try {
|
|
8203
8168
|
return getIframeManager();
|
|
8204
8169
|
} catch (e) {
|
|
@@ -8206,7 +8171,7 @@ function KeyshareBackupMenu() {
|
|
|
8206
8171
|
return null;
|
|
8207
8172
|
}
|
|
8208
8173
|
}, []);
|
|
8209
|
-
(0,
|
|
8174
|
+
(0, import_react24.useEffect)(() => {
|
|
8210
8175
|
const loadCloudProviders = async () => {
|
|
8211
8176
|
try {
|
|
8212
8177
|
const { getAvailableCloudProviders: getAvailableCloudProviders3 } = await Promise.resolve().then(() => (init_cloudStorage(), cloudStorage_exports));
|
|
@@ -8226,7 +8191,7 @@ function KeyshareBackupMenu() {
|
|
|
8226
8191
|
};
|
|
8227
8192
|
loadCloudProviders();
|
|
8228
8193
|
}, [selectedCloudProvider]);
|
|
8229
|
-
const refreshStatus =
|
|
8194
|
+
const refreshStatus = import_react24.default.useCallback(async () => {
|
|
8230
8195
|
if (!iframeManager) return;
|
|
8231
8196
|
try {
|
|
8232
8197
|
const status = await iframeManager.getBackupStatus(userId);
|
|
@@ -8235,7 +8200,7 @@ function KeyshareBackupMenu() {
|
|
|
8235
8200
|
console.error("[KeyshareBackup] Failed to get backup status:", error2);
|
|
8236
8201
|
}
|
|
8237
8202
|
}, [iframeManager, userId]);
|
|
8238
|
-
(0,
|
|
8203
|
+
(0, import_react24.useEffect)(() => {
|
|
8239
8204
|
refreshStatus();
|
|
8240
8205
|
}, [refreshStatus]);
|
|
8241
8206
|
const handleBackup = async (method) => {
|
|
@@ -8327,7 +8292,7 @@ function KeyshareBackupMenu() {
|
|
|
8327
8292
|
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
8328
8293
|
"div",
|
|
8329
8294
|
{
|
|
8330
|
-
style: { "--l-pass-scrollbar-mah": `${
|
|
8295
|
+
style: { "--l-pass-scrollbar-mah": `${maxScrollHeight}px` },
|
|
8331
8296
|
className: "list-scrollbar-y w-full",
|
|
8332
8297
|
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
|
|
8333
8298
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
@@ -8466,19 +8431,19 @@ function KeyshareBackupMenu() {
|
|
|
8466
8431
|
// src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
|
|
8467
8432
|
var import_react_query10 = require("@tanstack/react-query");
|
|
8468
8433
|
var import_lucide_react22 = require("lucide-react");
|
|
8469
|
-
var
|
|
8434
|
+
var import_react27 = __toESM(require("react"), 1);
|
|
8470
8435
|
init_vaultClient();
|
|
8471
8436
|
|
|
8472
8437
|
// src/internal/components/KeyshareRestoreMenu/NoBackupFound.tsx
|
|
8473
8438
|
var import_lucide_react20 = require("lucide-react");
|
|
8474
|
-
var
|
|
8439
|
+
var import_react25 = require("react");
|
|
8475
8440
|
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
8476
8441
|
var ACCOUNT_RECOVERY_TEXT = `This device doesn't have access to your wallet keyshare, and no backup was found in the Vault. To access your wallet: use the original device where you created the account, create a backup from that device first, then try restoring on this device.`;
|
|
8477
8442
|
var ACCOUNT_FILE_RECOVERY_TEXT = `Try uploading a backup file if you have one saved locally, or create a different new account`;
|
|
8478
8443
|
function NoBackupFound(props) {
|
|
8479
8444
|
const { isLoading, restoreFromFile } = props;
|
|
8480
|
-
const [restoreFile, setRestoreFile] = (0,
|
|
8481
|
-
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
8445
|
+
const [restoreFile, setRestoreFile] = (0, import_react25.useState)(null);
|
|
8446
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_react25.Fragment, { children: [
|
|
8482
8447
|
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Highlight, { type: "error", className: "animate-glow-warning flex gap-[var(--l-pass-gap)]", children: [
|
|
8483
8448
|
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react20.AlertCircle, { className: "h-4 w-4 flex-0" }),
|
|
8484
8449
|
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "w-full flex-1 flex flex-col gap-2", children: [
|
|
@@ -8519,7 +8484,7 @@ function NoBackupFound(props) {
|
|
|
8519
8484
|
|
|
8520
8485
|
// src/internal/components/KeyshareRestoreMenu/ServerBackupFound.tsx
|
|
8521
8486
|
var import_lucide_react21 = require("lucide-react");
|
|
8522
|
-
var
|
|
8487
|
+
var import_react26 = require("react");
|
|
8523
8488
|
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
8524
8489
|
function ServerBackupFound(props) {
|
|
8525
8490
|
const {
|
|
@@ -8535,7 +8500,7 @@ function ServerBackupFound(props) {
|
|
|
8535
8500
|
setRestorePassword,
|
|
8536
8501
|
setUseCustomPassword
|
|
8537
8502
|
} = props;
|
|
8538
|
-
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
8503
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_react26.Fragment, { children: [
|
|
8539
8504
|
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Highlight, { type: "success", className: "w-full flex gap-[var(--l-pass-gap)]", children: [
|
|
8540
8505
|
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react21.AlertCircle, { className: "h-4 w-4 flex-0" }),
|
|
8541
8506
|
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "w-full flex-1", children: [
|
|
@@ -8648,20 +8613,20 @@ var KeyshareRestoreMenu = () => {
|
|
|
8648
8613
|
config: { current: config },
|
|
8649
8614
|
callbacks
|
|
8650
8615
|
} = useLumiaPassportConfig();
|
|
8651
|
-
const
|
|
8616
|
+
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
8652
8617
|
const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
|
|
8653
8618
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
8654
|
-
(0,
|
|
8619
|
+
(0, import_react27.useEffect)(() => setIsDialogForced(true), []);
|
|
8655
8620
|
const { usePaymaster, recoveryUserId, setRecoveryUserId, setSession, setAddress, setStatus, setIsLoading } = useLumiaPassportSession();
|
|
8656
|
-
const [error, setError] =
|
|
8657
|
-
const [success, setSuccess] =
|
|
8658
|
-
const [showPassword, setShowPassword] =
|
|
8659
|
-
const [useCustomPassword, setUseCustomPassword] =
|
|
8660
|
-
const [restoreFile, setRestoreFile] =
|
|
8661
|
-
const [restorePassword, setRestorePassword] =
|
|
8662
|
-
const [hasServerBackup, setHasServerBackup] =
|
|
8663
|
-
const [checkingBackup, setCheckingBackup] =
|
|
8664
|
-
const createSessionWithKeyshare = (0,
|
|
8621
|
+
const [error, setError] = import_react27.default.useState(null);
|
|
8622
|
+
const [success, setSuccess] = import_react27.default.useState(null);
|
|
8623
|
+
const [showPassword, setShowPassword] = import_react27.default.useState(false);
|
|
8624
|
+
const [useCustomPassword, setUseCustomPassword] = import_react27.default.useState(false);
|
|
8625
|
+
const [restoreFile, setRestoreFile] = import_react27.default.useState(null);
|
|
8626
|
+
const [restorePassword, setRestorePassword] = import_react27.default.useState("");
|
|
8627
|
+
const [hasServerBackup, setHasServerBackup] = import_react27.default.useState(null);
|
|
8628
|
+
const [checkingBackup, setCheckingBackup] = import_react27.default.useState(true);
|
|
8629
|
+
const createSessionWithKeyshare = (0, import_react27.useCallback)(
|
|
8665
8630
|
async (userId, hasServerKeyshare, isNewUser) => {
|
|
8666
8631
|
try {
|
|
8667
8632
|
try {
|
|
@@ -8695,7 +8660,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8695
8660
|
},
|
|
8696
8661
|
[setStatus, callbacks, usePaymaster]
|
|
8697
8662
|
);
|
|
8698
|
-
const onRestoreSuccess = (0,
|
|
8663
|
+
const onRestoreSuccess = (0, import_react27.useCallback)(async () => {
|
|
8699
8664
|
const { verifyToken: verifyToken2, jwtTokenManager: jwtTokenManager4 } = await Promise.resolve().then(() => (init_auth(), auth_exports));
|
|
8700
8665
|
const verify = await verifyToken2();
|
|
8701
8666
|
const hasServerKeyshare = verify?.hasKeyshare ?? jwtTokenManager4.getHasKeyshare() ?? false;
|
|
@@ -8760,7 +8725,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8760
8725
|
callbacks,
|
|
8761
8726
|
config.projectId
|
|
8762
8727
|
]);
|
|
8763
|
-
(0,
|
|
8728
|
+
(0, import_react27.useEffect)(() => {
|
|
8764
8729
|
const checkBackupAvailability = async () => {
|
|
8765
8730
|
try {
|
|
8766
8731
|
setCheckingBackup(true);
|
|
@@ -8876,7 +8841,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
8876
8841
|
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
8877
8842
|
"div",
|
|
8878
8843
|
{
|
|
8879
|
-
style: { "--l-pass-scrollbar-mah": `${
|
|
8844
|
+
style: { "--l-pass-scrollbar-mah": `${maxScrollHeight}px` },
|
|
8880
8845
|
className: "list-scrollbar-y w-full",
|
|
8881
8846
|
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
|
|
8882
8847
|
checkingBackup && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] text-center justify-center items-center", children: [
|
|
@@ -8939,7 +8904,7 @@ var import_lucide_react24 = require("lucide-react");
|
|
|
8939
8904
|
var import_lucide_react23 = require("lucide-react");
|
|
8940
8905
|
|
|
8941
8906
|
// src/internal/components/KYC/useSumsubIframe.ts
|
|
8942
|
-
var
|
|
8907
|
+
var import_react28 = require("react");
|
|
8943
8908
|
|
|
8944
8909
|
// src/internal/components/KYC/api/sumsub.ts
|
|
8945
8910
|
init_httpClient();
|
|
@@ -9062,13 +9027,13 @@ function useSumsubIframe({ iframeUrl }) {
|
|
|
9062
9027
|
config: { current: config }
|
|
9063
9028
|
} = useLumiaPassportConfig();
|
|
9064
9029
|
const { colorMode } = useLumiaPassportColorMode();
|
|
9065
|
-
const iframeRef = (0,
|
|
9066
|
-
const [isLoading, setIsLoading] = (0,
|
|
9067
|
-
const [error, setError] = (0,
|
|
9068
|
-
const [height, setHeight] = (0,
|
|
9069
|
-
const [status, setStatus] = (0,
|
|
9030
|
+
const iframeRef = (0, import_react28.useRef)(null);
|
|
9031
|
+
const [isLoading, setIsLoading] = (0, import_react28.useState)(true);
|
|
9032
|
+
const [error, setError] = (0, import_react28.useState)(null);
|
|
9033
|
+
const [height, setHeight] = (0, import_react28.useState)(0);
|
|
9034
|
+
const [status, setStatus] = (0, import_react28.useState)("");
|
|
9070
9035
|
const levelName = config.kyc?.options?.levelName;
|
|
9071
|
-
(0,
|
|
9036
|
+
(0, import_react28.useEffect)(() => {
|
|
9072
9037
|
setError(null);
|
|
9073
9038
|
setIsLoading(true);
|
|
9074
9039
|
setStatus("Preparing verification...");
|
|
@@ -9151,12 +9116,12 @@ var KycContent = () => {
|
|
|
9151
9116
|
};
|
|
9152
9117
|
function KycMenu() {
|
|
9153
9118
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
9154
|
-
const
|
|
9119
|
+
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
9155
9120
|
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
9156
9121
|
"div",
|
|
9157
9122
|
{
|
|
9158
9123
|
style: {
|
|
9159
|
-
"--l-pass-scrollbar-mah": `${
|
|
9124
|
+
"--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
|
|
9160
9125
|
"--l-pass-list-scrollbar-pd-r": "4px",
|
|
9161
9126
|
"paddingTop": "var(--l-pass-pd)",
|
|
9162
9127
|
"paddingBottom": "var(--l-pass-pd)",
|
|
@@ -9176,7 +9141,7 @@ function KycMenu() {
|
|
|
9176
9141
|
|
|
9177
9142
|
// src/internal/components/MainMenu/MainMenu.tsx
|
|
9178
9143
|
var import_lucide_react26 = require("lucide-react");
|
|
9179
|
-
var
|
|
9144
|
+
var import_react29 = require("react");
|
|
9180
9145
|
|
|
9181
9146
|
// src/internal/components/MainMenu/BackupWarning.tsx
|
|
9182
9147
|
var import_framer_motion2 = require("framer-motion");
|
|
@@ -9232,7 +9197,7 @@ function MainMenu() {
|
|
|
9232
9197
|
const address = useLumiaPassportSession((st) => st.address);
|
|
9233
9198
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
9234
9199
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
9235
|
-
(0,
|
|
9200
|
+
(0, import_react29.useEffect)(() => setMainPageHeight(DEFAULT_MAIN_MENU_HEIGHT), [setMainPageHeight]);
|
|
9236
9201
|
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
9237
9202
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "grid grid-cols-4 gap-[var(--l-pass-gap)]", children: MAIN_MENU_BUTTONS.map(({ id, label, icon: Icon }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
9238
9203
|
Button,
|
|
@@ -9254,13 +9219,13 @@ function MainMenu() {
|
|
|
9254
9219
|
}
|
|
9255
9220
|
|
|
9256
9221
|
// src/internal/components/ManageWalletMenu/ManageWallet.tsx
|
|
9257
|
-
var
|
|
9222
|
+
var import_lodash_es3 = require("lodash-es");
|
|
9258
9223
|
var import_lucide_react30 = require("lucide-react");
|
|
9259
|
-
var
|
|
9224
|
+
var import_react33 = require("react");
|
|
9260
9225
|
|
|
9261
9226
|
// src/modules/linkedProfiles.ts
|
|
9262
9227
|
var import_react_query12 = require("@tanstack/react-query");
|
|
9263
|
-
var
|
|
9228
|
+
var import_react30 = require("react");
|
|
9264
9229
|
init_auth();
|
|
9265
9230
|
init_common();
|
|
9266
9231
|
init_types();
|
|
@@ -9293,7 +9258,7 @@ function useLumiaPassportLinkedProfiles() {
|
|
|
9293
9258
|
queryFn: getLinkProfilesData
|
|
9294
9259
|
});
|
|
9295
9260
|
const { profiles = [], avatar = null } = data || {};
|
|
9296
|
-
const refresh = (0,
|
|
9261
|
+
const refresh = (0, import_react30.useCallback)(async () => {
|
|
9297
9262
|
await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, address] });
|
|
9298
9263
|
}, [qc, address]);
|
|
9299
9264
|
return { profiles, avatar, isLoading, error, refresh };
|
|
@@ -9308,6 +9273,37 @@ init_lumiaPassport();
|
|
|
9308
9273
|
var import_react_query13 = require("@tanstack/react-query");
|
|
9309
9274
|
var import_lucide_react27 = require("lucide-react");
|
|
9310
9275
|
init_projectId();
|
|
9276
|
+
|
|
9277
|
+
// src/internal/components/ManageWalletMenu/hooks/useStore.ts
|
|
9278
|
+
var import_zustand4 = require("zustand");
|
|
9279
|
+
var useManageWalletStore = (0, import_zustand4.create)((set) => ({
|
|
9280
|
+
emailStep: "input",
|
|
9281
|
+
email: "",
|
|
9282
|
+
emailCode: "",
|
|
9283
|
+
emailCodeSentError: "",
|
|
9284
|
+
emailCodeExpiresIn: 0,
|
|
9285
|
+
isWalletLinking: false,
|
|
9286
|
+
linkIsLoading: false,
|
|
9287
|
+
linkError: "",
|
|
9288
|
+
verificationError: "",
|
|
9289
|
+
providerType: null,
|
|
9290
|
+
confirmUnlink: null,
|
|
9291
|
+
setEmailStep: (emailStep) => set({ emailStep }),
|
|
9292
|
+
setEmail: (email) => set({ email }),
|
|
9293
|
+
setEmailCode: (emailCode) => set({ emailCode }),
|
|
9294
|
+
setEmailCodeSentError: (emailCodeSentError) => set({ emailCodeSentError }),
|
|
9295
|
+
setEmailCodeExpiresIn: (emailCodeExpiresIn) => set({ emailCodeExpiresIn }),
|
|
9296
|
+
setIsWalletLinking: (isWalletLinking) => set({ isWalletLinking }),
|
|
9297
|
+
setLinkIsLoading: (linkIsLoading) => set({ linkIsLoading }),
|
|
9298
|
+
setLinkError: (linkError) => set({ linkError }),
|
|
9299
|
+
setVerificationError: (verificationError) => set({ verificationError }),
|
|
9300
|
+
setProviderType: (providerType) => {
|
|
9301
|
+
set({ providerType });
|
|
9302
|
+
},
|
|
9303
|
+
setConfirmUnlink: (confirmUnlink) => set({ confirmUnlink })
|
|
9304
|
+
}));
|
|
9305
|
+
|
|
9306
|
+
// src/internal/components/ManageWalletMenu/EmailForm.tsx
|
|
9311
9307
|
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
9312
9308
|
function EmailForm() {
|
|
9313
9309
|
const {
|
|
@@ -9665,7 +9661,7 @@ function EmailNotConnectedWarning() {
|
|
|
9665
9661
|
|
|
9666
9662
|
// src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts
|
|
9667
9663
|
var import_react_query18 = require("@tanstack/react-query");
|
|
9668
|
-
var
|
|
9664
|
+
var import_react31 = __toESM(require("react"), 1);
|
|
9669
9665
|
init_auth();
|
|
9670
9666
|
function useLinkSocial() {
|
|
9671
9667
|
const qc = (0, import_react_query18.useQueryClient)();
|
|
@@ -9676,7 +9672,7 @@ function useLinkSocial() {
|
|
|
9676
9672
|
} = useLumiaPassportConfig();
|
|
9677
9673
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
9678
9674
|
const { providerType, linkIsLoading, isWalletLinking, setProviderType, setLinkIsLoading, setLinkError } = useManageWalletStore();
|
|
9679
|
-
const handleLinkSocialProvider =
|
|
9675
|
+
const handleLinkSocialProvider = import_react31.default.useCallback(
|
|
9680
9676
|
async (providerIdRaw) => {
|
|
9681
9677
|
const providerKey = providerIdRaw.toLowerCase();
|
|
9682
9678
|
const normalizedKey = providerKey === "twitter" ? "x" : providerKey;
|
|
@@ -9728,8 +9724,8 @@ function useLinkSocial() {
|
|
|
9728
9724
|
},
|
|
9729
9725
|
[config.social?.providers, callbacks]
|
|
9730
9726
|
);
|
|
9731
|
-
const [socialLinkStarted, setSocialLinkStarted] =
|
|
9732
|
-
(0,
|
|
9727
|
+
const [socialLinkStarted, setSocialLinkStarted] = import_react31.default.useState(false);
|
|
9728
|
+
(0, import_react31.useEffect)(() => {
|
|
9733
9729
|
const key = providerType?.toLowerCase();
|
|
9734
9730
|
console.log("[useLinkSocial] Effect triggered:", { key, linkIsLoading, socialLinkStarted, isWalletLinking });
|
|
9735
9731
|
if (isWalletLinking) {
|
|
@@ -9750,7 +9746,7 @@ function useLinkSocial() {
|
|
|
9750
9746
|
|
|
9751
9747
|
// src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
|
|
9752
9748
|
var import_react_query19 = require("@tanstack/react-query");
|
|
9753
|
-
var
|
|
9749
|
+
var import_react32 = require("react");
|
|
9754
9750
|
init_telegram2();
|
|
9755
9751
|
function useLinkTelegram() {
|
|
9756
9752
|
const {
|
|
@@ -9761,7 +9757,7 @@ function useLinkTelegram() {
|
|
|
9761
9757
|
const address = useLumiaPassportSession((st) => st.address);
|
|
9762
9758
|
const { providerType, linkIsLoading, isWalletLinking, setLinkIsLoading, setProviderType, setLinkError } = useManageWalletStore();
|
|
9763
9759
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
9764
|
-
const handleLinkTelegram = (0,
|
|
9760
|
+
const handleLinkTelegram = (0, import_react32.useCallback)(async () => {
|
|
9765
9761
|
try {
|
|
9766
9762
|
setLinkIsLoading(true);
|
|
9767
9763
|
setLinkError("");
|
|
@@ -9803,8 +9799,8 @@ function useLinkTelegram() {
|
|
|
9803
9799
|
setLinkIsLoading(false);
|
|
9804
9800
|
}
|
|
9805
9801
|
}, [config.social?.providers, callbacks]);
|
|
9806
|
-
const [telegramLinkStarted, setTelegramLinkStarted] = (0,
|
|
9807
|
-
(0,
|
|
9802
|
+
const [telegramLinkStarted, setTelegramLinkStarted] = (0, import_react32.useState)(false);
|
|
9803
|
+
(0, import_react32.useEffect)(() => {
|
|
9808
9804
|
console.log("[useLinkTelegram] Effect triggered:", { providerType, linkIsLoading, telegramLinkStarted, isWalletLinking });
|
|
9809
9805
|
if (isWalletLinking) {
|
|
9810
9806
|
console.log("[useLinkTelegram] Skipping - wallet linking in progress");
|
|
@@ -9816,7 +9812,7 @@ function useLinkTelegram() {
|
|
|
9816
9812
|
handleLinkTelegram();
|
|
9817
9813
|
}
|
|
9818
9814
|
}, [providerType, handleLinkTelegram, linkIsLoading, telegramLinkStarted, isWalletLinking]);
|
|
9819
|
-
(0,
|
|
9815
|
+
(0, import_react32.useEffect)(() => {
|
|
9820
9816
|
if (providerType !== "telegram") {
|
|
9821
9817
|
setTelegramLinkStarted(false);
|
|
9822
9818
|
}
|
|
@@ -9898,7 +9894,7 @@ function getConfiguredProviders(config) {
|
|
|
9898
9894
|
});
|
|
9899
9895
|
return acc;
|
|
9900
9896
|
},
|
|
9901
|
-
(0,
|
|
9897
|
+
(0, import_lodash_es3.fromPairs)(POSSIBLE_PROVIDERS.map((p) => [p, false]))
|
|
9902
9898
|
);
|
|
9903
9899
|
}
|
|
9904
9900
|
function ManageWalletMenu() {
|
|
@@ -9924,9 +9920,8 @@ function ManageWalletMenu() {
|
|
|
9924
9920
|
} = useManageWalletStore();
|
|
9925
9921
|
const configuredProviders = getConfiguredProviders(config);
|
|
9926
9922
|
const { data: providers = [], isLoading: isProvidersLoading, error: providersError } = useProvidersList();
|
|
9927
|
-
|
|
9928
|
-
|
|
9929
|
-
const usedProviders = (0, import_lodash_es2.fromPairs)(providers.map((p) => [p.provider, true]));
|
|
9923
|
+
const renderProviders = (0, import_react33.useMemo)(() => {
|
|
9924
|
+
const usedProviders = (0, import_lodash_es3.fromPairs)(providers.map((p) => [p.provider, true]));
|
|
9930
9925
|
const used = [];
|
|
9931
9926
|
const unused = [];
|
|
9932
9927
|
POSSIBLE_PROVIDERS.forEach((provider, providerIdx) => {
|
|
@@ -10029,7 +10024,7 @@ function ManageWalletMenu() {
|
|
|
10029
10024
|
// src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx
|
|
10030
10025
|
var import_react_query20 = require("@tanstack/react-query");
|
|
10031
10026
|
var import_lucide_react31 = require("lucide-react");
|
|
10032
|
-
var
|
|
10027
|
+
var import_react34 = require("react");
|
|
10033
10028
|
init_auth();
|
|
10034
10029
|
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
10035
10030
|
function UnlinkProviderMenu() {
|
|
@@ -10038,7 +10033,7 @@ function UnlinkProviderMenu() {
|
|
|
10038
10033
|
const { callbacks } = useLumiaPassportConfig();
|
|
10039
10034
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10040
10035
|
const { confirmUnlink, setConfirmUnlink, setLinkError } = useManageWalletStore();
|
|
10041
|
-
const [confirmInput, setConfirmInput] = (0,
|
|
10036
|
+
const [confirmInput, setConfirmInput] = (0, import_react34.useState)("");
|
|
10042
10037
|
const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = (0, import_react_query20.useMutation)({
|
|
10043
10038
|
mutationFn: async () => {
|
|
10044
10039
|
if (!confirmUnlink) {
|
|
@@ -10114,10 +10109,10 @@ function UnlinkProviderMenu() {
|
|
|
10114
10109
|
// src/internal/components/PortfolioMenu/PortfolioMenu.tsx
|
|
10115
10110
|
var import_react_query22 = require("@tanstack/react-query");
|
|
10116
10111
|
var import_lucide_react33 = require("lucide-react");
|
|
10117
|
-
var
|
|
10112
|
+
var import_react36 = require("react");
|
|
10118
10113
|
|
|
10119
10114
|
// src/modules/assets.ts
|
|
10120
|
-
var
|
|
10115
|
+
var import_react35 = __toESM(require("react"), 1);
|
|
10121
10116
|
var import_wagmi2 = require("wagmi");
|
|
10122
10117
|
var import_viem4 = require("viem");
|
|
10123
10118
|
init_base();
|
|
@@ -10264,7 +10259,7 @@ function useTokenBalance(tokenAddress, userAddress) {
|
|
|
10264
10259
|
}
|
|
10265
10260
|
});
|
|
10266
10261
|
const { tokenInfo } = useTokenInfo(tokenAddress);
|
|
10267
|
-
const formattedBalance =
|
|
10262
|
+
const formattedBalance = import_react35.default.useMemo(() => {
|
|
10268
10263
|
if (!balance || !tokenInfo) return "0";
|
|
10269
10264
|
return (0, import_viem4.formatUnits)(balance, tokenInfo.decimals);
|
|
10270
10265
|
}, [balance, tokenInfo]);
|
|
@@ -10373,18 +10368,18 @@ function PortfolioMenu() {
|
|
|
10373
10368
|
const { assets: projectAssets = [] } = useLumiaPassportConfig().config.current?.projectAssets || {};
|
|
10374
10369
|
const qc = (0, import_react_query22.useQueryClient)();
|
|
10375
10370
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10376
|
-
const
|
|
10377
|
-
const assetsContainerListRef = (0,
|
|
10378
|
-
const assetsListRef = (0,
|
|
10371
|
+
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
10372
|
+
const assetsContainerListRef = (0, import_react36.useRef)(null);
|
|
10373
|
+
const assetsListRef = (0, import_react36.useRef)(null);
|
|
10379
10374
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10380
10375
|
const { assets, refreshBalances, isLoading } = useAssets(address);
|
|
10381
|
-
const refreshAllAssetsBalances = (0,
|
|
10376
|
+
const refreshAllAssetsBalances = (0, import_react36.useCallback)(() => {
|
|
10382
10377
|
Promise.all(projectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
|
|
10383
10378
|
refreshBalances();
|
|
10384
10379
|
}, [qc, projectAssets, refreshBalances]);
|
|
10385
|
-
(0,
|
|
10380
|
+
(0, import_react36.useEffect)(() => {
|
|
10386
10381
|
if (!assetsContainerListRef.current || !assetsListRef.current) return;
|
|
10387
|
-
const listTargetHeight =
|
|
10382
|
+
const listTargetHeight = maxScrollHeight - 128;
|
|
10388
10383
|
assetsContainerListRef.current.style.setProperty("--l-pass-scrollbar-mah", `${listTargetHeight}px`);
|
|
10389
10384
|
assetsContainerListRef.current.style.setProperty(
|
|
10390
10385
|
"--l-pass-list-bd",
|
|
@@ -10396,7 +10391,7 @@ function PortfolioMenu() {
|
|
|
10396
10391
|
assetsListRef.current.clientHeight >= listTargetHeight ? "4px" : "0px"
|
|
10397
10392
|
// remove padding if no scrollbar
|
|
10398
10393
|
);
|
|
10399
|
-
}, [
|
|
10394
|
+
}, [maxScrollHeight]);
|
|
10400
10395
|
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
10401
10396
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
10402
10397
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react33.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
@@ -10455,7 +10450,7 @@ function PortfolioMenu() {
|
|
|
10455
10450
|
|
|
10456
10451
|
// src/internal/components/SecurityMenu/SecurityMenu.tsx
|
|
10457
10452
|
var import_lucide_react34 = require("lucide-react");
|
|
10458
|
-
var
|
|
10453
|
+
var import_react37 = require("react");
|
|
10459
10454
|
init_auth();
|
|
10460
10455
|
init_keyshare();
|
|
10461
10456
|
init_vaultClient();
|
|
@@ -10467,18 +10462,18 @@ function SecurityMenu() {
|
|
|
10467
10462
|
const userId = import_auth3.jwtTokenManager.getUserId();
|
|
10468
10463
|
const serverHasKeyshare = import_auth3.jwtTokenManager.getHasKeyshare() ?? false;
|
|
10469
10464
|
const backup = userId ? getBackupStatus(userId) : { server: { enabled: false }, cloud: { enabled: false }, local: { enabled: false } };
|
|
10470
|
-
const [isRefreshing, setIsRefreshing] = (0,
|
|
10471
|
-
const [localInfo, setLocalInfo] = (0,
|
|
10472
|
-
const [recoveryCreatedAt, setRecoveryCreatedAt] = (0,
|
|
10473
|
-
const [recoveryBrowser, setRecoveryBrowser] = (0,
|
|
10474
|
-
const [recoveryUa, setRecoveryUa] = (0,
|
|
10475
|
-
const [recoveryDeviceId, setRecoveryDeviceId] = (0,
|
|
10476
|
-
const [recoveryDeviceName, setRecoveryDeviceName] = (0,
|
|
10477
|
-
const [recoveryCountry, setRecoveryCountry] = (0,
|
|
10478
|
-
const [hasServerBackup, setHasServerBackup] = (0,
|
|
10479
|
-
const [trustedApps, setTrustedApps] = (0,
|
|
10480
|
-
const [appToRemove, setAppToRemove] = (0,
|
|
10481
|
-
const fetchRecovery = (0,
|
|
10465
|
+
const [isRefreshing, setIsRefreshing] = (0, import_react37.useState)(false);
|
|
10466
|
+
const [localInfo, setLocalInfo] = (0, import_react37.useState)(null);
|
|
10467
|
+
const [recoveryCreatedAt, setRecoveryCreatedAt] = (0, import_react37.useState)(null);
|
|
10468
|
+
const [recoveryBrowser, setRecoveryBrowser] = (0, import_react37.useState)(null);
|
|
10469
|
+
const [recoveryUa, setRecoveryUa] = (0, import_react37.useState)(null);
|
|
10470
|
+
const [recoveryDeviceId, setRecoveryDeviceId] = (0, import_react37.useState)(null);
|
|
10471
|
+
const [recoveryDeviceName, setRecoveryDeviceName] = (0, import_react37.useState)(null);
|
|
10472
|
+
const [recoveryCountry, setRecoveryCountry] = (0, import_react37.useState)(null);
|
|
10473
|
+
const [hasServerBackup, setHasServerBackup] = (0, import_react37.useState)(false);
|
|
10474
|
+
const [trustedApps, setTrustedApps] = (0, import_react37.useState)([]);
|
|
10475
|
+
const [appToRemove, setAppToRemove] = (0, import_react37.useState)(null);
|
|
10476
|
+
const fetchRecovery = (0, import_react37.useCallback)(async () => {
|
|
10482
10477
|
if (!userId) return;
|
|
10483
10478
|
try {
|
|
10484
10479
|
setIsRefreshing(true);
|
|
@@ -10511,7 +10506,7 @@ function SecurityMenu() {
|
|
|
10511
10506
|
setIsRefreshing(false);
|
|
10512
10507
|
}
|
|
10513
10508
|
}, [userId]);
|
|
10514
|
-
(0,
|
|
10509
|
+
(0, import_react37.useEffect)(() => {
|
|
10515
10510
|
if (open) fetchRecovery();
|
|
10516
10511
|
}, [open, fetchRecovery]);
|
|
10517
10512
|
const parseOS = (ua) => {
|
|
@@ -10703,21 +10698,21 @@ function SecurityMenu() {
|
|
|
10703
10698
|
|
|
10704
10699
|
// src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
|
|
10705
10700
|
var import_lucide_react35 = require("lucide-react");
|
|
10706
|
-
var
|
|
10701
|
+
var import_react39 = require("react");
|
|
10707
10702
|
var import_viem6 = require("viem");
|
|
10708
10703
|
var import_wagmi3 = require("wagmi");
|
|
10709
10704
|
|
|
10710
10705
|
// src/hooks/useSendTransaction.ts
|
|
10711
|
-
var
|
|
10706
|
+
var import_react38 = require("react");
|
|
10712
10707
|
var import_viem5 = require("viem");
|
|
10713
10708
|
init_account();
|
|
10714
10709
|
function useSendTransaction() {
|
|
10715
10710
|
const session = useLumiaPassportSession((st) => st.session);
|
|
10716
10711
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10717
|
-
const [isLoading, setIsLoading] = (0,
|
|
10718
|
-
const [error, setError] = (0,
|
|
10719
|
-
const [userOpHash, setUserOpHash] = (0,
|
|
10720
|
-
const sendTransaction = (0,
|
|
10712
|
+
const [isLoading, setIsLoading] = (0, import_react38.useState)(false);
|
|
10713
|
+
const [error, setError] = (0, import_react38.useState)(null);
|
|
10714
|
+
const [userOpHash, setUserOpHash] = (0, import_react38.useState)(null);
|
|
10715
|
+
const sendTransaction = (0, import_react38.useCallback)(
|
|
10721
10716
|
async (params) => {
|
|
10722
10717
|
if (!session || !address) {
|
|
10723
10718
|
setError("No active session");
|
|
@@ -10757,7 +10752,7 @@ function useSendTransaction() {
|
|
|
10757
10752
|
},
|
|
10758
10753
|
[session, address]
|
|
10759
10754
|
);
|
|
10760
|
-
const reset = (0,
|
|
10755
|
+
const reset = (0, import_react38.useCallback)(() => {
|
|
10761
10756
|
setError(null);
|
|
10762
10757
|
setUserOpHash(null);
|
|
10763
10758
|
setIsLoading(false);
|
|
@@ -10785,13 +10780,13 @@ function SendLumiaMenu() {
|
|
|
10785
10780
|
address,
|
|
10786
10781
|
chainId: lumiaBeam.id
|
|
10787
10782
|
});
|
|
10788
|
-
const [recipient, setRecipient] = (0,
|
|
10789
|
-
const [amount, setAmount] = (0,
|
|
10790
|
-
const [txStep, setTxStep] = (0,
|
|
10791
|
-
const [validationError, setValidationError] = (0,
|
|
10783
|
+
const [recipient, setRecipient] = (0, import_react39.useState)("");
|
|
10784
|
+
const [amount, setAmount] = (0, import_react39.useState)("");
|
|
10785
|
+
const [txStep, setTxStep] = (0, import_react39.useState)("input");
|
|
10786
|
+
const [validationError, setValidationError] = (0, import_react39.useState)(null);
|
|
10792
10787
|
const nativeAsset = assets.find((a) => a.type === "native");
|
|
10793
10788
|
const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
|
|
10794
|
-
(0,
|
|
10789
|
+
(0, import_react39.useEffect)(() => {
|
|
10795
10790
|
if (open) {
|
|
10796
10791
|
setTxStep("input");
|
|
10797
10792
|
setValidationError(null);
|
|
@@ -10955,18 +10950,18 @@ function SendLumiaMenu() {
|
|
|
10955
10950
|
// src/internal/components/SendRecieveMenu/ReceiveLumiaMenu.tsx
|
|
10956
10951
|
var import_lucide_react36 = require("lucide-react");
|
|
10957
10952
|
var import_qrcode = __toESM(require("qrcode"), 1);
|
|
10958
|
-
var
|
|
10953
|
+
var import_react40 = require("react");
|
|
10959
10954
|
init_clients();
|
|
10960
10955
|
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
10961
10956
|
function ReceiveLumiaMenu() {
|
|
10962
10957
|
const address = useLumiaPassportSession((st) => st.address);
|
|
10963
10958
|
const page = useLayoutDataStore((st) => st.page);
|
|
10964
10959
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10965
|
-
const
|
|
10960
|
+
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
10966
10961
|
const open = page === "receive";
|
|
10967
|
-
const [qrCodeUrl, setQrCodeUrl] = (0,
|
|
10968
|
-
const [copied, setCopied] = (0,
|
|
10969
|
-
(0,
|
|
10962
|
+
const [qrCodeUrl, setQrCodeUrl] = (0, import_react40.useState)("");
|
|
10963
|
+
const [copied, setCopied] = (0, import_react40.useState)(false);
|
|
10964
|
+
(0, import_react40.useEffect)(() => {
|
|
10970
10965
|
if (open && address) {
|
|
10971
10966
|
import_qrcode.default.toDataURL(address, {
|
|
10972
10967
|
width: 200,
|
|
@@ -10979,7 +10974,7 @@ function ReceiveLumiaMenu() {
|
|
|
10979
10974
|
});
|
|
10980
10975
|
}
|
|
10981
10976
|
}, [open, address]);
|
|
10982
|
-
const handleCopy = (0,
|
|
10977
|
+
const handleCopy = (0, import_react40.useCallback)(async () => {
|
|
10983
10978
|
if (!address) return;
|
|
10984
10979
|
try {
|
|
10985
10980
|
await navigator.clipboard.writeText(address);
|
|
@@ -10993,7 +10988,7 @@ function ReceiveLumiaMenu() {
|
|
|
10993
10988
|
"div",
|
|
10994
10989
|
{
|
|
10995
10990
|
style: {
|
|
10996
|
-
"--l-pass-scrollbar-mah": `${
|
|
10991
|
+
"--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
|
|
10997
10992
|
"--l-pass-list-scrollbar-pd-r": "8px"
|
|
10998
10993
|
},
|
|
10999
10994
|
className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
|
|
@@ -11025,7 +11020,7 @@ function ReceiveLumiaMenu() {
|
|
|
11025
11020
|
|
|
11026
11021
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
11027
11022
|
var import_lucide_react38 = require("lucide-react");
|
|
11028
|
-
var
|
|
11023
|
+
var import_react41 = require("react");
|
|
11029
11024
|
|
|
11030
11025
|
// src/internal/components/SettingsMenu/constants.ts
|
|
11031
11026
|
var import_lucide_react37 = require("lucide-react");
|
|
@@ -11059,7 +11054,7 @@ function SettingsMenu() {
|
|
|
11059
11054
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11060
11055
|
const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
|
|
11061
11056
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
11062
|
-
(0,
|
|
11057
|
+
(0, import_react41.useEffect)(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
|
|
11063
11058
|
const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
|
|
11064
11059
|
const highlightedKeys = settingsNotifications.map((n) => n.target);
|
|
11065
11060
|
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
@@ -11119,7 +11114,7 @@ function TermsOfService() {
|
|
|
11119
11114
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
11120
11115
|
var import_react_query23 = require("@tanstack/react-query");
|
|
11121
11116
|
var import_lucide_react41 = require("lucide-react");
|
|
11122
|
-
var
|
|
11117
|
+
var import_react42 = require("react");
|
|
11123
11118
|
|
|
11124
11119
|
// src/internal/components/TransactionsMenu/api.ts
|
|
11125
11120
|
init_base();
|
|
@@ -11599,10 +11594,10 @@ function TransactionsMenu() {
|
|
|
11599
11594
|
const address = useLumiaPassportSession((st) => st.address);
|
|
11600
11595
|
const page = useLayoutDataStore((st) => st.page);
|
|
11601
11596
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11602
|
-
const
|
|
11603
|
-
const txContainerListRef = (0,
|
|
11604
|
-
const txListRef = (0,
|
|
11605
|
-
const [expandedGroups, setExpandedGroups] = (0,
|
|
11597
|
+
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
11598
|
+
const txContainerListRef = (0, import_react42.useRef)(null);
|
|
11599
|
+
const txListRef = (0, import_react42.useRef)(null);
|
|
11600
|
+
const [expandedGroups, setExpandedGroups] = (0, import_react42.useState)({});
|
|
11606
11601
|
const {
|
|
11607
11602
|
data: txHistoryGroups = [],
|
|
11608
11603
|
isLoading: isTxHistoryLoading,
|
|
@@ -11614,14 +11609,14 @@ function TransactionsMenu() {
|
|
|
11614
11609
|
queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
|
|
11615
11610
|
queryFn: () => getTransactionsListQuery(address)
|
|
11616
11611
|
});
|
|
11617
|
-
const refreshTxHistory = (0,
|
|
11612
|
+
const refreshTxHistory = (0, import_react42.useCallback)(
|
|
11618
11613
|
() => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address] }),
|
|
11619
11614
|
[qc, address]
|
|
11620
11615
|
);
|
|
11621
11616
|
const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
|
|
11622
|
-
(0,
|
|
11617
|
+
(0, import_react42.useEffect)(() => {
|
|
11623
11618
|
if (!txContainerListRef.current || !txListRef.current) return;
|
|
11624
|
-
const listTargetHeight =
|
|
11619
|
+
const listTargetHeight = maxScrollHeight - 128;
|
|
11625
11620
|
txContainerListRef.current.style.setProperty("--l-pass-scrollbar-mah", `${listTargetHeight}px`);
|
|
11626
11621
|
txContainerListRef.current.style.setProperty(
|
|
11627
11622
|
"--l-pass-list-bd",
|
|
@@ -11633,7 +11628,7 @@ function TransactionsMenu() {
|
|
|
11633
11628
|
txListRef.current.clientHeight >= listTargetHeight ? "4px" : "0px"
|
|
11634
11629
|
// remove padding if no scrollbar
|
|
11635
11630
|
);
|
|
11636
|
-
}, [
|
|
11631
|
+
}, [maxScrollHeight]);
|
|
11637
11632
|
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
11638
11633
|
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
11639
11634
|
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react41.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
@@ -11790,7 +11785,7 @@ function usePageMapper() {
|
|
|
11790
11785
|
setIsDialogOpen,
|
|
11791
11786
|
setIsDialogClosing
|
|
11792
11787
|
} = useLayoutStore();
|
|
11793
|
-
const closeDialog = (0,
|
|
11788
|
+
const closeDialog = (0, import_react43.useCallback)(() => {
|
|
11794
11789
|
setIsDialogClosing(true);
|
|
11795
11790
|
setTimeout(() => {
|
|
11796
11791
|
setDialogContent(null);
|
|
@@ -11801,7 +11796,7 @@ function usePageMapper() {
|
|
|
11801
11796
|
setIsDialogOpen(false);
|
|
11802
11797
|
}, CLEAR_DIALOG_TIMEOUT);
|
|
11803
11798
|
}, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
|
|
11804
|
-
const openDialog = (0,
|
|
11799
|
+
const openDialog = (0, import_react43.useCallback)(
|
|
11805
11800
|
(pageItem) => {
|
|
11806
11801
|
const PageContentComponent = pageItem.component;
|
|
11807
11802
|
setDialogTitle(pageItem.title);
|
|
@@ -11811,7 +11806,7 @@ function usePageMapper() {
|
|
|
11811
11806
|
},
|
|
11812
11807
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
11813
11808
|
);
|
|
11814
|
-
(0,
|
|
11809
|
+
(0, import_react43.useEffect)(() => {
|
|
11815
11810
|
if (page === null) return closeDialog();
|
|
11816
11811
|
const pageItem = protectedRoutes[page];
|
|
11817
11812
|
if (!pageItem) {
|
|
@@ -11824,7 +11819,7 @@ function usePageMapper() {
|
|
|
11824
11819
|
}
|
|
11825
11820
|
|
|
11826
11821
|
// src/internal/hooks/useSettingsNotifications.ts
|
|
11827
|
-
var
|
|
11822
|
+
var import_react44 = require("react");
|
|
11828
11823
|
init_auth();
|
|
11829
11824
|
var EMAIL_NOT_CONNECTED_NOTIFICATION = {
|
|
11830
11825
|
id: "email-not-connected",
|
|
@@ -11841,13 +11836,13 @@ function useSettingsNotifications() {
|
|
|
11841
11836
|
const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
|
|
11842
11837
|
const providers = import_auth3.jwtTokenManager.getProviders();
|
|
11843
11838
|
const hasEmail = providers.includes("email");
|
|
11844
|
-
(0,
|
|
11839
|
+
(0, import_react44.useEffect)(() => {
|
|
11845
11840
|
setSettingsNotifications({
|
|
11846
11841
|
...BACKUP_IS_NOT_CREATED_NOTIFICATION,
|
|
11847
11842
|
status: hasServerVault ? "resolved" : "active"
|
|
11848
11843
|
});
|
|
11849
11844
|
}, [hasServerVault, setSettingsNotifications]);
|
|
11850
|
-
(0,
|
|
11845
|
+
(0, import_react44.useEffect)(() => {
|
|
11851
11846
|
setSettingsNotifications({
|
|
11852
11847
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
11853
11848
|
status: hasEmail ? "resolved" : "active"
|
|
@@ -11856,7 +11851,7 @@ function useSettingsNotifications() {
|
|
|
11856
11851
|
}
|
|
11857
11852
|
|
|
11858
11853
|
// src/internal/hooks/useWalletStatus.ts
|
|
11859
|
-
var
|
|
11854
|
+
var import_react45 = require("react");
|
|
11860
11855
|
init_auth();
|
|
11861
11856
|
function useWalletStatus() {
|
|
11862
11857
|
const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
|
|
@@ -11866,7 +11861,7 @@ function useWalletStatus() {
|
|
|
11866
11861
|
config: { current: config },
|
|
11867
11862
|
callbacks
|
|
11868
11863
|
} = useLumiaPassportConfig();
|
|
11869
|
-
(0,
|
|
11864
|
+
(0, import_react45.useEffect)(() => {
|
|
11870
11865
|
if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
|
|
11871
11866
|
const userId = import_auth3.jwtTokenManager.getUserId();
|
|
11872
11867
|
const hasKeyshare = import_auth3.jwtTokenManager.getHasKeyshare();
|
|
@@ -11889,26 +11884,24 @@ function useWalletStatus() {
|
|
|
11889
11884
|
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
11890
11885
|
function LumiaPassportDialog() {
|
|
11891
11886
|
const config = useLumiaPassportConfig().config;
|
|
11892
|
-
const isWalletLinking = useManageWalletStore((st) => st.isWalletLinking);
|
|
11893
11887
|
const className = config.current?.ui?.dialogClassName;
|
|
11894
11888
|
const session = useLumiaPassportSession((st) => st.session);
|
|
11895
11889
|
const page = useLayoutDataStore((st) => st.page);
|
|
11896
11890
|
const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
|
|
11897
11891
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11898
11892
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
11899
|
-
(0,
|
|
11893
|
+
(0, import_react46.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
11900
11894
|
usePageMapper();
|
|
11901
11895
|
useAutoConnect();
|
|
11902
11896
|
useCheckVaultStatus();
|
|
11903
11897
|
useBackupStatusChanges();
|
|
11904
|
-
|
|
11898
|
+
useDetectMaxScrollHeight();
|
|
11905
11899
|
useSettingsNotifications();
|
|
11906
11900
|
useWalletStatus();
|
|
11907
11901
|
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
11908
11902
|
Dialog,
|
|
11909
11903
|
{
|
|
11910
11904
|
open: isDialogOpen,
|
|
11911
|
-
modal: !isWalletLinking,
|
|
11912
11905
|
onOpenChange: (open) => {
|
|
11913
11906
|
if (isDialogForced) return;
|
|
11914
11907
|
if (!open) setPage(null);
|
|
@@ -11936,23 +11929,23 @@ function LumiaPassportDialog() {
|
|
|
11936
11929
|
}
|
|
11937
11930
|
|
|
11938
11931
|
// src/internal/components/TssManager.tsx
|
|
11939
|
-
var
|
|
11932
|
+
var import_react47 = __toESM(require("react"), 1);
|
|
11940
11933
|
init_auth();
|
|
11941
11934
|
init_clients();
|
|
11942
|
-
var TssManagerWithRef =
|
|
11935
|
+
var TssManagerWithRef = import_react47.default.forwardRef((props, ref) => {
|
|
11943
11936
|
const { mpcPin } = props;
|
|
11944
11937
|
const usePaymaster = useLumiaPassportSession((st) => st.usePaymaster);
|
|
11945
11938
|
const setStatus = useLumiaPassportSession((st) => st.setStatus);
|
|
11946
11939
|
const setSession = useLumiaPassportSession((st) => st.setSession);
|
|
11947
11940
|
const setAddress = useLumiaPassportSession((st) => st.setAddress);
|
|
11948
|
-
const onSessionCreated = (0,
|
|
11941
|
+
const onSessionCreated = (0, import_react47.useCallback)(
|
|
11949
11942
|
(session, address) => {
|
|
11950
11943
|
setSession(session);
|
|
11951
11944
|
setAddress(address);
|
|
11952
11945
|
},
|
|
11953
11946
|
[setSession, setAddress]
|
|
11954
11947
|
);
|
|
11955
|
-
const createSessionWithKeyshare =
|
|
11948
|
+
const createSessionWithKeyshare = import_react47.default.useCallback(
|
|
11956
11949
|
async (userId, hasServerKeyshare, isNewUser) => {
|
|
11957
11950
|
setStatus("checking key management setup...");
|
|
11958
11951
|
await ensureKeyshare(userId, hasServerKeyshare, setStatus, isNewUser);
|
|
@@ -11973,14 +11966,14 @@ var TssManagerWithRef = import_react46.default.forwardRef((props, ref) => {
|
|
|
11973
11966
|
},
|
|
11974
11967
|
[setStatus, usePaymaster, mpcPin]
|
|
11975
11968
|
);
|
|
11976
|
-
|
|
11969
|
+
import_react47.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
|
|
11977
11970
|
return null;
|
|
11978
11971
|
});
|
|
11979
11972
|
|
|
11980
11973
|
// src/internal/components/WalletConnectHandler.tsx
|
|
11981
11974
|
var import_rainbowkit = require("@rainbow-me/rainbowkit");
|
|
11982
11975
|
var import_react_query24 = require("@tanstack/react-query");
|
|
11983
|
-
var
|
|
11976
|
+
var import_react48 = __toESM(require("react"), 1);
|
|
11984
11977
|
var import_wagmi4 = require("wagmi");
|
|
11985
11978
|
init_wallet();
|
|
11986
11979
|
function WalletConnectHandler() {
|
|
@@ -11992,31 +11985,37 @@ function WalletConnectHandler() {
|
|
|
11992
11985
|
const { signMessageAsync } = (0, import_wagmi4.useSignMessage)();
|
|
11993
11986
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11994
11987
|
const { isWalletLinking, setLinkError, setIsWalletLinking, setLinkIsLoading, setProviderType } = useManageWalletStore();
|
|
11995
|
-
const onError = (0,
|
|
11988
|
+
const onError = (0, import_react48.useCallback)((error) => {
|
|
11996
11989
|
setLinkError(error);
|
|
11997
11990
|
setIsWalletLinking(false);
|
|
11998
11991
|
setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
11999
11992
|
}, []);
|
|
12000
|
-
const onLinkingComplete = (0,
|
|
12001
|
-
|
|
12002
|
-
|
|
12003
|
-
|
|
11993
|
+
const onLinkingComplete = (0, import_react48.useCallback)(
|
|
11994
|
+
async (success) => {
|
|
11995
|
+
console.log("[WalletConnectHandler] onLinkingComplete called:", { success, userAddress });
|
|
11996
|
+
setIsWalletLinking(false);
|
|
12004
11997
|
setProviderType(null);
|
|
12005
11998
|
setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
12006
|
-
|
|
12007
|
-
|
|
12008
|
-
|
|
12009
|
-
|
|
12010
|
-
|
|
12011
|
-
|
|
12012
|
-
|
|
11999
|
+
if (success) {
|
|
12000
|
+
console.log("[WalletConnectHandler] Invalidating and refetching queries with key:", [
|
|
12001
|
+
PROVIDERS_QUERY_KEY,
|
|
12002
|
+
userAddress
|
|
12003
|
+
]);
|
|
12004
|
+
await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, userAddress], refetchType: "active" });
|
|
12005
|
+
await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, userAddress], refetchType: "active" });
|
|
12006
|
+
await qc.refetchQueries({ queryKey: [PROVIDERS_QUERY_KEY, userAddress] });
|
|
12007
|
+
try {
|
|
12008
|
+
callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, userAddress]) });
|
|
12009
|
+
} catch {
|
|
12010
|
+
}
|
|
12013
12011
|
}
|
|
12014
|
-
}
|
|
12015
|
-
|
|
12012
|
+
},
|
|
12013
|
+
[qc, userAddress, callbacks, setProviderType, setPage, setIsWalletLinking]
|
|
12014
|
+
);
|
|
12016
12015
|
const { openConnectModal, connectModalOpen } = (0, import_rainbowkit.useConnectModal)();
|
|
12017
|
-
const [hasStartedLinking, setHasStartedLinking] =
|
|
12018
|
-
const timeoutRef =
|
|
12019
|
-
(0,
|
|
12016
|
+
const [hasStartedLinking, setHasStartedLinking] = import_react48.default.useState(false);
|
|
12017
|
+
const timeoutRef = import_react48.default.useRef();
|
|
12018
|
+
(0, import_react48.useEffect)(() => {
|
|
12020
12019
|
if (isWalletLinking && !hasStartedLinking) {
|
|
12021
12020
|
setHasStartedLinking(true);
|
|
12022
12021
|
setProviderType(null);
|
|
@@ -12024,34 +12023,37 @@ function WalletConnectHandler() {
|
|
|
12024
12023
|
disconnect();
|
|
12025
12024
|
setTimeout(() => {
|
|
12026
12025
|
if (openConnectModal) {
|
|
12026
|
+
setPage(null);
|
|
12027
12027
|
openConnectModal();
|
|
12028
12028
|
}
|
|
12029
|
-
},
|
|
12029
|
+
}, 500);
|
|
12030
12030
|
} else {
|
|
12031
12031
|
if (openConnectModal) {
|
|
12032
|
+
setPage(null);
|
|
12032
12033
|
openConnectModal();
|
|
12033
12034
|
}
|
|
12034
12035
|
}
|
|
12035
12036
|
}
|
|
12036
12037
|
if (!isWalletLinking && hasStartedLinking) {
|
|
12037
12038
|
setHasStartedLinking(false);
|
|
12038
|
-
if (timeoutRef.current)
|
|
12039
|
-
|
|
12040
|
-
|
|
12041
|
-
|
|
12042
|
-
|
|
12043
|
-
|
|
12044
|
-
|
|
12045
|
-
|
|
12046
|
-
|
|
12047
|
-
|
|
12039
|
+
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
12040
|
+
if (isConnected) disconnect();
|
|
12041
|
+
}
|
|
12042
|
+
}, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect, setPage, setProviderType]);
|
|
12043
|
+
(0, import_react48.useEffect)(() => {
|
|
12044
|
+
console.log("[WalletConnectHandler] Modal state check:", {
|
|
12045
|
+
hasStartedLinking,
|
|
12046
|
+
connectModalOpen,
|
|
12047
|
+
isConnected,
|
|
12048
|
+
isWalletLinking
|
|
12049
|
+
});
|
|
12048
12050
|
if (hasStartedLinking && !connectModalOpen && !isConnected && isWalletLinking) {
|
|
12049
12051
|
console.log("[WalletConnectHandler] Modal closed without connecting, resetting state");
|
|
12050
12052
|
onLinkingComplete(false);
|
|
12051
12053
|
setHasStartedLinking(false);
|
|
12052
12054
|
}
|
|
12053
12055
|
}, [connectModalOpen, hasStartedLinking, isConnected, isWalletLinking]);
|
|
12054
|
-
(0,
|
|
12056
|
+
(0, import_react48.useEffect)(() => {
|
|
12055
12057
|
if (isConnected && walletAddress && isWalletLinking && hasStartedLinking) {
|
|
12056
12058
|
handleWalletSign();
|
|
12057
12059
|
}
|
|
@@ -12139,7 +12141,7 @@ function LumiaPassportSessionProvider({ children }) {
|
|
|
12139
12141
|
const {
|
|
12140
12142
|
config: { current: config }
|
|
12141
12143
|
} = useLumiaPassportConfig();
|
|
12142
|
-
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
12144
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_react49.Fragment, { children: [
|
|
12143
12145
|
children,
|
|
12144
12146
|
config.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(WalletConnectHandler, {}),
|
|
12145
12147
|
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(BalanceFeedProvider, {}),
|
|
@@ -12191,14 +12193,14 @@ var LumiaWagmiProvider = ({ children }) => {
|
|
|
12191
12193
|
|
|
12192
12194
|
// src/context/LumiaPassportContext.tsx
|
|
12193
12195
|
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
12194
|
-
var LumiaPassportContext = (0,
|
|
12196
|
+
var LumiaPassportContext = (0, import_react50.createContext)(void 0);
|
|
12195
12197
|
function LumiaPassportProvider(props) {
|
|
12196
12198
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
12197
12199
|
const setIsIframeReady = useLumiaPassportSession((st) => st.setIsIframeReady);
|
|
12198
12200
|
const setWalletReadyStatus = useLumiaPassportSession((st) => st.setWalletReadyStatus);
|
|
12199
|
-
(0,
|
|
12200
|
-
const config = (0,
|
|
12201
|
-
const updateConfig = (0,
|
|
12201
|
+
(0, import_react50.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
|
|
12202
|
+
const config = (0, import_react50.useRef)({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
|
|
12203
|
+
const updateConfig = (0, import_react50.useCallback)((updates) => {
|
|
12202
12204
|
const prev = config.current;
|
|
12203
12205
|
const next = { ...prev };
|
|
12204
12206
|
if (updates.projectId !== void 0) next.projectId = updates.projectId;
|
|
@@ -12233,9 +12235,9 @@ function LumiaPassportProvider(props) {
|
|
|
12233
12235
|
}
|
|
12234
12236
|
config.current = next;
|
|
12235
12237
|
}, []);
|
|
12236
|
-
(0,
|
|
12238
|
+
(0, import_react50.useEffect)(() => {
|
|
12237
12239
|
if (typeof window === "undefined" || !projectId) return;
|
|
12238
|
-
const mergedConfig = (0,
|
|
12240
|
+
const mergedConfig = (0, import_lodash_es4.merge)(DEFAULT_LUMIA_PASSPORT_CONFIG, initialConfig);
|
|
12239
12241
|
updateConfig(mergedConfig);
|
|
12240
12242
|
console.log("[ MERGED PROVIDER STORED CONFIG ]", mergedConfig);
|
|
12241
12243
|
try {
|
|
@@ -12278,18 +12280,18 @@ function LumiaPassportProvider(props) {
|
|
|
12278
12280
|
console.error("[LumiaPassport] Error setting up iframe manager:", error);
|
|
12279
12281
|
}
|
|
12280
12282
|
}, [projectId, initialConfig, callbacks, updateConfig, setIsIframeReady, setWalletReadyStatus]);
|
|
12281
|
-
const contextValue = (0,
|
|
12283
|
+
const contextValue = (0, import_react50.useMemo)(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
|
|
12282
12284
|
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(LumiaWagmiProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(LumiaPassportContext.Provider, { value: contextValue, children }) });
|
|
12283
12285
|
}
|
|
12284
12286
|
var useLumiaPassportConfig = () => {
|
|
12285
|
-
const ctx = (0,
|
|
12287
|
+
const ctx = (0, import_react50.useContext)(LumiaPassportContext);
|
|
12286
12288
|
if (!ctx) throw new Error("useLumiaPassportConfig must be used within a LumiaPassportProvider");
|
|
12287
12289
|
return ctx;
|
|
12288
12290
|
};
|
|
12289
12291
|
|
|
12290
12292
|
// src/components/ConnectWalletButton.tsx
|
|
12291
12293
|
var import_lucide_react42 = require("lucide-react");
|
|
12292
|
-
var
|
|
12294
|
+
var import_react51 = require("react");
|
|
12293
12295
|
init_auth();
|
|
12294
12296
|
var import_jsx_runtime65 = (
|
|
12295
12297
|
/** external Buttons can be provided */
|
|
@@ -12312,10 +12314,10 @@ function ConnectWalletButton(props) {
|
|
|
12312
12314
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
12313
12315
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
|
|
12314
12316
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
12315
|
-
(0,
|
|
12317
|
+
(0, import_react51.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
12316
12318
|
const avatar = import_auth3.jwtTokenManager.getAvatar();
|
|
12317
12319
|
const displayName = import_auth3.jwtTokenManager.getDisplayName();
|
|
12318
|
-
const indicators = (0,
|
|
12320
|
+
const indicators = (0, import_react51.useMemo)(() => {
|
|
12319
12321
|
const userId = import_auth3.jwtTokenManager.getUserId();
|
|
12320
12322
|
if (!userId) return { server: false, local: false, backup: false };
|
|
12321
12323
|
const server = import_auth3.jwtTokenManager.getHasKeyshare() ?? false;
|
|
@@ -12467,13 +12469,13 @@ var useLumiaPassportRecoveryUserId = () => useLumiaPassportSession((st) => st.re
|
|
|
12467
12469
|
var useLumiaPassportHasServerVault = () => useLumiaPassportSession((st) => st.hasServerVault);
|
|
12468
12470
|
|
|
12469
12471
|
// src/hooks/useLumiaPassportOpen.ts
|
|
12470
|
-
var
|
|
12472
|
+
var import_react52 = require("react");
|
|
12471
12473
|
function useLumiaPassportOpen() {
|
|
12472
12474
|
const page = useLayoutDataStore((st) => st.page);
|
|
12473
12475
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
12474
12476
|
const setPageParams = useLayoutDataStore((st) => st.setPageParams);
|
|
12475
12477
|
const address = useLumiaPassportSession((st) => st.address);
|
|
12476
|
-
const open = (0,
|
|
12478
|
+
const open = (0, import_react52.useCallback)(
|
|
12477
12479
|
(passportPage, params) => {
|
|
12478
12480
|
if (!address) return setPage("auth" /* AUTH */);
|
|
12479
12481
|
if (!!address && passportPage === "auth" /* AUTH */) return setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
@@ -12482,12 +12484,12 @@ function useLumiaPassportOpen() {
|
|
|
12482
12484
|
},
|
|
12483
12485
|
[setPage, setPageParams, address]
|
|
12484
12486
|
);
|
|
12485
|
-
const close = (0,
|
|
12487
|
+
const close = (0, import_react52.useCallback)(() => setPage(null), [setPage]);
|
|
12486
12488
|
return { open, close, isOpen: page !== null };
|
|
12487
12489
|
}
|
|
12488
12490
|
|
|
12489
12491
|
// src/hooks/useLumiaPassportColorMode.ts
|
|
12490
|
-
var
|
|
12492
|
+
var import_react53 = require("react");
|
|
12491
12493
|
function useLumiaPassportColorMode() {
|
|
12492
12494
|
const {
|
|
12493
12495
|
config: { current: config }
|
|
@@ -12495,14 +12497,14 @@ function useLumiaPassportColorMode() {
|
|
|
12495
12497
|
const preferedColorMode = config?.preferedColorMode;
|
|
12496
12498
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
12497
12499
|
const handleStoreColorMode = useLayoutStore((st) => st.setColorMode);
|
|
12498
|
-
const setColorMode = (0,
|
|
12500
|
+
const setColorMode = (0, import_react53.useCallback)(
|
|
12499
12501
|
(mode) => {
|
|
12500
12502
|
localStorage.setItem(LOCAL_COLOR_MODE_KEY, mode);
|
|
12501
12503
|
handleStoreColorMode(mode);
|
|
12502
12504
|
},
|
|
12503
12505
|
[handleStoreColorMode]
|
|
12504
12506
|
);
|
|
12505
|
-
(0,
|
|
12507
|
+
(0, import_react53.useEffect)(() => {
|
|
12506
12508
|
let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
|
|
12507
12509
|
if (!targetColorMode && !preferedColorMode) {
|
|
12508
12510
|
const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
@@ -12544,7 +12546,7 @@ function ThemeToggle(props) {
|
|
|
12544
12546
|
}
|
|
12545
12547
|
|
|
12546
12548
|
// src/context/RainbowKitContext.tsx
|
|
12547
|
-
var
|
|
12549
|
+
var import_react54 = __toESM(require("react"), 1);
|
|
12548
12550
|
var import_styles = require("@rainbow-me/rainbowkit/styles.css");
|
|
12549
12551
|
var import_rainbowkit3 = require("@rainbow-me/rainbowkit");
|
|
12550
12552
|
var import_wagmi8 = require("wagmi");
|
|
@@ -12691,10 +12693,10 @@ var LumiaRainbowKitProvider = ({ children }) => {
|
|
|
12691
12693
|
config: { current: config }
|
|
12692
12694
|
} = useLumiaPassportConfig();
|
|
12693
12695
|
const isDark = useLayoutStore((st) => st.colorMode === "dark");
|
|
12694
|
-
const rainbowConfig2 =
|
|
12696
|
+
const rainbowConfig2 = import_react54.default.useMemo(() => {
|
|
12695
12697
|
return createRainbowConfig(config.wallet?.walletConnectProjectId);
|
|
12696
12698
|
}, [config.wallet?.walletConnectProjectId]);
|
|
12697
|
-
const customTheme =
|
|
12699
|
+
const customTheme = import_react54.default.useMemo(
|
|
12698
12700
|
() => isDark ? {
|
|
12699
12701
|
...(0, import_rainbowkit3.darkTheme)(),
|
|
12700
12702
|
colors: {
|
|
@@ -12723,7 +12725,7 @@ var LumiaRainbowKitProvider = ({ children }) => {
|
|
|
12723
12725
|
|
|
12724
12726
|
// src/internal/components/UserOpStatus.tsx
|
|
12725
12727
|
var import_lucide_react45 = require("lucide-react");
|
|
12726
|
-
var
|
|
12728
|
+
var React16 = __toESM(require("react"), 1);
|
|
12727
12729
|
init_base();
|
|
12728
12730
|
|
|
12729
12731
|
// src/internal/utils/cn.ts
|
|
@@ -12735,7 +12737,7 @@ function cn2(...inputs) {
|
|
|
12735
12737
|
|
|
12736
12738
|
// src/internal/components/Address.tsx
|
|
12737
12739
|
var import_lucide_react44 = require("lucide-react");
|
|
12738
|
-
var
|
|
12740
|
+
var React15 = __toESM(require("react"), 1);
|
|
12739
12741
|
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
12740
12742
|
function toExplorerAddressUrl(address, chain) {
|
|
12741
12743
|
const base2 = chain?.blockExplorers?.default?.url;
|
|
@@ -12757,7 +12759,7 @@ var Address = ({
|
|
|
12757
12759
|
}) => {
|
|
12758
12760
|
const addr = address || "";
|
|
12759
12761
|
const explorer = toExplorerAddressUrl(addr, chain || void 0);
|
|
12760
|
-
const [copied, setCopied] =
|
|
12762
|
+
const [copied, setCopied] = React15.useState(false);
|
|
12761
12763
|
if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
|
|
12762
12764
|
return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
|
|
12763
12765
|
label && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "text-sm font-medium", children: label }),
|
|
@@ -12830,20 +12832,20 @@ var UserOpStatus = ({
|
|
|
12830
12832
|
externalState
|
|
12831
12833
|
}) => {
|
|
12832
12834
|
const useExternalState = !!externalState;
|
|
12833
|
-
const [internalReceipt, setInternalReceipt] =
|
|
12834
|
-
const [internalMempool, setInternalMempool] =
|
|
12835
|
-
const [internalError, setInternalError] =
|
|
12836
|
-
const [attempt, setAttempt] =
|
|
12837
|
-
const [internalRefreshing, setInternalRefreshing] =
|
|
12838
|
-
const [timedOut, setTimedOut] =
|
|
12839
|
-
const [rejected, setRejected] =
|
|
12840
|
-
const intervalRef =
|
|
12841
|
-
const startTimeRef =
|
|
12835
|
+
const [internalReceipt, setInternalReceipt] = React16.useState(null);
|
|
12836
|
+
const [internalMempool, setInternalMempool] = React16.useState(null);
|
|
12837
|
+
const [internalError, setInternalError] = React16.useState(null);
|
|
12838
|
+
const [attempt, setAttempt] = React16.useState(0);
|
|
12839
|
+
const [internalRefreshing, setInternalRefreshing] = React16.useState(false);
|
|
12840
|
+
const [timedOut, setTimedOut] = React16.useState(false);
|
|
12841
|
+
const [rejected, setRejected] = React16.useState(false);
|
|
12842
|
+
const intervalRef = React16.useRef(null);
|
|
12843
|
+
const startTimeRef = React16.useRef(Date.now());
|
|
12842
12844
|
const receipt = useExternalState ? externalState.receipt ?? null : internalReceipt;
|
|
12843
12845
|
const mempool = useExternalState ? externalState.mempool ?? null : internalMempool;
|
|
12844
12846
|
const error = useExternalState ? externalState.error ?? null : internalError;
|
|
12845
12847
|
const refreshing = useExternalState ? externalState.isPolling ?? false : internalRefreshing;
|
|
12846
|
-
const rpc =
|
|
12848
|
+
const rpc = React16.useCallback(async (method, params) => {
|
|
12847
12849
|
const body = { jsonrpc: "2.0", id: 1, method, params };
|
|
12848
12850
|
const res = await fetch(getBundlerUrl(), {
|
|
12849
12851
|
method: "POST",
|
|
@@ -12854,14 +12856,14 @@ var UserOpStatus = ({
|
|
|
12854
12856
|
if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
|
|
12855
12857
|
return json.result;
|
|
12856
12858
|
}, []);
|
|
12857
|
-
const extractMempoolInfo =
|
|
12859
|
+
const extractMempoolInfo = React16.useCallback((m) => {
|
|
12858
12860
|
if (!m) return null;
|
|
12859
12861
|
const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
|
|
12860
12862
|
const sender = m.sender || m?.userOperation?.sender || null;
|
|
12861
12863
|
if (!entryPoint && !sender) return null;
|
|
12862
12864
|
return { entryPoint, sender };
|
|
12863
12865
|
}, []);
|
|
12864
|
-
const tick =
|
|
12866
|
+
const tick = React16.useCallback(async () => {
|
|
12865
12867
|
if (useExternalState) return;
|
|
12866
12868
|
const elapsed = Date.now() - startTimeRef.current;
|
|
12867
12869
|
if (elapsed > maxPollTimeMs) {
|
|
@@ -12905,7 +12907,7 @@ var UserOpStatus = ({
|
|
|
12905
12907
|
setAttempt((x) => x + 1);
|
|
12906
12908
|
}
|
|
12907
12909
|
}, [rpc, userOpHash, maxPollTimeMs, extractMempoolInfo, useExternalState]);
|
|
12908
|
-
|
|
12910
|
+
React16.useEffect(() => {
|
|
12909
12911
|
if (useExternalState) return;
|
|
12910
12912
|
console.log("[UserOpStatus] Initializing polling for UserOp hash:", userOpHash);
|
|
12911
12913
|
startTimeRef.current = Date.now();
|
|
@@ -12917,7 +12919,7 @@ var UserOpStatus = ({
|
|
|
12917
12919
|
setAttempt(0);
|
|
12918
12920
|
setInternalRefreshing(false);
|
|
12919
12921
|
}, [userOpHash, useExternalState]);
|
|
12920
|
-
|
|
12922
|
+
React16.useEffect(() => {
|
|
12921
12923
|
if (useExternalState) {
|
|
12922
12924
|
console.log("[UserOpStatus] Using external state, skipping internal polling");
|
|
12923
12925
|
return;
|
|
@@ -13094,7 +13096,7 @@ var UserOpStatus = ({
|
|
|
13094
13096
|
|
|
13095
13097
|
// src/internal/components/Hash.tsx
|
|
13096
13098
|
var import_lucide_react46 = require("lucide-react");
|
|
13097
|
-
var
|
|
13099
|
+
var React17 = __toESM(require("react"), 1);
|
|
13098
13100
|
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
13099
13101
|
function toExplorerUrl(kind, value, chain) {
|
|
13100
13102
|
const base2 = chain?.blockExplorers?.default?.url;
|
|
@@ -13118,7 +13120,7 @@ var Hash = ({
|
|
|
13118
13120
|
}) => {
|
|
13119
13121
|
const value = hash || "";
|
|
13120
13122
|
const explorer = toExplorerUrl(kind, value, chain || void 0);
|
|
13121
|
-
const [copied, setCopied] =
|
|
13123
|
+
const [copied, setCopied] = React17.useState(false);
|
|
13122
13124
|
if (!value) return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
|
|
13123
13125
|
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: cn2("flex items-center gap-2", className), children: [
|
|
13124
13126
|
label && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "text-sm font-medium", children: label }),
|
|
@@ -13155,14 +13157,14 @@ var Hash = ({
|
|
|
13155
13157
|
};
|
|
13156
13158
|
|
|
13157
13159
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
13158
|
-
var
|
|
13160
|
+
var import_react55 = require("react");
|
|
13159
13161
|
init_base();
|
|
13160
13162
|
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
13161
13163
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
13162
|
-
const [transactions, setTransactions] = (0,
|
|
13163
|
-
const [loading, setLoading] = (0,
|
|
13164
|
-
const [error, setError] = (0,
|
|
13165
|
-
(0,
|
|
13164
|
+
const [transactions, setTransactions] = (0, import_react55.useState)([]);
|
|
13165
|
+
const [loading, setLoading] = (0, import_react55.useState)(true);
|
|
13166
|
+
const [error, setError] = (0, import_react55.useState)(null);
|
|
13167
|
+
(0, import_react55.useEffect)(() => {
|
|
13166
13168
|
const fetchTransactions = async () => {
|
|
13167
13169
|
try {
|
|
13168
13170
|
setLoading(true);
|
|
@@ -13281,7 +13283,7 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
|
13281
13283
|
};
|
|
13282
13284
|
|
|
13283
13285
|
// src/hooks/useUserOpStatus.ts
|
|
13284
|
-
var
|
|
13286
|
+
var React19 = __toESM(require("react"), 1);
|
|
13285
13287
|
init_base();
|
|
13286
13288
|
function useUserOpStatus(options = {}) {
|
|
13287
13289
|
const {
|
|
@@ -13293,16 +13295,16 @@ function useUserOpStatus(options = {}) {
|
|
|
13293
13295
|
onReceipt,
|
|
13294
13296
|
onTxHash
|
|
13295
13297
|
} = options;
|
|
13296
|
-
const [state, setState] =
|
|
13297
|
-
const [receipt, setReceipt] =
|
|
13298
|
-
const [mempool, setMempool] =
|
|
13299
|
-
const [txHash, setTxHash] =
|
|
13300
|
-
const [error, setError] =
|
|
13301
|
-
const [isPolling, setIsPolling] =
|
|
13302
|
-
const intervalRef =
|
|
13303
|
-
const startTimeRef =
|
|
13304
|
-
const prevStateRef =
|
|
13305
|
-
const rpc =
|
|
13298
|
+
const [state, setState] = React19.useState("waiting");
|
|
13299
|
+
const [receipt, setReceipt] = React19.useState(null);
|
|
13300
|
+
const [mempool, setMempool] = React19.useState(null);
|
|
13301
|
+
const [txHash, setTxHash] = React19.useState(null);
|
|
13302
|
+
const [error, setError] = React19.useState(null);
|
|
13303
|
+
const [isPolling, setIsPolling] = React19.useState(false);
|
|
13304
|
+
const intervalRef = React19.useRef(null);
|
|
13305
|
+
const startTimeRef = React19.useRef(Date.now());
|
|
13306
|
+
const prevStateRef = React19.useRef("waiting");
|
|
13307
|
+
const rpc = React19.useCallback(async (method, params) => {
|
|
13306
13308
|
const body = { jsonrpc: "2.0", id: 1, method, params };
|
|
13307
13309
|
const res = await fetch(getBundlerUrl(), {
|
|
13308
13310
|
method: "POST",
|
|
@@ -13313,21 +13315,21 @@ function useUserOpStatus(options = {}) {
|
|
|
13313
13315
|
if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
|
|
13314
13316
|
return json.result;
|
|
13315
13317
|
}, []);
|
|
13316
|
-
const extractMempoolInfo =
|
|
13318
|
+
const extractMempoolInfo = React19.useCallback((m) => {
|
|
13317
13319
|
if (!m) return null;
|
|
13318
13320
|
const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
|
|
13319
13321
|
const sender = m.sender || m?.userOperation?.sender || null;
|
|
13320
13322
|
if (!entryPoint && !sender) return null;
|
|
13321
13323
|
return { entryPoint, sender };
|
|
13322
13324
|
}, []);
|
|
13323
|
-
const updateState =
|
|
13325
|
+
const updateState = React19.useCallback((newState) => {
|
|
13324
13326
|
setState(newState);
|
|
13325
13327
|
if (prevStateRef.current !== newState) {
|
|
13326
13328
|
prevStateRef.current = newState;
|
|
13327
13329
|
onStateChange?.(newState);
|
|
13328
13330
|
}
|
|
13329
13331
|
}, [onStateChange]);
|
|
13330
|
-
const tick =
|
|
13332
|
+
const tick = React19.useCallback(async () => {
|
|
13331
13333
|
if (!userOpHash || !enabled) return;
|
|
13332
13334
|
if (receipt) {
|
|
13333
13335
|
console.log("[useUserOpStatus] Already have receipt, skipping tick");
|
|
@@ -13400,7 +13402,7 @@ function useUserOpStatus(options = {}) {
|
|
|
13400
13402
|
onTxHash,
|
|
13401
13403
|
onReceipt
|
|
13402
13404
|
]);
|
|
13403
|
-
|
|
13405
|
+
React19.useEffect(() => {
|
|
13404
13406
|
if (!userOpHash || !enabled) return;
|
|
13405
13407
|
console.log("[useUserOpStatus] Initializing for UserOp hash:", userOpHash);
|
|
13406
13408
|
startTimeRef.current = Date.now();
|
|
@@ -13412,7 +13414,7 @@ function useUserOpStatus(options = {}) {
|
|
|
13412
13414
|
setError(null);
|
|
13413
13415
|
setIsPolling(false);
|
|
13414
13416
|
}, [userOpHash, enabled]);
|
|
13415
|
-
|
|
13417
|
+
React19.useEffect(() => {
|
|
13416
13418
|
if (!userOpHash || !enabled) {
|
|
13417
13419
|
console.log("[useUserOpStatus] Not starting polling - no hash or disabled");
|
|
13418
13420
|
return;
|
|
@@ -13448,7 +13450,7 @@ function useUserOpStatus(options = {}) {
|
|
|
13448
13450
|
}
|
|
13449
13451
|
};
|
|
13450
13452
|
}, [userOpHash, enabled, pollMs]);
|
|
13451
|
-
const refresh =
|
|
13453
|
+
const refresh = React19.useCallback(async () => {
|
|
13452
13454
|
await tick();
|
|
13453
13455
|
}, [tick]);
|
|
13454
13456
|
return {
|
|
@@ -13464,11 +13466,11 @@ function useUserOpStatus(options = {}) {
|
|
|
13464
13466
|
|
|
13465
13467
|
// src/hooks/useLogout.ts
|
|
13466
13468
|
var import_auth20 = require("@lumiapassport/core/auth");
|
|
13467
|
-
var
|
|
13469
|
+
var import_react56 = require("react");
|
|
13468
13470
|
function useLogout() {
|
|
13469
13471
|
const { setSession, setIsLoading, setAddress, setStatus, setError, address } = useLumiaPassportSession();
|
|
13470
13472
|
const { callbacks } = useLumiaPassportConfig();
|
|
13471
|
-
const logout2 = (0,
|
|
13473
|
+
const logout2 = (0, import_react56.useCallback)(async () => {
|
|
13472
13474
|
const prevAddress = address;
|
|
13473
13475
|
let userId = null;
|
|
13474
13476
|
setIsLoading(true);
|