@lumiapassport/ui-kit 1.14.9 → 1.14.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 +23 -16
- package/dist/iframe/main.js +147 -224
- package/dist/iframe/main.js.map +1 -1
- package/dist/index.cjs +879 -866
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +931 -930
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -4381,7 +4381,7 @@ __export(index_exports, {
|
|
|
4381
4381
|
module.exports = __toCommonJS(index_exports);
|
|
4382
4382
|
|
|
4383
4383
|
// src/styles/built.css
|
|
4384
|
-
var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-1{top:-.25rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .-top-3{top:-.75rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-0{right:0}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .m-4{margin:1rem}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .mt-\\[var\\(--l-pass-gap\\)\\]{margin-top:var(--l-pass-gap)}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .aspect-square{aspect-ratio:1/1}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[100dvh\\]{height:100dvh}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[150px\\]{max-width:150px}.lumia-scope .max-w-\\[160px\\]{max-width:160px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-normal{overflow-wrap:normal;word-break:normal}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-accent\\)\\]{background-color:var(--l-pass-accent)}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-muted\\)\\]{background-color:var(--l-pass-bg-muted)}.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-error\\)\\]{background-color:var(--l-pass-error)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-warning-bg\\)\\]{background-color:var(--l-pass-warning-bg)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-black\\/50{background-color:rgba(0,0,0,.5)}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.lumia-scope .py-\\[var\\(--l-pass-gap\\)\\]{padding-top:var(--l-pass-gap);padding-bottom:var(--l-pass-gap)}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-normal{font-weight:400}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-8{line-height:2rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .shadow-xl{--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 .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .grayscale{--tw-grayscale:grayscale(100%)}.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,384px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.lumia-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.lumia-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope .file\\:mr-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{margin-right:var(--l-pass-pd)}.lumia-scope .file\\:h-8::file-selector-button{height:2rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.lumia-scope .md\\:h-8{height:2rem}.lumia-scope .md\\:w-8{width:2rem}.lumia-scope .md\\:gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
|
|
4384
|
+
var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-1{top:-.25rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .-top-3{top:-.75rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-0{right:0}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .m-4{margin:1rem}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .mt-\\[var\\(--l-pass-gap\\)\\]{margin-top:var(--l-pass-gap)}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .aspect-square{aspect-ratio:1/1}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[100dvh\\]{height:100dvh}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[150px\\]{max-width:150px}.lumia-scope .max-w-\\[160px\\]{max-width:160px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-normal{overflow-wrap:normal;word-break:normal}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-accent\\)\\]{background-color:var(--l-pass-accent)}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-muted\\)\\]{background-color:var(--l-pass-bg-muted)}.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-error\\)\\]{background-color:var(--l-pass-error)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-warning-bg\\)\\]{background-color:var(--l-pass-warning-bg)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-gap\\)\\]{padding-left:var(--l-pass-gap);padding-right:var(--l-pass-gap)}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.lumia-scope .py-\\[var\\(--l-pass-gap\\)\\]{padding-top:var(--l-pass-gap);padding-bottom:var(--l-pass-gap)}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-normal{font-weight:400}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-8{line-height:2rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .shadow-xl{--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 .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .grayscale{--tw-grayscale:grayscale(100%)}.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,384px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.lumia-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.lumia-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope .file\\:mr-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{margin-right:var(--l-pass-pd)}.lumia-scope .file\\:h-8::file-selector-button{height:2rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.lumia-scope .md\\:h-8{height:2rem}.lumia-scope .md\\:w-8{width:2rem}.lumia-scope .md\\:gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
|
|
4385
4385
|
|
|
4386
4386
|
// src/context/LumiaPassportContext.tsx
|
|
4387
4387
|
var import_error_tracking4 = require("@lumiapassport/core/internal/error-tracking");
|
|
@@ -4430,23 +4430,23 @@ var PROVIDERS_META2 = {
|
|
|
4430
4430
|
};
|
|
4431
4431
|
|
|
4432
4432
|
// src/internal/hooks/useLayoutDataStore.ts
|
|
4433
|
-
var PageKey = /* @__PURE__ */ ((
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
return
|
|
4433
|
+
var PageKey = /* @__PURE__ */ ((PageKey3) => {
|
|
4434
|
+
PageKey3["AUTH"] = "auth";
|
|
4435
|
+
PageKey3["TERMS_OF_SERVICE"] = "terms-of-service";
|
|
4436
|
+
PageKey3["MAIN_MENU"] = "main-menu";
|
|
4437
|
+
PageKey3["SETTINGS"] = "settings";
|
|
4438
|
+
PageKey3["SEND"] = "send";
|
|
4439
|
+
PageKey3["RECEIVE"] = "receive";
|
|
4440
|
+
PageKey3["BUY"] = "buy";
|
|
4441
|
+
PageKey3["KYC"] = "kyc";
|
|
4442
|
+
PageKey3["TRANSACTIONS"] = "transactions";
|
|
4443
|
+
PageKey3["ASSETS"] = "assets";
|
|
4444
|
+
PageKey3["MANAGE_WALLET"] = "manage-wallet";
|
|
4445
|
+
PageKey3["UNLINK_PROVIDER"] = "unlink-provider";
|
|
4446
|
+
PageKey3["SECURITY"] = "security";
|
|
4447
|
+
PageKey3["KEYSARE_BACKUP"] = "keysare-backup";
|
|
4448
|
+
PageKey3["KEYSHARE_RESTORE"] = "keyshare-restore";
|
|
4449
|
+
return PageKey3;
|
|
4450
4450
|
})(PageKey || {});
|
|
4451
4451
|
var useLayoutDataStore = (0, import_zustand.create)((set) => ({
|
|
4452
4452
|
page: null,
|
|
@@ -4573,7 +4573,7 @@ var import_react52 = require("react");
|
|
|
4573
4573
|
// package.json
|
|
4574
4574
|
var package_default = {
|
|
4575
4575
|
name: "@lumiapassport/ui-kit",
|
|
4576
|
-
version: "1.14.
|
|
4576
|
+
version: "1.14.10",
|
|
4577
4577
|
description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
|
|
4578
4578
|
type: "module",
|
|
4579
4579
|
main: "./dist/index.cjs",
|
|
@@ -5847,15 +5847,17 @@ var import_lodash_es2 = require("lodash-es");
|
|
|
5847
5847
|
var import_react11 = require("react");
|
|
5848
5848
|
var DEBOUNCE_DELAY = 50;
|
|
5849
5849
|
function useDetectMaxScrollHeight() {
|
|
5850
|
+
const page = useLayoutDataStore((state) => state.page);
|
|
5850
5851
|
const setIsMobileView = useLayoutStore((state) => state.setIsMobileView);
|
|
5851
5852
|
const setMaxScrollHeight = useLayoutStore((state) => state.setMaxScrollHeight);
|
|
5852
5853
|
const onResize = (0, import_react11.useCallback)(
|
|
5853
5854
|
(0, import_lodash_es2.debounce)(({ width, height }) => {
|
|
5854
|
-
const
|
|
5855
|
+
const headerHeight = page === "auth" /* AUTH */ || page === "keyshare-restore" /* KEYSHARE_RESTORE */ ? 0 : 116;
|
|
5856
|
+
const limContentHeight = height * 0.92 - headerHeight - 72;
|
|
5855
5857
|
setIsMobileView(width < height && (width < 475 || limContentHeight <= MAX_CONTENT_HEIGHT));
|
|
5856
5858
|
setMaxScrollHeight(Math.min(limContentHeight, MAX_CONTENT_HEIGHT));
|
|
5857
5859
|
}, DEBOUNCE_DELAY),
|
|
5858
|
-
[setMaxScrollHeight, setIsMobileView]
|
|
5860
|
+
[page, setMaxScrollHeight, setIsMobileView]
|
|
5859
5861
|
);
|
|
5860
5862
|
(0, import_react11.useEffect)(() => {
|
|
5861
5863
|
const obs = new ResizeObserver(([entry]) => onResize(entry.contentRect));
|
|
@@ -5873,8 +5875,58 @@ var import_framer_motion = require("framer-motion");
|
|
|
5873
5875
|
var import_lucide_react16 = require("lucide-react");
|
|
5874
5876
|
var import_react21 = require("react");
|
|
5875
5877
|
|
|
5876
|
-
// src/internal/components/
|
|
5878
|
+
// src/internal/components/Expandable/hooks/useExpandable.ts
|
|
5879
|
+
var import_react12 = require("react");
|
|
5880
|
+
var useExpandable = (props) => {
|
|
5881
|
+
const { isExpanded = false, children, initHeight = 0, minHeight = 0 } = props;
|
|
5882
|
+
const expandableRef = (0, import_react12.useRef)(null);
|
|
5883
|
+
const contentRef = (0, import_react12.useRef)(null);
|
|
5884
|
+
(0, import_react12.useEffect)(() => {
|
|
5885
|
+
if (!expandableRef.current) return;
|
|
5886
|
+
expandableRef.current.style.setProperty("--ifo-basic-expandable-h", `${initHeight}px )`);
|
|
5887
|
+
}, []);
|
|
5888
|
+
const setExpandableHeight = (0, import_react12.useCallback)(
|
|
5889
|
+
(isExpnd) => {
|
|
5890
|
+
if (!contentRef.current || !expandableRef.current) return;
|
|
5891
|
+
expandableRef.current.style.setProperty(
|
|
5892
|
+
"--ifo-basic-expandable-h",
|
|
5893
|
+
isExpnd ? `${contentRef.current.clientHeight}px` : `${minHeight}px`
|
|
5894
|
+
);
|
|
5895
|
+
},
|
|
5896
|
+
// ON_RESIZE_DELEAY),
|
|
5897
|
+
[minHeight]
|
|
5898
|
+
);
|
|
5899
|
+
(0, import_react12.useEffect)(() => {
|
|
5900
|
+
if (!contentRef.current || !expandableRef.current) return;
|
|
5901
|
+
const obs = new ResizeObserver(() => setExpandableHeight(isExpanded));
|
|
5902
|
+
obs.observe(expandableRef.current);
|
|
5903
|
+
return () => obs.disconnect();
|
|
5904
|
+
}, [isExpanded, children]);
|
|
5905
|
+
return {
|
|
5906
|
+
expandableRef,
|
|
5907
|
+
contentRef
|
|
5908
|
+
};
|
|
5909
|
+
};
|
|
5910
|
+
|
|
5911
|
+
// src/internal/components/Expandable/Expandable.tsx
|
|
5877
5912
|
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
5913
|
+
function Expandable(props) {
|
|
5914
|
+
const { children, className, contentClassName, minHeight, divProps } = props;
|
|
5915
|
+
const { expandableRef, contentRef } = useExpandable(props);
|
|
5916
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
5917
|
+
"div",
|
|
5918
|
+
{
|
|
5919
|
+
...divProps,
|
|
5920
|
+
ref: expandableRef,
|
|
5921
|
+
className: cn("w-full overflow-y-hidden", className),
|
|
5922
|
+
style: { height: "var(--ifo-basic-expandable-h)", transition: "height 375ms ease" },
|
|
5923
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: cn("w-full", contentClassName), ref: contentRef, style: minHeight ? { minHeight } : void 0, children })
|
|
5924
|
+
}
|
|
5925
|
+
);
|
|
5926
|
+
}
|
|
5927
|
+
|
|
5928
|
+
// src/internal/components/ui/highlight.tsx
|
|
5929
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
5878
5930
|
var CARD_STYLES = {
|
|
5879
5931
|
info: "text-[var(--l-pass-info)] bg-[var(--l-pass-bg-info)]",
|
|
5880
5932
|
success: "text-[var(--l-pass-success)] bg-[var(--l-pass-bg-success)]",
|
|
@@ -5883,7 +5935,7 @@ var CARD_STYLES = {
|
|
|
5883
5935
|
};
|
|
5884
5936
|
function Highlight(props) {
|
|
5885
5937
|
const { type = "info", children, className } = props;
|
|
5886
|
-
return /* @__PURE__ */ (0,
|
|
5938
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
5887
5939
|
"div",
|
|
5888
5940
|
{
|
|
5889
5941
|
className: cn(
|
|
@@ -5920,42 +5972,42 @@ var useAuthStore = (0, import_zustand3.create)((set) => ({
|
|
|
5920
5972
|
}));
|
|
5921
5973
|
|
|
5922
5974
|
// src/internal/components/AuthMenu/AuthFailedStep.tsx
|
|
5923
|
-
var
|
|
5975
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
5924
5976
|
function AuthFailedStep() {
|
|
5925
5977
|
const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
|
|
5926
5978
|
const { failedType, setStep, setFailedType, setAlert } = useAuthStore();
|
|
5927
5979
|
const isCritical = failedType === "critical" || failedType === "config";
|
|
5928
|
-
return /* @__PURE__ */ (0,
|
|
5929
|
-
/* @__PURE__ */ (0,
|
|
5980
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "w-full flex flex-col text-center gap-4 p-4", children: [
|
|
5981
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
5930
5982
|
"div",
|
|
5931
5983
|
{
|
|
5932
5984
|
className: cn(
|
|
5933
5985
|
"w-full flex flex-col p-2 gap-2 rounded-[var(--l-pass-el-bdrs)]",
|
|
5934
5986
|
isCritical ? "text-[var(--l-pass-error)] bg-[var(--l-pass-bg-error)]" : "text-[var(--l-pass-warning)] bg-[var(--l-pass-bg-warning)]"
|
|
5935
5987
|
),
|
|
5936
|
-
children: /* @__PURE__ */ (0,
|
|
5937
|
-
isCritical ? /* @__PURE__ */ (0,
|
|
5938
|
-
/* @__PURE__ */ (0,
|
|
5988
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "w-full flex items-center justify-center gap-2", children: [
|
|
5989
|
+
isCritical ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react9.AlertTriangle, { className: "w-5 h-5 text-[var(--l-pass-error)]" }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react9.Cross, { className: "w-5 h-5 text-[var(--l-pass-warning)]" }),
|
|
5990
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "text-center block text-xl font-bold", children: failedType === "config" ? "Configuration Error" : failedType === "critical" ? "Critical Error" : "Failed" })
|
|
5939
5991
|
] })
|
|
5940
5992
|
}
|
|
5941
5993
|
),
|
|
5942
|
-
failedType === "config" && /* @__PURE__ */ (0,
|
|
5943
|
-
/* @__PURE__ */ (0,
|
|
5944
|
-
/* @__PURE__ */ (0,
|
|
5945
|
-
/* @__PURE__ */ (0,
|
|
5946
|
-
/* @__PURE__ */ (0,
|
|
5947
|
-
/* @__PURE__ */ (0,
|
|
5994
|
+
failedType === "config" && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "p-2 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-info)]", children: [
|
|
5995
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "text-sm font-medium text-[var(--l-pass-info)] mb-2", children: "To fix this issue:" }),
|
|
5996
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("ul", { className: "text-xs text-[var(--l-pass-info)] text-left space-y-1 list-disc list-inside", children: [
|
|
5997
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("li", { children: "Contact your project administrator" }),
|
|
5998
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("li", { children: "Verify projectId is correctly configured" }),
|
|
5999
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("li", { children: "Check project metadata on the server" })
|
|
5948
6000
|
] })
|
|
5949
6001
|
] }),
|
|
5950
|
-
failedType === "critical" && /* @__PURE__ */ (0,
|
|
5951
|
-
/* @__PURE__ */ (0,
|
|
5952
|
-
/* @__PURE__ */ (0,
|
|
5953
|
-
/* @__PURE__ */ (0,
|
|
5954
|
-
/* @__PURE__ */ (0,
|
|
5955
|
-
/* @__PURE__ */ (0,
|
|
6002
|
+
failedType === "critical" && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "p-2 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-error)] border", children: [
|
|
6003
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "text-sm font-semibold text-[var(--l-pass-error)] mb-2", children: "What to do next:" }),
|
|
6004
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("ul", { className: "text-xs text-[var(--l-pass-error)] text-left space-y-1 list-disc list-inside", children: [
|
|
6005
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("li", { children: "Contact support immediately" }),
|
|
6006
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("li", { children: "Provide your projectId and error details" }),
|
|
6007
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("li", { children: "You may need to create a new account" })
|
|
5956
6008
|
] })
|
|
5957
6009
|
] }),
|
|
5958
|
-
/* @__PURE__ */ (0,
|
|
6010
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
5959
6011
|
Button,
|
|
5960
6012
|
{
|
|
5961
6013
|
size: "large",
|
|
@@ -5974,19 +6026,19 @@ function AuthFailedStep() {
|
|
|
5974
6026
|
|
|
5975
6027
|
// src/internal/components/AuthMenu/DisaplayNameStep/DisplayNameInput.tsx
|
|
5976
6028
|
var import_lucide_react10 = require("lucide-react");
|
|
5977
|
-
var
|
|
6029
|
+
var import_react14 = require("react");
|
|
5978
6030
|
init_auth();
|
|
5979
6031
|
init_profile();
|
|
5980
6032
|
|
|
5981
6033
|
// src/internal/components/ui/input.tsx
|
|
5982
|
-
var
|
|
5983
|
-
var
|
|
5984
|
-
var Input =
|
|
6034
|
+
var import_react13 = __toESM(require("react"), 1);
|
|
6035
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
6036
|
+
var Input = import_react13.default.forwardRef((props, ref) => {
|
|
5985
6037
|
const { className, disabled, error, Icon, element, ...inputProps } = props;
|
|
5986
|
-
const internalRef = (0,
|
|
5987
|
-
(0,
|
|
5988
|
-
return /* @__PURE__ */ (0,
|
|
5989
|
-
/* @__PURE__ */ (0,
|
|
6038
|
+
const internalRef = (0, import_react13.useRef)(null);
|
|
6039
|
+
(0, import_react13.useImperativeHandle)(ref, () => internalRef.current);
|
|
6040
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: cn("w-full flex flex-col gap-1", className), children: [
|
|
6041
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
5990
6042
|
"div",
|
|
5991
6043
|
{
|
|
5992
6044
|
className: cn(
|
|
@@ -6002,8 +6054,8 @@ var Input = import_react12.default.forwardRef((props, ref) => {
|
|
|
6002
6054
|
internalRef.current?.focus();
|
|
6003
6055
|
},
|
|
6004
6056
|
children: [
|
|
6005
|
-
Icon && /* @__PURE__ */ (0,
|
|
6006
|
-
/* @__PURE__ */ (0,
|
|
6057
|
+
Icon && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "flex flex-none items-center justify-center w-6 h-6 p-1", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon, { width: 16, height: 16, className: "text-[var(--l-pass-fg)]" }) }),
|
|
6058
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
6007
6059
|
"input",
|
|
6008
6060
|
{
|
|
6009
6061
|
ref: internalRef,
|
|
@@ -6022,17 +6074,17 @@ var Input = import_react12.default.forwardRef((props, ref) => {
|
|
|
6022
6074
|
]
|
|
6023
6075
|
}
|
|
6024
6076
|
),
|
|
6025
|
-
!!error?.length && /* @__PURE__ */ (0,
|
|
6077
|
+
!!error?.length && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "block text-[var(--l-pass-error)]", children: error })
|
|
6026
6078
|
] });
|
|
6027
6079
|
});
|
|
6028
6080
|
Input.displayName = "Input";
|
|
6029
6081
|
|
|
6030
6082
|
// src/internal/components/AuthMenu/DisaplayNameStep/DisplayNameInput.tsx
|
|
6031
|
-
var
|
|
6083
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
6032
6084
|
var DisplayNameInput = ({ onComplete, onSkip }) => {
|
|
6033
|
-
const [displayName, setDisplayName] = (0,
|
|
6034
|
-
const [isLoading, setIsLoading] = (0,
|
|
6035
|
-
const [error, setError] = (0,
|
|
6085
|
+
const [displayName, setDisplayName] = (0, import_react14.useState)("");
|
|
6086
|
+
const [isLoading, setIsLoading] = (0, import_react14.useState)(false);
|
|
6087
|
+
const [error, setError] = (0, import_react14.useState)("");
|
|
6036
6088
|
const handleSubmit = async (e) => {
|
|
6037
6089
|
e.preventDefault();
|
|
6038
6090
|
if (!displayName.trim()) {
|
|
@@ -6056,14 +6108,14 @@ var DisplayNameInput = ({ onComplete, onSkip }) => {
|
|
|
6056
6108
|
setIsLoading(false);
|
|
6057
6109
|
}
|
|
6058
6110
|
};
|
|
6059
|
-
return /* @__PURE__ */ (0,
|
|
6060
|
-
/* @__PURE__ */ (0,
|
|
6061
|
-
/* @__PURE__ */ (0,
|
|
6062
|
-
/* @__PURE__ */ (0,
|
|
6111
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
6112
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "flex items-center justify-center gap-2 px-5 pt-3 pb-6", children: [
|
|
6113
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(LumiaLogo, { size: 24, className: "w-6 h-6" }),
|
|
6114
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "font-bold text-xl leading-6", children: "What's your name?" })
|
|
6063
6115
|
] }),
|
|
6064
|
-
/* @__PURE__ */ (0,
|
|
6065
|
-
/* @__PURE__ */ (0,
|
|
6066
|
-
/* @__PURE__ */ (0,
|
|
6116
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "block w-full text-xs text-center", children: "This helps personalize your experience" }),
|
|
6117
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("form", { onSubmit: handleSubmit, className: "w-full flex flex-col gap-[var(--l-pass-pd)]", children: [
|
|
6118
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
6067
6119
|
Input,
|
|
6068
6120
|
{
|
|
6069
6121
|
Icon: import_lucide_react10.User,
|
|
@@ -6080,8 +6132,8 @@ var DisplayNameInput = ({ onComplete, onSkip }) => {
|
|
|
6080
6132
|
}
|
|
6081
6133
|
}
|
|
6082
6134
|
),
|
|
6083
|
-
/* @__PURE__ */ (0,
|
|
6084
|
-
/* @__PURE__ */ (0,
|
|
6135
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "w-full flex gap-[var(--l-pass-gap)]", children: [
|
|
6136
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
6085
6137
|
Button,
|
|
6086
6138
|
{
|
|
6087
6139
|
type: "submit",
|
|
@@ -6091,7 +6143,7 @@ var DisplayNameInput = ({ onComplete, onSkip }) => {
|
|
|
6091
6143
|
children: isLoading ? "Saving..." : "Continue"
|
|
6092
6144
|
}
|
|
6093
6145
|
),
|
|
6094
|
-
/* @__PURE__ */ (0,
|
|
6146
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
6095
6147
|
Button,
|
|
6096
6148
|
{
|
|
6097
6149
|
className: "flex-1 text-[var(--l-pass-fg-muted)]",
|
|
@@ -6109,7 +6161,7 @@ var DisplayNameInput = ({ onComplete, onSkip }) => {
|
|
|
6109
6161
|
};
|
|
6110
6162
|
|
|
6111
6163
|
// src/internal/components/AuthMenu/DisaplayNameStep/DisplayNameStep.tsx
|
|
6112
|
-
var
|
|
6164
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
6113
6165
|
function DisplayNameStep(props) {
|
|
6114
6166
|
const { onAuthSuccess } = props;
|
|
6115
6167
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
@@ -6132,7 +6184,7 @@ function DisplayNameStep(props) {
|
|
|
6132
6184
|
await new Promise((resolve) => setTimeout(resolve, 250));
|
|
6133
6185
|
if (onAuthSuccess) await onAuthSuccess();
|
|
6134
6186
|
};
|
|
6135
|
-
return /* @__PURE__ */ (0,
|
|
6187
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DisplayNameInput, { onComplete, onSkip });
|
|
6136
6188
|
}
|
|
6137
6189
|
|
|
6138
6190
|
// src/internal/components/AuthMenu/PassKeyStep.tsx
|
|
@@ -6140,10 +6192,10 @@ var import_lucide_react11 = require("lucide-react");
|
|
|
6140
6192
|
var import_react15 = require("react");
|
|
6141
6193
|
|
|
6142
6194
|
// src/internal/assets/PasskeyAddIcon.tsx
|
|
6143
|
-
var
|
|
6195
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
6144
6196
|
function PasskeyAddIcon(props) {
|
|
6145
6197
|
const { width = "24", height = "24", className = "w-6 h-6", ...rest } = props;
|
|
6146
|
-
return /* @__PURE__ */ (0,
|
|
6198
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
6147
6199
|
"svg",
|
|
6148
6200
|
{
|
|
6149
6201
|
...rest,
|
|
@@ -6156,11 +6208,11 @@ function PasskeyAddIcon(props) {
|
|
|
6156
6208
|
strokeLinejoin: "round",
|
|
6157
6209
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6158
6210
|
children: [
|
|
6159
|
-
/* @__PURE__ */ (0,
|
|
6160
|
-
/* @__PURE__ */ (0,
|
|
6161
|
-
/* @__PURE__ */ (0,
|
|
6162
|
-
/* @__PURE__ */ (0,
|
|
6163
|
-
/* @__PURE__ */ (0,
|
|
6211
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("path", { d: "m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4" }),
|
|
6212
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("path", { d: "m21 2-9.6 9.6" }),
|
|
6213
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("circle", { cx: "7.5", cy: "15.5", r: "5.5" }),
|
|
6214
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("path", { d: "M18 15v6" }),
|
|
6215
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("path", { d: "M21 18h-6" })
|
|
6164
6216
|
]
|
|
6165
6217
|
}
|
|
6166
6218
|
);
|
|
@@ -6168,58 +6220,6 @@ function PasskeyAddIcon(props) {
|
|
|
6168
6220
|
|
|
6169
6221
|
// src/internal/components/AuthMenu/PassKeyStep.tsx
|
|
6170
6222
|
init_auth();
|
|
6171
|
-
|
|
6172
|
-
// src/internal/components/Expandable/hooks/useExpandable.ts
|
|
6173
|
-
var import_react14 = require("react");
|
|
6174
|
-
var useExpandable = (props) => {
|
|
6175
|
-
const { isExpanded = false, children, initHeight = 0, minHeight = 0 } = props;
|
|
6176
|
-
const expandableRef = (0, import_react14.useRef)(null);
|
|
6177
|
-
const contentRef = (0, import_react14.useRef)(null);
|
|
6178
|
-
(0, import_react14.useEffect)(() => {
|
|
6179
|
-
if (!expandableRef.current) return;
|
|
6180
|
-
expandableRef.current.style.setProperty("--ifo-basic-expandable-h", `${initHeight}px )`);
|
|
6181
|
-
}, []);
|
|
6182
|
-
const setExpandableHeight = (0, import_react14.useCallback)(
|
|
6183
|
-
(isExpnd) => {
|
|
6184
|
-
if (!contentRef.current || !expandableRef.current) return;
|
|
6185
|
-
expandableRef.current.style.setProperty(
|
|
6186
|
-
"--ifo-basic-expandable-h",
|
|
6187
|
-
isExpnd ? `${contentRef.current.clientHeight}px` : `${minHeight}px`
|
|
6188
|
-
);
|
|
6189
|
-
},
|
|
6190
|
-
// ON_RESIZE_DELEAY),
|
|
6191
|
-
[minHeight]
|
|
6192
|
-
);
|
|
6193
|
-
(0, import_react14.useEffect)(() => {
|
|
6194
|
-
if (!contentRef.current || !expandableRef.current) return;
|
|
6195
|
-
const obs = new ResizeObserver(() => setExpandableHeight(isExpanded));
|
|
6196
|
-
obs.observe(expandableRef.current);
|
|
6197
|
-
return () => obs.disconnect();
|
|
6198
|
-
}, [isExpanded, children]);
|
|
6199
|
-
return {
|
|
6200
|
-
expandableRef,
|
|
6201
|
-
contentRef
|
|
6202
|
-
};
|
|
6203
|
-
};
|
|
6204
|
-
|
|
6205
|
-
// src/internal/components/Expandable/Expandable.tsx
|
|
6206
|
-
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
6207
|
-
function Expandable(props) {
|
|
6208
|
-
const { children, className, contentClassName, minHeight, divProps } = props;
|
|
6209
|
-
const { expandableRef, contentRef } = useExpandable(props);
|
|
6210
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
6211
|
-
"div",
|
|
6212
|
-
{
|
|
6213
|
-
...divProps,
|
|
6214
|
-
ref: expandableRef,
|
|
6215
|
-
className: cn("w-full overflow-y-hidden", className),
|
|
6216
|
-
style: { height: "var(--ifo-basic-expandable-h)", transition: "height 375ms ease" },
|
|
6217
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: cn("w-full", contentClassName), ref: contentRef, style: minHeight ? { minHeight } : void 0, children })
|
|
6218
|
-
}
|
|
6219
|
-
);
|
|
6220
|
-
}
|
|
6221
|
-
|
|
6222
|
-
// src/internal/components/AuthMenu/PassKeyStep.tsx
|
|
6223
6223
|
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
6224
6224
|
function normalizeWebAuthnError(err) {
|
|
6225
6225
|
const raw = err?.message || String(err || "");
|
|
@@ -7616,28 +7616,27 @@ var AuthMenu = () => {
|
|
|
7616
7616
|
}),
|
|
7617
7617
|
[onAuthSuccess, goBackToSignIn, checkDisplayNameRequired]
|
|
7618
7618
|
);
|
|
7619
|
-
return /* @__PURE__ */ (0, import_jsx_runtime29.
|
|
7620
|
-
import_framer_motion.
|
|
7621
|
-
|
|
7622
|
-
|
|
7623
|
-
|
|
7624
|
-
|
|
7625
|
-
|
|
7626
|
-
|
|
7627
|
-
|
|
7628
|
-
stepContent[step]
|
|
7629
|
-
|
|
7630
|
-
|
|
7631
|
-
|
|
7632
|
-
|
|
7633
|
-
|
|
7634
|
-
|
|
7635
|
-
|
|
7636
|
-
|
|
7637
|
-
]
|
|
7638
|
-
}
|
|
7639
|
-
|
|
7640
|
-
) }) });
|
|
7619
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "w-full", children: [
|
|
7620
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_framer_motion.AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
7621
|
+
import_framer_motion.motion.div,
|
|
7622
|
+
{
|
|
7623
|
+
initial: { opacity: 0, height: DEFAULT_AUTH_MENU_HEIGHT },
|
|
7624
|
+
animate: { opacity: 1, height: "auto" },
|
|
7625
|
+
exit: { opacity: 0, height: DEFAULT_AUTH_MENU_HEIGHT },
|
|
7626
|
+
style: { overflow: "hidden" },
|
|
7627
|
+
transition: Y_ANIMATION_SETUP,
|
|
7628
|
+
children: stepContent[step]
|
|
7629
|
+
},
|
|
7630
|
+
step
|
|
7631
|
+
) }),
|
|
7632
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Expandable, { isExpanded: !!alert2, contentClassName: "px-[var(--l-pass-pd)]", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Highlight, { type: "error", className: "w-full flex gap-[var(--l-pass-gap)] ", children: [
|
|
7633
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react16.AlertTriangle, { className: "w-5 h-5 text-[var(--l-pass-error)]" }),
|
|
7634
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("span", { className: "block w-full flex flex-col gap-1 flex-1", children: [
|
|
7635
|
+
alert2?.title && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "block font-bold leading-5", children: alert2.title }),
|
|
7636
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "block whitespace-pre-line", children: alert2?.message || "Unknown error" })
|
|
7637
|
+
] })
|
|
7638
|
+
] }) })
|
|
7639
|
+
] });
|
|
7641
7640
|
};
|
|
7642
7641
|
|
|
7643
7642
|
// src/internal/components/BuyMenu/ByuMenu.tsx
|
|
@@ -8284,15 +8283,15 @@ function BuyMenu() {
|
|
|
8284
8283
|
simplex: "bg-[#081f2c]",
|
|
8285
8284
|
binance: "bg-[#f3ba2f]"
|
|
8286
8285
|
};
|
|
8287
|
-
return /* @__PURE__ */ (0, import_jsx_runtime36.
|
|
8286
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
8288
8287
|
"div",
|
|
8289
8288
|
{
|
|
8290
8289
|
style: {
|
|
8291
8290
|
"--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
|
|
8292
8291
|
"--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
|
|
8293
8292
|
},
|
|
8294
|
-
className: "list-scrollbar-y w-full
|
|
8295
|
-
children: [
|
|
8293
|
+
className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
|
|
8294
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
8296
8295
|
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
8297
8296
|
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react19.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
8298
8297
|
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-xl font-semibold", children: "Buy LUMIA" })
|
|
@@ -8310,22 +8309,20 @@ function BuyMenu() {
|
|
|
8310
8309
|
id
|
|
8311
8310
|
)) }),
|
|
8312
8311
|
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ProviderComponent, { control, walletAddress })
|
|
8313
|
-
]
|
|
8312
|
+
] })
|
|
8314
8313
|
}
|
|
8315
8314
|
);
|
|
8316
8315
|
}
|
|
8317
8316
|
|
|
8318
8317
|
// src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
|
|
8319
|
-
var
|
|
8318
|
+
var import_react_query16 = require("@tanstack/react-query");
|
|
8320
8319
|
var import_lucide_react26 = require("lucide-react");
|
|
8321
8320
|
var import_react31 = require("react");
|
|
8322
8321
|
init_vaultClient();
|
|
8323
8322
|
|
|
8324
8323
|
// src/internal/components/KeyshareRestoreMenu/components/MethodSelector.tsx
|
|
8325
|
-
var import_react_query15 = require("@tanstack/react-query");
|
|
8326
8324
|
var import_lucide_react20 = require("lucide-react");
|
|
8327
8325
|
var import_react28 = require("react");
|
|
8328
|
-
init_vaultClient();
|
|
8329
8326
|
|
|
8330
8327
|
// src/internal/components/KeyshareRestoreMenu/hooks/useCheckBackupAvailability.ts
|
|
8331
8328
|
var import_react_query12 = require("@tanstack/react-query");
|
|
@@ -8737,15 +8734,13 @@ function useRestoreAccount() {
|
|
|
8737
8734
|
|
|
8738
8735
|
// src/internal/components/KeyshareRestoreMenu/components/MethodSelector.tsx
|
|
8739
8736
|
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
8740
|
-
var
|
|
8741
|
-
{ method: "server", label: "
|
|
8742
|
-
{ method: "file", label: "File", Icon: import_lucide_react20.FileDown }
|
|
8743
|
-
|
|
8737
|
+
var restoreMethodes = (mode) => [
|
|
8738
|
+
{ method: "server", label: "Secured Vault", Icon: import_lucide_react20.ShieldCheck },
|
|
8739
|
+
{ method: "file", label: "Local File", Icon: mode === "restore" ? import_lucide_react20.FileUp : import_lucide_react20.FileDown },
|
|
8740
|
+
{ method: "cloud", label: "Cloud", Icon: import_lucide_react20.Cloud }
|
|
8744
8741
|
];
|
|
8745
8742
|
function MethodSelector(props) {
|
|
8746
|
-
const { mode = "restore" } = props;
|
|
8747
|
-
const qc = (0, import_react_query15.useQueryClient)();
|
|
8748
|
-
const address = useLumiaPassportSession((st) => st.address);
|
|
8743
|
+
const { mode = "restore", serverRecoveryStatus } = props;
|
|
8749
8744
|
const {
|
|
8750
8745
|
method: selectedRecoveryMethod,
|
|
8751
8746
|
setMethod,
|
|
@@ -8755,16 +8750,8 @@ function MethodSelector(props) {
|
|
|
8755
8750
|
setError,
|
|
8756
8751
|
setSuccess
|
|
8757
8752
|
} = useRestoreStore();
|
|
8758
|
-
const { data: serverRecoveryStatus, isFetching: isBackupStatusLoading } = (0, import_react_query15.useQuery)({
|
|
8759
|
-
retry: false,
|
|
8760
|
-
queryKey: [CHECK_BACKUP_QUERY_KEY, address],
|
|
8761
|
-
queryFn: async () => await getShareRecoveryStats()
|
|
8762
|
-
});
|
|
8763
|
-
(0, import_react28.useEffect)(() => {
|
|
8764
|
-
qc.invalidateQueries({ queryKey: [CHECK_BACKUP_QUERY_KEY] });
|
|
8765
|
-
}, [qc]);
|
|
8766
8753
|
const recoveryRenderMethods = (0, import_react28.useMemo)(() => {
|
|
8767
|
-
const methodsWithBackupData =
|
|
8754
|
+
const methodsWithBackupData = restoreMethodes(mode).map((mt) => {
|
|
8768
8755
|
const lastCreatedBackupMethod = serverRecoveryStatus?.created?.encryptionMethod;
|
|
8769
8756
|
let data = null;
|
|
8770
8757
|
switch (true) {
|
|
@@ -8786,19 +8773,21 @@ function MethodSelector(props) {
|
|
|
8786
8773
|
}, [mode, serverRecoveryStatus]);
|
|
8787
8774
|
if (!!selectedRecoveryMethod) return null;
|
|
8788
8775
|
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_react28.Fragment, { children: [
|
|
8789
|
-
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "block w-full text-xs font-semibold text-center leading-8 text-[var(--l-pass-fg-muted)]", children:
|
|
8776
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "block w-full text-xs font-semibold text-center leading-8 text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "leading-8", children: mode === "restore" ? "Choose restore method" : "Create or Update Backup via" }) }),
|
|
8790
8777
|
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
8791
8778
|
"div",
|
|
8792
8779
|
{
|
|
8793
8780
|
style: { gridTemplateColumns: `repeat(${recoveryRenderMethods.length}, minmax(0, 1fr))` },
|
|
8794
8781
|
className: "w-full grid gap-[var(--l-pass-gap)]",
|
|
8795
|
-
children: recoveryRenderMethods.map(({ method: recoveryMethod, label, Icon, data }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "w-full h-full flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
8796
|
-
/* @__PURE__ */ (0, import_jsx_runtime37.
|
|
8782
|
+
children: recoveryRenderMethods.map(({ method: recoveryMethod, label, Icon, data }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "w-full h-full flex flex-col items-center gap-[var(--l-pass-gap)]", children: [
|
|
8783
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
8797
8784
|
Button,
|
|
8798
8785
|
{
|
|
8799
|
-
size: "
|
|
8786
|
+
size: "icon",
|
|
8787
|
+
variant: "outline",
|
|
8800
8788
|
type: "button",
|
|
8801
|
-
|
|
8789
|
+
style: { height: "unset", maxWidth: "96px" },
|
|
8790
|
+
className: "w-full aspect-square h-unset rounded-[var(--l-pass-el-bdrs)]",
|
|
8802
8791
|
onClick: () => {
|
|
8803
8792
|
setRestorePassword("");
|
|
8804
8793
|
setRestoreFile(null);
|
|
@@ -8807,31 +8796,23 @@ function MethodSelector(props) {
|
|
|
8807
8796
|
setSuccess(null);
|
|
8808
8797
|
setMethod(recoveryMethod);
|
|
8809
8798
|
},
|
|
8810
|
-
children:
|
|
8811
|
-
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Icon, { className: "h-6 w-6" }),
|
|
8812
|
-
label
|
|
8813
|
-
]
|
|
8799
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Icon, { className: "w-5 h-5 md:w-8 md:h-8" })
|
|
8814
8800
|
}
|
|
8815
8801
|
),
|
|
8816
|
-
|
|
8817
|
-
"span",
|
|
8818
|
-
{
|
|
8819
|
-
className: cn(
|
|
8820
|
-
"flex w-full h-fit items-center gap-[var(--l-pass-gap)]",
|
|
8821
|
-
"rounded-[var(--l-pass-el-bdrs)] p-[var(--l-pass-pd)]",
|
|
8822
|
-
"bg-[var(--l-pass-bg-success)]",
|
|
8823
|
-
"text-[10px] text-black"
|
|
8824
|
-
),
|
|
8825
|
-
children: [
|
|
8826
|
-
`Last ${label} backup:`,
|
|
8827
|
-
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("br", {}),
|
|
8828
|
-
typeof data.lastBackup === "number" ? new Date(data.lastBackup).toLocaleString() : data.lastBackup.toUpperCase()
|
|
8829
|
-
]
|
|
8830
|
-
}
|
|
8831
|
-
)
|
|
8802
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-xs font-bold leading-4", children: label })
|
|
8832
8803
|
] }, recoveryMethod))
|
|
8833
8804
|
}
|
|
8834
|
-
)
|
|
8805
|
+
),
|
|
8806
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] py-[var(--l-pass-gap)]", children: recoveryRenderMethods.filter((el) => !!el.data?.lastBackup).map(({ data, label, Icon }, methodIdx) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Highlight, { type: "info", children: [
|
|
8807
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("span", { children: [
|
|
8808
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Icon, { className: "w-4 h-4 inline" }),
|
|
8809
|
+
" Last ",
|
|
8810
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("strong", { children: label }),
|
|
8811
|
+
" backup:"
|
|
8812
|
+
] }),
|
|
8813
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("br", {}),
|
|
8814
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-[10px] font-mono", children: typeof data.lastBackup === "number" ? new Date(data.lastBackup).toLocaleString() : data.lastBackup.toUpperCase() })
|
|
8815
|
+
] }, `${label}-${methodIdx}`)) })
|
|
8835
8816
|
] });
|
|
8836
8817
|
}
|
|
8837
8818
|
|
|
@@ -8844,7 +8825,7 @@ function NoBackupFound(props) {
|
|
|
8844
8825
|
const { isLoading, restoreFromFile } = props;
|
|
8845
8826
|
const { restoreFile, setRestoreFile } = useRestoreStore();
|
|
8846
8827
|
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
|
|
8847
|
-
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Highlight, { type: "
|
|
8828
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Highlight, { type: "warning", className: "animate-glow-warning flex gap-[var(--l-pass-gap)]", children: [
|
|
8848
8829
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react21.AlertCircle, { className: "h-4 w-4 flex-0" }),
|
|
8849
8830
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "w-full flex-1 flex flex-col gap-2", children: [
|
|
8850
8831
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "block w-full text-xl leading-5 font-semibold", children: "No Keyshare Found! Account Recovery Needed" }),
|
|
@@ -8906,7 +8887,7 @@ function File2(props) {
|
|
|
8906
8887
|
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react22.ArrowLeft, { className: "h-4 w-4" })
|
|
8907
8888
|
}
|
|
8908
8889
|
),
|
|
8909
|
-
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "text-
|
|
8890
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "text-lg font-semibold", children: `${mode === "restore" ? "Restore" : "Create"} File Backup` })
|
|
8910
8891
|
] }),
|
|
8911
8892
|
mode === "restore" && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("label", { className: "block w-full flex items-center justify-center cursor-pointer p-[var(--l-pass-pd)] bg-[var(--l-pass-secondary)] rounded-[var(--l-pass-el-bdrs)]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
8912
8893
|
"input",
|
|
@@ -9010,40 +8991,54 @@ function Server(props) {
|
|
|
9010
8991
|
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react24.ArrowLeft, { className: "h-4 w-4" })
|
|
9011
8992
|
}
|
|
9012
8993
|
),
|
|
9013
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "text-
|
|
8994
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "text-lg font-semibold", children: `${mode === "restore" ? "Restore" : "Create"} Server Backup` })
|
|
9014
8995
|
] }),
|
|
9015
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex
|
|
8996
|
+
!usePasskey ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "w-full flex gap-[var(--l-pass-gap)]", children: [
|
|
9016
8997
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
9017
|
-
|
|
8998
|
+
Input,
|
|
9018
8999
|
{
|
|
9019
|
-
|
|
9020
|
-
|
|
9021
|
-
|
|
9022
|
-
|
|
9000
|
+
autoComplete: "off",
|
|
9001
|
+
Icon: import_lucide_react24.ServerIcon,
|
|
9002
|
+
type: showPassword ? "text" : "password",
|
|
9003
|
+
placeholder: "Your backup password",
|
|
9004
|
+
value: restorePassword,
|
|
9005
|
+
onChange: (e) => setRestorePassword(e.target.value),
|
|
9006
|
+
className: "flex-1",
|
|
9007
|
+
onKeyDown: (e) => {
|
|
9008
|
+
if (e.key === "Enter" && !isLoading && restorePassword) actionRef.current?.click();
|
|
9009
|
+
},
|
|
9010
|
+
element: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
9011
|
+
Button,
|
|
9012
|
+
{
|
|
9013
|
+
variant: "ghost",
|
|
9014
|
+
size: "icon",
|
|
9015
|
+
type: "button",
|
|
9016
|
+
title: "Restore using Password",
|
|
9017
|
+
disabled: isLoading,
|
|
9018
|
+
onClick: () => setShowPassword(!showPassword),
|
|
9019
|
+
children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react24.EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react24.Eye, { className: "h-4 w-4" })
|
|
9020
|
+
}
|
|
9021
|
+
)
|
|
9023
9022
|
}
|
|
9024
9023
|
),
|
|
9025
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
9026
|
-
|
|
9027
|
-
|
|
9028
|
-
|
|
9029
|
-
|
|
9030
|
-
|
|
9031
|
-
|
|
9032
|
-
|
|
9033
|
-
|
|
9034
|
-
|
|
9035
|
-
|
|
9036
|
-
|
|
9037
|
-
|
|
9038
|
-
},
|
|
9039
|
-
element: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Button, { variant: "ghost", size: "icon", type: "button", onClick: () => setShowPassword(!showPassword), children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react24.EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react24.Eye, { className: "h-4 w-4" }) })
|
|
9040
|
-
}
|
|
9041
|
-
),
|
|
9042
|
-
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
9024
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
9025
|
+
Button,
|
|
9026
|
+
{
|
|
9027
|
+
ref: actionRef,
|
|
9028
|
+
size: "icon",
|
|
9029
|
+
variant: "default",
|
|
9030
|
+
onClick: serverHandler,
|
|
9031
|
+
disabled: isLoading || !usePasskey && !restorePassword,
|
|
9032
|
+
className: "w-full w-12 h-12 flex-shrink-0 rounded-[var(--l-pass-el-bdrs)]",
|
|
9033
|
+
children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react24.Loader, { className: "animate-spin h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react24.ChevronRight, { className: "h-4 w-4" })
|
|
9034
|
+
}
|
|
9035
|
+
)
|
|
9036
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
9043
9037
|
Button,
|
|
9044
9038
|
{
|
|
9045
9039
|
ref: actionRef,
|
|
9046
9040
|
size: "large",
|
|
9041
|
+
title: "Restore using Passkey",
|
|
9047
9042
|
onClick: serverHandler,
|
|
9048
9043
|
disabled: isLoading || !usePasskey && !restorePassword,
|
|
9049
9044
|
className: "w-full",
|
|
@@ -9052,12 +9047,27 @@ function Server(props) {
|
|
|
9052
9047
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { children: isLoading ? loadingText : `${actionText} with ${passkeyOrPassword}` })
|
|
9053
9048
|
]
|
|
9054
9049
|
}
|
|
9055
|
-
)
|
|
9050
|
+
),
|
|
9051
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Highlight, { type: "info", className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
9052
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
9053
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
9054
|
+
Checkbox,
|
|
9055
|
+
{
|
|
9056
|
+
id: "use-backup-password",
|
|
9057
|
+
name: "use-backup-password-checkbox",
|
|
9058
|
+
checked: usePasskey,
|
|
9059
|
+
onCheckedChange: (checked) => setUsePasskey(!!checked)
|
|
9060
|
+
}
|
|
9061
|
+
),
|
|
9062
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("label", { htmlFor: "use-backup-password", className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Use passkey instead of password" })
|
|
9063
|
+
] }),
|
|
9064
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "text-[10px] text-[var(--l-pass-fg-muted)]", children: "* use this option if you used passkey as encryption to create your server backup, otherwise use password" })
|
|
9065
|
+
] })
|
|
9056
9066
|
] });
|
|
9057
9067
|
}
|
|
9058
9068
|
|
|
9059
9069
|
// src/internal/components/KeyshareRestoreMenu/methods/Cloud.tsx
|
|
9060
|
-
var
|
|
9070
|
+
var import_react_query15 = require("@tanstack/react-query");
|
|
9061
9071
|
var import_lucide_react25 = require("lucide-react");
|
|
9062
9072
|
var import_react30 = require("react");
|
|
9063
9073
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
@@ -9070,7 +9080,7 @@ function Cloud2(props) {
|
|
|
9070
9080
|
data: cloudProviders = [],
|
|
9071
9081
|
isLoading: isCloudProvidersLoading,
|
|
9072
9082
|
error: cloudProvidersError
|
|
9073
|
-
} = (0,
|
|
9083
|
+
} = (0, import_react_query15.useQuery)({
|
|
9074
9084
|
retry: false,
|
|
9075
9085
|
enabled: !!passportUserId,
|
|
9076
9086
|
queryKey: [AVAILABLE_CLOUD_PROVIDERS_QUERY_KEY, passportUserId],
|
|
@@ -9108,7 +9118,7 @@ function Cloud2(props) {
|
|
|
9108
9118
|
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react25.ArrowLeft, { className: "h-4 w-4" })
|
|
9109
9119
|
}
|
|
9110
9120
|
),
|
|
9111
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-
|
|
9121
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-lg font-semibold", children: `${mode === "restore" ? "Restore" : "Create"} Cloud Backup` })
|
|
9112
9122
|
] }),
|
|
9113
9123
|
isCloudProvidersLoading && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react25.Loader, { className: "animate-spin w-4 h-4 mx-auto" }),
|
|
9114
9124
|
!isCloudProvidersLoading && cloudProviders.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
@@ -9145,10 +9155,10 @@ var RESTORE_COMPONENTS = {
|
|
|
9145
9155
|
file: File2
|
|
9146
9156
|
};
|
|
9147
9157
|
var KeyshareRestoreMenu = () => {
|
|
9148
|
-
const qc = (0,
|
|
9158
|
+
const qc = (0, import_react_query16.useQueryClient)();
|
|
9149
9159
|
const callbacks = useLumiaPassportConfig().callbacks;
|
|
9150
9160
|
const { address, setSession, setAddress, setStatus, setIsLoading } = useLumiaPassportSession();
|
|
9151
|
-
const { isFetching: isBackupStatusLoading } = (0,
|
|
9161
|
+
const { data: serverRecoveryStatus, isFetching: isBackupStatusLoading } = (0, import_react_query16.useQuery)({
|
|
9152
9162
|
retry: false,
|
|
9153
9163
|
queryKey: [CHECK_BACKUP_QUERY_KEY, address],
|
|
9154
9164
|
queryFn: async () => await getShareRecoveryStats()
|
|
@@ -9175,7 +9185,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
9175
9185
|
restoreFromCloud,
|
|
9176
9186
|
isRestoringFromCloud
|
|
9177
9187
|
} = useRestoreAccount();
|
|
9178
|
-
const { mutate: disconnect, isPending: isDisconnecting } = (0,
|
|
9188
|
+
const { mutate: disconnect, isPending: isDisconnecting } = (0, import_react_query16.useMutation)({
|
|
9179
9189
|
mutationFn: async () => {
|
|
9180
9190
|
setError(null);
|
|
9181
9191
|
setMethod(null);
|
|
@@ -9196,7 +9206,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
9196
9206
|
setIsLoading(false);
|
|
9197
9207
|
setIsDialogForced(false);
|
|
9198
9208
|
callbacks?.onLumiaPassportDisconnect?.({ address: "0x", userId: disconnectedUserId });
|
|
9199
|
-
setPage("auth" /* AUTH */);
|
|
9209
|
+
setTimeout(() => setPage("auth" /* AUTH */), 50);
|
|
9200
9210
|
},
|
|
9201
9211
|
onError: (err) => {
|
|
9202
9212
|
setError(err.message || "An unknown error occurred during sign out");
|
|
@@ -9212,24 +9222,24 @@ var KeyshareRestoreMenu = () => {
|
|
|
9212
9222
|
style: { "--l-pass-scrollbar-mah": `${maxScrollHeight}px` },
|
|
9213
9223
|
className: "list-scrollbar-y w-full",
|
|
9214
9224
|
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
|
|
9215
|
-
checkingBackup && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] text-center justify-center items-center", children: [
|
|
9225
|
+
(checkingBackup || isBackupStatusLoading) && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] text-center justify-center items-center", children: [
|
|
9216
9226
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react26.Loader, { className: "w-5 h-5 animate-spin" }),
|
|
9217
9227
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "block w-full text-xs leading-4", children: "Checking for backups..." }),
|
|
9218
9228
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "block w-full text-xs leading-4", children: "Please wait while we check for available backups..." })
|
|
9219
9229
|
] }),
|
|
9220
|
-
!isBackupStatusLoading && !checkingBackup && !hasServerBackup && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
9230
|
+
!isBackupStatusLoading && !isDisconnecting && !checkingBackup && !hasServerBackup && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
9221
9231
|
NoBackupFound,
|
|
9222
9232
|
{
|
|
9223
9233
|
isLoading: isRestoringFromServer || isRestoringFromCloud || isRestoringFromFile || isDisconnecting,
|
|
9224
9234
|
restoreFromFile
|
|
9225
9235
|
}
|
|
9226
9236
|
),
|
|
9227
|
-
!success && !checkingBackup && hasServerBackup && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
|
|
9237
|
+
!success && !checkingBackup && !isBackupStatusLoading && hasServerBackup && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
|
|
9228
9238
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)] px-[var(--l-pass-pd)] py-[var(--l-pass-gap)]", children: [
|
|
9229
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react26.
|
|
9239
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react26.CloudDownload, { className: "w-6 h-6" }),
|
|
9230
9240
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "font-bold text-xl leading-6", children: "Restore Account" })
|
|
9231
9241
|
] }),
|
|
9232
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(MethodSelector, { mode: "restore" }),
|
|
9242
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(MethodSelector, { mode: "restore", serverRecoveryStatus }),
|
|
9233
9243
|
!!currentRestoreMethod && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
9234
9244
|
RestoreComponent,
|
|
9235
9245
|
{
|
|
@@ -9240,7 +9250,7 @@ var KeyshareRestoreMenu = () => {
|
|
|
9240
9250
|
}
|
|
9241
9251
|
)
|
|
9242
9252
|
] }),
|
|
9243
|
-
!success && !currentRestoreMethod && !checkingBackup && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
|
|
9253
|
+
!success && !currentRestoreMethod && !checkingBackup && !isBackupStatusLoading && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
|
|
9244
9254
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "w-full mt-[var(--l-pass-gap)]", style: { borderTop: "1px solid var(--l-pass-bd)" } }),
|
|
9245
9255
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "w-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex-none font-bold px-2 text-xs leading-4 text-[var(--l-pass-fg-muted)]", children: "Or" }) }),
|
|
9246
9256
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
@@ -9252,8 +9262,8 @@ var KeyshareRestoreMenu = () => {
|
|
|
9252
9262
|
disabled: isDisconnecting || isRestoringFromFile || isRestoringFromServer,
|
|
9253
9263
|
className: "w-fit mx-auto",
|
|
9254
9264
|
children: [
|
|
9255
|
-
isDisconnecting ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react26.Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react26.
|
|
9256
|
-
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { children: "
|
|
9265
|
+
isDisconnecting ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react26.Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react26.UserCircle, { className: "w-4 h-4" }),
|
|
9266
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { children: "Try Another Account" })
|
|
9257
9267
|
]
|
|
9258
9268
|
}
|
|
9259
9269
|
)
|
|
@@ -9272,8 +9282,10 @@ var KeyshareRestoreMenu = () => {
|
|
|
9272
9282
|
};
|
|
9273
9283
|
|
|
9274
9284
|
// src/internal/components/KeyshareRestoreMenu/KeyshareBackupMenu.tsx
|
|
9285
|
+
var import_react_query17 = require("@tanstack/react-query");
|
|
9275
9286
|
var import_lucide_react27 = require("lucide-react");
|
|
9276
9287
|
var import_react32 = require("react");
|
|
9288
|
+
init_vaultClient();
|
|
9277
9289
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
9278
9290
|
var COMPONENTS = {
|
|
9279
9291
|
server: Server,
|
|
@@ -9282,6 +9294,7 @@ var COMPONENTS = {
|
|
|
9282
9294
|
};
|
|
9283
9295
|
var BACKUP_INFO_MESSAGE = "No existing backups found. Creating a backup will help you restore your account if you clear cache or lose access to this device.";
|
|
9284
9296
|
function KeyshareBackupMenu() {
|
|
9297
|
+
const address = useLumiaPassportSession((st) => st.address);
|
|
9285
9298
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
9286
9299
|
const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
|
|
9287
9300
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
@@ -9299,6 +9312,11 @@ function KeyshareBackupMenu() {
|
|
|
9299
9312
|
setShowPassword,
|
|
9300
9313
|
setUsePasskey
|
|
9301
9314
|
} = useRestoreStore();
|
|
9315
|
+
const { data: serverRecoveryStatus, isFetching: isBackupStatusLoading } = (0, import_react_query17.useQuery)({
|
|
9316
|
+
retry: false,
|
|
9317
|
+
queryKey: [CHECK_BACKUP_QUERY_KEY, address],
|
|
9318
|
+
queryFn: async () => await getShareRecoveryStats()
|
|
9319
|
+
});
|
|
9302
9320
|
const { hasRecoveryData, isRecoveryLoading } = useCheckBackupAvailability();
|
|
9303
9321
|
const {
|
|
9304
9322
|
isPasswordBackupCreating,
|
|
@@ -9341,30 +9359,17 @@ function KeyshareBackupMenu() {
|
|
|
9341
9359
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react27.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
|
|
9342
9360
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "block flex-1", children: BACKUP_INFO_MESSAGE })
|
|
9343
9361
|
] }),
|
|
9344
|
-
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(MethodSelector, { mode: "backup" }),
|
|
9345
|
-
!!currentBackupMethod && /* @__PURE__ */ (0, import_jsx_runtime44.
|
|
9346
|
-
|
|
9347
|
-
|
|
9348
|
-
|
|
9349
|
-
|
|
9350
|
-
|
|
9351
|
-
|
|
9352
|
-
|
|
9353
|
-
|
|
9354
|
-
|
|
9355
|
-
),
|
|
9356
|
-
currentBackupMethod === "server" && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Highlight, { className: "flex items-start gap-[var(--l-pass-gap)]", type: "info", children: [
|
|
9357
|
-
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react27.CheckCircle2, { className: "h-4 w-4 flex-shrink-0" }),
|
|
9358
|
-
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { children: [
|
|
9359
|
-
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "font-medium", children: "Security Notice:" }),
|
|
9360
|
-
" All backups are encrypted with AES-256 using your ",
|
|
9361
|
-
usePasskey ? "passkey" : "custom password",
|
|
9362
|
-
".",
|
|
9363
|
-
usePasskey ? " Your passkey authenticator is required to restore backups. " : " Store your password securely - ",
|
|
9364
|
-
"Without backup access, you cannot recover your account if you lose this device."
|
|
9365
|
-
] })
|
|
9366
|
-
] })
|
|
9367
|
-
] }),
|
|
9362
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(MethodSelector, { mode: "backup", serverRecoveryStatus }),
|
|
9363
|
+
!!currentBackupMethod && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
9364
|
+
BackupComponent,
|
|
9365
|
+
{
|
|
9366
|
+
mode: "backup",
|
|
9367
|
+
isLoading: isPasswordBackupCreating || isCloudBackupCreating || isLocalBackupCreating,
|
|
9368
|
+
fileHandler: createLocalBackup,
|
|
9369
|
+
serverHandler: createPasswordBackup,
|
|
9370
|
+
cloudHandler: createCloudBackup
|
|
9371
|
+
}
|
|
9372
|
+
) }),
|
|
9368
9373
|
error && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
|
|
9369
9374
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react27.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
|
|
9370
9375
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "block w-full flex-1", children: error })
|
|
@@ -10712,7 +10717,7 @@ function PortfolioItem(props) {
|
|
|
10712
10717
|
"flex-none flex items-center justify-center overflow-hidden relative",
|
|
10713
10718
|
"group-hover:opacity-60 transition-opacity",
|
|
10714
10719
|
// NFTs get rounded corners, tokens get circular
|
|
10715
|
-
isNft ? "w-12 h-12 rounded-
|
|
10720
|
+
isNft ? "w-12 h-12 rounded-[var(--l-pass-el-bdrs)]" : "w-12 h-12 rounded-full",
|
|
10716
10721
|
(!asset.logo || logoError) && !nftImage && "bg-[var(--l-pass-fg)]"
|
|
10717
10722
|
),
|
|
10718
10723
|
children: [
|
|
@@ -10750,7 +10755,14 @@ function PortfolioItem(props) {
|
|
|
10750
10755
|
),
|
|
10751
10756
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "w-full flex-1", children: [
|
|
10752
10757
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "w-full flex items-center justify-between text-xs", children: [
|
|
10753
|
-
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
10758
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
10759
|
+
"span",
|
|
10760
|
+
{
|
|
10761
|
+
className: "truncate max-w-[150px]",
|
|
10762
|
+
title: isNft ? asset.nftMetadata?.collectionName || asset.name : asset.name,
|
|
10763
|
+
children: isNft ? asset.nftMetadata?.collectionName || asset.name || (asset.address ? `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` : "Unknown") : asset.name || (asset.address ? `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` : "Unknown")
|
|
10764
|
+
}
|
|
10765
|
+
),
|
|
10754
10766
|
!isProjectAsset && !isNft && !isSecurity && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "USD" }),
|
|
10755
10767
|
isNft && "type" in asset && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[var(--l-pass-fg-muted)] uppercase text-[10px]", children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" }),
|
|
10756
10768
|
isSecurity && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-amber-500 uppercase text-[10px] font-medium", children: "Security Token" })
|
|
@@ -10797,15 +10809,15 @@ function PortfolioMenu() {
|
|
|
10797
10809
|
Promise.all(projectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
|
|
10798
10810
|
refreshBalances();
|
|
10799
10811
|
}, [qc, projectAssets, refreshBalances]);
|
|
10800
|
-
return /* @__PURE__ */ (0, import_jsx_runtime53.
|
|
10812
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
10801
10813
|
"div",
|
|
10802
10814
|
{
|
|
10803
10815
|
style: {
|
|
10804
10816
|
"--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
|
|
10805
10817
|
"--l-pass-list-scrollbar-pd-r": "calc(var(--l-pass-pd) - 4px)"
|
|
10806
10818
|
},
|
|
10807
|
-
className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]
|
|
10808
|
-
children: [
|
|
10819
|
+
className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
|
|
10820
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
10809
10821
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
10810
10822
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react35.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
10811
10823
|
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-xl font-semibold", children: "Your Assets" }),
|
|
@@ -10821,46 +10833,102 @@ function PortfolioMenu() {
|
|
|
10821
10833
|
}
|
|
10822
10834
|
)
|
|
10823
10835
|
] }),
|
|
10824
|
-
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full flex
|
|
10825
|
-
|
|
10826
|
-
|
|
10827
|
-
|
|
10828
|
-
|
|
10829
|
-
|
|
10830
|
-
|
|
10831
|
-
|
|
10832
|
-
|
|
10833
|
-
|
|
10834
|
-
|
|
10835
|
-
|
|
10836
|
-
|
|
10837
|
-
|
|
10838
|
-
|
|
10839
|
-
|
|
10840
|
-
|
|
10841
|
-
|
|
10842
|
-
|
|
10843
|
-
|
|
10844
|
-
|
|
10845
|
-
|
|
10846
|
-
))
|
|
10847
|
-
] })
|
|
10836
|
+
error && !isBlockscoutAvailable && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full flex items-center gap-2 p-3 rounded-lg bg-[var(--l-pass-warning-bg)] text-[var(--l-pass-warning)]", children: [
|
|
10837
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react35.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
|
|
10838
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-sm", children: error.message })
|
|
10839
|
+
] }),
|
|
10840
|
+
isLoading && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
|
|
10841
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react35.Loader, { className: "h-5 w-5 animate-spin" }),
|
|
10842
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "text-[var(--l-pass-muted)]", children: "Loading assets..." })
|
|
10843
|
+
] }),
|
|
10844
|
+
!isLoading && assets.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full flex flex-col items-center justify-center py-8 text-[var(--l-pass-muted)]", children: [
|
|
10845
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react35.Gem, { className: "w-12 h-12 mb-2" }),
|
|
10846
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { children: "No assets found" })
|
|
10847
|
+
] }),
|
|
10848
|
+
!isLoading && assets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] py-[var(--l-pass-pd)]", children: [
|
|
10849
|
+
projectAssets.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PortfolioItem, { isProjectAsset: true, address, asset }, `project-${asset.symbol}-${index}`)),
|
|
10850
|
+
assets.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
10851
|
+
PortfolioItem,
|
|
10852
|
+
{
|
|
10853
|
+
address,
|
|
10854
|
+
asset
|
|
10855
|
+
},
|
|
10856
|
+
`${asset.type}-${asset.address || "native"}-${asset.tokenId || index}`
|
|
10857
|
+
))
|
|
10848
10858
|
] })
|
|
10849
|
-
]
|
|
10859
|
+
] })
|
|
10850
10860
|
}
|
|
10851
10861
|
);
|
|
10852
10862
|
}
|
|
10853
10863
|
|
|
10854
10864
|
// src/internal/components/SecurityMenu/SecurityMenu.tsx
|
|
10855
10865
|
var import_react_query30 = require("@tanstack/react-query");
|
|
10856
|
-
var
|
|
10866
|
+
var import_lucide_react39 = require("lucide-react");
|
|
10857
10867
|
var import_react42 = require("react");
|
|
10858
10868
|
init_auth();
|
|
10859
10869
|
init_keyshare();
|
|
10860
10870
|
init_iframe_manager();
|
|
10861
10871
|
init_vaultClient();
|
|
10862
|
-
|
|
10872
|
+
|
|
10873
|
+
// src/internal/components/SecurityMenu/constants.ts
|
|
10863
10874
|
var KEYSHARE_RECOVERY_STATS_QUERY = "keyshare-recovery-stats-query";
|
|
10875
|
+
|
|
10876
|
+
// src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx
|
|
10877
|
+
var import_lucide_react38 = require("lucide-react");
|
|
10878
|
+
|
|
10879
|
+
// src/internal/assets/NegativeIcon.tsx
|
|
10880
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
10881
|
+
function NegativeIcon(props) {
|
|
10882
|
+
const { width = "16", height = "16", ...rest } = props;
|
|
10883
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("svg", { ...rest, width, height, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
10884
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("rect", { width: "16", height: "16", rx: "8", fill: "var(--l-pass-bg-error)" }),
|
|
10885
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("path", { d: "M10.8048 5.19482L5.19434 10.8055", stroke: "var(--l-pass-fg)", strokeLinecap: "round" }),
|
|
10886
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("path", { d: "M5.19421 5.19482L10.8047 10.8055", stroke: "var(--l-pass-fg)", strokeLinecap: "round" })
|
|
10887
|
+
] });
|
|
10888
|
+
}
|
|
10889
|
+
|
|
10890
|
+
// src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx
|
|
10891
|
+
init_vaultClient();
|
|
10892
|
+
|
|
10893
|
+
// src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx
|
|
10894
|
+
var import_lucide_react36 = require("lucide-react");
|
|
10895
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
10896
|
+
function KeyshareStatus(props) {
|
|
10897
|
+
const { isLoading, content, icon: Icon, children } = props;
|
|
10898
|
+
if (isLoading) return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react36.Loader, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" });
|
|
10899
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "group relative w-full h-full", children: [
|
|
10900
|
+
children,
|
|
10901
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
10902
|
+
"div",
|
|
10903
|
+
{
|
|
10904
|
+
className: cn(
|
|
10905
|
+
"absolute -top-2 -right-2 w-6 h-6 flex items-center justify-center",
|
|
10906
|
+
"rounded-full bg-[var(--l-pass-bg)]"
|
|
10907
|
+
// 'border border-[var(--l-pass-bd)]'
|
|
10908
|
+
),
|
|
10909
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Icon, { className: "w-4 h-4" })
|
|
10910
|
+
}
|
|
10911
|
+
),
|
|
10912
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
10913
|
+
"div",
|
|
10914
|
+
{
|
|
10915
|
+
style: { transform: "translateY(calc(var(--l-pass-gap) * -4))" },
|
|
10916
|
+
className: cn(
|
|
10917
|
+
"transition-opacity pointer-events-none z-50",
|
|
10918
|
+
"absolute top-0 right-0 max-w-full",
|
|
10919
|
+
"px-2 py-1 bg-[var(--l-pass-bg)] text-[var(--l-pass-fg)] text-[10px] rounded-[var(--l-pass-el-bdrs)]",
|
|
10920
|
+
"border border-[var(--l-pass-bd)]",
|
|
10921
|
+
"opacity-0 group-hover:opacity-100"
|
|
10922
|
+
),
|
|
10923
|
+
children: content
|
|
10924
|
+
}
|
|
10925
|
+
)
|
|
10926
|
+
] });
|
|
10927
|
+
}
|
|
10928
|
+
|
|
10929
|
+
// src/internal/components/SecurityMenu/Keyshare/LastBackup.tsx
|
|
10930
|
+
var import_lucide_react37 = require("lucide-react");
|
|
10931
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
10864
10932
|
function parseOS(ua) {
|
|
10865
10933
|
if (!ua) return null;
|
|
10866
10934
|
if (ua.includes("Mac OS X")) return "macOS";
|
|
@@ -10870,30 +10938,128 @@ function parseOS(ua) {
|
|
|
10870
10938
|
if (ua.includes("iPhone") || ua.includes("iPad") || ua.includes("iOS")) return "iOS";
|
|
10871
10939
|
return null;
|
|
10872
10940
|
}
|
|
10941
|
+
function LastBackup(props) {
|
|
10942
|
+
const { backup, createdRecoveryStats } = props;
|
|
10943
|
+
const {
|
|
10944
|
+
at: recoveryCreatedAt,
|
|
10945
|
+
browser: recoveryBrowser,
|
|
10946
|
+
ua: recoveryUa,
|
|
10947
|
+
deviceId: recoveryDeviceId,
|
|
10948
|
+
deviceName: recoveryDeviceName
|
|
10949
|
+
// country: recoveryCountry
|
|
10950
|
+
} = createdRecoveryStats || {};
|
|
10951
|
+
const hasBackupData = backup?.server?.enabled && backup.server.lastBackup || !backup.server.lastBackup && recoveryCreatedAt || backup.cloud.enabled && backup.cloud?.lastBackup || backup.local.enabled && backup.local.lastBackup;
|
|
10952
|
+
if (!hasBackupData) return null;
|
|
10953
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Highlight, { type: "info", className: "flex flex-col gap-[var(--l-pass-gap)] text-[10px] leading-tight", children: [
|
|
10954
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("span", { className: "block font-bold text-xs", children: [
|
|
10955
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_lucide_react37.Server, { className: "w-4 h-4 inline" }),
|
|
10956
|
+
" Last Keyshare Vault Backup"
|
|
10957
|
+
] }),
|
|
10958
|
+
recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_jsx_runtime56.Fragment, { children: [
|
|
10959
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Created At:" }),
|
|
10960
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: new Date(recoveryCreatedAt).toLocaleString() }),
|
|
10961
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Via:" }),
|
|
10962
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: `${recoveryBrowser || "UNKNOWN"} browser at ${recoveryDeviceName || "UNKNOWN"} device under ${parseOS(recoveryUa) || "UNKNOWN"} OS` })
|
|
10963
|
+
] }),
|
|
10964
|
+
backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex items-center gap-1", children: [
|
|
10965
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_lucide_react37.Cloud, { className: "h-3 w-3" }),
|
|
10966
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("span", { children: [
|
|
10967
|
+
"Cloud: ",
|
|
10968
|
+
new Date(backup.cloud.lastBackup).toLocaleString()
|
|
10969
|
+
] })
|
|
10970
|
+
] }),
|
|
10971
|
+
backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex items-center gap-1", children: [
|
|
10972
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_lucide_react37.HardDrive, { className: "h-3 w-3" }),
|
|
10973
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("span", { children: [
|
|
10974
|
+
"Local: ",
|
|
10975
|
+
new Date(backup.local.lastBackup).toLocaleString()
|
|
10976
|
+
] })
|
|
10977
|
+
] })
|
|
10978
|
+
] });
|
|
10979
|
+
}
|
|
10980
|
+
|
|
10981
|
+
// src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx
|
|
10982
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
10983
|
+
function Keyshare(props) {
|
|
10984
|
+
const { userId, serverHasKeyshare, localInfo, hasServerBackup, createdRecoveryStats, isLoading, refresh } = props;
|
|
10985
|
+
const backup = userId ? getBackupStatus(userId) : { server: { enabled: false }, cloud: { enabled: false }, local: { enabled: false } };
|
|
10986
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
|
|
10987
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
|
|
10988
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Keyshare Status" }),
|
|
10989
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Button, { variant: "ghost", size: "icon", title: "Refresh", disabled: isLoading, onClick: refresh, children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react38.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react38.RefreshCw, { className: "h-4 w-4" }) })
|
|
10990
|
+
] }),
|
|
10991
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "grid grid-cols-3 gap-[var(--l-pass-gap)] px-[var(--l-pass-gap)]", children: [
|
|
10992
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
10993
|
+
KeyshareStatus,
|
|
10994
|
+
{
|
|
10995
|
+
content: serverHasKeyshare ? "Your Server Security Key Share is safe and ready" : "Server Security Key Share is missing",
|
|
10996
|
+
icon: serverHasKeyshare ? PositiveIcon : NegativeIcon,
|
|
10997
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
10998
|
+
Highlight,
|
|
10999
|
+
{
|
|
11000
|
+
type: serverHasKeyshare ? "success" : "warning",
|
|
11001
|
+
className: "w-full h-full flex flex-col items-center gap-0",
|
|
11002
|
+
children: [
|
|
11003
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react38.Cloud, { className: "h-6 w-6" }),
|
|
11004
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "text-[10px] font-medium leading-4", children: "Server Share" })
|
|
11005
|
+
]
|
|
11006
|
+
}
|
|
11007
|
+
)
|
|
11008
|
+
}
|
|
11009
|
+
),
|
|
11010
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
11011
|
+
KeyshareStatus,
|
|
11012
|
+
{
|
|
11013
|
+
content: localInfo?.hasKeyshare ? "Your Private Local Security Key Share is safe and ready" : "Private Local Security Key Share is missing",
|
|
11014
|
+
icon: localInfo?.hasKeyshare ? PositiveIcon : NegativeIcon,
|
|
11015
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
11016
|
+
Highlight,
|
|
11017
|
+
{
|
|
11018
|
+
type: localInfo?.hasKeyshare ? "success" : "warning",
|
|
11019
|
+
className: "w-full h-full flex flex-col items-center gap-0",
|
|
11020
|
+
children: [
|
|
11021
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react38.Laptop, { className: "h-6 w-6" }),
|
|
11022
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "text-[10px] font-medium leading-4", children: "Local Share" })
|
|
11023
|
+
]
|
|
11024
|
+
}
|
|
11025
|
+
)
|
|
11026
|
+
}
|
|
11027
|
+
),
|
|
11028
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
11029
|
+
KeyshareStatus,
|
|
11030
|
+
{
|
|
11031
|
+
content: hasServerBackup ? "Security Key Share Vault Backup exists and ready" : "Security Key Share Vault Backup Missing. Create one to ensure your data is safe.",
|
|
11032
|
+
icon: hasServerBackup ? PositiveIcon : NegativeIcon,
|
|
11033
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
11034
|
+
Highlight,
|
|
11035
|
+
{
|
|
11036
|
+
type: hasServerBackup ? "success" : "warning",
|
|
11037
|
+
className: "w-full h-full flex flex-col items-center gap-0",
|
|
11038
|
+
children: [
|
|
11039
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react38.Server, { className: "h-6 w-6" }),
|
|
11040
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "text-[10px] font-medium leading-4", children: "Backup Vault" })
|
|
11041
|
+
]
|
|
11042
|
+
}
|
|
11043
|
+
)
|
|
11044
|
+
}
|
|
11045
|
+
)
|
|
11046
|
+
] }),
|
|
11047
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(LastBackup, { backup, createdRecoveryStats }),
|
|
11048
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "w-full", style: { borderTop: "1px solid var(--l-pass-bd)" } })
|
|
11049
|
+
] });
|
|
11050
|
+
}
|
|
11051
|
+
|
|
11052
|
+
// src/internal/components/SecurityMenu/SecurityMenu.tsx
|
|
11053
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
10873
11054
|
function SecurityMenu() {
|
|
10874
11055
|
const qc = (0, import_react_query30.useQueryClient)();
|
|
10875
11056
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
10876
11057
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
10877
11058
|
const userId = import_auth3.jwtTokenManager.getUserId();
|
|
10878
|
-
|
|
10879
|
-
if (!userId) setPage("main-menu" /* MAIN_MENU */);
|
|
10880
|
-
}, [userId, setPage]);
|
|
10881
|
-
const [localInfo, setLocalInfo] = (0, import_react42.useState)(null);
|
|
10882
|
-
const [recoveryCreatedAt, setRecoveryCreatedAt] = (0, import_react42.useState)(null);
|
|
10883
|
-
const [recoveryBrowser, setRecoveryBrowser] = (0, import_react42.useState)(null);
|
|
10884
|
-
const [recoveryUa, setRecoveryUa] = (0, import_react42.useState)(null);
|
|
10885
|
-
const [recoveryDeviceId, setRecoveryDeviceId] = (0, import_react42.useState)(null);
|
|
10886
|
-
const [recoveryDeviceName, setRecoveryDeviceName] = (0, import_react42.useState)(null);
|
|
10887
|
-
const [recoveryCountry, setRecoveryCountry] = (0, import_react42.useState)(null);
|
|
10888
|
-
const [hasServerBackup, setHasServerBackup] = (0, import_react42.useState)(false);
|
|
10889
|
-
const [trustedApps, setTrustedApps] = (0, import_react42.useState)([]);
|
|
10890
|
-
const [appToRemove, setAppToRemove] = (0, import_react42.useState)(null);
|
|
11059
|
+
const serverHasKeyshare = import_auth3.jwtTokenManager.getHasKeyshare() ?? false;
|
|
10891
11060
|
const [isRemoving, setIsRemoving] = (0, import_react42.useState)(false);
|
|
10892
|
-
const
|
|
10893
|
-
|
|
10894
|
-
isFetching: isRecoveryRefreshing
|
|
10895
|
-
// error: recoveryError
|
|
10896
|
-
} = (0, import_react_query30.useQuery)({
|
|
11061
|
+
const [appToRemove, setAppToRemove] = (0, import_react42.useState)(null);
|
|
11062
|
+
const { data: recoveryData, isFetching: isRecoveryLoading } = (0, import_react_query30.useQuery)({
|
|
10897
11063
|
enabled: !!userId,
|
|
10898
11064
|
queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId],
|
|
10899
11065
|
queryFn: async () => {
|
|
@@ -10907,22 +11073,9 @@ function SecurityMenu() {
|
|
|
10907
11073
|
return { trustedApps: trustedApps2, keyshareInfo, shareRecoveryStats };
|
|
10908
11074
|
}
|
|
10909
11075
|
});
|
|
10910
|
-
|
|
10911
|
-
|
|
10912
|
-
|
|
10913
|
-
setLocalInfo(keyshareInfo);
|
|
10914
|
-
setTrustedApps(trustedApps2);
|
|
10915
|
-
const hasRecoveryData = shareRecoveryStats && (shareRecoveryStats.created || shareRecoveryStats.devices && shareRecoveryStats.devices.length > 0);
|
|
10916
|
-
const created = shareRecoveryStats?.created;
|
|
10917
|
-
setHasServerBackup(!!hasRecoveryData);
|
|
10918
|
-
setRecoveryCreatedAt(created?.at || null);
|
|
10919
|
-
setRecoveryBrowser(created?.browser || null);
|
|
10920
|
-
setRecoveryUa(created?.ua || null);
|
|
10921
|
-
setRecoveryDeviceId(created?.deviceId || null);
|
|
10922
|
-
setRecoveryDeviceName(created?.deviceName || null);
|
|
10923
|
-
setRecoveryCountry(created?.country || null);
|
|
10924
|
-
}, [recoveryData]);
|
|
10925
|
-
const serverHasKeyshare = import_auth3.jwtTokenManager.getHasKeyshare() ?? false;
|
|
11076
|
+
const localInfo = recoveryData?.keyshareInfo || {};
|
|
11077
|
+
const trustedApps = recoveryData?.trustedApps || [];
|
|
11078
|
+
const hasServerBackup = !!recoveryData?.shareRecoveryStats?.created || recoveryData?.shareRecoveryStats?.devices?.length > 0;
|
|
10926
11079
|
const backup = userId ? getBackupStatus(userId) : { server: { enabled: false }, cloud: { enabled: false }, local: { enabled: false } };
|
|
10927
11080
|
const handleRemoveTrustedApp = async () => {
|
|
10928
11081
|
if (!userId || !appToRemove) return;
|
|
@@ -10945,266 +11098,137 @@ function SecurityMenu() {
|
|
|
10945
11098
|
setIsRemoving(false);
|
|
10946
11099
|
}
|
|
10947
11100
|
};
|
|
10948
|
-
return /* @__PURE__ */ (0,
|
|
11101
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
10949
11102
|
"div",
|
|
10950
11103
|
{
|
|
10951
11104
|
style: {
|
|
10952
11105
|
"--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
|
|
10953
11106
|
"--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
|
|
10954
11107
|
},
|
|
10955
|
-
className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]
|
|
10956
|
-
children: [
|
|
10957
|
-
/* @__PURE__ */ (0,
|
|
10958
|
-
/* @__PURE__ */ (0,
|
|
10959
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-xl font-semibold", children: "Security" })
|
|
10960
|
-
] }),
|
|
10961
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
|
|
10962
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Keyshare Status" }),
|
|
10963
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
11108
|
+
className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
|
|
11109
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
11110
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
11111
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
10964
11112
|
Button,
|
|
10965
11113
|
{
|
|
10966
11114
|
variant: "ghost",
|
|
10967
11115
|
size: "icon",
|
|
10968
|
-
title: "
|
|
10969
|
-
|
|
10970
|
-
|
|
10971
|
-
|
|
11116
|
+
title: "Back",
|
|
11117
|
+
onClick: () => {
|
|
11118
|
+
if (!!appToRemove) setAppToRemove(null);
|
|
11119
|
+
else setPage("settings" /* SETTINGS */);
|
|
11120
|
+
},
|
|
11121
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react39.ArrowLeft, { className: "h-4 w-4" })
|
|
10972
11122
|
}
|
|
10973
|
-
)
|
|
10974
|
-
|
|
10975
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "grid grid-cols-3 gap-[var(--l-pass-gap)]", children: [
|
|
10976
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "space-y-2 text-center", children: [
|
|
10977
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)]", children: [
|
|
10978
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react36.Cloud, { className: "h-4 w-4" }),
|
|
10979
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-xs font-medium", children: "Server" })
|
|
10980
|
-
] }),
|
|
10981
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
10982
|
-
"span",
|
|
10983
|
-
{
|
|
10984
|
-
className: cn(
|
|
10985
|
-
"inline-flex gap-[var(--l-pass-gap)] items-center text-xs px-2 py-1 rounded-full text-black leading-4",
|
|
10986
|
-
serverHasKeyshare ? "bg-[var(--l-pass-bg-success)]" : "bg-[var(--l-pass-bg-warning)]"
|
|
10987
|
-
),
|
|
10988
|
-
children: [
|
|
10989
|
-
serverHasKeyshare ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react36.CheckCircle2, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react36.AlertTriangle, { className: "h-4 w-4" }),
|
|
10990
|
-
serverHasKeyshare ? "Ready" : "Missing"
|
|
10991
|
-
]
|
|
10992
|
-
}
|
|
10993
|
-
)
|
|
10994
|
-
] }),
|
|
10995
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "space-y-2 text-center", children: [
|
|
10996
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)]", children: [
|
|
10997
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react36.Laptop, { className: "h-4 w-4" }),
|
|
10998
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-xs font-medium", children: "Local" })
|
|
10999
|
-
] }),
|
|
11000
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
11001
|
-
"span",
|
|
11002
|
-
{
|
|
11003
|
-
className: cn(
|
|
11004
|
-
"inline-flex gap-[var(--l-pass-gap)] items-center text-xs px-2 py-1 rounded-full text-black leading-4",
|
|
11005
|
-
localInfo?.hasKeyshare ? "bg-[var(--l-pass-bg-success)]" : "bg-[var(--l-pass-bg-warning)]"
|
|
11006
|
-
),
|
|
11007
|
-
children: [
|
|
11008
|
-
localInfo?.hasKeyshare ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react36.CheckCircle2, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react36.AlertTriangle, { className: "h-4 w-4" }),
|
|
11009
|
-
localInfo?.hasKeyshare ? "Ready" : "Missing"
|
|
11010
|
-
]
|
|
11011
|
-
}
|
|
11012
|
-
)
|
|
11013
|
-
] }),
|
|
11014
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "space-y-2 text-center", children: [
|
|
11015
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center justify-center gap-[var(--l-pass-gap)]", children: [
|
|
11016
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react36.Shield, { className: "h-4 w-4" }),
|
|
11017
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-xs font-medium", children: "Vault" })
|
|
11018
|
-
] }),
|
|
11019
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
11020
|
-
"span",
|
|
11021
|
-
{
|
|
11022
|
-
className: cn(
|
|
11023
|
-
"inline-flex gap-[var(--l-pass-gap)] items-center text-xs px-2 py-1 rounded-full text-black leading-4",
|
|
11024
|
-
hasServerBackup ? "bg-[var(--l-pass-bg-success)]" : "bg-[var(--l-pass-bg-warning)]"
|
|
11025
|
-
),
|
|
11026
|
-
children: [
|
|
11027
|
-
hasServerBackup ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react36.CheckCircle2, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react36.AlertTriangle, { className: "h-4 w-4" }),
|
|
11028
|
-
hasServerBackup ? "Ready" : "None"
|
|
11029
|
-
]
|
|
11030
|
-
}
|
|
11031
|
-
)
|
|
11032
|
-
] })
|
|
11123
|
+
),
|
|
11124
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-xl font-semibold", children: "Security" })
|
|
11033
11125
|
] }),
|
|
11034
|
-
/* @__PURE__ */ (0,
|
|
11035
|
-
|
|
11036
|
-
|
|
11037
|
-
|
|
11038
|
-
|
|
11039
|
-
|
|
11040
|
-
|
|
11041
|
-
|
|
11042
|
-
|
|
11043
|
-
|
|
11044
|
-
|
|
11045
|
-
|
|
11046
|
-
|
|
11047
|
-
|
|
11048
|
-
|
|
11049
|
-
|
|
11050
|
-
|
|
11051
|
-
|
|
11052
|
-
|
|
11053
|
-
|
|
11054
|
-
|
|
11055
|
-
|
|
11056
|
-
|
|
11057
|
-
|
|
11058
|
-
|
|
11059
|
-
|
|
11060
|
-
|
|
11061
|
-
|
|
11062
|
-
|
|
11063
|
-
|
|
11064
|
-
|
|
11065
|
-
|
|
11066
|
-
|
|
11067
|
-
|
|
11068
|
-
|
|
11069
|
-
|
|
11070
|
-
|
|
11126
|
+
!appToRemove && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
|
|
11127
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
11128
|
+
Keyshare,
|
|
11129
|
+
{
|
|
11130
|
+
userId,
|
|
11131
|
+
serverHasKeyshare,
|
|
11132
|
+
localInfo,
|
|
11133
|
+
hasServerBackup,
|
|
11134
|
+
isLoading: isRecoveryLoading,
|
|
11135
|
+
createdRecoveryStats: recoveryData?.shareRecoveryStats?.created,
|
|
11136
|
+
refresh: () => qc.invalidateQueries({ queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId] })
|
|
11137
|
+
}
|
|
11138
|
+
),
|
|
11139
|
+
trustedApps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
|
|
11140
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "w-full space-y-2", children: [
|
|
11141
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "font-medium text-xs text-[var(--l-pass-fg)]", children: `Trusted Applications (${trustedApps.length}):` }),
|
|
11142
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
11143
|
+
"div",
|
|
11144
|
+
{
|
|
11145
|
+
className: "text-[10px] leading-tight p-2 rounded flex items-center gap-2 bg-[var(--l-pass-secondary)]",
|
|
11146
|
+
children: [
|
|
11147
|
+
app.appLogo ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("img", { src: app.appLogo, alt: "", className: "w-8 h-8 rounded-md object-cover flex-shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "w-8 h-8 rounded-md bg-[var(--l-pass-bg-muted)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-sm", children: "\u{1F517}" }) }),
|
|
11148
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
11149
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "font-medium truncate", children: app.appName || new URL(app.origin).hostname }),
|
|
11150
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "text-[var(--l-pass-fg-muted)] truncate", children: new URL(app.origin).hostname }),
|
|
11151
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "text-[var(--l-pass-fg-muted)]", children: [
|
|
11152
|
+
"Trusted: ",
|
|
11153
|
+
new Date(app.trustedAt).toLocaleDateString()
|
|
11154
|
+
] })
|
|
11155
|
+
] }),
|
|
11156
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
11157
|
+
Button,
|
|
11158
|
+
{
|
|
11159
|
+
variant: "ghost",
|
|
11160
|
+
size: "icon",
|
|
11161
|
+
title: "Remove from trusted",
|
|
11162
|
+
className: "text-[var(--l-pass-error)] flex-shrink-0",
|
|
11163
|
+
onClick: () => setAppToRemove({
|
|
11164
|
+
projectId: app.projectId,
|
|
11165
|
+
origin: app.origin,
|
|
11166
|
+
hostname: new URL(app.origin).hostname,
|
|
11167
|
+
appName: app.appName,
|
|
11168
|
+
appLogo: app.appLogo
|
|
11169
|
+
}),
|
|
11170
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react39.Trash2, { className: "h-3 w-3" })
|
|
11171
|
+
}
|
|
11172
|
+
)
|
|
11173
|
+
]
|
|
11174
|
+
},
|
|
11175
|
+
index
|
|
11176
|
+
)) })
|
|
11071
11177
|
] }),
|
|
11072
|
-
|
|
11073
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react36.HardDrive, { className: "h-2.5 w-2.5" }),
|
|
11074
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("span", { children: [
|
|
11075
|
-
"Local: ",
|
|
11076
|
-
new Date(backup.local.lastBackup).toLocaleString()
|
|
11077
|
-
] })
|
|
11078
|
-
] })
|
|
11178
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "w-full", style: { borderTop: "1px solid var(--l-pass-bd)" } })
|
|
11079
11179
|
] }),
|
|
11080
|
-
|
|
11081
|
-
/* @__PURE__ */ (0,
|
|
11082
|
-
|
|
11083
|
-
|
|
11084
|
-
|
|
11085
|
-
|
|
11086
|
-
|
|
11087
|
-
|
|
11088
|
-
"
|
|
11089
|
-
recoveryCountry
|
|
11090
|
-
] }),
|
|
11091
|
-
recoveryBrowser && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { children: [
|
|
11092
|
-
"Browser: ",
|
|
11093
|
-
recoveryBrowser
|
|
11094
|
-
] }),
|
|
11095
|
-
parseOS(recoveryUa) && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { children: [
|
|
11096
|
-
"OS: ",
|
|
11097
|
-
parseOS(recoveryUa)
|
|
11098
|
-
] }),
|
|
11099
|
-
recoveryDeviceName && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { children: [
|
|
11100
|
-
"Device: ",
|
|
11101
|
-
recoveryDeviceName
|
|
11180
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Highlight, { className: "flex flex-col gap-[var(--l-pass-gap)] user-select-none", type: "warning", children: [
|
|
11181
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("label", { className: "cursor-pointer flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
11182
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
11183
|
+
Checkbox,
|
|
11184
|
+
{
|
|
11185
|
+
name: "paranoia-mode-checkbox"
|
|
11186
|
+
}
|
|
11187
|
+
),
|
|
11188
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-sm font-semibold", children: "Paranoia MODE (not implemented)" })
|
|
11102
11189
|
] }),
|
|
11103
|
-
|
|
11104
|
-
"Device ID: ",
|
|
11105
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "break-all", children: recoveryDeviceId })
|
|
11106
|
-
] })
|
|
11107
|
-
] }),
|
|
11108
|
-
trustedApps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "w-full space-y-2", children: [
|
|
11109
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "font-medium text-xs text-[var(--l-pass-fg)]", children: `Trusted Applications (${trustedApps.length}):` }),
|
|
11110
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
11111
|
-
"div",
|
|
11112
|
-
{
|
|
11113
|
-
className: "text-[10px] leading-tight p-2 rounded flex items-center gap-2 bg-[var(--l-pass-secondary)]",
|
|
11114
|
-
children: [
|
|
11115
|
-
app.appLogo ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("img", { src: app.appLogo, alt: "", className: "w-8 h-8 rounded-md object-cover flex-shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "w-8 h-8 rounded-md bg-[var(--l-pass-bg-muted)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-sm", children: "\u{1F517}" }) }),
|
|
11116
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
11117
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "font-medium truncate", children: app.appName || new URL(app.origin).hostname }),
|
|
11118
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "text-[var(--l-pass-fg-muted)] truncate", children: new URL(app.origin).hostname }),
|
|
11119
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "text-[var(--l-pass-fg-muted)]", children: [
|
|
11120
|
-
"Trusted: ",
|
|
11121
|
-
new Date(app.trustedAt).toLocaleDateString()
|
|
11122
|
-
] })
|
|
11123
|
-
] }),
|
|
11124
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
11125
|
-
Button,
|
|
11126
|
-
{
|
|
11127
|
-
variant: "ghost",
|
|
11128
|
-
size: "icon",
|
|
11129
|
-
title: "Remove from trusted",
|
|
11130
|
-
className: "text-[var(--l-pass-error)] flex-shrink-0",
|
|
11131
|
-
onClick: () => setAppToRemove({
|
|
11132
|
-
projectId: app.projectId,
|
|
11133
|
-
origin: app.origin,
|
|
11134
|
-
hostname: new URL(app.origin).hostname,
|
|
11135
|
-
appName: app.appName,
|
|
11136
|
-
appLogo: app.appLogo
|
|
11137
|
-
}),
|
|
11138
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react36.Trash2, { className: "h-3 w-3" })
|
|
11139
|
-
}
|
|
11140
|
-
)
|
|
11141
|
-
]
|
|
11142
|
-
},
|
|
11143
|
-
index
|
|
11144
|
-
)) })
|
|
11190
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { children: "Paranoia mode description... (wip)" })
|
|
11145
11191
|
] })
|
|
11146
11192
|
] }),
|
|
11147
|
-
/* @__PURE__ */ (0,
|
|
11148
|
-
|
|
11149
|
-
|
|
11150
|
-
/* @__PURE__ */ (0,
|
|
11151
|
-
|
|
11152
|
-
{
|
|
11153
|
-
|
|
11154
|
-
|
|
11155
|
-
),
|
|
11156
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-sm font-semibold", children: "Paranoia MODE" })
|
|
11157
|
-
] }),
|
|
11158
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { children: "Paranoia mode description (not implemented)" })
|
|
11159
|
-
] }),
|
|
11160
|
-
appToRemove && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "bg-[var(--l-pass-bg)] border border-[var(--l-pass-bd)] rounded-lg p-4 m-4 max-w-sm w-full space-y-4 shadow-xl", children: [
|
|
11161
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "text-center", children: [
|
|
11162
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "text-lg font-semibold mb-2", children: "Remove Trusted App?" }),
|
|
11163
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center justify-center gap-2 mb-3", children: [
|
|
11164
|
-
appToRemove.appLogo ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("img", { src: appToRemove.appLogo, alt: "", className: "w-10 h-10 rounded-md object-cover" }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "w-10 h-10 rounded-md bg-[var(--l-pass-bg-muted)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: "text-lg", children: "\u{1F517}" }) }),
|
|
11165
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "text-left", children: [
|
|
11166
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "font-medium", children: appToRemove.appName || appToRemove.hostname }),
|
|
11167
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: appToRemove.hostname })
|
|
11193
|
+
!!appToRemove && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "w-full", children: [
|
|
11194
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "text-center", children: [
|
|
11195
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "text-lg font-semibold mb-2", children: "Remove Trusted App?" }),
|
|
11196
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex items-center justify-center gap-2 mb-3", children: [
|
|
11197
|
+
appToRemove.appLogo ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("img", { src: appToRemove.appLogo, alt: "", className: "w-10 h-10 rounded-md object-cover" }) : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "w-10 h-10 rounded-md bg-[var(--l-pass-bg-muted)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-lg", children: "\u{1F517}" }) }),
|
|
11198
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "text-left", children: [
|
|
11199
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "font-medium", children: appToRemove.appName || appToRemove.hostname }),
|
|
11200
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: appToRemove.hostname })
|
|
11168
11201
|
] })
|
|
11169
11202
|
] }),
|
|
11170
|
-
/* @__PURE__ */ (0,
|
|
11171
|
-
/* @__PURE__ */ (0,
|
|
11172
|
-
/* @__PURE__ */ (0,
|
|
11173
|
-
/* @__PURE__ */ (0,
|
|
11174
|
-
/* @__PURE__ */ (0,
|
|
11203
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "text-xs text-[var(--l-pass-fg-muted)] text-left space-y-1 mb-4", children: [
|
|
11204
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { children: "After removing this application:" }),
|
|
11205
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("ul", { className: "list-disc list-inside ml-2 space-y-0.5", children: [
|
|
11206
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("li", { children: "All transactions will require confirmation" }),
|
|
11207
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("li", { children: 'You can re-add it anytime by checking "Trust this app"' })
|
|
11175
11208
|
] })
|
|
11176
11209
|
] })
|
|
11177
11210
|
] }),
|
|
11178
|
-
/* @__PURE__ */ (0,
|
|
11179
|
-
/* @__PURE__ */ (0,
|
|
11180
|
-
|
|
11181
|
-
{
|
|
11182
|
-
variant: "outline",
|
|
11183
|
-
className: "flex-1",
|
|
11184
|
-
onClick: () => setAppToRemove(null),
|
|
11185
|
-
disabled: isRemoving,
|
|
11186
|
-
children: "Cancel"
|
|
11187
|
-
}
|
|
11188
|
-
),
|
|
11189
|
-
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
11211
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex gap-2", children: [
|
|
11212
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Button, { variant: "outline", className: "flex-1", onClick: () => setAppToRemove(null), disabled: isRemoving, children: "Cancel" }),
|
|
11213
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
11190
11214
|
Button,
|
|
11191
11215
|
{
|
|
11192
11216
|
variant: "default",
|
|
11193
|
-
className: "flex-1 bg-[var(--l-pass-error)] hover:bg-[var(--l-pass-error)]/
|
|
11217
|
+
className: "flex-1 bg-[var(--l-pass-error)] hover:bg-[var(--l-pass-error)]/60 active:bg-[var(--l-pass-error)]/40",
|
|
11194
11218
|
onClick: handleRemoveTrustedApp,
|
|
11195
11219
|
disabled: isRemoving,
|
|
11196
|
-
children: isRemoving ? /* @__PURE__ */ (0,
|
|
11220
|
+
children: isRemoving ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react39.Loader, { className: "h-4 w-4 animate-spin" }) : "Remove"
|
|
11197
11221
|
}
|
|
11198
11222
|
)
|
|
11199
11223
|
] })
|
|
11200
|
-
] })
|
|
11201
|
-
]
|
|
11224
|
+
] })
|
|
11225
|
+
] })
|
|
11202
11226
|
}
|
|
11203
11227
|
);
|
|
11204
11228
|
}
|
|
11205
11229
|
|
|
11206
11230
|
// src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
|
|
11207
|
-
var
|
|
11231
|
+
var import_lucide_react40 = require("lucide-react");
|
|
11208
11232
|
var import_react45 = require("react");
|
|
11209
11233
|
var import_viem7 = require("viem");
|
|
11210
11234
|
var import_wagmi4 = require("wagmi");
|
|
@@ -11436,7 +11460,7 @@ function useTokenBalance(tokenAddress, userAddress) {
|
|
|
11436
11460
|
|
|
11437
11461
|
// src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
|
|
11438
11462
|
init_base();
|
|
11439
|
-
var
|
|
11463
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
11440
11464
|
function SendLumiaMenu() {
|
|
11441
11465
|
const page = useLayoutDataStore((st) => st.page);
|
|
11442
11466
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
@@ -11509,18 +11533,18 @@ function SendLumiaMenu() {
|
|
|
11509
11533
|
const maxAmount = Math.max(0, balance - 1e-3);
|
|
11510
11534
|
setAmount(maxAmount.toFixed(6));
|
|
11511
11535
|
};
|
|
11512
|
-
return /* @__PURE__ */ (0,
|
|
11513
|
-
/* @__PURE__ */ (0,
|
|
11514
|
-
txStep === "input" && /* @__PURE__ */ (0,
|
|
11515
|
-
/* @__PURE__ */ (0,
|
|
11536
|
+
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: [
|
|
11537
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
11538
|
+
txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react40.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
11539
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "text-xl font-semibold", children: "Send LUMIA" })
|
|
11516
11540
|
] }),
|
|
11517
|
-
txStep === "input" && /* @__PURE__ */ (0,
|
|
11518
|
-
/* @__PURE__ */ (0,
|
|
11519
|
-
/* @__PURE__ */ (0,
|
|
11520
|
-
/* @__PURE__ */ (0,
|
|
11541
|
+
txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment, { children: [
|
|
11542
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "w-full flex flex-col gap-2", children: [
|
|
11543
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient Address" }),
|
|
11544
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
11521
11545
|
Input,
|
|
11522
11546
|
{
|
|
11523
|
-
Icon:
|
|
11547
|
+
Icon: import_lucide_react40.Wallet,
|
|
11524
11548
|
type: "text",
|
|
11525
11549
|
value: recipient,
|
|
11526
11550
|
onChange: (e) => setRecipient(e.target.value),
|
|
@@ -11528,17 +11552,17 @@ function SendLumiaMenu() {
|
|
|
11528
11552
|
}
|
|
11529
11553
|
)
|
|
11530
11554
|
] }),
|
|
11531
|
-
/* @__PURE__ */ (0,
|
|
11532
|
-
/* @__PURE__ */ (0,
|
|
11533
|
-
/* @__PURE__ */ (0,
|
|
11534
|
-
/* @__PURE__ */ (0,
|
|
11555
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "w-full flex flex-col gap-2", children: [
|
|
11556
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex justify-between items-center", children: [
|
|
11557
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "block text-sm font-medium text-[var(--l-pass-fg-muted)]", children: "Amount" }),
|
|
11558
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
|
|
11535
11559
|
"Balance: ",
|
|
11536
11560
|
balance.toFixed(4),
|
|
11537
11561
|
" LUMIA"
|
|
11538
11562
|
] })
|
|
11539
11563
|
] }),
|
|
11540
|
-
/* @__PURE__ */ (0,
|
|
11541
|
-
/* @__PURE__ */ (0,
|
|
11564
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "w-full relative", children: [
|
|
11565
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
11542
11566
|
Input,
|
|
11543
11567
|
{
|
|
11544
11568
|
Icon: LumiaIcon,
|
|
@@ -11549,7 +11573,7 @@ function SendLumiaMenu() {
|
|
|
11549
11573
|
step: "0.000001"
|
|
11550
11574
|
}
|
|
11551
11575
|
),
|
|
11552
|
-
/* @__PURE__ */ (0,
|
|
11576
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
11553
11577
|
Button,
|
|
11554
11578
|
{
|
|
11555
11579
|
onClick: handleMaxAmount,
|
|
@@ -11562,65 +11586,65 @@ function SendLumiaMenu() {
|
|
|
11562
11586
|
)
|
|
11563
11587
|
] })
|
|
11564
11588
|
] }),
|
|
11565
|
-
(validationError || error) && /* @__PURE__ */ (0,
|
|
11566
|
-
/* @__PURE__ */ (0,
|
|
11567
|
-
/* @__PURE__ */ (0,
|
|
11589
|
+
(validationError || error) && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)] rounded-[var(--l-pass-el-bdrs)]", children: [
|
|
11590
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react40.AlertCircle, { className: "h-4 w-4" }),
|
|
11591
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "text-sm", children: validationError || error })
|
|
11568
11592
|
] }),
|
|
11569
|
-
/* @__PURE__ */ (0,
|
|
11593
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button, { onClick: handleSend, disabled: isLoading, className: "w-full", size: "large", children: "Continue" })
|
|
11570
11594
|
] }),
|
|
11571
|
-
txStep === "confirm" && /* @__PURE__ */ (0,
|
|
11572
|
-
/* @__PURE__ */ (0,
|
|
11573
|
-
/* @__PURE__ */ (0,
|
|
11574
|
-
/* @__PURE__ */ (0,
|
|
11575
|
-
/* @__PURE__ */ (0,
|
|
11576
|
-
/* @__PURE__ */ (0,
|
|
11577
|
-
/* @__PURE__ */ (0,
|
|
11595
|
+
txStep === "confirm" && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment, { children: [
|
|
11596
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "bg-gray-50 rounded-lg p-4", children: [
|
|
11597
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("h3", { className: "font-medium mb-3", children: "Transaction Details" }),
|
|
11598
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "space-y-2 text-sm", children: [
|
|
11599
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex justify-between", children: [
|
|
11600
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { children: "To:" }),
|
|
11601
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: `font-mono`, children: `${recipient.slice(0, 6)}...${recipient.slice(-4)}` })
|
|
11578
11602
|
] }),
|
|
11579
|
-
/* @__PURE__ */ (0,
|
|
11580
|
-
/* @__PURE__ */ (0,
|
|
11581
|
-
/* @__PURE__ */ (0,
|
|
11603
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex justify-between", children: [
|
|
11604
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { children: "Amount:" }),
|
|
11605
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("span", { className: `font-semibold`, children: [
|
|
11582
11606
|
amount,
|
|
11583
11607
|
" LUMIA"
|
|
11584
11608
|
] })
|
|
11585
11609
|
] }),
|
|
11586
|
-
/* @__PURE__ */ (0,
|
|
11587
|
-
/* @__PURE__ */ (0,
|
|
11588
|
-
/* @__PURE__ */ (0,
|
|
11610
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex justify-between", children: [
|
|
11611
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { children: "Network:" }),
|
|
11612
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { children: "Lumia Beam" })
|
|
11589
11613
|
] })
|
|
11590
11614
|
] })
|
|
11591
11615
|
] }),
|
|
11592
|
-
/* @__PURE__ */ (0,
|
|
11593
|
-
/* @__PURE__ */ (0,
|
|
11594
|
-
/* @__PURE__ */ (0,
|
|
11595
|
-
isLoading && /* @__PURE__ */ (0,
|
|
11616
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex gap-2", children: [
|
|
11617
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
|
|
11618
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
|
|
11619
|
+
isLoading && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react40.Loader, { className: "h-4 w-4 animate-spin" }),
|
|
11596
11620
|
"Confirm"
|
|
11597
11621
|
] })
|
|
11598
11622
|
] })
|
|
11599
11623
|
] }),
|
|
11600
|
-
txStep === "pending" && /* @__PURE__ */ (0,
|
|
11601
|
-
/* @__PURE__ */ (0,
|
|
11602
|
-
/* @__PURE__ */ (0,
|
|
11603
|
-
/* @__PURE__ */ (0,
|
|
11604
|
-
/* @__PURE__ */ (0,
|
|
11624
|
+
txStep === "pending" && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "py-8 text-center space-y-4", children: [
|
|
11625
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react40.Loader, { className: "h-5 w-5 animate-spin mx-auto" }),
|
|
11626
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { children: [
|
|
11627
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "block font-medium", children: "Transaction Pending" }),
|
|
11628
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
|
|
11605
11629
|
] })
|
|
11606
11630
|
] }),
|
|
11607
|
-
txStep === "success" && userOpHash && /* @__PURE__ */ (0,
|
|
11608
|
-
/* @__PURE__ */ (0,
|
|
11609
|
-
/* @__PURE__ */ (0,
|
|
11610
|
-
/* @__PURE__ */ (0,
|
|
11611
|
-
/* @__PURE__ */ (0,
|
|
11631
|
+
txStep === "success" && userOpHash && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment, { children: [
|
|
11632
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "text-center py-4", children: [
|
|
11633
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react40.CheckCircle2, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
|
|
11634
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: "font-medium", children: "Transaction Sent!" }),
|
|
11635
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: "text-sm mt-1", children: "Your transaction is being processed" })
|
|
11612
11636
|
] }),
|
|
11613
|
-
/* @__PURE__ */ (0,
|
|
11637
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "Done" })
|
|
11614
11638
|
] })
|
|
11615
11639
|
] });
|
|
11616
11640
|
}
|
|
11617
11641
|
|
|
11618
11642
|
// src/internal/components/SendRecieveMenu/ReceiveLumiaMenu.tsx
|
|
11619
|
-
var
|
|
11643
|
+
var import_lucide_react41 = require("lucide-react");
|
|
11620
11644
|
var import_qrcode = __toESM(require("qrcode"), 1);
|
|
11621
11645
|
var import_react46 = require("react");
|
|
11622
11646
|
init_clients();
|
|
11623
|
-
var
|
|
11647
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
11624
11648
|
function ReceiveLumiaMenu() {
|
|
11625
11649
|
const address = useLumiaPassportSession((st) => st.address);
|
|
11626
11650
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -11652,7 +11676,7 @@ function ReceiveLumiaMenu() {
|
|
|
11652
11676
|
console.error("Failed to copy address:", error);
|
|
11653
11677
|
}
|
|
11654
11678
|
}, [address]);
|
|
11655
|
-
return /* @__PURE__ */ (0,
|
|
11679
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
11656
11680
|
"div",
|
|
11657
11681
|
{
|
|
11658
11682
|
style: {
|
|
@@ -11661,43 +11685,43 @@ function ReceiveLumiaMenu() {
|
|
|
11661
11685
|
},
|
|
11662
11686
|
className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
|
|
11663
11687
|
children: [
|
|
11664
|
-
/* @__PURE__ */ (0,
|
|
11665
|
-
/* @__PURE__ */ (0,
|
|
11666
|
-
/* @__PURE__ */ (0,
|
|
11688
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
11689
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react41.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
11690
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
|
|
11667
11691
|
] }),
|
|
11668
|
-
/* @__PURE__ */ (0,
|
|
11669
|
-
/* @__PURE__ */ (0,
|
|
11670
|
-
/* @__PURE__ */ (0,
|
|
11692
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Highlight, { className: "text-center", type: "warning", children: [
|
|
11693
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
|
|
11694
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "block w-full", children: "Ensure sender is on the same network" })
|
|
11671
11695
|
] }),
|
|
11672
|
-
/* @__PURE__ */ (0,
|
|
11673
|
-
/* @__PURE__ */ (0,
|
|
11674
|
-
/* @__PURE__ */ (0,
|
|
11675
|
-
/* @__PURE__ */ (0,
|
|
11676
|
-
/* @__PURE__ */ (0,
|
|
11677
|
-
/* @__PURE__ */ (0,
|
|
11678
|
-
] }) : /* @__PURE__ */ (0,
|
|
11679
|
-
/* @__PURE__ */ (0,
|
|
11680
|
-
/* @__PURE__ */ (0,
|
|
11696
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react41.Loader, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
|
|
11697
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Highlight, { type: "info", children: [
|
|
11698
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
|
|
11699
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button, { onClick: handleCopy, className: "w-full", size: "medium", children: copied ? /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
|
|
11700
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react41.CheckCircle2, { className: "h-4 w-4" }),
|
|
11701
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { children: "Copied!" })
|
|
11702
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
|
|
11703
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react41.Copy, { className: "h-4 w-4" }),
|
|
11704
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { children: "Copy Address" })
|
|
11681
11705
|
] }) })
|
|
11682
11706
|
] }),
|
|
11683
|
-
/* @__PURE__ */ (0,
|
|
11707
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "text-center text-xs text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "block", children: "Share this address to receive LUMIA tokens." }) })
|
|
11684
11708
|
]
|
|
11685
11709
|
}
|
|
11686
11710
|
);
|
|
11687
11711
|
}
|
|
11688
11712
|
|
|
11689
11713
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
11690
|
-
var
|
|
11714
|
+
var import_lucide_react43 = require("lucide-react");
|
|
11691
11715
|
var import_react47 = require("react");
|
|
11692
11716
|
|
|
11693
11717
|
// src/internal/components/SettingsMenu/constants.ts
|
|
11694
|
-
var
|
|
11718
|
+
var import_lucide_react42 = require("lucide-react");
|
|
11695
11719
|
|
|
11696
11720
|
// src/internal/assets/KycIcon.tsx
|
|
11697
|
-
var
|
|
11721
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
11698
11722
|
function KycIcon(props) {
|
|
11699
11723
|
const { width = "24", height = "24", ...rest } = props;
|
|
11700
|
-
return /* @__PURE__ */ (0,
|
|
11724
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("svg", { ...rest, width, height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
11701
11725
|
"path",
|
|
11702
11726
|
{
|
|
11703
11727
|
d: "M12 18.5455C10.1727 18.5455 8.625 17.9114 7.35682 16.6432C6.08864 15.375 5.45455 13.8273 5.45455 12C5.45455 10.1727 6.08864 8.625 7.35682 7.35682C8.625 6.08864 10.1727 5.45455 12 5.45455C13.8273 5.45455 15.375 6.08864 16.6432 7.35682C17.9114 8.625 18.5455 10.1727 18.5455 12C18.5455 13.8273 17.9114 15.375 16.6432 16.6432C15.375 17.9114 13.8273 18.5455 12 18.5455ZM12 16.9091C13.3636 16.9091 14.5227 16.4318 15.4773 15.4773C16.4318 14.5227 16.9091 13.3636 16.9091 12C16.9091 11.7682 16.892 11.5398 16.858 11.3148C16.8239 11.0898 16.7727 10.8682 16.7045 10.65C16.5 10.6909 16.2955 10.7216 16.0909 10.742C15.8864 10.7625 15.6818 10.7727 15.4773 10.7727C14.6182 10.7727 13.8 10.6091 13.0227 10.2818C12.2455 9.95455 11.55 9.47727 10.9364 8.85C10.5545 9.62727 10.0295 10.3023 9.36136 10.875C8.69318 11.4477 7.93636 11.8636 7.09091 12.1227C7.13182 13.4591 7.62614 14.5909 8.57386 15.5182C9.52159 16.4455 10.6636 16.9091 12 16.9091ZM7.41818 10.2409C8.01818 9.92727 8.475 9.5625 8.78864 9.14659C9.10227 8.73068 9.40909 8.23636 9.70909 7.66364C9.19091 7.93636 8.73409 8.29432 8.33864 8.7375C7.94318 9.18068 7.63636 9.68182 7.41818 10.2409ZM9.95455 13.6364C9.72273 13.6364 9.52841 13.558 9.37159 13.4011C9.21477 13.2443 9.13636 13.05 9.13636 12.8182C9.13636 12.5864 9.21477 12.392 9.37159 12.2352C9.52841 12.0784 9.72273 12 9.95455 12C10.1864 12 10.3807 12.0784 10.5375 12.2352C10.6943 12.392 10.7727 12.5864 10.7727 12.8182C10.7727 13.05 10.6943 13.2443 10.5375 13.4011C10.3807 13.558 10.1864 13.6364 9.95455 13.6364ZM15.4773 9.13636H15.7227C15.8045 9.13636 15.8864 9.12955 15.9682 9.11591C15.5182 8.50227 14.9489 8.01136 14.2602 7.64318C13.5716 7.275 12.8182 7.09091 12 7.09091H11.7545C11.6727 7.09091 11.5977 7.09773 11.5295 7.11136C12.0614 7.725 12.6239 8.21591 13.217 8.58409C13.8102 8.95227 14.5636 9.13636 15.4773 9.13636ZM14.0455 13.6364C13.8136 13.6364 13.6193 13.558 13.4625 13.4011C13.3057 13.2443 13.2273 13.05 13.2273 12.8182C13.2273 12.5864 13.3057 12.392 13.4625 12.2352C13.6193 12.0784 13.8136 12 14.0455 12C14.2773 12 14.4716 12.0784 14.6284 12.2352C14.7852 12.392 14.8636 12.5864 14.8636 12.8182C14.8636 13.05 14.7852 13.2443 14.6284 13.4011C14.4716 13.558 14.2773 13.6364 14.0455 13.6364ZM3 7.09091V4.63636C3 4.18636 3.16023 3.80114 3.48068 3.48068C3.80114 3.16023 4.18636 3 4.63636 3H7.09091V4.63636H4.63636V7.09091H3ZM7.09091 21H4.63636C4.18636 21 3.80114 20.8398 3.48068 20.5193C3.16023 20.1989 3 19.8136 3 19.3636V16.9091H4.63636V19.3636H7.09091V21ZM16.9091 21V19.3636H19.3636V16.9091H21V19.3636C21 19.8136 20.8398 20.1989 20.5193 20.5193C20.1989 20.8398 19.8136 21 19.3636 21H16.9091ZM19.3636 7.09091V4.63636H16.9091V3H19.3636C19.8136 3 20.1989 3.16023 20.5193 3.48068C20.8398 3.80114 21 4.18636 21 4.63636V7.09091H19.3636Z",
|
|
@@ -11708,15 +11732,15 @@ function KycIcon(props) {
|
|
|
11708
11732
|
|
|
11709
11733
|
// src/internal/components/SettingsMenu/constants.ts
|
|
11710
11734
|
var NAV_BUTTONS = [
|
|
11711
|
-
{ id: "transactions" /* TRANSACTIONS */, name: "Transactions", Icon:
|
|
11735
|
+
{ id: "transactions" /* TRANSACTIONS */, name: "Transactions", Icon: import_lucide_react42.ArrowLeftRight },
|
|
11712
11736
|
{ id: "kyc" /* KYC */, name: "KYC", Icon: KycIcon },
|
|
11713
|
-
{ id: "manage-wallet" /* MANAGE_WALLET */, name: "Profiles", Icon:
|
|
11714
|
-
{ id: "security" /* SECURITY */, name: "Security", Icon:
|
|
11715
|
-
{ id: "keysare-backup" /* KEYSARE_BACKUP */, name: "Backup", Icon:
|
|
11737
|
+
{ id: "manage-wallet" /* MANAGE_WALLET */, name: "Profiles", Icon: import_lucide_react42.UsersRound },
|
|
11738
|
+
{ id: "security" /* SECURITY */, name: "Security", Icon: import_lucide_react42.LockKeyhole },
|
|
11739
|
+
{ id: "keysare-backup" /* KEYSARE_BACKUP */, name: "Backup", Icon: import_lucide_react42.DatabaseBackup }
|
|
11716
11740
|
];
|
|
11717
11741
|
|
|
11718
11742
|
// src/internal/components/SettingsMenu/SettingsMenu.tsx
|
|
11719
|
-
var
|
|
11743
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
11720
11744
|
function SettingsMenu() {
|
|
11721
11745
|
const address = useLumiaPassportSession((st) => st.address);
|
|
11722
11746
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
@@ -11726,12 +11750,12 @@ function SettingsMenu() {
|
|
|
11726
11750
|
useProvidersList();
|
|
11727
11751
|
const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
|
|
11728
11752
|
const highlightedKeys = settingsNotifications.map((n) => n.target);
|
|
11729
|
-
return /* @__PURE__ */ (0,
|
|
11730
|
-
/* @__PURE__ */ (0,
|
|
11731
|
-
/* @__PURE__ */ (0,
|
|
11732
|
-
/* @__PURE__ */ (0,
|
|
11753
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
11754
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
11755
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react43.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
11756
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-xl font-semibold", children: "Settings" })
|
|
11733
11757
|
] }),
|
|
11734
|
-
/* @__PURE__ */ (0,
|
|
11758
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
11735
11759
|
Button,
|
|
11736
11760
|
{
|
|
11737
11761
|
variant: "outline",
|
|
@@ -11744,8 +11768,8 @@ function SettingsMenu() {
|
|
|
11744
11768
|
highlightedKeys.includes(id) && "animate-glow-warning"
|
|
11745
11769
|
),
|
|
11746
11770
|
children: [
|
|
11747
|
-
/* @__PURE__ */ (0,
|
|
11748
|
-
/* @__PURE__ */ (0,
|
|
11771
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { className: "w-4 h-4" }),
|
|
11772
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { children: name })
|
|
11749
11773
|
]
|
|
11750
11774
|
},
|
|
11751
11775
|
id
|
|
@@ -11754,35 +11778,35 @@ function SettingsMenu() {
|
|
|
11754
11778
|
}
|
|
11755
11779
|
|
|
11756
11780
|
// src/internal/components/TermsOfService.tsx
|
|
11757
|
-
var
|
|
11758
|
-
var
|
|
11781
|
+
var import_lucide_react44 = require("lucide-react");
|
|
11782
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
11759
11783
|
function TermsOfService() {
|
|
11760
11784
|
const address = useLumiaPassportSession((st) => st.address);
|
|
11761
11785
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
11762
|
-
return /* @__PURE__ */ (0,
|
|
11763
|
-
/* @__PURE__ */ (0,
|
|
11764
|
-
/* @__PURE__ */ (0,
|
|
11786
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
11787
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
11788
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
11765
11789
|
Button,
|
|
11766
11790
|
{
|
|
11767
11791
|
variant: "ghost",
|
|
11768
11792
|
size: "icon",
|
|
11769
11793
|
title: "Back",
|
|
11770
11794
|
onClick: () => setPage(!!address ? "settings" /* SETTINGS */ : "auth" /* AUTH */),
|
|
11771
|
-
children: /* @__PURE__ */ (0,
|
|
11795
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react44.ArrowLeft, { className: "h-4 w-4" })
|
|
11772
11796
|
}
|
|
11773
11797
|
),
|
|
11774
|
-
/* @__PURE__ */ (0,
|
|
11798
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-xl font-semibold", children: "Terms of Service" })
|
|
11775
11799
|
] }),
|
|
11776
|
-
/* @__PURE__ */ (0,
|
|
11777
|
-
/* @__PURE__ */ (0,
|
|
11778
|
-
/* @__PURE__ */ (0,
|
|
11800
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Highlight, { type: "warning", className: "text-center", children: [
|
|
11801
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "block text-xs", children: "By using Lumia Passport you agree to our terms." }),
|
|
11802
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "block text-xs", children: "To be updated..." })
|
|
11779
11803
|
] })
|
|
11780
11804
|
] });
|
|
11781
11805
|
}
|
|
11782
11806
|
|
|
11783
11807
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
11784
11808
|
var import_react_query31 = require("@tanstack/react-query");
|
|
11785
|
-
var
|
|
11809
|
+
var import_lucide_react46 = require("lucide-react");
|
|
11786
11810
|
var import_react48 = require("react");
|
|
11787
11811
|
|
|
11788
11812
|
// src/internal/components/TransactionsMenu/api.ts
|
|
@@ -12074,18 +12098,7 @@ async function getTransactionsListQuery(address) {
|
|
|
12074
12098
|
}
|
|
12075
12099
|
|
|
12076
12100
|
// src/internal/components/TransactionsMenu/TransactionsGroup.tsx
|
|
12077
|
-
var
|
|
12078
|
-
|
|
12079
|
-
// src/internal/assets/NegativeIcon.tsx
|
|
12080
|
-
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
12081
|
-
function NegativeIcon(props) {
|
|
12082
|
-
const { width = "16", height = "16", ...rest } = props;
|
|
12083
|
-
return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("svg", { ...rest, width, height, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
12084
|
-
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("rect", { width: "16", height: "16", rx: "8", fill: "var(--l-pass-bg-error)" }),
|
|
12085
|
-
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("path", { d: "M10.8048 5.19482L5.19434 10.8055", stroke: "var(--l-pass-fg)", strokeLinecap: "round" }),
|
|
12086
|
-
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("path", { d: "M5.19421 5.19482L10.8047 10.8055", stroke: "var(--l-pass-fg)", strokeLinecap: "round" })
|
|
12087
|
-
] });
|
|
12088
|
-
}
|
|
12101
|
+
var import_lucide_react45 = require("lucide-react");
|
|
12089
12102
|
|
|
12090
12103
|
// src/internal/components/TransactionsMenu/utils.ts
|
|
12091
12104
|
init_base();
|
|
@@ -12132,22 +12145,22 @@ var formatTimestamp = (timestampMs) => {
|
|
|
12132
12145
|
};
|
|
12133
12146
|
|
|
12134
12147
|
// src/internal/components/TransactionsMenu/TransactionsGroup.tsx
|
|
12135
|
-
var
|
|
12148
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
12136
12149
|
function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
|
|
12137
12150
|
const internalSymbol = internal.assetSymbol || assetSymbol;
|
|
12138
12151
|
const internalDecimals = internal.decimals ?? assetDecimals;
|
|
12139
|
-
return /* @__PURE__ */ (0,
|
|
12140
|
-
/* @__PURE__ */ (0,
|
|
12141
|
-
/* @__PURE__ */ (0,
|
|
12142
|
-
/* @__PURE__ */ (0,
|
|
12152
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
|
|
12153
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex gap-2 items-center justify-between", children: [
|
|
12154
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: internal.method || "CALL" }),
|
|
12155
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { children: [
|
|
12143
12156
|
formatValue2(internal.value, internalDecimals),
|
|
12144
12157
|
" ",
|
|
12145
12158
|
internalSymbol
|
|
12146
12159
|
] })
|
|
12147
12160
|
] }),
|
|
12148
|
-
/* @__PURE__ */ (0,
|
|
12149
|
-
/* @__PURE__ */ (0,
|
|
12150
|
-
/* @__PURE__ */ (0,
|
|
12161
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex gap-2 items-center justify-between", children: [
|
|
12162
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { children: internal.direction === "in" ? "From" : "To" }),
|
|
12163
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "font-mono", children: internal.counterpartyName || formatAddress2(internal.counterparty) })
|
|
12151
12164
|
] })
|
|
12152
12165
|
] });
|
|
12153
12166
|
}
|
|
@@ -12158,7 +12171,7 @@ function TransactionsGroup(props) {
|
|
|
12158
12171
|
const assetSymbol = parent.assetSymbol || "LUMIA";
|
|
12159
12172
|
const assetDecimals = parent.decimals ?? 18;
|
|
12160
12173
|
const internalsToRender = group.internals.filter((internal) => parseValue(internal.value) !== 0n);
|
|
12161
|
-
return /* @__PURE__ */ (0,
|
|
12174
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
12162
12175
|
"div",
|
|
12163
12176
|
{
|
|
12164
12177
|
onClick: () => openInExplorer2(parent.parentHash),
|
|
@@ -12168,22 +12181,22 @@ function TransactionsGroup(props) {
|
|
|
12168
12181
|
"bg-transparent hover:bg-[var(--l-pass-secondary-h)] active:bg-[var(--l-pass-secondary-a)]"
|
|
12169
12182
|
),
|
|
12170
12183
|
children: [
|
|
12171
|
-
/* @__PURE__ */ (0,
|
|
12172
|
-
/* @__PURE__ */ (0,
|
|
12173
|
-
parent.direction === "in" ? /* @__PURE__ */ (0,
|
|
12174
|
-
/* @__PURE__ */ (0,
|
|
12175
|
-
parent.status === "ok" ? /* @__PURE__ */ (0,
|
|
12184
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
|
|
12185
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-1 flex-0 w-fit", children: [
|
|
12186
|
+
parent.direction === "in" ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react45.ChevronLeft, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react45.ChevronRight, { className: "w-4 h-4" }),
|
|
12187
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-[10px]", children: isIncoming ? "RECEIVED" : "SENT" }),
|
|
12188
|
+
parent.status === "ok" ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(PositiveIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(NegativeIcon, {})
|
|
12176
12189
|
] }),
|
|
12177
|
-
/* @__PURE__ */ (0,
|
|
12190
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "block flex-0 font-mono text-[10px] text-[var(--l-pass-fg-muted)]", children: formatTimestamp(group.timestampMs) })
|
|
12178
12191
|
] }),
|
|
12179
|
-
/* @__PURE__ */ (0,
|
|
12180
|
-
/* @__PURE__ */ (0,
|
|
12192
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
|
|
12193
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "font-bold", children: [
|
|
12181
12194
|
formatValue2(parent.value, assetDecimals),
|
|
12182
12195
|
" ",
|
|
12183
12196
|
assetSymbol
|
|
12184
12197
|
] }),
|
|
12185
|
-
/* @__PURE__ */ (0,
|
|
12186
|
-
/* @__PURE__ */ (0,
|
|
12198
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-0", children: [
|
|
12199
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
12187
12200
|
Button,
|
|
12188
12201
|
{
|
|
12189
12202
|
variant: "ghost",
|
|
@@ -12192,10 +12205,10 @@ function TransactionsGroup(props) {
|
|
|
12192
12205
|
onClick: (e) => {
|
|
12193
12206
|
e.stopPropagation();
|
|
12194
12207
|
},
|
|
12195
|
-
children: /* @__PURE__ */ (0,
|
|
12208
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react45.Copy, { className: "w-4 h-4" })
|
|
12196
12209
|
}
|
|
12197
12210
|
),
|
|
12198
|
-
/* @__PURE__ */ (0,
|
|
12211
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
12199
12212
|
Button,
|
|
12200
12213
|
{
|
|
12201
12214
|
variant: "ghost",
|
|
@@ -12204,24 +12217,24 @@ function TransactionsGroup(props) {
|
|
|
12204
12217
|
onClick: (e) => {
|
|
12205
12218
|
e.stopPropagation();
|
|
12206
12219
|
},
|
|
12207
|
-
children: /* @__PURE__ */ (0,
|
|
12220
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(LumiaIcon, { className: "w-4 h-4" })
|
|
12208
12221
|
}
|
|
12209
12222
|
)
|
|
12210
12223
|
] })
|
|
12211
12224
|
] }),
|
|
12212
|
-
internalsToRender.length > 0 && /* @__PURE__ */ (0,
|
|
12213
|
-
/* @__PURE__ */ (0,
|
|
12214
|
-
/* @__PURE__ */ (0,
|
|
12215
|
-
/* @__PURE__ */ (0,
|
|
12216
|
-
/* @__PURE__ */ (0,
|
|
12225
|
+
internalsToRender.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
|
|
12226
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "w-full flex items-center", children: [
|
|
12227
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
|
|
12228
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "flex-none font-bold px-2 text-xs leading-4 text-[var(--l-pass-fg-muted)]", children: "Internals" }),
|
|
12229
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" })
|
|
12217
12230
|
] }),
|
|
12218
|
-
/* @__PURE__ */ (0,
|
|
12231
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
12219
12232
|
"div",
|
|
12220
12233
|
{
|
|
12221
12234
|
className: "w-full rounded-[var(--l-pass-el-bdrs)] border border-dashed border-[var(--l-pass-bd)]",
|
|
12222
12235
|
onClick: (event) => event.stopPropagation(),
|
|
12223
12236
|
children: [
|
|
12224
|
-
/* @__PURE__ */ (0,
|
|
12237
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
12225
12238
|
Button,
|
|
12226
12239
|
{
|
|
12227
12240
|
variant: "ghost",
|
|
@@ -12229,16 +12242,16 @@ function TransactionsGroup(props) {
|
|
|
12229
12242
|
className: "w-full justify-between",
|
|
12230
12243
|
onClick: () => onToggleExpanded(group.id),
|
|
12231
12244
|
children: [
|
|
12232
|
-
/* @__PURE__ */ (0,
|
|
12245
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { children: [
|
|
12233
12246
|
"View internal calls (",
|
|
12234
12247
|
internalsToRender.length,
|
|
12235
12248
|
")"
|
|
12236
12249
|
] }),
|
|
12237
|
-
/* @__PURE__ */ (0,
|
|
12250
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { children: expanded ? "Hide" : "Show" })
|
|
12238
12251
|
]
|
|
12239
12252
|
}
|
|
12240
12253
|
),
|
|
12241
|
-
expanded && /* @__PURE__ */ (0,
|
|
12254
|
+
expanded && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "px-2 pb-2 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
12242
12255
|
InternalTransaction,
|
|
12243
12256
|
{
|
|
12244
12257
|
internal,
|
|
@@ -12257,7 +12270,7 @@ function TransactionsGroup(props) {
|
|
|
12257
12270
|
}
|
|
12258
12271
|
|
|
12259
12272
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
12260
|
-
var
|
|
12273
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
12261
12274
|
function TransactionsMenu() {
|
|
12262
12275
|
const qc = (0, import_react_query31.useQueryClient)();
|
|
12263
12276
|
const address = useLumiaPassportSession((st) => st.address);
|
|
@@ -12281,19 +12294,19 @@ function TransactionsMenu() {
|
|
|
12281
12294
|
[qc, address]
|
|
12282
12295
|
);
|
|
12283
12296
|
const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
|
|
12284
|
-
return /* @__PURE__ */ (0,
|
|
12297
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
12285
12298
|
"div",
|
|
12286
12299
|
{
|
|
12287
12300
|
style: {
|
|
12288
12301
|
"--l-pass-scrollbar-mah": `${maxScrollHeight}px`,
|
|
12289
12302
|
"--l-pass-list-scrollbar-pd-r": "calc(var(--l-pass-pd) - 4px)"
|
|
12290
12303
|
},
|
|
12291
|
-
className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]
|
|
12292
|
-
children: [
|
|
12293
|
-
/* @__PURE__ */ (0,
|
|
12294
|
-
/* @__PURE__ */ (0,
|
|
12295
|
-
/* @__PURE__ */ (0,
|
|
12296
|
-
/* @__PURE__ */ (0,
|
|
12304
|
+
className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
|
|
12305
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
12306
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
12307
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react46.ArrowLeft, { className: "h-4 w-4" }) }),
|
|
12308
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-xl font-semibold", children: "Transaction History" }),
|
|
12309
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
12297
12310
|
Button,
|
|
12298
12311
|
{
|
|
12299
12312
|
variant: "ghost",
|
|
@@ -12301,18 +12314,18 @@ function TransactionsMenu() {
|
|
|
12301
12314
|
onClick: refreshTxHistory,
|
|
12302
12315
|
disabled: isTxHistoryFetching,
|
|
12303
12316
|
title: "Refresh transactions",
|
|
12304
|
-
children: isTxHistoryFetching ? /* @__PURE__ */ (0,
|
|
12317
|
+
children: isTxHistoryFetching ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react46.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react46.RefreshCw, { className: "h-4 w-4" })
|
|
12305
12318
|
}
|
|
12306
12319
|
)
|
|
12307
12320
|
] }),
|
|
12308
|
-
/* @__PURE__ */ (0,
|
|
12309
|
-
isTxHistoryLoading && /* @__PURE__ */ (0,
|
|
12310
|
-
!isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ (0,
|
|
12311
|
-
/* @__PURE__ */ (0,
|
|
12312
|
-
/* @__PURE__ */ (0,
|
|
12321
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
|
|
12322
|
+
isTxHistoryLoading && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react46.Loader, { className: "h-5 w-5 animate-spin" }) }),
|
|
12323
|
+
!isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
|
|
12324
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react46.XCircle, { className: "w-4 h-4 flex-none" }),
|
|
12325
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
|
|
12313
12326
|
] }),
|
|
12314
|
-
!isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ (0,
|
|
12315
|
-
!isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ (0,
|
|
12327
|
+
!isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Highlight, { type: "warning", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: "No transactions found. Smart account transactions will appear here" }) }),
|
|
12328
|
+
!isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
12316
12329
|
TransactionsGroup,
|
|
12317
12330
|
{
|
|
12318
12331
|
group,
|
|
@@ -12322,7 +12335,7 @@ function TransactionsMenu() {
|
|
|
12322
12335
|
group.id
|
|
12323
12336
|
)) })
|
|
12324
12337
|
] })
|
|
12325
|
-
]
|
|
12338
|
+
] })
|
|
12326
12339
|
}
|
|
12327
12340
|
);
|
|
12328
12341
|
}
|
|
@@ -12422,7 +12435,7 @@ var PAGE_MAP = {
|
|
|
12422
12435
|
};
|
|
12423
12436
|
|
|
12424
12437
|
// src/internal/hooks/usePageMapper.tsx
|
|
12425
|
-
var
|
|
12438
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
12426
12439
|
var CLEAR_DIALOG_TIMEOUT = MAIN_DIALOG_ANIMATION_SPEED + 5;
|
|
12427
12440
|
function usePageMapper() {
|
|
12428
12441
|
const page = useLayoutDataStore((st) => st.page);
|
|
@@ -12452,7 +12465,7 @@ function usePageMapper() {
|
|
|
12452
12465
|
const PageContentComponent = pageItem.component;
|
|
12453
12466
|
setDialogTitle(pageItem.title);
|
|
12454
12467
|
setDialogDescription(pageItem.description);
|
|
12455
|
-
setDialogContent(/* @__PURE__ */ (0,
|
|
12468
|
+
setDialogContent(/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(PageContentComponent, {}));
|
|
12456
12469
|
setIsDialogOpen(true);
|
|
12457
12470
|
},
|
|
12458
12471
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
@@ -12532,7 +12545,7 @@ function useWalletStatus() {
|
|
|
12532
12545
|
}
|
|
12533
12546
|
|
|
12534
12547
|
// src/internal/components/Dialog/LumiaPassportDialog.tsx
|
|
12535
|
-
var
|
|
12548
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
12536
12549
|
function LumiaPassportDialog() {
|
|
12537
12550
|
const config = useLumiaPassportConfig().config;
|
|
12538
12551
|
const className = config.current?.ui?.dialogClassName;
|
|
@@ -12551,7 +12564,7 @@ function LumiaPassportDialog() {
|
|
|
12551
12564
|
useListenIframeAuthEvents();
|
|
12552
12565
|
useBackupWarning();
|
|
12553
12566
|
useWalletStatus();
|
|
12554
|
-
return /* @__PURE__ */ (0,
|
|
12567
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
12555
12568
|
Dialog,
|
|
12556
12569
|
{
|
|
12557
12570
|
open: isDialogOpen,
|
|
@@ -12559,11 +12572,11 @@ function LumiaPassportDialog() {
|
|
|
12559
12572
|
if (isDialogForced) return;
|
|
12560
12573
|
if (!open) setPage(null);
|
|
12561
12574
|
},
|
|
12562
|
-
children: /* @__PURE__ */ (0,
|
|
12563
|
-
/* @__PURE__ */ (0,
|
|
12564
|
-
/* @__PURE__ */ (0,
|
|
12565
|
-
!!session && /* @__PURE__ */ (0,
|
|
12566
|
-
/* @__PURE__ */ (0,
|
|
12575
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(DialogContent, { colorMode, hideClose: isDialogForced, className, children: [
|
|
12576
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(DialogTitle, { children: dialogTitle }) }),
|
|
12577
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(DialogDescription, { className: "sr-only", children: dialogDescription }),
|
|
12578
|
+
!!session && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Header, {}),
|
|
12579
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_framer_motion3.AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
12567
12580
|
import_framer_motion3.motion.div,
|
|
12568
12581
|
{
|
|
12569
12582
|
initial: { opacity: 0, height: mainPageHeight },
|
|
@@ -12575,7 +12588,7 @@ function LumiaPassportDialog() {
|
|
|
12575
12588
|
},
|
|
12576
12589
|
page || "empty"
|
|
12577
12590
|
) }),
|
|
12578
|
-
/* @__PURE__ */ (0,
|
|
12591
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Footer, {})
|
|
12579
12592
|
] })
|
|
12580
12593
|
}
|
|
12581
12594
|
);
|
|
@@ -12778,7 +12791,7 @@ function WalletConnectHandler() {
|
|
|
12778
12791
|
}
|
|
12779
12792
|
|
|
12780
12793
|
// src/context/LumiaPassportSessionContext.tsx
|
|
12781
|
-
var
|
|
12794
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
12782
12795
|
var useLumiaPassportSession = (0, import_zustand6.create)((set) => ({
|
|
12783
12796
|
isLoading: false,
|
|
12784
12797
|
usePaymaster: true,
|
|
@@ -12804,17 +12817,17 @@ var useLumiaPassportSession = (0, import_zustand6.create)((set) => ({
|
|
|
12804
12817
|
}));
|
|
12805
12818
|
function LumiaPassportSessionProvider({ children }) {
|
|
12806
12819
|
const config = useLumiaPassportConfig().config;
|
|
12807
|
-
return /* @__PURE__ */ (0,
|
|
12820
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_react55.Fragment, { children: [
|
|
12808
12821
|
children,
|
|
12809
|
-
config.current?.wallet?.enabled && /* @__PURE__ */ (0,
|
|
12810
|
-
/* @__PURE__ */ (0,
|
|
12811
|
-
/* @__PURE__ */ (0,
|
|
12822
|
+
config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(WalletConnectHandler, {}),
|
|
12823
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(BalanceFeedProvider, {}),
|
|
12824
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
12812
12825
|
TssManagerWithRef,
|
|
12813
12826
|
{
|
|
12814
12827
|
mpcPin: void 0
|
|
12815
12828
|
}
|
|
12816
12829
|
),
|
|
12817
|
-
/* @__PURE__ */ (0,
|
|
12830
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(LumiaPassportDialog, {})
|
|
12818
12831
|
] });
|
|
12819
12832
|
}
|
|
12820
12833
|
|
|
@@ -12849,13 +12862,13 @@ var wagmiConfig = (0, import_wagmi6.createConfig)({
|
|
|
12849
12862
|
});
|
|
12850
12863
|
|
|
12851
12864
|
// src/context/WagmiContext.tsx
|
|
12852
|
-
var
|
|
12865
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
12853
12866
|
var LumiaWagmiProvider = ({ children }) => {
|
|
12854
|
-
return /* @__PURE__ */ (0,
|
|
12867
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_wagmi7.WagmiProvider, { config: wagmiConfig, children });
|
|
12855
12868
|
};
|
|
12856
12869
|
|
|
12857
12870
|
// src/context/LumiaPassportContext.tsx
|
|
12858
|
-
var
|
|
12871
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
12859
12872
|
var LumiaPassportContext = (0, import_react56.createContext)(void 0);
|
|
12860
12873
|
function LumiaPassportProvider(props) {
|
|
12861
12874
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
@@ -12944,7 +12957,7 @@ function LumiaPassportProvider(props) {
|
|
|
12944
12957
|
}
|
|
12945
12958
|
}, [projectId, initialConfig, callbacks, updateConfig, setIsIframeReady, setWalletReadyStatus]);
|
|
12946
12959
|
const contextValue = (0, import_react56.useMemo)(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
|
|
12947
|
-
return /* @__PURE__ */ (0,
|
|
12960
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(LumiaWagmiProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(LumiaPassportContext.Provider, { value: contextValue, children }) });
|
|
12948
12961
|
}
|
|
12949
12962
|
var useLumiaPassportConfig = () => {
|
|
12950
12963
|
const ctx = (0, import_react56.useContext)(LumiaPassportContext);
|
|
@@ -12953,10 +12966,10 @@ var useLumiaPassportConfig = () => {
|
|
|
12953
12966
|
};
|
|
12954
12967
|
|
|
12955
12968
|
// src/components/ConnectWalletButton.tsx
|
|
12956
|
-
var
|
|
12969
|
+
var import_lucide_react47 = require("lucide-react");
|
|
12957
12970
|
var import_react57 = require("react");
|
|
12958
12971
|
init_auth();
|
|
12959
|
-
var
|
|
12972
|
+
var import_jsx_runtime71 = (
|
|
12960
12973
|
/** external Buttons can be provided */
|
|
12961
12974
|
require("react/jsx-runtime")
|
|
12962
12975
|
);
|
|
@@ -12989,18 +13002,18 @@ function ConnectWalletButton(props) {
|
|
|
12989
13002
|
return { server, local, backup: hasServerVault };
|
|
12990
13003
|
}, [session, address, hasServerVault]);
|
|
12991
13004
|
const isConnecting = connectButtonLabel !== label || isLoading;
|
|
12992
|
-
return /* @__PURE__ */ (0,
|
|
13005
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { "data-lumia-passport-mode": colorMode, className: cn("lumia-scope w-fit h-fit", className), children: !address ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_jsx_runtime71.Fragment, { children: ConnectButton ? /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
|
|
12993
13006
|
ConnectButton,
|
|
12994
13007
|
{
|
|
12995
13008
|
type: "button",
|
|
12996
13009
|
disabled: isConnecting,
|
|
12997
13010
|
onClick: () => setPage("auth" /* AUTH */),
|
|
12998
13011
|
children: [
|
|
12999
|
-
isConnecting && /* @__PURE__ */ (0,
|
|
13012
|
+
isConnecting && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react47.Loader, { className: "w-4 h-4 animate-spin" }),
|
|
13000
13013
|
connectButtonLabel
|
|
13001
13014
|
]
|
|
13002
13015
|
}
|
|
13003
|
-
) : /* @__PURE__ */ (0,
|
|
13016
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
|
|
13004
13017
|
Button,
|
|
13005
13018
|
{
|
|
13006
13019
|
type: "button",
|
|
@@ -13010,17 +13023,17 @@ function ConnectWalletButton(props) {
|
|
|
13010
13023
|
onClick: () => setPage("auth" /* AUTH */),
|
|
13011
13024
|
className: cn(
|
|
13012
13025
|
"lumia-passport-button w-fit h-16 px-8",
|
|
13013
|
-
"border border-transparent",
|
|
13026
|
+
"border-0 border-transparent",
|
|
13014
13027
|
// to override button appearance bd, which case to case might drop black border
|
|
13015
13028
|
"bg-[var(--l-pass-bg)] hover:bg-[var(--l-pass-bg)] active:bg-[var(--l-pass-bg)] text-[var(--l-pass-fg)]",
|
|
13016
13029
|
"disabled:hover:bg-[var(--l-pass-bg)] disabled:active:bg-[var(--l-pass-bg)]"
|
|
13017
13030
|
),
|
|
13018
13031
|
children: [
|
|
13019
|
-
isConnecting && /* @__PURE__ */ (0,
|
|
13032
|
+
isConnecting && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react47.Loader, { className: "w-4 h-4 animate-spin" }),
|
|
13020
13033
|
connectButtonLabel.toUpperCase()
|
|
13021
13034
|
]
|
|
13022
13035
|
}
|
|
13023
|
-
) }) : /* @__PURE__ */ (0,
|
|
13036
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
|
|
13024
13037
|
"button",
|
|
13025
13038
|
{
|
|
13026
13039
|
type: "button",
|
|
@@ -13033,23 +13046,23 @@ function ConnectWalletButton(props) {
|
|
|
13033
13046
|
"rounded-[var(--l-pass-el-bdrs)] p-2 max-w-sm min-w-[256px]"
|
|
13034
13047
|
),
|
|
13035
13048
|
children: [
|
|
13036
|
-
/* @__PURE__ */ (0,
|
|
13037
|
-
/* @__PURE__ */ (0,
|
|
13038
|
-
/* @__PURE__ */ (0,
|
|
13039
|
-
/* @__PURE__ */ (0,
|
|
13040
|
-
/* @__PURE__ */ (0,
|
|
13049
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center flex-shrink-0", children: avatar ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(LumiaIcon, { width: 48, height: 48 }) }),
|
|
13050
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
|
|
13051
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
|
|
13052
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "w-fit font-semibold text-base truncate max-w-[144px]", children: displayName }),
|
|
13053
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(KYCStatus, {})
|
|
13041
13054
|
] }),
|
|
13042
|
-
/* @__PURE__ */ (0,
|
|
13055
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(BalanceView, { className: "font-semibold text-base text-[var(--l-pass-fg-muted)]" })
|
|
13043
13056
|
] }),
|
|
13044
|
-
/* @__PURE__ */ (0,
|
|
13045
|
-
/* @__PURE__ */ (0,
|
|
13046
|
-
/* @__PURE__ */ (0,
|
|
13047
|
-
|
|
13057
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-center space-x-1", children: [
|
|
13058
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "group relative", children: [
|
|
13059
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
13060
|
+
import_lucide_react47.Cloud,
|
|
13048
13061
|
{
|
|
13049
13062
|
className: `w-3 h-3 ${indicators.server ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
|
|
13050
13063
|
}
|
|
13051
13064
|
),
|
|
13052
|
-
/* @__PURE__ */ (0,
|
|
13065
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
|
|
13053
13066
|
"div",
|
|
13054
13067
|
{
|
|
13055
13068
|
className: cn(
|
|
@@ -13064,14 +13077,14 @@ function ConnectWalletButton(props) {
|
|
|
13064
13077
|
}
|
|
13065
13078
|
)
|
|
13066
13079
|
] }),
|
|
13067
|
-
/* @__PURE__ */ (0,
|
|
13068
|
-
/* @__PURE__ */ (0,
|
|
13069
|
-
|
|
13080
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "group relative", children: [
|
|
13081
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
13082
|
+
import_lucide_react47.Laptop,
|
|
13070
13083
|
{
|
|
13071
13084
|
className: `w-3 h-3 ${indicators.local ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
|
|
13072
13085
|
}
|
|
13073
13086
|
),
|
|
13074
|
-
/* @__PURE__ */ (0,
|
|
13087
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
|
|
13075
13088
|
"div",
|
|
13076
13089
|
{
|
|
13077
13090
|
className: cn(
|
|
@@ -13086,14 +13099,14 @@ function ConnectWalletButton(props) {
|
|
|
13086
13099
|
}
|
|
13087
13100
|
)
|
|
13088
13101
|
] }),
|
|
13089
|
-
/* @__PURE__ */ (0,
|
|
13090
|
-
/* @__PURE__ */ (0,
|
|
13091
|
-
|
|
13102
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "group relative", children: [
|
|
13103
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
13104
|
+
import_lucide_react47.Shield,
|
|
13092
13105
|
{
|
|
13093
13106
|
className: `w-3 h-3 ${indicators.backup ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
|
|
13094
13107
|
}
|
|
13095
13108
|
),
|
|
13096
|
-
/* @__PURE__ */ (0,
|
|
13109
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
|
|
13097
13110
|
"div",
|
|
13098
13111
|
{
|
|
13099
13112
|
className: cn(
|
|
@@ -13109,7 +13122,7 @@ function ConnectWalletButton(props) {
|
|
|
13109
13122
|
)
|
|
13110
13123
|
] })
|
|
13111
13124
|
] }),
|
|
13112
|
-
!!settingsNotifications.length && /* @__PURE__ */ (0,
|
|
13125
|
+
!!settingsNotifications.length && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
13113
13126
|
"div",
|
|
13114
13127
|
{
|
|
13115
13128
|
className: cn(
|
|
@@ -13202,24 +13215,24 @@ function useLumiaPassportColorMode() {
|
|
|
13202
13215
|
}
|
|
13203
13216
|
|
|
13204
13217
|
// src/components/ThemeToggle.tsx
|
|
13205
|
-
var
|
|
13206
|
-
var
|
|
13218
|
+
var import_lucide_react48 = require("lucide-react");
|
|
13219
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
13207
13220
|
function ThemeToggle(props) {
|
|
13208
13221
|
const { colorMode, setColorMode } = useLumiaPassportColorMode();
|
|
13209
|
-
return /* @__PURE__ */ (0,
|
|
13222
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
13210
13223
|
"div",
|
|
13211
13224
|
{
|
|
13212
13225
|
className: "lumia-scope",
|
|
13213
13226
|
"data-lumia-passport-mode": colorMode,
|
|
13214
13227
|
style: { width: "fit-content", height: "fit-content" },
|
|
13215
|
-
children: /* @__PURE__ */ (0,
|
|
13228
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
13216
13229
|
Button,
|
|
13217
13230
|
{
|
|
13218
13231
|
...props,
|
|
13219
13232
|
variant: "ghost",
|
|
13220
13233
|
onClick: () => setColorMode(colorMode === "light" ? "dark" : "light"),
|
|
13221
13234
|
title: `Current theme: ${colorMode}. Click to switch.`,
|
|
13222
|
-
children: colorMode === "dark" ? /* @__PURE__ */ (0,
|
|
13235
|
+
children: colorMode === "dark" ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react48.Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react48.Moon, { className: "w-4 h-4" })
|
|
13223
13236
|
}
|
|
13224
13237
|
)
|
|
13225
13238
|
}
|
|
@@ -13456,7 +13469,7 @@ var rainbowTheme = {
|
|
|
13456
13469
|
|
|
13457
13470
|
// src/context/RainbowKitContext.tsx
|
|
13458
13471
|
var import_styles = require("@rainbow-me/rainbowkit/styles.css");
|
|
13459
|
-
var
|
|
13472
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
13460
13473
|
function LumiaRainbowKitProvider({ children }) {
|
|
13461
13474
|
const config = useLumiaPassportConfig().config;
|
|
13462
13475
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
@@ -13475,12 +13488,12 @@ function LumiaRainbowKitProvider({ children }) {
|
|
|
13475
13488
|
},
|
|
13476
13489
|
[colorMode]
|
|
13477
13490
|
);
|
|
13478
|
-
if (!config.current?.wallet?.enabled) return /* @__PURE__ */ (0,
|
|
13479
|
-
return /* @__PURE__ */ (0,
|
|
13491
|
+
if (!config.current?.wallet?.enabled) return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_jsx_runtime73.Fragment, { children });
|
|
13492
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_wagmi9.WagmiProvider, { config: rainbowConfig2, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_rainbowkit3.RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
|
|
13480
13493
|
}
|
|
13481
13494
|
|
|
13482
13495
|
// src/internal/components/UserOpStatus.tsx
|
|
13483
|
-
var
|
|
13496
|
+
var import_lucide_react50 = require("lucide-react");
|
|
13484
13497
|
var React13 = __toESM(require("react"), 1);
|
|
13485
13498
|
init_base();
|
|
13486
13499
|
|
|
@@ -13492,9 +13505,9 @@ function cn2(...inputs) {
|
|
|
13492
13505
|
}
|
|
13493
13506
|
|
|
13494
13507
|
// src/internal/components/Address.tsx
|
|
13495
|
-
var
|
|
13508
|
+
var import_lucide_react49 = require("lucide-react");
|
|
13496
13509
|
var React12 = __toESM(require("react"), 1);
|
|
13497
|
-
var
|
|
13510
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
13498
13511
|
function toExplorerAddressUrl(address, chain) {
|
|
13499
13512
|
const base2 = chain?.blockExplorers?.default?.url;
|
|
13500
13513
|
if (!base2) return null;
|
|
@@ -13516,11 +13529,11 @@ var Address = ({
|
|
|
13516
13529
|
const addr = address || "";
|
|
13517
13530
|
const explorer = toExplorerAddressUrl(addr, chain || void 0);
|
|
13518
13531
|
const [copied, setCopied] = React12.useState(false);
|
|
13519
|
-
if (!addr) return /* @__PURE__ */ (0,
|
|
13520
|
-
return /* @__PURE__ */ (0,
|
|
13521
|
-
label && /* @__PURE__ */ (0,
|
|
13522
|
-
/* @__PURE__ */ (0,
|
|
13523
|
-
showCopy && /* @__PURE__ */ (0,
|
|
13532
|
+
if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
|
|
13533
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
|
|
13534
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "text-sm font-medium", children: label }),
|
|
13535
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
|
|
13536
|
+
showCopy && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
13524
13537
|
Button,
|
|
13525
13538
|
{
|
|
13526
13539
|
variant: "ghost",
|
|
@@ -13534,10 +13547,10 @@ var Address = ({
|
|
|
13534
13547
|
} catch {
|
|
13535
13548
|
}
|
|
13536
13549
|
},
|
|
13537
|
-
children: /* @__PURE__ */ (0,
|
|
13550
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_lucide_react49.Copy, { className: "h-4 w-4" })
|
|
13538
13551
|
}
|
|
13539
13552
|
),
|
|
13540
|
-
showExplorer && explorer && /* @__PURE__ */ (0,
|
|
13553
|
+
showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
13541
13554
|
"a",
|
|
13542
13555
|
{
|
|
13543
13556
|
href: explorer,
|
|
@@ -13545,7 +13558,7 @@ var Address = ({
|
|
|
13545
13558
|
rel: "noreferrer noopener",
|
|
13546
13559
|
className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
|
|
13547
13560
|
title: "Open in explorer",
|
|
13548
|
-
children: /* @__PURE__ */ (0,
|
|
13561
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_lucide_react49.ExternalLink, { className: "h-4 w-4" })
|
|
13549
13562
|
}
|
|
13550
13563
|
)
|
|
13551
13564
|
] });
|
|
@@ -13553,7 +13566,7 @@ var Address = ({
|
|
|
13553
13566
|
|
|
13554
13567
|
// src/internal/components/ui/badge.tsx
|
|
13555
13568
|
var import_class_variance_authority2 = require("class-variance-authority");
|
|
13556
|
-
var
|
|
13569
|
+
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
13557
13570
|
var badgeVariants = (0, import_class_variance_authority2.cva)(
|
|
13558
13571
|
"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
13559
13572
|
{
|
|
@@ -13573,11 +13586,11 @@ var badgeVariants = (0, import_class_variance_authority2.cva)(
|
|
|
13573
13586
|
}
|
|
13574
13587
|
);
|
|
13575
13588
|
function Badge({ className, variant, ...props }) {
|
|
13576
|
-
return /* @__PURE__ */ (0,
|
|
13589
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: cn2(badgeVariants({ variant }), className), ...props });
|
|
13577
13590
|
}
|
|
13578
13591
|
|
|
13579
13592
|
// src/internal/components/UserOpStatus.tsx
|
|
13580
|
-
var
|
|
13593
|
+
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
13581
13594
|
var UserOpStatus = ({
|
|
13582
13595
|
userOpHash,
|
|
13583
13596
|
chain,
|
|
@@ -13710,35 +13723,35 @@ var UserOpStatus = ({
|
|
|
13710
13723
|
const stateBadge = () => {
|
|
13711
13724
|
if (receipt) {
|
|
13712
13725
|
const ok = !!receipt.success;
|
|
13713
|
-
return /* @__PURE__ */ (0,
|
|
13714
|
-
ok ? /* @__PURE__ */ (0,
|
|
13726
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
|
|
13727
|
+
ok ? /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react50.CheckCircle2, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react50.AlertCircle, { className: "h-3 w-3" }),
|
|
13715
13728
|
ok ? "Included" : "Failed"
|
|
13716
13729
|
] });
|
|
13717
13730
|
}
|
|
13718
13731
|
if (rejected) {
|
|
13719
|
-
return /* @__PURE__ */ (0,
|
|
13720
|
-
/* @__PURE__ */ (0,
|
|
13732
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Badge, { variant: "destructive", className: "gap-1", children: [
|
|
13733
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react50.AlertCircle, { className: "h-3 w-3" }),
|
|
13721
13734
|
" Rejected by bundler"
|
|
13722
13735
|
] });
|
|
13723
13736
|
}
|
|
13724
13737
|
if (timedOut) {
|
|
13725
|
-
return /* @__PURE__ */ (0,
|
|
13726
|
-
/* @__PURE__ */ (0,
|
|
13738
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Badge, { variant: "warning", className: "gap-1", children: [
|
|
13739
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react50.AlertCircle, { className: "h-3 w-3" }),
|
|
13727
13740
|
" Timeout - may be rejected"
|
|
13728
13741
|
] });
|
|
13729
13742
|
}
|
|
13730
13743
|
if (mempool) {
|
|
13731
|
-
return /* @__PURE__ */ (0,
|
|
13732
|
-
/* @__PURE__ */ (0,
|
|
13744
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Badge, { variant: "outline", className: "gap-1", children: [
|
|
13745
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react50.Clock, { className: "h-3 w-3" }),
|
|
13733
13746
|
" Pending in bundler"
|
|
13734
13747
|
] });
|
|
13735
13748
|
}
|
|
13736
|
-
return /* @__PURE__ */ (0,
|
|
13737
|
-
/* @__PURE__ */ (0,
|
|
13749
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Badge, { variant: "secondary", className: "gap-1", children: [
|
|
13750
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react50.Clock, { className: "h-3 w-3" }),
|
|
13738
13751
|
" Waiting"
|
|
13739
13752
|
] });
|
|
13740
13753
|
};
|
|
13741
|
-
return /* @__PURE__ */ (0,
|
|
13754
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
13742
13755
|
"div",
|
|
13743
13756
|
{
|
|
13744
13757
|
className: cn2(
|
|
@@ -13747,20 +13760,20 @@ var UserOpStatus = ({
|
|
|
13747
13760
|
),
|
|
13748
13761
|
style: { textAlign: "left", listStyle: "none" },
|
|
13749
13762
|
children: [
|
|
13750
|
-
/* @__PURE__ */ (0,
|
|
13751
|
-
/* @__PURE__ */ (0,
|
|
13763
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
|
|
13764
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
13752
13765
|
stateBadge(),
|
|
13753
|
-
/* @__PURE__ */ (0,
|
|
13766
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
|
|
13754
13767
|
] }),
|
|
13755
|
-
/* @__PURE__ */ (0,
|
|
13756
|
-
/* @__PURE__ */ (0,
|
|
13757
|
-
/* @__PURE__ */ (0,
|
|
13768
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
|
|
13769
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react50.RefreshCw, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
|
|
13770
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "text-xs", children: "Refresh" })
|
|
13758
13771
|
] })
|
|
13759
13772
|
] }),
|
|
13760
|
-
/* @__PURE__ */ (0,
|
|
13761
|
-
/* @__PURE__ */ (0,
|
|
13762
|
-
/* @__PURE__ */ (0,
|
|
13763
|
-
/* @__PURE__ */ (0,
|
|
13773
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
|
|
13774
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
|
|
13775
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
|
|
13776
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
13764
13777
|
Button,
|
|
13765
13778
|
{
|
|
13766
13779
|
variant: "ghost",
|
|
@@ -13772,14 +13785,14 @@ var UserOpStatus = ({
|
|
|
13772
13785
|
} catch {
|
|
13773
13786
|
}
|
|
13774
13787
|
},
|
|
13775
|
-
children: /* @__PURE__ */ (0,
|
|
13788
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react50.Copy, { className: "h-3.5 w-3.5" })
|
|
13776
13789
|
}
|
|
13777
13790
|
)
|
|
13778
13791
|
] }),
|
|
13779
|
-
receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0,
|
|
13780
|
-
/* @__PURE__ */ (0,
|
|
13781
|
-
/* @__PURE__ */ (0,
|
|
13782
|
-
/* @__PURE__ */ (0,
|
|
13792
|
+
receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
|
|
13793
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
|
|
13794
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
|
|
13795
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
13783
13796
|
Button,
|
|
13784
13797
|
{
|
|
13785
13798
|
variant: "ghost",
|
|
@@ -13791,10 +13804,10 @@ var UserOpStatus = ({
|
|
|
13791
13804
|
} catch {
|
|
13792
13805
|
}
|
|
13793
13806
|
},
|
|
13794
|
-
children: /* @__PURE__ */ (0,
|
|
13807
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react50.Copy, { className: "h-3.5 w-3.5" })
|
|
13795
13808
|
}
|
|
13796
13809
|
),
|
|
13797
|
-
chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0,
|
|
13810
|
+
chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
13798
13811
|
"a",
|
|
13799
13812
|
{
|
|
13800
13813
|
href: `${chain.blockExplorers.default.url}/tx/${receipt.receipt.transactionHash}`,
|
|
@@ -13802,11 +13815,11 @@ var UserOpStatus = ({
|
|
|
13802
13815
|
rel: "noreferrer noopener",
|
|
13803
13816
|
className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
|
|
13804
13817
|
title: "Open in explorer",
|
|
13805
|
-
children: /* @__PURE__ */ (0,
|
|
13818
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react50.ExternalLink, { className: "h-3.5 w-3.5" })
|
|
13806
13819
|
}
|
|
13807
13820
|
)
|
|
13808
13821
|
] }),
|
|
13809
|
-
receipt && /* @__PURE__ */ (0,
|
|
13822
|
+
receipt && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "text-xs text-muted-foreground mb-3", children: [
|
|
13810
13823
|
"Block ",
|
|
13811
13824
|
parseInt(receipt.receipt?.blockNumber || "0x0", 16),
|
|
13812
13825
|
" \u2022 Gas Used",
|
|
@@ -13815,32 +13828,32 @@ var UserOpStatus = ({
|
|
|
13815
13828
|
" \u2022 Success ",
|
|
13816
13829
|
String(!!receipt.success)
|
|
13817
13830
|
] }),
|
|
13818
|
-
/* @__PURE__ */ (0,
|
|
13831
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("span", { className: "ml-2", children: [
|
|
13819
13832
|
"\u2022 Polling for ",
|
|
13820
13833
|
Math.round((Date.now() - startTimeRef.current) / 1e3),
|
|
13821
13834
|
"s"
|
|
13822
13835
|
] }) }),
|
|
13823
|
-
mempool && /* @__PURE__ */ (0,
|
|
13824
|
-
/* @__PURE__ */ (0,
|
|
13836
|
+
mempool && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
|
|
13837
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { children: [
|
|
13825
13838
|
"Seen by bundler at ",
|
|
13826
|
-
/* @__PURE__ */ (0,
|
|
13839
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
|
|
13827
13840
|
] }),
|
|
13828
|
-
/* @__PURE__ */ (0,
|
|
13841
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { children: [
|
|
13829
13842
|
"sender ",
|
|
13830
|
-
/* @__PURE__ */ (0,
|
|
13843
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Address, { address: mempool.sender, chain, truncate: false })
|
|
13831
13844
|
] })
|
|
13832
13845
|
] }),
|
|
13833
|
-
error && /* @__PURE__ */ (0,
|
|
13834
|
-
/* @__PURE__ */ (0,
|
|
13846
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
13847
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react50.AlertCircle, { className: "h-4 w-4" }),
|
|
13835
13848
|
" ",
|
|
13836
13849
|
error
|
|
13837
13850
|
] }),
|
|
13838
|
-
rejected && /* @__PURE__ */ (0,
|
|
13839
|
-
/* @__PURE__ */ (0,
|
|
13851
|
+
rejected && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
13852
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react50.AlertCircle, { className: "h-4 w-4" }),
|
|
13840
13853
|
"UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
|
|
13841
13854
|
] }),
|
|
13842
|
-
timedOut && /* @__PURE__ */ (0,
|
|
13843
|
-
/* @__PURE__ */ (0,
|
|
13855
|
+
timedOut && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
13856
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react50.AlertCircle, { className: "h-4 w-4" }),
|
|
13844
13857
|
"Stopped polling after ",
|
|
13845
13858
|
Math.round(maxPollTimeMs / 1e3),
|
|
13846
13859
|
"s. UserOperation may have been rejected by the bundler."
|
|
@@ -13851,9 +13864,9 @@ var UserOpStatus = ({
|
|
|
13851
13864
|
};
|
|
13852
13865
|
|
|
13853
13866
|
// src/internal/components/Hash.tsx
|
|
13854
|
-
var
|
|
13867
|
+
var import_lucide_react51 = require("lucide-react");
|
|
13855
13868
|
var React14 = __toESM(require("react"), 1);
|
|
13856
|
-
var
|
|
13869
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
13857
13870
|
function toExplorerUrl(kind, value, chain) {
|
|
13858
13871
|
const base2 = chain?.blockExplorers?.default?.url;
|
|
13859
13872
|
if (!base2) return null;
|
|
@@ -13877,11 +13890,11 @@ var Hash = ({
|
|
|
13877
13890
|
const value = hash || "";
|
|
13878
13891
|
const explorer = toExplorerUrl(kind, value, chain || void 0);
|
|
13879
13892
|
const [copied, setCopied] = React14.useState(false);
|
|
13880
|
-
if (!value) return /* @__PURE__ */ (0,
|
|
13881
|
-
return /* @__PURE__ */ (0,
|
|
13882
|
-
label && /* @__PURE__ */ (0,
|
|
13883
|
-
/* @__PURE__ */ (0,
|
|
13884
|
-
showCopy && /* @__PURE__ */ (0,
|
|
13893
|
+
if (!value) return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
|
|
13894
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: cn2("flex items-center gap-2", className), children: [
|
|
13895
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "text-sm font-medium", children: label }),
|
|
13896
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
|
|
13897
|
+
showCopy && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
13885
13898
|
Button,
|
|
13886
13899
|
{
|
|
13887
13900
|
variant: "ghost",
|
|
@@ -13895,10 +13908,10 @@ var Hash = ({
|
|
|
13895
13908
|
} catch {
|
|
13896
13909
|
}
|
|
13897
13910
|
},
|
|
13898
|
-
children: /* @__PURE__ */ (0,
|
|
13911
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react51.Copy, { className: "h-4 w-4" })
|
|
13899
13912
|
}
|
|
13900
13913
|
),
|
|
13901
|
-
showExplorer && explorer && /* @__PURE__ */ (0,
|
|
13914
|
+
showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
13902
13915
|
"a",
|
|
13903
13916
|
{
|
|
13904
13917
|
href: explorer,
|
|
@@ -13906,7 +13919,7 @@ var Hash = ({
|
|
|
13906
13919
|
rel: "noreferrer noopener",
|
|
13907
13920
|
className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
|
|
13908
13921
|
title: "Open in explorer",
|
|
13909
|
-
children: /* @__PURE__ */ (0,
|
|
13922
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react51.ExternalLink, { className: "h-4 w-4" })
|
|
13910
13923
|
}
|
|
13911
13924
|
)
|
|
13912
13925
|
] });
|
|
@@ -13915,7 +13928,7 @@ var Hash = ({
|
|
|
13915
13928
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
13916
13929
|
var import_react61 = require("react");
|
|
13917
13930
|
init_base();
|
|
13918
|
-
var
|
|
13931
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
13919
13932
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
13920
13933
|
const [transactions, setTransactions] = (0, import_react61.useState)([]);
|
|
13921
13934
|
const [loading, setLoading] = (0, import_react61.useState)(true);
|
|
@@ -13966,31 +13979,31 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
|
13966
13979
|
window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
|
|
13967
13980
|
};
|
|
13968
13981
|
if (loading) {
|
|
13969
|
-
return /* @__PURE__ */ (0,
|
|
13970
|
-
/* @__PURE__ */ (0,
|
|
13971
|
-
/* @__PURE__ */ (0,
|
|
13982
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "p-4 text-center", children: [
|
|
13983
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
|
|
13984
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
|
|
13972
13985
|
] });
|
|
13973
13986
|
}
|
|
13974
13987
|
if (error) {
|
|
13975
|
-
return /* @__PURE__ */ (0,
|
|
13976
|
-
/* @__PURE__ */ (0,
|
|
13977
|
-
/* @__PURE__ */ (0,
|
|
13988
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "p-4 text-center", children: [
|
|
13989
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "text-red-600 text-sm", children: error }),
|
|
13990
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
|
|
13978
13991
|
] });
|
|
13979
13992
|
}
|
|
13980
13993
|
if (transactions.length === 0) {
|
|
13981
|
-
return /* @__PURE__ */ (0,
|
|
13994
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "p-4 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
|
|
13982
13995
|
}
|
|
13983
|
-
return /* @__PURE__ */ (0,
|
|
13996
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
13984
13997
|
"div",
|
|
13985
13998
|
{
|
|
13986
13999
|
className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
|
|
13987
14000
|
onClick: () => openTransaction(tx.hash),
|
|
13988
14001
|
children: [
|
|
13989
|
-
/* @__PURE__ */ (0,
|
|
13990
|
-
/* @__PURE__ */ (0,
|
|
13991
|
-
/* @__PURE__ */ (0,
|
|
13992
|
-
/* @__PURE__ */ (0,
|
|
13993
|
-
/* @__PURE__ */ (0,
|
|
14002
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex justify-between items-start mb-2", children: [
|
|
14003
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex-1", children: [
|
|
14004
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex items-center space-x-2 mb-1", children: [
|
|
14005
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
|
|
14006
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
13994
14007
|
"span",
|
|
13995
14008
|
{
|
|
13996
14009
|
className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`,
|
|
@@ -13998,40 +14011,40 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
|
13998
14011
|
}
|
|
13999
14012
|
)
|
|
14000
14013
|
] }),
|
|
14001
|
-
/* @__PURE__ */ (0,
|
|
14002
|
-
/* @__PURE__ */ (0,
|
|
14003
|
-
/* @__PURE__ */ (0,
|
|
14004
|
-
/* @__PURE__ */ (0,
|
|
14014
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "text-sm space-y-1", children: [
|
|
14015
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { children: [
|
|
14016
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-gray-600", children: "From:" }),
|
|
14017
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("span", { className: "font-mono ml-1", children: [
|
|
14005
14018
|
formatAddress3(tx.from.hash),
|
|
14006
|
-
tx.from.is_contract && /* @__PURE__ */ (0,
|
|
14019
|
+
tx.from.is_contract && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
|
|
14007
14020
|
] })
|
|
14008
14021
|
] }),
|
|
14009
|
-
/* @__PURE__ */ (0,
|
|
14010
|
-
/* @__PURE__ */ (0,
|
|
14011
|
-
/* @__PURE__ */ (0,
|
|
14022
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { children: [
|
|
14023
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-gray-600", children: "To:" }),
|
|
14024
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("span", { className: "font-mono ml-1", children: [
|
|
14012
14025
|
formatAddress3(tx.to.hash),
|
|
14013
|
-
tx.to.is_contract && /* @__PURE__ */ (0,
|
|
14026
|
+
tx.to.is_contract && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
|
|
14014
14027
|
] })
|
|
14015
14028
|
] }),
|
|
14016
|
-
/* @__PURE__ */ (0,
|
|
14017
|
-
/* @__PURE__ */ (0,
|
|
14018
|
-
/* @__PURE__ */ (0,
|
|
14029
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { children: [
|
|
14030
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-gray-600", children: "Value:" }),
|
|
14031
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("span", { className: "font-semibold ml-1", children: [
|
|
14019
14032
|
formatValue3(tx.value),
|
|
14020
14033
|
" LUMIA"
|
|
14021
14034
|
] })
|
|
14022
14035
|
] })
|
|
14023
14036
|
] })
|
|
14024
14037
|
] }),
|
|
14025
|
-
/* @__PURE__ */ (0,
|
|
14026
|
-
/* @__PURE__ */ (0,
|
|
14027
|
-
/* @__PURE__ */ (0,
|
|
14038
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "text-right text-xs text-gray-500", children: [
|
|
14039
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { children: formatDate3(tx.timestamp) }),
|
|
14040
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "mt-1", children: [
|
|
14028
14041
|
"Gas: ",
|
|
14029
14042
|
parseInt(tx.gas_used).toLocaleString()
|
|
14030
14043
|
] }),
|
|
14031
|
-
tx.method && /* @__PURE__ */ (0,
|
|
14044
|
+
tx.method && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "mt-1 text-blue-600", children: tx.method })
|
|
14032
14045
|
] })
|
|
14033
14046
|
] }),
|
|
14034
|
-
tx.transaction_types.length > 0 && /* @__PURE__ */ (0,
|
|
14047
|
+
tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
|
|
14035
14048
|
]
|
|
14036
14049
|
},
|
|
14037
14050
|
tx.hash
|