@lumiapassport/ui-kit 1.12.6 → 1.13.1

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/index.js CHANGED
@@ -4251,26 +4251,34 @@ var init_profile = __esm({
4251
4251
  });
4252
4252
 
4253
4253
  // src/styles/built.css
4254
- var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .mb-\\[var\\(--l-pass-gap\\)\\]{margin-bottom:var(--l-pass-gap)}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[32px\\]{height:32px}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[60dvh\\]{max-height:60dvh}.lumia-scope .max-h-\\[60vh\\]{max-height:60vh}.lumia-scope .max-h-\\[80vh\\]{max-height:80vh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[var\\(--l-pass-maw\\)\\]{max-width:var(--l-pass-maw)}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-error)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-error)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-800\\/80{border-color:rgba(153,27,27,.8)}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .\\!bg-transparent{background-color:transparent!important}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#0088cc\\]{--tw-bg-opacity:1;background-color:rgb(0 136 204/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-success\\)\\]{background-color:var(--l-pass-success)}.lumia-scope .bg-\\[var\\(--l-pass-warning\\)\\]{background-color:var(--l-pass-warning)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-primary\\)\\]{color:var(--l-pass-primary)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-600\\/90{color:rgba(220,38,38,.9)}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@font-face{font-family:Inter;src:url(@/src/styles/Inter-VariableFont_opsz,wght.ttf) format("truetype-variations");font-weight:100 900;font-stretch:75% 125%;font-style:normal;font-display:swap}.lumia-scope{--l-pass-maw:var(--lumia-passport-maw,320px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.8));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.6));--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%,.9));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.7));--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:-apple-system,BlinkMacSystemFont,system-ui,Inter,sans-serif;font-optical-sizing:auto}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{font-family:system-ui,-apple-system,sans-serif!important}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:calc(100% + 8px);padding-right:4px;overflow-y:auto;max-height:calc(var(--l-pass-maw)*2/3)}.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 .file\\:mr-3::file-selector-button{margin-right:.75rem}.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-bg-info\\)\\]::file-selector-button{background-color:var(--l-pass-bg-info)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-3::file-selector-button{padding-left:.75rem;padding-right:.75rem}.lumia-scope .file\\:py-1\\.5::file-selector-button{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:text-xs::file-selector-button{font-size:.75rem;line-height:1rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-info\\)\\]::file-selector-button{color:var(--l-pass-info)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[\\#0077bb\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 119 187/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .hover\\:file\\:opacity-90::file-selector-button:hover{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-2: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-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.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-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
4254
+ var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .mb-\\[var\\(--l-pass-gap\\)\\]{margin-bottom:var(--l-pass-gap)}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[32px\\]{height:32px}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[60vh\\]{max-height:60vh}.lumia-scope .max-h-\\[80vh\\]{max-height:80vh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[var\\(--l-pass-maw\\)\\]{max-width:var(--l-pass-maw)}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-error)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-error)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-\\[var\\(--l-pass-list-bd\\)\\]{border-color:var(--l-pass-list-bd)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-800\\/80{border-color:rgba(153,27,27,.8)}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-success\\)\\]{background-color:var(--l-pass-success)}.lumia-scope .bg-\\[var\\(--l-pass-warning\\)\\]{background-color:var(--l-pass-warning)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-primary\\)\\]{color:var(--l-pass-primary)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-600\\/90{color:rgba(220,38,38,.9)}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@font-face{font-family:Inter;src:url(@/src/styles/Inter-VariableFont_opsz,wght.ttf) format("truetype-variations");font-weight:100 900;font-stretch:75% 125%;font-style:normal;font-display:swap}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,320px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff);margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{appearance:none;-webkit-appearance:none;-moz-appearance:none;border-style:solid;outline:none}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-l,0);overflow-y:auto;max-height:320px}.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 .file\\:mr-3::file-selector-button{margin-right:.75rem}.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-bg-info\\)\\]::file-selector-button{background-color:var(--l-pass-bg-info)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-3::file-selector-button{padding-left:.75rem;padding-right:.75rem}.lumia-scope .file\\:py-1\\.5::file-selector-button{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:text-xs::file-selector-button{font-size:.75rem;line-height:1rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-info\\)\\]::file-selector-button{color:var(--l-pass-info)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .hover\\:file\\:opacity-90::file-selector-button:hover{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-2: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-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
4255
4255
 
4256
4256
  // src/context/LumiaPassportContext.tsx
4257
4257
  init_lumiaPassport();
4258
4258
  init_iframe_manager();
4259
4259
  import { initSdkErrorTracking } from "@lumiapassport/core/internal/error-tracking";
4260
- import { createContext, useCallback as useCallback16, useContext, useEffect as useEffect28, useState as useState14 } from "react";
4260
+ import { merge } from "lodash-es";
4261
+ import {
4262
+ createContext,
4263
+ useCallback as useCallback17,
4264
+ useContext,
4265
+ useEffect as useEffect30,
4266
+ useMemo as useMemo3,
4267
+ useRef as useRef10
4268
+ } from "react";
4261
4269
 
4262
4270
  // src/context/LumiaPassportSessionContext.tsx
4263
- import { Fragment as Fragment10 } from "react";
4271
+ import { Fragment as Fragment11 } from "react";
4264
4272
  import { create as create5 } from "zustand";
4265
4273
 
4266
4274
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
4267
4275
  import { AnimatePresence as AnimatePresence4, motion as motion4 } from "framer-motion";
4268
- import { useEffect as useEffect24 } from "react";
4276
+ import { useEffect as useEffect26 } from "react";
4269
4277
 
4270
4278
  // package.json
4271
4279
  var package_default = {
4272
4280
  name: "@lumiapassport/ui-kit",
4273
- version: "1.12.6",
4281
+ version: "1.13.1",
4274
4282
  description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
4275
4283
  type: "module",
4276
4284
  main: "./dist/index.cjs",
@@ -4359,7 +4367,7 @@ var package_default = {
4359
4367
 
4360
4368
  // src/internal/components/Footer/Footer.tsx
4361
4369
  import { useMutation } from "@tanstack/react-query";
4362
- import { LogOut } from "lucide-react";
4370
+ import { Loader, LogOut } from "lucide-react";
4363
4371
 
4364
4372
  // src/internal/assets/LumiaLogo.tsx
4365
4373
  import { forwardRef } from "react";
@@ -4422,8 +4430,10 @@ import { create } from "zustand";
4422
4430
  // src/internal/constants.ts
4423
4431
  init_assets();
4424
4432
  import { Key as Key2, Mail as Mail2, Wallet2 as Wallet22 } from "lucide-react";
4425
- var DEFAULT_MAIN_MENU_HEIGHT = 90;
4426
4433
  var DEFAULT_AUTH_MENU_HEIGHT = 253;
4434
+ var DEFAULT_MAIN_MENU_HEIGHT = 90;
4435
+ var DEFAULT_SETTINGS_MENU_HEIGHT = 346;
4436
+ var MAX_LIST_HEIGHT = 320;
4427
4437
  var MAIN_DIALOG_ANIMATION_SPEED = 375;
4428
4438
  var Y_ANIMATION_SETUP = { duration: 0.15, ease: "easeInOut", height: { duration: 0.375 } };
4429
4439
  var LOCAL_COLOR_MODE_KEY = "lumia-passport-theme";
@@ -4525,37 +4535,32 @@ var buttonVariants = cva(
4525
4535
  default: cn(
4526
4536
  "border border-transparent",
4527
4537
  "bg-[var(--l-pass-primary)] text-[var(--l-pass-fg-inverted)]",
4528
- "hover:bg-[var(--l-pass-primary-h)] disabled:hover:bg-[var(--l-pass-primary)] disabled:active:bg-[var(--l-pass-primary)]",
4529
- "active:bg-[var(--l-pass-primary-a)]"
4538
+ "hover:bg-[var(--l-pass-primary-h)]",
4539
+ "active:bg-[var(--l-pass-primary-a)]",
4540
+ "disabled:hover:bg-[var(--l-pass-primary)] disabled:active:bg-[var(--l-pass-primary)]"
4530
4541
  ),
4531
4542
  outline: cn(
4532
4543
  "border border-[var(--l-pass-bd)] bg-transparent text-[var(--l-pass-fg)]",
4533
- "hover:text-[var(--l-pass-fg-h)] hover:bg-[var(--l-pass-secondary-h)]",
4534
- "active:text-[var(--l-pass-fg-a)] active:bg-[var(--l-pass-secondary-a)]"
4544
+ "hover:text-[var(--l-pass-fg-h)]",
4545
+ "active:text-[var(--l-pass-fg-a)]",
4546
+ "disabled:hover:text-[var(--l-pass-fg)] disabled:active:text-[var(--l-pass-fg)]"
4535
4547
  ),
4536
4548
  ghost: cn(
4537
- "border border-transparent",
4538
- "bg-transparent text-[var(--l-pass-fg)]",
4549
+ "border border-transparent bg-transparent text-[var(--l-pass-fg)]",
4539
4550
  "hover:text-[var(--l-pass-fg-h)]",
4540
- "disabled:hover:text-[var(--l-pass-fg)] disabled:active:text-[var(--l-pass-fg)]",
4541
- "active:text-[var(--l-pass-fg-a)]"
4542
- ),
4543
- // deprecate
4544
- destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
4545
- secondary: "bg-gray-600 text-white hover:bg-gray-500 dark:bg-gray-700 dark:hover:bg-gray-600",
4546
- link: "bg-transparent !bg-transparent text-blue-600 hover:text-blue-700 underline-offset-4 hover:underline",
4547
- telegram: "bg-[#0088cc] text-white hover:bg-[#0077bb]",
4548
- success: "bg-green-600 text-white hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600"
4551
+ "active:text-[var(--l-pass-fg-a)]",
4552
+ "disabled:hover:text-[var(--l-pass-fg)] disabled:active:text-[var(--l-pass-fg)]"
4553
+ )
4549
4554
  },
4550
4555
  size: {
4551
4556
  small: "h-6 px-2 rounded-[5px]",
4552
4557
  medium: "h-8 px-4 rounded-[var(--l-pass-el-bdrs)]",
4553
4558
  large: "h-12 px-4 rounded-[var(--l-pass-el-bdrs)]",
4554
- icon: "h-8 w-8 p-0 rounded-[5px]",
4559
+ icon: "h-8 w-8 p-0 rounded-[5px]"
4555
4560
  // deprecate
4556
- default: "h-10 px-4 py-2",
4557
- sm: "h-9 rounded-xl px-3",
4558
- lg: "h-11 rounded-xl px-8"
4561
+ // default: 'h-10 px-4 py-2',
4562
+ // sm: 'h-9 rounded-xl px-3',
4563
+ // lg: 'h-11 rounded-xl px-8'
4559
4564
  }
4560
4565
  },
4561
4566
  defaultVariants: {
@@ -4609,10 +4614,8 @@ function Footer() {
4609
4614
  return /* @__PURE__ */ jsxs3(
4610
4615
  "div",
4611
4616
  {
4612
- className: cn(
4613
- "w-full flex flex-col gap-1 items-center p-[var(--l-pass-pd)] pb-5",
4614
- "border-t border-[var(--l-pass-bd)]"
4615
- ),
4617
+ style: { borderTop: "1px solid var(--l-pass-bd)" },
4618
+ className: cn("w-full flex flex-col gap-1 items-center p-[var(--l-pass-pd)] pb-5"),
4616
4619
  children: [
4617
4620
  /* @__PURE__ */ jsxs3("div", { className: "w-full flex items-center justify-between", children: [
4618
4621
  /* @__PURE__ */ jsxs3(
@@ -4651,12 +4654,12 @@ function Footer() {
4651
4654
  disabled: isDisconnecting,
4652
4655
  children: [
4653
4656
  /* @__PURE__ */ jsx4("span", { children: "Log Out" }),
4654
- /* @__PURE__ */ jsx4(LogOut, { className: "w-4 h-4" })
4657
+ isDisconnecting ? /* @__PURE__ */ jsx4(Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx4(LogOut, { className: "w-4 h-4" })
4655
4658
  ]
4656
4659
  }
4657
- ) : /* @__PURE__ */ jsx4("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: `v${package_default.version}` })
4660
+ ) : /* @__PURE__ */ jsx4("span", { className: "font-mono text-[10px] text-[var(--l-pass-fg-muted)]", children: `v${package_default.version}` })
4658
4661
  ] }),
4659
- !!address && /* @__PURE__ */ jsx4("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: `v${package_default.version}` })
4662
+ !!address && /* @__PURE__ */ jsx4("span", { className: "font-mono text-[10px] text-[var(--l-pass-fg-muted)]", children: `v${package_default.version}` })
4660
4663
  ]
4661
4664
  }
4662
4665
  );
@@ -4713,7 +4716,7 @@ function LumiaIcon(props) {
4713
4716
 
4714
4717
  // src/internal/components/Header/Header.tsx
4715
4718
  import { useQuery } from "@tanstack/react-query";
4716
- import { Check, CheckCircle2, Copy, Loader } from "lucide-react";
4719
+ import { Check, CheckCircle2, Copy, Loader as Loader2 } from "lucide-react";
4717
4720
  import { useState } from "react";
4718
4721
  init_auth();
4719
4722
  init_clients();
@@ -4745,7 +4748,9 @@ function formatAddress(addr) {
4745
4748
  return `${addr.slice(0, 6)}...${addr.slice(-4)}`;
4746
4749
  }
4747
4750
  function Header() {
4748
- const { config } = useLumiaPassportConfig();
4751
+ const {
4752
+ config: { current: config }
4753
+ } = useLumiaPassportConfig();
4749
4754
  const address = useLumiaPassportSession((st) => st.address);
4750
4755
  const [copied, setCopied] = useState(false);
4751
4756
  const avatar = jwtTokenManager2.getAvatar();
@@ -4759,91 +4764,107 @@ function Header() {
4759
4764
  const isKycVerified = !isUserProfileLoading && userProfile?.kycDetails?.kycStatus === "verified" || true;
4760
4765
  const { name, logo, logoDataUri } = lumiaBeam;
4761
4766
  const isNetworkIcon = !!logoDataUri || logo === "lumia";
4762
- return /* @__PURE__ */ jsxs6("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)] pt-5 border-b border-[var(--l-pass-bd)]", children: [
4763
- /* @__PURE__ */ jsxs6("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
4764
- /* @__PURE__ */ jsx7("div", { className: "flex-none w-12 h-12 flex items-center justify-center", children: avatar ? /* @__PURE__ */ jsx7("img", { src: avatar, alt: displayName, className: "w-full h-full object-cover rounded-full" }) : /* @__PURE__ */ jsx7(LumiaIcon, { width: 48, height: 48 }) }),
4765
- /* @__PURE__ */ jsxs6(
4766
- "div",
4767
- {
4768
- style: { width: "calc(100% - 48px - var(--l-pass-gap))" },
4769
- className: "flex-1 flex flex-col justify-center gap-1",
4770
- children: [
4771
- !!address && /* @__PURE__ */ jsx7(UsdBalance, { className: "text-lg leading-5 font-bold" }),
4772
- /* @__PURE__ */ jsxs6("div", { className: "w-full flex items-center gap-2", children: [
4773
- /* @__PURE__ */ jsx7("span", { className: "max-w-full text-md leading-4 font-medium text-[var(--l-pass-fg-muted)] text-ellipsis overflow-hidden whitespace-nowrap", children: displayName || config.ui.title || "LumiaPassport" }),
4774
- isKycVerified && /* @__PURE__ */ jsxs6("div", { className: "group relative flex flex-shrink-0", children: [
4775
- /* @__PURE__ */ jsx7(CheckCircle2, { className: "w-4 h-4 text-[var(--l-pass-bg-success)]" }),
4776
- /* @__PURE__ */ jsx7(
4777
- "div",
4778
- {
4779
- className: cn(
4780
- "transition-opacity pointer-events-none whitespace-nowrap z-50",
4781
- "absolute top-1/2 right-full -translate-y-1/2 -translate-x-[var(--l-pass-gap)]",
4782
- "px-2 py-1 bg-[var(--l-pass-bg-success)] text-[var(--l-pass-fg)] text-xs rounded-full",
4783
- "opacity-0 group-hover:opacity-100"
4784
- ),
4785
- children: "KYC Verified"
4786
- }
4787
- )
4788
- ] }),
4789
- isUserProfileLoading && /* @__PURE__ */ jsx7(Loader, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" })
4790
- ] })
4791
- ]
4792
- }
4793
- )
4794
- ] }),
4795
- !!address && /* @__PURE__ */ jsxs6("div", { className: "w-full flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
4796
- /* @__PURE__ */ jsx7("span", { className: "block text-xs text-[var(--l-pass-fg-muted)]", children: formatAddress(address) }),
4797
- /* @__PURE__ */ jsxs6("div", { className: "w-fit flex items-center gap-[var(--l-pass-gap)] justify-between", children: [
4798
- /* @__PURE__ */ jsxs6(
4799
- Button,
4800
- {
4801
- size: "small",
4802
- variant: "ghost",
4803
- className: "text-[10px] px-0 text-[var(--l-pass-fg-muted)] hover:text-[var(--l-pass-fg)]",
4804
- onClick: async () => {
4805
- await navigator.clipboard.writeText(address);
4806
- setCopied(true);
4807
- setTimeout(() => setCopied(false), 1500);
4808
- },
4809
- children: [
4810
- copied ? /* @__PURE__ */ jsx7(Check, { className: "w-4 h-4 text-[var(--l-pass-bg-success)]" }) : /* @__PURE__ */ jsx7(Copy, { className: "w-4 h-4" }),
4811
- /* @__PURE__ */ jsx7("span", { children: "COPY" })
4812
- ]
4813
- }
4814
- ),
4815
- /* @__PURE__ */ jsxs6(
4816
- Button,
4817
- {
4818
- size: "small",
4819
- variant: "ghost",
4820
- className: "text-[10px] px-0 text-[var(--l-pass-fg-muted)] hover:text-[var(--l-pass-fg)]",
4821
- onClick: () => {
4822
- if (!address) return;
4823
- window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
4824
- },
4825
- children: [
4826
- /* @__PURE__ */ jsxs6(
4827
- "div",
4828
- {
4829
- className: cn(
4830
- "flex-none w-4 h-4 rounded-full flex items-center justify-center overflow-hidden",
4831
- isNetworkIcon ? "bg-transparent" : "bg-[var(--l-pass-primary)]"
4767
+ return /* @__PURE__ */ jsxs6(
4768
+ "div",
4769
+ {
4770
+ style: { borderBottom: "1px solid var(--l-pass-bd)" },
4771
+ className: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)] pt-5",
4772
+ children: [
4773
+ /* @__PURE__ */ jsxs6("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
4774
+ /* @__PURE__ */ jsx7("div", { className: "flex-none w-12 h-12 flex items-center justify-center", children: avatar ? /* @__PURE__ */ jsx7("img", { src: avatar, alt: displayName, className: "w-full h-full object-cover rounded-full" }) : /* @__PURE__ */ jsx7(LumiaIcon, { width: 48, height: 48 }) }),
4775
+ /* @__PURE__ */ jsxs6(
4776
+ "div",
4777
+ {
4778
+ style: { width: "calc(100% - 48px - var(--l-pass-gap))" },
4779
+ className: "flex-1 flex flex-col justify-center gap-1",
4780
+ children: [
4781
+ !!address && /* @__PURE__ */ jsx7(UsdBalance, { className: "text-lg leading-5 font-bold" }),
4782
+ /* @__PURE__ */ jsxs6("div", { className: "w-full flex items-center gap-2", children: [
4783
+ /* @__PURE__ */ jsx7(
4784
+ "span",
4785
+ {
4786
+ className: cn(
4787
+ "max-w-full font-mono text-xs leading-4 font-medium text-[var(--l-pass-fg-muted)",
4788
+ "text-ellipsis overflow-hidden whitespace-nowrap"
4789
+ ),
4790
+ children: displayName || config.ui.title || "LumiaPassport"
4791
+ }
4832
4792
  ),
4833
- children: [
4834
- logoDataUri && logo !== "lumia" && /* @__PURE__ */ jsx7("img", { src: logoDataUri, alt: "Chain Logo", className: "w-4 h-4 object-cover" }),
4835
- !logoDataUri && logo === "lumia" && /* @__PURE__ */ jsx7(LumiaLogo, { size: 16 }),
4836
- !logoDataUri && logo !== "lumia" && /* @__PURE__ */ jsx7("span", { className: "text-[var(--l-pass-fg-inverted)] text-xs font-bold", children: (name || "L").charAt(0) })
4837
- ]
4838
- }
4839
- ),
4840
- "EXPLORER"
4841
- ]
4842
- }
4843
- )
4844
- ] })
4845
- ] })
4846
- ] });
4793
+ isKycVerified && /* @__PURE__ */ jsxs6("div", { className: "group relative flex flex-shrink-0", children: [
4794
+ /* @__PURE__ */ jsx7(CheckCircle2, { className: "w-4 h-4 text-[var(--l-pass-bg-success)]" }),
4795
+ /* @__PURE__ */ jsx7(
4796
+ "div",
4797
+ {
4798
+ className: cn(
4799
+ "transition-opacity pointer-events-none whitespace-nowrap z-50",
4800
+ "absolute top-1/2 right-full -translate-y-1/2 -translate-x-[var(--l-pass-gap)]",
4801
+ "px-2 py-1 bg-[var(--l-pass-bg-success)] text-[var(--l-pass-fg)] text-xs rounded-full",
4802
+ "opacity-0 group-hover:opacity-100"
4803
+ ),
4804
+ children: "KYC Verified"
4805
+ }
4806
+ )
4807
+ ] }),
4808
+ isUserProfileLoading && /* @__PURE__ */ jsx7(Loader2, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" })
4809
+ ] })
4810
+ ]
4811
+ }
4812
+ )
4813
+ ] }),
4814
+ !!address && /* @__PURE__ */ jsxs6("div", { className: "w-full flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
4815
+ /* @__PURE__ */ jsx7("span", { className: "block font-mono text-[10px] break-all leading-6 text-[var(--l-pass-fg-muted)]", children: formatAddress(address) }),
4816
+ /* @__PURE__ */ jsxs6("div", { className: "w-fit flex items-center gap-[var(--l-pass-gap)] justify-between", children: [
4817
+ /* @__PURE__ */ jsxs6(
4818
+ Button,
4819
+ {
4820
+ size: "small",
4821
+ variant: "ghost",
4822
+ className: "text-[10px] px-0 text-[var(--l-pass-fg-muted)] hover:text-[var(--l-pass-fg)]",
4823
+ onClick: async () => {
4824
+ await navigator.clipboard.writeText(address);
4825
+ setCopied(true);
4826
+ setTimeout(() => setCopied(false), 1500);
4827
+ },
4828
+ children: [
4829
+ copied ? /* @__PURE__ */ jsx7(Check, { className: "w-4 h-4 text-[var(--l-pass-bg-success)]" }) : /* @__PURE__ */ jsx7(Copy, { className: "w-4 h-4" }),
4830
+ /* @__PURE__ */ jsx7("span", { children: "COPY" })
4831
+ ]
4832
+ }
4833
+ ),
4834
+ /* @__PURE__ */ jsxs6(
4835
+ Button,
4836
+ {
4837
+ size: "small",
4838
+ variant: "ghost",
4839
+ className: "text-[10px] px-0 text-[var(--l-pass-fg-muted)] hover:text-[var(--l-pass-fg)]",
4840
+ onClick: () => {
4841
+ if (!address) return;
4842
+ window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
4843
+ },
4844
+ children: [
4845
+ /* @__PURE__ */ jsxs6(
4846
+ "div",
4847
+ {
4848
+ className: cn(
4849
+ "flex-none w-4 h-4 rounded-full flex items-center justify-center overflow-hidden",
4850
+ isNetworkIcon ? "bg-transparent" : "bg-[var(--l-pass-primary)]"
4851
+ ),
4852
+ children: [
4853
+ logoDataUri && logo !== "lumia" && /* @__PURE__ */ jsx7("img", { src: logoDataUri, alt: "Chain Logo", className: "w-4 h-4 object-cover" }),
4854
+ !logoDataUri && logo === "lumia" && /* @__PURE__ */ jsx7(LumiaLogo, { size: 16 }),
4855
+ !logoDataUri && logo !== "lumia" && /* @__PURE__ */ jsx7("span", { className: "text-[var(--l-pass-fg-inverted)] text-xs font-bold", children: (name || "L").charAt(0) })
4856
+ ]
4857
+ }
4858
+ ),
4859
+ "EXPLORER"
4860
+ ]
4861
+ }
4862
+ )
4863
+ ] })
4864
+ ] })
4865
+ ]
4866
+ }
4867
+ );
4847
4868
  }
4848
4869
  {
4849
4870
  }
@@ -4919,14 +4940,16 @@ var DialogContent = React2.forwardRef(
4919
4940
  DialogPrimitive.Content,
4920
4941
  {
4921
4942
  ref,
4922
- style: !!className ? void 0 : { boxShadow: "0px 4px 10px var(--l-pass-shadow-c)" },
4943
+ style: !!className ? void 0 : {
4944
+ backgroundColor: "var(--l-pass-bg)",
4945
+ border: "1px solid var(--l-pass-bd)",
4946
+ boxShadow: "0px 4px 10px var(--l-pass-shadow-c)"
4947
+ },
4923
4948
  className: cn(
4924
4949
  "relative pointer-events-auto w-full",
4925
4950
  "text-[var(--l-pass-fg)]",
4926
4951
  "rounded-[var(--l-pass-bdrs)] overflow-hidden",
4927
4952
  "max-w-[var(--l-pass-maw)] max-h-[80vh] p-0 gap-0",
4928
- // this gives complete dialog bg & border control by external className
4929
- !className && "bg-[var(--l-pass-bg)] border border-[var(--l-pass-bd)]",
4930
4953
  className
4931
4954
  ),
4932
4955
  ...props,
@@ -5003,7 +5026,10 @@ var VisuallyHidden = ({ children }) => /* @__PURE__ */ jsx9("span", { className:
5003
5026
  // src/internal/hooks/useAutoConnect.ts
5004
5027
  import { useCallback, useEffect, useRef } from "react";
5005
5028
  function useAutoConnect() {
5006
- const { config, callbacks } = useLumiaPassportConfig();
5029
+ const {
5030
+ config: { current: config },
5031
+ callbacks
5032
+ } = useLumiaPassportConfig();
5007
5033
  const setPage = useLayoutDataStore((st) => st.setPage);
5008
5034
  const {
5009
5035
  session,
@@ -5229,11 +5255,11 @@ function useCheckVaultStatus() {
5229
5255
  }
5230
5256
 
5231
5257
  // src/internal/hooks/usePageMapper.tsx
5232
- import { useCallback as useCallback13, useEffect as useEffect21 } from "react";
5258
+ import { useCallback as useCallback14, useEffect as useEffect23 } from "react";
5233
5259
 
5234
5260
  // src/internal/components/AuthMenu/AuthMenu.tsx
5235
5261
  import { AnimatePresence, motion } from "framer-motion";
5236
- import { Loader as Loader4 } from "lucide-react";
5262
+ import { Loader as Loader5 } from "lucide-react";
5237
5263
  import { useEffect as useEffect7, useMemo } from "react";
5238
5264
 
5239
5265
  // src/internal/components/AuthMenu/AuthFailedStep.tsx
@@ -5492,10 +5518,13 @@ import { Fragment } from "react";
5492
5518
  // src/internal/components/AuthMenu/SignInStep/Email.tsx
5493
5519
  init_lumiaPassport();
5494
5520
  init_projectId();
5495
- import { ChevronRight, Loader as Loader2, Mail as Mail3 } from "lucide-react";
5521
+ import { ChevronRight, Loader as Loader3, Mail as Mail3 } from "lucide-react";
5496
5522
  import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
5497
5523
  function Email() {
5498
- const { config, callbacks } = useLumiaPassportConfig();
5524
+ const {
5525
+ config: { current: config },
5526
+ callbacks
5527
+ } = useLumiaPassportConfig();
5499
5528
  const isLoading = useLumiaPassportSession((st) => st.isLoading);
5500
5529
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
5501
5530
  const { email, codeSendError, setEmail, setCodeSendError, setExpiresIn, setStep } = useAuthStore();
@@ -5566,7 +5595,7 @@ function Email() {
5566
5595
  size: "large",
5567
5596
  disabled: !email || isLoading,
5568
5597
  onClick: onSendVerificationCode,
5569
- children: isLoading ? /* @__PURE__ */ jsx14(Loader2, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx14(ChevronRight, { className: "w-4 h-4" })
5598
+ children: isLoading ? /* @__PURE__ */ jsx14(Loader3, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx14(ChevronRight, { className: "w-4 h-4" })
5570
5599
  }
5571
5600
  )
5572
5601
  ] });
@@ -5649,7 +5678,10 @@ var normalizeLoginResponse = async (rawLoginResponse, providerKey, userData) =>
5649
5678
  };
5650
5679
  function Social(props) {
5651
5680
  const { pendingLoginResponseRef, onAuthSuccess, checkDisplayNameRequired } = props;
5652
- const { config, callbacks } = useLumiaPassportConfig();
5681
+ const {
5682
+ config: { current: config },
5683
+ callbacks
5684
+ } = useLumiaPassportConfig();
5653
5685
  const setPage = useLayoutDataStore((st) => st.setPage);
5654
5686
  const isLoading = useLumiaPassportSession((st) => st.isLoading);
5655
5687
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
@@ -6062,7 +6094,9 @@ function getSignInEnabledMethods(params) {
6062
6094
  import { jsx as jsx17, jsxs as jsxs14 } from "react/jsx-runtime";
6063
6095
  function SignInStep(props) {
6064
6096
  const { pendingLoginResponseRef, onAuthSuccess, checkDisplayNameRequired } = props;
6065
- const { config } = useLumiaPassportConfig();
6097
+ const {
6098
+ config: { current: config }
6099
+ } = useLumiaPassportConfig();
6066
6100
  const alert2 = useAuthStore((st) => st.alert);
6067
6101
  const setPage = useLayoutDataStore((st) => st.setPage);
6068
6102
  const enabledWoPasskey = getSignInEnabledMethods({ order: config.ui.authOrder, config, exclude: ["passkey"] });
@@ -6186,7 +6220,7 @@ function Expandable(props) {
6186
6220
  {
6187
6221
  ...divProps,
6188
6222
  ref: expandableRef,
6189
- className: cn("w-full overflow-hidden", className),
6223
+ className: cn("w-full overflow-y-hidden", className),
6190
6224
  style: { height: "var(--ifo-basic-expandable-h)", transition: "height 375ms ease" },
6191
6225
  children: /* @__PURE__ */ jsx19("div", { className: cn("w-full", contentClassName), ref: contentRef, style: minHeight ? { minHeight } : void 0, children })
6192
6226
  }
@@ -6207,9 +6241,12 @@ function normalizeWebAuthnError(err) {
6207
6241
  }
6208
6242
  function PassKeyStep(props) {
6209
6243
  const { pendingLoginResponseRef, onAuthSuccess, checkDisplayNameRequired } = props;
6210
- const { config, callbacks } = useLumiaPassportConfig();
6211
- const recoveryUserId = useLumiaPassportSession((st) => st.recoveryUserId);
6244
+ const {
6245
+ config: { current: config },
6246
+ callbacks
6247
+ } = useLumiaPassportConfig();
6212
6248
  const isLoading = useLumiaPassportSession((st) => st.isLoading);
6249
+ const recoveryUserId = useLumiaPassportSession((st) => st.recoveryUserId);
6213
6250
  const setPage = useLayoutDataStore((st) => st.setPage);
6214
6251
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
6215
6252
  const autoCloseOnSuccess = !recoveryUserId;
@@ -6417,7 +6454,10 @@ function PassKeyStep(props) {
6417
6454
  init_auth();
6418
6455
  import { useCallback as useCallback5, useRef as useRef4, useState as useState3 } from "react";
6419
6456
  function useAuthMenuHandlers() {
6420
- const { config, callbacks } = useLumiaPassportConfig();
6457
+ const {
6458
+ config: { current: config },
6459
+ callbacks
6460
+ } = useLumiaPassportConfig();
6421
6461
  const pendingLoginResponseRef = useRef4(null);
6422
6462
  const setPage = useLayoutDataStore((st) => st.setPage);
6423
6463
  const [telegramCleanup, setTelegramCleanup] = useState3(null);
@@ -6628,7 +6668,7 @@ function useListenIframeAuthEvents() {
6628
6668
  // src/internal/components/AuthMenu/VerifyStep/VerifyStep.tsx
6629
6669
  init_lumiaPassport();
6630
6670
  import { useMutation as useMutation3 } from "@tanstack/react-query";
6631
- import { ArrowLeft as ArrowLeft3, Loader as Loader3 } from "lucide-react";
6671
+ import { ArrowLeft as ArrowLeft3, Loader as Loader4 } from "lucide-react";
6632
6672
 
6633
6673
  // src/internal/assets/OtpIcon.tsx
6634
6674
  import { jsx as jsx21 } from "react/jsx-runtime";
@@ -6739,7 +6779,7 @@ var VerificationCodeInput = (props) => {
6739
6779
  className: cn(
6740
6780
  isLoading ? "cursor-default opacity-50" : "cursor-text",
6741
6781
  "text-[var(--l-pass-fg)]",
6742
- "w-10 h-12 text-lg text-center font-semibold rounded-[var(--l-pass-el-bdrs)] border",
6782
+ "w-10 h-12 text-lg text-center font-semibold rounded-[var(--l-pass-el-bdrs)]",
6743
6783
  "bg-[var(--l-pass-secondary)] focus:bg-[var(--l-pass-secondary-a)] hover:bg-[var(--l-pass-secondary-h)]",
6744
6784
  "focus:outline-none focus:bg-[var(--l-pass-secondary-a)] focus:inset-ring-2 focus:inset-ring-[var(--l-pass-bd-intense)]"
6745
6785
  )
@@ -6904,7 +6944,7 @@ function VerifyStep(props) {
6904
6944
  /* @__PURE__ */ jsxs18("div", { className: "relative flex items-center justify-center gap-2 px-5 pt-3 pb-6", children: [
6905
6945
  /* @__PURE__ */ jsx23(OtpIcon, { className: "w-6 h-6" }),
6906
6946
  /* @__PURE__ */ jsx23("span", { className: "font-bold text-xl leading-6", children: "Verification code" }),
6907
- isLoading && /* @__PURE__ */ jsx23(Loader3, { className: "h-4 w-4 animate-spin" }),
6947
+ isLoading && /* @__PURE__ */ jsx23(Loader4, { className: "h-4 w-4 animate-spin" }),
6908
6948
  /* @__PURE__ */ jsxs18(
6909
6949
  Button,
6910
6950
  {
@@ -6942,10 +6982,10 @@ function VerifyStep(props) {
6942
6982
  // src/internal/components/AuthMenu/AuthMenu.tsx
6943
6983
  import { jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
6944
6984
  var AuthMenu = () => {
6985
+ const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
6945
6986
  const page = useLayoutDataStore((st) => st.page);
6946
6987
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
6947
6988
  useEffect7(() => setMainPageHeight(DEFAULT_AUTH_MENU_HEIGHT), [setMainPageHeight]);
6948
- const { isIframeReady } = useLumiaPassportSession();
6949
6989
  const {
6950
6990
  step,
6951
6991
  setStep,
@@ -6971,7 +7011,7 @@ var AuthMenu = () => {
6971
7011
  const { pendingLoginResponseRef, onAuthSuccess, goBackToSignIn, checkDisplayNameRequired } = useAuthMenuHandlers();
6972
7012
  if (!isIframeReady) {
6973
7013
  return /* @__PURE__ */ jsxs19("div", { className: "w-full p-8 flex flex-col justify-center items-center", "data-auth-step": "initializing", children: [
6974
- /* @__PURE__ */ jsx24(Loader4, { className: "w-6 h-6 animate-spin mb-3" }),
7014
+ /* @__PURE__ */ jsx24(Loader5, { className: "w-6 h-6 animate-spin mb-3" }),
6975
7015
  /* @__PURE__ */ jsx24("p", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Initializing wallet..." })
6976
7016
  ] });
6977
7017
  }
@@ -7735,7 +7775,7 @@ var useSelectables = () => {
7735
7775
  // src/internal/components/BuyMenu/ByuMenu.tsx
7736
7776
  import { jsx as jsx33, jsxs as jsxs25 } from "react/jsx-runtime";
7737
7777
  function BuyMenu() {
7738
- const walletAddress = useLumiaPassportSession().address;
7778
+ const walletAddress = useLumiaPassportSession((st) => st.address);
7739
7779
  const setPage = useLayoutDataStore((st) => st.setPage);
7740
7780
  const control = useSelectables();
7741
7781
  const { rampProvider, setrRampProvider } = control;
@@ -7822,7 +7862,7 @@ function Highlight(props) {
7822
7862
  // src/internal/components/KeyshareBackupMenu/KeyshareBackupMenu.tsx
7823
7863
  import { jsx as jsx36, jsxs as jsxs26 } from "react/jsx-runtime";
7824
7864
  function KeyshareBackupMenu() {
7825
- const { session } = useLumiaPassportSession();
7865
+ const session = useLumiaPassportSession((st) => st.session);
7826
7866
  const setPage = useLayoutDataStore((st) => st.setPage);
7827
7867
  const userId = session?.mpcUserId || "";
7828
7868
  const onBackupSuccess = () => console.log("[ConnectWalletButton] Backup created successfully");
@@ -8113,12 +8153,15 @@ function KeyshareBackupMenu() {
8113
8153
 
8114
8154
  // src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
8115
8155
  import { useMutation as useMutation6 } from "@tanstack/react-query";
8116
- import { AlertCircle as AlertCircle2, CheckCircle2 as CheckCircle23, Eye as Eye2, EyeOff as EyeOff2, Key as Key6, Loader as Loader5, Server as Server2, Upload } from "lucide-react";
8156
+ import { AlertCircle as AlertCircle2, CheckCircle2 as CheckCircle23, Eye as Eye2, EyeOff as EyeOff2, Key as Key6, Loader as Loader6, Server as Server2, Upload } from "lucide-react";
8117
8157
  import React10, { useCallback as useCallback8, useEffect as useEffect13 } from "react";
8118
8158
  init_vaultClient();
8119
8159
  import { Fragment as Fragment5, jsx as jsx37, jsxs as jsxs27 } from "react/jsx-runtime";
8120
8160
  var KeyshareRestoreMenu = () => {
8121
- const { config, callbacks } = useLumiaPassportConfig();
8161
+ const {
8162
+ config: { current: config },
8163
+ callbacks
8164
+ } = useLumiaPassportConfig();
8122
8165
  const setPage = useLayoutDataStore((st) => st.setPage);
8123
8166
  const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
8124
8167
  useEffect13(() => setIsDialogForced(true), []);
@@ -8323,7 +8366,7 @@ var KeyshareRestoreMenu = () => {
8323
8366
  return /* @__PURE__ */ jsxs27("div", { className: "w-full flex flex-col p-4", children: [
8324
8367
  /* @__PURE__ */ jsxs27("div", { className: "w-full flex flex-col gap-1", children: [
8325
8368
  /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2", children: [
8326
- /* @__PURE__ */ jsx37(Loader5, { className: "w-5 h-5 animate-spin" }),
8369
+ /* @__PURE__ */ jsx37(Loader6, { className: "w-5 h-5 animate-spin" }),
8327
8370
  /* @__PURE__ */ jsx37("span", { className: "text-xl leading-5 font-semibold", children: "Checking Backup Availability" })
8328
8371
  ] }),
8329
8372
  /* @__PURE__ */ jsx37("span", { className: "text-sm", children: "Please wait while we check for available backups..." })
@@ -8694,13 +8737,15 @@ var SumsubIframeManager = class {
8694
8737
 
8695
8738
  // src/internal/components/KYC/useSumsubIframe.ts
8696
8739
  function useSumsubIframe({ iframeUrl }) {
8740
+ const {
8741
+ config: { current: config }
8742
+ } = useLumiaPassportConfig();
8697
8743
  const { colorMode } = useLumiaPassportColorMode();
8698
8744
  const iframeRef = useRef8(null);
8699
8745
  const [isLoading, setIsLoading] = useState6(true);
8700
8746
  const [error, setError] = useState6(null);
8701
8747
  const [height, setHeight] = useState6(0);
8702
8748
  const [status, setStatus] = useState6("");
8703
- const { config } = useLumiaPassportConfig();
8704
8749
  const levelName = config.kyc?.options?.levelName;
8705
8750
  useEffect14(() => {
8706
8751
  setError(null);
@@ -8748,7 +8793,9 @@ function useSumsubIframe({ iframeUrl }) {
8748
8793
  import { Fragment as Fragment6, jsx as jsx38, jsxs as jsxs28 } from "react/jsx-runtime";
8749
8794
  var MAX_IFRAME_HEIGHT = 650;
8750
8795
  var SumsubIframe = () => {
8751
- const { config } = useLumiaPassportConfig();
8796
+ const {
8797
+ config: { current: config }
8798
+ } = useLumiaPassportConfig();
8752
8799
  const iframeUrl = `${config.services.iframeUrl}/kyc/sumsub.html`;
8753
8800
  const { iframeRef, isLoading, error, height, status } = useSumsubIframe({ iframeUrl });
8754
8801
  return /* @__PURE__ */ jsxs28(Fragment6, { children: [
@@ -8779,7 +8826,9 @@ var SumsubIframe = () => {
8779
8826
  // src/internal/components/KYC/KycContent.tsx
8780
8827
  import { jsx as jsx39 } from "react/jsx-runtime";
8781
8828
  var KycContent = () => {
8782
- const { config } = useLumiaPassportConfig();
8829
+ const {
8830
+ config: { current: config }
8831
+ } = useLumiaPassportConfig();
8783
8832
  const provider = config.kyc?.provider;
8784
8833
  switch (provider) {
8785
8834
  case "sumsub":
@@ -8812,7 +8861,9 @@ import { AnimatePresence as AnimatePresence2, motion as motion2 } from "framer-m
8812
8861
  import { DatabaseBackup } from "lucide-react";
8813
8862
  import { jsx as jsx41, jsxs as jsxs30 } from "react/jsx-runtime";
8814
8863
  function BackupWarning() {
8815
- const { config } = useLumiaPassportConfig();
8864
+ const {
8865
+ config: { current: config }
8866
+ } = useLumiaPassportConfig();
8816
8867
  const setPage = useLayoutDataStore((st) => st.setPage);
8817
8868
  const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
8818
8869
  const isShown = config.warnings?.backupWarning && !hasServerVault;
@@ -8882,18 +8933,59 @@ function MainMenu() {
8882
8933
 
8883
8934
  // src/internal/components/ManageWalletMenu/ManageWallet.tsx
8884
8935
  import { fromPairs } from "lodash-es";
8885
- import { AlertTriangle as AlertTriangle3, ArrowLeft as ArrowLeft7, Loader as Loader7 } from "lucide-react";
8936
+ import { AlertTriangle as AlertTriangle3, ArrowLeft as ArrowLeft7, Loader as Loader8 } from "lucide-react";
8886
8937
  import { useMemo as useMemo2 } from "react";
8887
8938
 
8939
+ // src/modules/linkedProfiles.ts
8940
+ import { useQuery as useQuery4, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
8941
+ import { useCallback as useCallback9 } from "react";
8942
+ init_auth();
8943
+ init_common();
8944
+ init_types();
8945
+ var LINKED_PROFILES_QUERY_KEY = "lumia-passport-linked-profiles-query";
8946
+ async function getLinkProfilesData() {
8947
+ const list = await getLinkedProviders();
8948
+ const loadedProfiles = list.map((p) => {
8949
+ const info = getProviderDisplayInfo(p.provider);
8950
+ return { ...p, displayName: info.name, icon: info.icon };
8951
+ });
8952
+ let avatar = null;
8953
+ try {
8954
+ avatar = jwtTokenManager2.getAvatar() || null;
8955
+ } catch {
8956
+ avatar = null;
8957
+ }
8958
+ return { profiles: loadedProfiles, avatar };
8959
+ }
8960
+ function useLumiaPassportLinkedProfiles() {
8961
+ const qc = useQueryClient3();
8962
+ const address = useLumiaPassportSession((st) => st.address);
8963
+ const {
8964
+ data,
8965
+ isFetching: isLoading,
8966
+ error
8967
+ } = useQuery4({
8968
+ retry: false,
8969
+ enabled: !!address,
8970
+ queryKey: [LINKED_PROFILES_QUERY_KEY, address],
8971
+ queryFn: getLinkProfilesData
8972
+ });
8973
+ const { profiles = [], avatar = null } = data || {};
8974
+ const refresh = useCallback9(async () => {
8975
+ await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, address] });
8976
+ }, [qc, address]);
8977
+ return { profiles, avatar, isLoading, error, refresh };
8978
+ }
8979
+
8888
8980
  // src/internal/components/ManageWalletMenu/AddProvider.tsx
8889
- import { useQueryClient as useQueryClient4 } from "@tanstack/react-query";
8981
+ import { useQueryClient as useQueryClient5 } from "@tanstack/react-query";
8890
8982
  init_passkey2();
8891
8983
 
8892
8984
  // src/internal/components/ManageWalletMenu/EmailForm.tsx
8893
8985
  init_lumiaPassport();
8894
8986
  init_projectId();
8895
8987
  import { useMutation as useMutation7 } from "@tanstack/react-query";
8896
- import { ChevronRight as ChevronRight3, Loader as Loader6, Mail as Mail4 } from "lucide-react";
8988
+ import { ChevronRight as ChevronRight3, Loader as Loader7, Mail as Mail4 } from "lucide-react";
8897
8989
 
8898
8990
  // src/internal/components/ManageWalletMenu/hooks/useStore.ts
8899
8991
  import { create as create4 } from "zustand";
@@ -8925,7 +9017,10 @@ var useManageWalletStore = create4((set) => ({
8925
9017
  // src/internal/components/ManageWalletMenu/EmailForm.tsx
8926
9018
  import { jsx as jsx43, jsxs as jsxs32 } from "react/jsx-runtime";
8927
9019
  function EmailForm() {
8928
- const { config, callbacks } = useLumiaPassportConfig();
9020
+ const {
9021
+ config: { current: config },
9022
+ callbacks
9023
+ } = useLumiaPassportConfig();
8929
9024
  const isLoading = useLumiaPassportSession((st) => st.isLoading);
8930
9025
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
8931
9026
  const { email, setEmail, setEmailCodeSentError, setEmailCodeExpiresIn, setEmailStep } = useManageWalletStore();
@@ -8999,23 +9094,24 @@ function EmailForm() {
8999
9094
  size: "large",
9000
9095
  disabled: !email || isLoading,
9001
9096
  onClick: () => onSendVerificationCode(),
9002
- children: isLoading ? /* @__PURE__ */ jsx43(Loader6, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx43(ChevronRight3, { className: "w-4 h-4" })
9097
+ children: isLoading ? /* @__PURE__ */ jsx43(Loader7, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx43(ChevronRight3, { className: "w-4 h-4" })
9003
9098
  }
9004
9099
  )
9005
9100
  ] });
9006
9101
  }
9007
9102
 
9008
9103
  // src/internal/components/ManageWalletMenu/hooks/useProvidersList.ts
9009
- import { useQuery as useQuery4 } from "@tanstack/react-query";
9010
9104
  init_common();
9105
+ import { useQuery as useQuery5 } from "@tanstack/react-query";
9011
9106
  var PROVIDERS_QUERY_KEY = "lumia-passport-providers-query";
9012
9107
  function useProvidersList() {
9013
- const walletAddress = useLumiaPassportSession().address;
9014
- return useQuery4({
9108
+ const address = useLumiaPassportSession((st) => st.address);
9109
+ const page = useLayoutDataStore((st) => st.page);
9110
+ return useQuery5({
9015
9111
  retry: false,
9016
- enabled: !!walletAddress,
9017
- queryKey: [PROVIDERS_QUERY_KEY, walletAddress],
9018
- queryFn: getLinkedProviders
9112
+ enabled: !!address && page === "manage-wallet" /* MANAGE_WALLET */,
9113
+ queryKey: [PROVIDERS_QUERY_KEY, address],
9114
+ queryFn: async () => getLinkedProviders()
9019
9115
  });
9020
9116
  }
9021
9117
 
@@ -9047,12 +9143,12 @@ function useSendVerificationCode() {
9047
9143
  }
9048
9144
 
9049
9145
  // src/internal/components/ManageWalletMenu/hooks/useVerifyCode.ts
9050
- import { useMutation as useMutation9, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
9146
+ import { useMutation as useMutation9, useQueryClient as useQueryClient4 } from "@tanstack/react-query";
9051
9147
  init_email();
9052
9148
  function useVerifyCode() {
9053
- const { callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
9054
- const qc = useQueryClient3();
9055
- const walletAddress = useLumiaPassportSession((st) => st.address);
9149
+ const { callbacks } = useLumiaPassportConfig();
9150
+ const qc = useQueryClient4();
9151
+ const address = useLumiaPassportSession((st) => st.address);
9056
9152
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
9057
9153
  const {
9058
9154
  email,
@@ -9079,7 +9175,8 @@ function useVerifyCode() {
9079
9175
  return await verifyEmailLinkCode(email, code);
9080
9176
  },
9081
9177
  onSuccess: async () => {
9082
- await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, walletAddress] });
9178
+ await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, address] });
9179
+ await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, address] });
9083
9180
  setProviderType(null);
9084
9181
  setEmail("");
9085
9182
  setEmailCode("");
@@ -9087,8 +9184,7 @@ function useVerifyCode() {
9087
9184
  setEmailCodeSentError("");
9088
9185
  setEmailStep("input");
9089
9186
  try {
9090
- callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, walletAddress]) });
9091
- notifyProvidersUpdate?.();
9187
+ callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address]) });
9092
9188
  } catch {
9093
9189
  }
9094
9190
  setIsLoading(false);
@@ -9115,9 +9211,9 @@ function normalizePasskeyLinkError(msg) {
9115
9211
  return msg;
9116
9212
  }
9117
9213
  function AddProvider() {
9118
- const qc = useQueryClient4();
9119
- const walletAddress = useLumiaPassportSession().address;
9120
- const { callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
9214
+ const qc = useQueryClient5();
9215
+ const { callbacks } = useLumiaPassportConfig();
9216
+ const address = useLumiaPassportSession((st) => st.address);
9121
9217
  const {
9122
9218
  linkIsLoading,
9123
9219
  providerType,
@@ -9175,12 +9271,12 @@ function AddProvider() {
9175
9271
  userVerification: "preferred"
9176
9272
  }
9177
9273
  });
9178
- await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, walletAddress] });
9274
+ await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, address] });
9275
+ await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, address] });
9179
9276
  try {
9180
9277
  callbacks?.onLumiaPassportUpdate?.({
9181
- providers: qc.getQueryData([PROVIDERS_QUERY_KEY, walletAddress])
9278
+ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address])
9182
9279
  });
9183
- notifyProvidersUpdate?.();
9184
9280
  } catch {
9185
9281
  }
9186
9282
  setPage("manage-wallet" /* MANAGE_WALLET */);
@@ -9216,12 +9312,12 @@ function AddProvider() {
9216
9312
  userVerification: "preferred"
9217
9313
  }
9218
9314
  });
9219
- await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, walletAddress] });
9315
+ await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, address] });
9316
+ await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, address] });
9220
9317
  try {
9221
9318
  callbacks?.onLumiaPassportUpdate?.({
9222
- providers: qc.getQueryData([PROVIDERS_QUERY_KEY, walletAddress])
9319
+ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address])
9223
9320
  });
9224
- notifyProvidersUpdate?.();
9225
9321
  } catch {
9226
9322
  }
9227
9323
  setPage("manage-wallet" /* MANAGE_WALLET */);
@@ -9252,7 +9348,9 @@ import { jsx as jsx45, jsxs as jsxs34 } from "react/jsx-runtime";
9252
9348
  function EmailNotConnectedWarning() {
9253
9349
  const providers = jwtTokenManager2.getProviders();
9254
9350
  const hasEmail = providers.includes("email");
9255
- const { config } = useLumiaPassportConfig();
9351
+ const {
9352
+ config: { current: config }
9353
+ } = useLumiaPassportConfig();
9256
9354
  const isShown = config.warnings?.emailNotConnectedWarning && !hasEmail;
9257
9355
  return /* @__PURE__ */ jsx45(AnimatePresence3, { mode: "wait", initial: false, children: isShown ? /* @__PURE__ */ jsx45(
9258
9356
  motion3.div,
@@ -9261,7 +9359,7 @@ function EmailNotConnectedWarning() {
9261
9359
  animate: { opacity: 1, height: "auto" },
9262
9360
  exit: { opacity: 0, height: 0 },
9263
9361
  transition: Y_ANIMATION_SETUP,
9264
- children: /* @__PURE__ */ jsxs34(Highlight, { className: "flex flex-col gap-[var(--l-pass-gap)] items-center text-center", children: [
9362
+ children: /* @__PURE__ */ jsxs34(Highlight, { type: "warning", className: "flex flex-col gap-[var(--l-pass-gap)] items-center text-center", children: [
9265
9363
  /* @__PURE__ */ jsxs34("span", { className: "flex items-center gap-[var(--l-pass-gap)] text-lg font-bold", children: [
9266
9364
  /* @__PURE__ */ jsx45(Mail5, { className: "w-5 h-5" }),
9267
9365
  "CONNECT EMAIL"
@@ -9273,13 +9371,16 @@ function EmailNotConnectedWarning() {
9273
9371
  }
9274
9372
 
9275
9373
  // src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts
9276
- import { useQueryClient as useQueryClient5 } from "@tanstack/react-query";
9374
+ import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
9277
9375
  import React11, { useEffect as useEffect16 } from "react";
9278
9376
  init_auth();
9279
9377
  function useLinkSocial() {
9280
- const qc = useQueryClient5();
9281
- const walletAddress = useLumiaPassportSession().address;
9282
- const { config, callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
9378
+ const qc = useQueryClient6();
9379
+ const address = useLumiaPassportSession((st) => st.address);
9380
+ const {
9381
+ config: { current: config },
9382
+ callbacks
9383
+ } = useLumiaPassportConfig();
9283
9384
  const setPage = useLayoutDataStore((st) => st.setPage);
9284
9385
  const { providerType, linkIsLoading, setProviderType, setLinkIsLoading, setLinkError } = useManageWalletStore();
9285
9386
  const handleLinkSocialProvider = React11.useCallback(
@@ -9314,10 +9415,10 @@ function useLinkSocial() {
9314
9415
  if (!result.success) {
9315
9416
  throw new Error(result.error || `${socialProvider.name || providerIdRaw} authentication failed`);
9316
9417
  }
9317
- await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, walletAddress] });
9418
+ await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, address] });
9419
+ await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, address] });
9318
9420
  try {
9319
- callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, walletAddress]) });
9320
- notifyProvidersUpdate?.();
9421
+ callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address]) });
9321
9422
  } catch {
9322
9423
  }
9323
9424
  setProviderType(null);
@@ -9348,16 +9449,19 @@ function useLinkSocial() {
9348
9449
  }
9349
9450
 
9350
9451
  // src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
9351
- import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
9352
- import { useCallback as useCallback9, useEffect as useEffect17, useState as useState7 } from "react";
9452
+ import { useQueryClient as useQueryClient7 } from "@tanstack/react-query";
9453
+ import { useCallback as useCallback10, useEffect as useEffect17, useState as useState7 } from "react";
9353
9454
  init_telegram2();
9354
9455
  function useLinkTelegram() {
9355
- const { config, callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
9356
- const qc = useQueryClient6();
9357
- const walletAddress = useLumiaPassportSession((st) => st.address);
9456
+ const {
9457
+ config: { current: config },
9458
+ callbacks
9459
+ } = useLumiaPassportConfig();
9460
+ const qc = useQueryClient7();
9461
+ const address = useLumiaPassportSession((st) => st.address);
9358
9462
  const { providerType, linkIsLoading, setLinkIsLoading, setProviderType, setLinkError } = useManageWalletStore();
9359
9463
  const setPage = useLayoutDataStore((st) => st.setPage);
9360
- const handleLinkTelegram = useCallback9(async () => {
9464
+ const handleLinkTelegram = useCallback10(async () => {
9361
9465
  try {
9362
9466
  setLinkIsLoading(true);
9363
9467
  setLinkError("");
@@ -9383,10 +9487,10 @@ function useLinkTelegram() {
9383
9487
  }
9384
9488
  console.log("[ManageWallet] Linking Telegram with data:", user);
9385
9489
  await linkTelegram(user);
9386
- await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, walletAddress] });
9490
+ await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, address] });
9491
+ await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, address] });
9387
9492
  try {
9388
- callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, walletAddress]) });
9389
- notifyProvidersUpdate?.();
9493
+ callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address]) });
9390
9494
  } catch {
9391
9495
  }
9392
9496
  setPage("manage-wallet" /* MANAGE_WALLET */);
@@ -9492,7 +9596,9 @@ function getConfiguredProviders(config) {
9492
9596
  );
9493
9597
  }
9494
9598
  function ManageWalletMenu() {
9495
- const { config } = useLumiaPassportConfig();
9599
+ const {
9600
+ config: { current: config }
9601
+ } = useLumiaPassportConfig();
9496
9602
  const setPage = useLayoutDataStore((st) => st.setPage);
9497
9603
  const {
9498
9604
  providerType,
@@ -9509,13 +9615,14 @@ function ManageWalletMenu() {
9509
9615
  setVerificationError
9510
9616
  } = useManageWalletStore();
9511
9617
  const configuredProviders = getConfiguredProviders(config);
9512
- const { data: providers = [], isFetching: isProvidersLoading, error: providersError } = useProvidersList();
9618
+ const { data: providers = [], isLoading: isProvidersLoading, error: providersError } = useProvidersList();
9619
+ console.log("[MANAGE WALLET MENU] RENDER", providers);
9513
9620
  const renderProviders = useMemo2(() => {
9514
9621
  const usedProviders = fromPairs(providers.map((p) => [p.provider, true]));
9515
9622
  const used = [];
9516
9623
  const unused = [];
9517
9624
  POSSIBLE_PROVIDERS.forEach((provider, providerIdx) => {
9518
- if (!configuredProviders[provider]) return null;
9625
+ if (!configuredProviders[provider]) return;
9519
9626
  const Icon = PROVIDERS_META2[provider].icon;
9520
9627
  if (usedProviders[provider]) {
9521
9628
  used.push(
@@ -9595,7 +9702,7 @@ function ManageWalletMenu() {
9595
9702
  /* @__PURE__ */ jsx47(AlertTriangle3, { className: "w-4 h-4 shrink-0" }),
9596
9703
  /* @__PURE__ */ jsx47("span", { className: "block", children: providersError.message })
9597
9704
  ] }),
9598
- isProvidersLoading && /* @__PURE__ */ jsx47("div", { className: "flex items-center justify-center p-4 text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx47(Loader7, { className: "w-5 h-5 animate-spin" }) }),
9705
+ isProvidersLoading && /* @__PURE__ */ jsx47("div", { className: "flex items-center justify-center p-4 text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx47(Loader8, { className: "w-5 h-5 animate-spin" }) }),
9599
9706
  /* @__PURE__ */ jsx47(EmailNotConnectedWarning, {}),
9600
9707
  showCurrentProviders && renderProviders.map((node) => node),
9601
9708
  showExtraProvidersUi && /* @__PURE__ */ jsx47(AddProvider, {}),
@@ -9605,15 +9712,15 @@ function ManageWalletMenu() {
9605
9712
  }
9606
9713
 
9607
9714
  // src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx
9608
- import { useMutation as useMutation10, useQueryClient as useQueryClient7 } from "@tanstack/react-query";
9609
- import { Key as Key7, Loader as Loader8 } from "lucide-react";
9715
+ import { useMutation as useMutation10, useQueryClient as useQueryClient8 } from "@tanstack/react-query";
9716
+ import { Key as Key7, Loader as Loader9 } from "lucide-react";
9610
9717
  import { useState as useState8 } from "react";
9611
9718
  init_auth();
9612
9719
  import { jsx as jsx48, jsxs as jsxs37 } from "react/jsx-runtime";
9613
9720
  function UnlinkProviderMenu() {
9614
- const qc = useQueryClient7();
9615
- const walletAddress = useLumiaPassportSession().address;
9616
- const { callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
9721
+ const qc = useQueryClient8();
9722
+ const address = useLumiaPassportSession((st) => st.address);
9723
+ const { callbacks } = useLumiaPassportConfig();
9617
9724
  const setPage = useLayoutDataStore((st) => st.setPage);
9618
9725
  const { confirmUnlink, setConfirmUnlink, setLinkError } = useManageWalletStore();
9619
9726
  const [confirmInput, setConfirmInput] = useState8("");
@@ -9626,10 +9733,10 @@ function UnlinkProviderMenu() {
9626
9733
  await unlinkProvider(provider, externalId);
9627
9734
  },
9628
9735
  onSuccess: async () => {
9629
- await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, walletAddress] });
9736
+ await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, address] });
9737
+ await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, address] });
9630
9738
  try {
9631
- callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, walletAddress]) });
9632
- notifyProvidersUpdate?.();
9739
+ callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address]) });
9633
9740
  } catch {
9634
9741
  }
9635
9742
  setConfirmUnlink(null);
@@ -9679,7 +9786,7 @@ function UnlinkProviderMenu() {
9679
9786
  disabled: !!isProviderUnlinking || !confirmUnlink || confirmInput !== confirmUnlink.externalId,
9680
9787
  className: "w-full flex-1",
9681
9788
  children: [
9682
- isProviderUnlinking && /* @__PURE__ */ jsx48(Loader8, { className: "animate-spin h-4 w-4" }),
9789
+ isProviderUnlinking && /* @__PURE__ */ jsx48(Loader9, { className: "animate-spin h-4 w-4" }),
9683
9790
  isProviderUnlinking ? "Removing\u2026" : "Remove"
9684
9791
  ]
9685
9792
  }
@@ -9688,353 +9795,31 @@ function UnlinkProviderMenu() {
9688
9795
  ] });
9689
9796
  }
9690
9797
 
9691
- // src/internal/components/SecurityMenu/SecurityMenu.tsx
9692
- init_auth();
9693
- init_keyshare();
9694
- import {
9695
- AlertTriangle as AlertTriangle4,
9696
- ArrowLeft as ArrowLeft8,
9697
- CheckCircle2 as CheckCircle24,
9698
- Cloud as Cloud2,
9699
- HardDrive,
9700
- Laptop,
9701
- Loader as Loader9,
9702
- RefreshCw,
9703
- Server as Server3,
9704
- Shield,
9705
- Trash2 as Trash22
9706
- } from "lucide-react";
9707
- import { useCallback as useCallback10, useEffect as useEffect18, useState as useState9 } from "react";
9708
- init_vaultClient();
9709
- import { jsx as jsx49, jsxs as jsxs38 } from "react/jsx-runtime";
9710
- function SecurityMenu() {
9711
- const page = useLayoutDataStore((st) => st.page);
9712
- const setPage = useLayoutDataStore((st) => st.setPage);
9713
- const open = page === "security";
9714
- const userId = jwtTokenManager2.getUserId();
9715
- const serverHasKeyshare = jwtTokenManager2.getHasKeyshare() ?? false;
9716
- const backup = userId ? getBackupStatus(userId) : { server: { enabled: false }, cloud: { enabled: false }, local: { enabled: false } };
9717
- const [isRefreshing, setIsRefreshing] = useState9(false);
9718
- const [localInfo, setLocalInfo] = useState9(null);
9719
- const [recoveryCreatedAt, setRecoveryCreatedAt] = useState9(null);
9720
- const [recoveryBrowser, setRecoveryBrowser] = useState9(null);
9721
- const [recoveryUa, setRecoveryUa] = useState9(null);
9722
- const [recoveryDeviceId, setRecoveryDeviceId] = useState9(null);
9723
- const [recoveryDeviceName, setRecoveryDeviceName] = useState9(null);
9724
- const [recoveryCountry, setRecoveryCountry] = useState9(null);
9725
- const [hasServerBackup, setHasServerBackup] = useState9(false);
9726
- const [trustedApps, setTrustedApps] = useState9([]);
9727
- const [appToRemove, setAppToRemove] = useState9(null);
9728
- const fetchRecovery = useCallback10(async () => {
9729
- if (!userId) return;
9730
- try {
9731
- setIsRefreshing(true);
9732
- const keyshareInfo = await getKeyshareInfo(userId);
9733
- setLocalInfo(keyshareInfo);
9734
- const { getIframeManager: getIframeManager2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
9735
- try {
9736
- console.log("[SecurityModal] Loading trusted apps for user:", userId);
9737
- const iframeManager = getIframeManager2();
9738
- const apps = await iframeManager.getTrustedApps(userId);
9739
- console.log("[SecurityModal] Received trusted apps:", apps);
9740
- console.log("[SecurityModal] Trusted apps count:", apps?.length);
9741
- console.log("[SecurityModal] Setting trusted apps state with:", apps);
9742
- setTrustedApps(apps);
9743
- } catch (error) {
9744
- console.error("[SecurityModal] Failed to load trusted apps:", error);
9745
- setTrustedApps([]);
9746
- }
9747
- const stats = await getShareRecoveryStats();
9748
- const hasRecoveryData = stats && (stats.created || stats.devices && stats.devices.length > 0);
9749
- setHasServerBackup(!!hasRecoveryData);
9750
- const created = stats?.created;
9751
- setRecoveryCreatedAt(created?.at || null);
9752
- setRecoveryBrowser(created?.browser || null);
9753
- setRecoveryUa(created?.ua || null);
9754
- setRecoveryDeviceId(created?.deviceId || null);
9755
- setRecoveryDeviceName(created?.deviceName || null);
9756
- setRecoveryCountry(created?.country || null);
9757
- } finally {
9758
- setIsRefreshing(false);
9759
- }
9760
- }, [userId]);
9761
- useEffect18(() => {
9762
- if (open) fetchRecovery();
9763
- }, [open, fetchRecovery]);
9764
- const parseOS = (ua) => {
9765
- if (!ua) return null;
9766
- if (ua.includes("Mac OS X")) return "macOS";
9767
- if (ua.includes("Windows")) return "Windows";
9768
- if (ua.includes("Android")) return "Android";
9769
- if (ua.includes("Linux")) return "Linux";
9770
- if (ua.includes("iPhone") || ua.includes("iPad") || ua.includes("iOS")) return "iOS";
9771
- return null;
9772
- };
9773
- return /* @__PURE__ */ jsxs38("div", { className: "w-full p-4 flex flex-col gap-4", children: [
9774
- /* @__PURE__ */ jsx49("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-2", children: [
9775
- /* @__PURE__ */ jsx49(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx49(ArrowLeft8, { className: "h-4 w-4" }) }),
9776
- /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-2 font-semibold", children: [
9777
- /* @__PURE__ */ jsx49("span", { className: "text-xl font-semibold", children: "Keyshare Status" }),
9778
- /* @__PURE__ */ jsx49(Button, { variant: "ghost", size: "icon", title: "Refresh", onClick: fetchRecovery, children: isRefreshing ? /* @__PURE__ */ jsx49(Loader9, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx49(RefreshCw, { className: "h-4 w-4" }) })
9779
- ] })
9780
- ] }) }),
9781
- /* @__PURE__ */ jsxs38("div", { className: "grid grid-cols-3 gap-4", children: [
9782
- /* @__PURE__ */ jsxs38("div", { className: "space-y-2 text-center", children: [
9783
- /* @__PURE__ */ jsxs38("div", { className: "flex items-center justify-center gap-2", children: [
9784
- /* @__PURE__ */ jsx49(Cloud2, { className: "h-4 w-4" }),
9785
- /* @__PURE__ */ jsx49("span", { className: "text-sm font-medium", children: "Server" })
9786
- ] }),
9787
- /* @__PURE__ */ jsxs38(
9788
- "span",
9789
- {
9790
- className: cn(
9791
- "inline-flex items-center text-sm px-3 py-2 rounded-full text-white",
9792
- serverHasKeyshare ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
9793
- ),
9794
- children: [
9795
- serverHasKeyshare ? /* @__PURE__ */ jsx49(CheckCircle24, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx49(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
9796
- serverHasKeyshare ? "Ready" : "Missing"
9797
- ]
9798
- }
9799
- )
9800
- ] }),
9801
- /* @__PURE__ */ jsxs38("div", { className: "space-y-2 text-center", children: [
9802
- /* @__PURE__ */ jsxs38("div", { className: "flex items-center justify-center gap-2", children: [
9803
- /* @__PURE__ */ jsx49(Laptop, { className: "h-4 w-4" }),
9804
- /* @__PURE__ */ jsx49("span", { className: "text-sm font-medium", children: "Local" })
9805
- ] }),
9806
- /* @__PURE__ */ jsxs38(
9807
- "span",
9808
- {
9809
- className: cn(
9810
- "inline-flex items-center text-sm px-3 py-2 rounded-full text-white",
9811
- localInfo?.hasKeyshare ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
9812
- ),
9813
- children: [
9814
- localInfo?.hasKeyshare ? /* @__PURE__ */ jsx49(CheckCircle24, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx49(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
9815
- localInfo?.hasKeyshare ? "Ready" : "Missing"
9816
- ]
9817
- }
9818
- )
9819
- ] }),
9820
- /* @__PURE__ */ jsxs38("div", { className: "space-y-2 text-center", children: [
9821
- /* @__PURE__ */ jsxs38("div", { className: "flex items-center justify-center gap-2", children: [
9822
- /* @__PURE__ */ jsx49(Shield, { className: "h-4 w-4" }),
9823
- /* @__PURE__ */ jsx49("span", { className: "text-sm font-medium", children: "Vault" })
9824
- ] }),
9825
- /* @__PURE__ */ jsxs38(
9826
- "span",
9827
- {
9828
- className: cn(
9829
- "inline-flex items-center text-sm px-3 py-2 rounded-full text-white",
9830
- hasServerBackup ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
9831
- ),
9832
- children: [
9833
- hasServerBackup ? /* @__PURE__ */ jsx49(CheckCircle24, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx49(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
9834
- hasServerBackup ? "Ready" : "None"
9835
- ]
9836
- }
9837
- )
9838
- ] })
9839
- ] }),
9840
- /* @__PURE__ */ jsxs38(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-4", children: [
9841
- localInfo?.hasKeyshare && /* @__PURE__ */ jsxs38("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
9842
- localInfo.ownerAddress && /* @__PURE__ */ jsxs38("div", { children: [
9843
- /* @__PURE__ */ jsx49("span", { children: "Owner: " }),
9844
- /* @__PURE__ */ jsx49("span", { className: "font-mono break-all", children: localInfo.ownerAddress })
9845
- ] }),
9846
- typeof localInfo.keyshareSize === "number" && /* @__PURE__ */ jsxs38("div", { children: [
9847
- /* @__PURE__ */ jsx49("span", { children: "Size: " }),
9848
- /* @__PURE__ */ jsx49("span", { className: "font-mono", children: `${Math.round((localInfo.keyshareSize || 0) / 1024)}KB` })
9849
- ] }),
9850
- localInfo.sessionId && /* @__PURE__ */ jsxs38("div", { children: [
9851
- /* @__PURE__ */ jsx49("span", { children: "Session: " }),
9852
- /* @__PURE__ */ jsx49("span", { className: "font-mono break-all", children: localInfo.sessionId })
9853
- ] })
9854
- ] }),
9855
- /* @__PURE__ */ jsxs38("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
9856
- backup.server.enabled && backup.server.lastBackup && /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-1", children: [
9857
- /* @__PURE__ */ jsx49(Server3, { className: "h-2.5 w-2.5" }),
9858
- /* @__PURE__ */ jsxs38("span", { children: [
9859
- "Server: ",
9860
- new Date(backup.server.lastBackup).toLocaleString()
9861
- ] })
9862
- ] }),
9863
- !backup.server.lastBackup && recoveryCreatedAt && /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-1", children: [
9864
- /* @__PURE__ */ jsx49(Server3, { className: "h-2.5 w-2.5" }),
9865
- /* @__PURE__ */ jsxs38("span", { children: [
9866
- "Server: ",
9867
- new Date(recoveryCreatedAt).toLocaleString()
9868
- ] })
9869
- ] }),
9870
- backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-1", children: [
9871
- /* @__PURE__ */ jsx49(Cloud2, { className: "h-2.5 w-2.5" }),
9872
- /* @__PURE__ */ jsxs38("span", { children: [
9873
- "Cloud: ",
9874
- new Date(backup.cloud.lastBackup).toLocaleString()
9875
- ] })
9876
- ] }),
9877
- backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-1", children: [
9878
- /* @__PURE__ */ jsx49(HardDrive, { className: "h-2.5 w-2.5" }),
9879
- /* @__PURE__ */ jsxs38("span", { children: [
9880
- "Local: ",
9881
- new Date(backup.local.lastBackup).toLocaleString()
9882
- ] })
9883
- ] })
9884
- ] }),
9885
- (recoveryCreatedAt || recoveryBrowser || recoveryUa || recoveryDeviceId || recoveryDeviceName) && /* @__PURE__ */ jsxs38("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
9886
- /* @__PURE__ */ jsx49("div", { className: "font-medium text-sm text-[var(--l-pass-primary)]", children: "Device Information:" }),
9887
- recoveryCreatedAt && /* @__PURE__ */ jsxs38("div", { children: [
9888
- "Created: ",
9889
- new Date(recoveryCreatedAt).toLocaleString(),
9890
- " "
9891
- ] }),
9892
- recoveryCountry && /* @__PURE__ */ jsxs38("div", { children: [
9893
- "Country: ",
9894
- recoveryCountry
9895
- ] }),
9896
- recoveryBrowser && /* @__PURE__ */ jsxs38("div", { children: [
9897
- "Browser: ",
9898
- recoveryBrowser
9899
- ] }),
9900
- parseOS(recoveryUa) && /* @__PURE__ */ jsxs38("div", { children: [
9901
- "OS: ",
9902
- parseOS(recoveryUa)
9903
- ] }),
9904
- recoveryDeviceName && /* @__PURE__ */ jsxs38("div", { children: [
9905
- "Device: ",
9906
- recoveryDeviceName
9907
- ] }),
9908
- recoveryDeviceId && /* @__PURE__ */ jsxs38("div", { children: [
9909
- "Device ID: ",
9910
- /* @__PURE__ */ jsx49("span", { className: "font-mono break-all", children: recoveryDeviceId })
9911
- ] })
9912
- ] }),
9913
- trustedApps.length > 0 && /* @__PURE__ */ jsxs38("div", { className: "w-full space-y-2", children: [
9914
- /* @__PURE__ */ jsx49("div", { className: "font-medium text-sm text-[var(--l-pass-primary)]", children: `Trusted Applications (${trustedApps.length}):` }),
9915
- /* @__PURE__ */ jsx49("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ jsxs38(
9916
- "div",
9917
- {
9918
- className: "text-[10px] leading-tight p-2 rounded flex items-start justify-between gap-2 bg-[var(--l-pass-secondary)]",
9919
- children: [
9920
- /* @__PURE__ */ jsxs38("div", { className: "flex-1 min-w-0", children: [
9921
- /* @__PURE__ */ jsx49("div", { className: "font-medium", children: new URL(app.origin).hostname }),
9922
- /* @__PURE__ */ jsxs38("div", { className: "text-[var(--l-pass-fg-muted)]", children: [
9923
- "Trusted: ",
9924
- new Date(app.trustedAt).toLocaleDateString()
9925
- ] })
9926
- ] }),
9927
- /* @__PURE__ */ jsx49(
9928
- Button,
9929
- {
9930
- variant: "ghost",
9931
- size: "icon",
9932
- title: "Remove from trusted",
9933
- className: "text-[var(--l-pass-error)]",
9934
- onClick: () => setAppToRemove({
9935
- projectId: app.projectId,
9936
- origin: app.origin,
9937
- hostname: new URL(app.origin).hostname
9938
- }),
9939
- children: /* @__PURE__ */ jsx49(Trash22, { className: "h-3 w-3" })
9940
- }
9941
- )
9942
- ]
9943
- },
9944
- index
9945
- )) })
9946
- ] })
9947
- ] })
9948
- ] });
9949
- }
9950
-
9951
- // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
9952
- import { AlertCircle as AlertCircle3, ArrowLeft as ArrowLeft9, CheckCircle2 as CheckCircle25, Loader as Loader10, Wallet } from "lucide-react";
9953
- import { useEffect as useEffect19, useState as useState11 } from "react";
9954
- import { isAddress as isAddress2 } from "viem";
9955
- import { useBalance as useBalance2 } from "wagmi";
9956
-
9957
- // src/hooks/useSendTransaction.ts
9958
- init_account();
9959
- import { useState as useState10, useCallback as useCallback11 } from "react";
9960
- import { parseEther as parseEther2, isAddress } from "viem";
9961
- function useSendTransaction() {
9962
- const { session, address } = useLumiaPassportSession();
9963
- const [isLoading, setIsLoading] = useState10(false);
9964
- const [error, setError] = useState10(null);
9965
- const [userOpHash, setUserOpHash] = useState10(null);
9966
- const sendTransaction = useCallback11(async (params) => {
9967
- if (!session || !address) {
9968
- setError("No active session");
9969
- return null;
9970
- }
9971
- if (!isAddress(params.to)) {
9972
- setError("Invalid recipient address");
9973
- return null;
9974
- }
9975
- const value = parseFloat(params.value);
9976
- if (isNaN(value) || value < 0) {
9977
- setError("Invalid amount");
9978
- return null;
9979
- }
9980
- setIsLoading(true);
9981
- setError(null);
9982
- setUserOpHash(null);
9983
- try {
9984
- const valueWei = parseEther2(params.value).toString();
9985
- const hash = await sendUserOperation(
9986
- session,
9987
- params.to,
9988
- valueWei,
9989
- params.data || "0x",
9990
- "standard",
9991
- "v0.7"
9992
- );
9993
- setUserOpHash(hash);
9994
- return hash;
9995
- } catch (err) {
9996
- const errorMessage = err instanceof Error ? err.message : "Transaction failed";
9997
- setError(errorMessage);
9998
- return null;
9999
- } finally {
10000
- setIsLoading(false);
10001
- }
10002
- }, [session, address]);
10003
- const reset = useCallback11(() => {
10004
- setError(null);
10005
- setUserOpHash(null);
10006
- setIsLoading(false);
10007
- }, []);
10008
- return {
10009
- sendTransaction,
10010
- isLoading,
10011
- error,
10012
- userOpHash,
10013
- reset
10014
- };
10015
- }
10016
-
10017
- // src/modules/assets.ts
10018
- init_base();
10019
- import React12 from "react";
10020
- import { useBalance, useReadContract, useReadContracts } from "wagmi";
10021
- import { formatUnits, erc20Abi } from "viem";
10022
- var COMMON_TOKENS = [
10023
- // Add real token addresses here when available
10024
- // {
10025
- // address: '0x....',
10026
- // name: 'USD Coin',
10027
- // symbol: 'USDC',
10028
- // decimals: 6,
10029
- // logo: 'https://...'
10030
- // }
10031
- ];
10032
- function useAssets(address) {
10033
- const { data: nativeBalance, isLoading: nativeBalanceLoading, refetch: refetchNativeBalance } = useBalance({
10034
- address,
10035
- chainId: lumiaBeam.id,
10036
- query: {
10037
- enabled: !!address
9798
+ // src/internal/components/PortfolioMenu/PortfolioMenu.tsx
9799
+ import { ArrowLeft as ArrowLeft8, Gem, Loader as Loader11, RefreshCw } from "lucide-react";
9800
+ import { useEffect as useEffect18, useRef as useRef9 } from "react";
9801
+
9802
+ // src/modules/assets.ts
9803
+ init_base();
9804
+ import React12 from "react";
9805
+ import { useBalance, useReadContract, useReadContracts } from "wagmi";
9806
+ import { formatUnits, erc20Abi } from "viem";
9807
+ var COMMON_TOKENS = [
9808
+ // Add real token addresses here when available
9809
+ // {
9810
+ // address: '0x....',
9811
+ // name: 'USD Coin',
9812
+ // symbol: 'USDC',
9813
+ // decimals: 6,
9814
+ // logo: 'https://...'
9815
+ // }
9816
+ ];
9817
+ function useAssets(address) {
9818
+ const { data: nativeBalance, isLoading: nativeBalanceLoading, refetch: refetchNativeBalance } = useBalance({
9819
+ address,
9820
+ chainId: lumiaBeam.id,
9821
+ query: {
9822
+ enabled: !!address
10038
9823
  }
10039
9824
  });
10040
9825
  const tokenContracts = COMMON_TOKENS.map((token) => ({
@@ -10167,22 +9952,501 @@ function useTokenBalance(tokenAddress, userAddress) {
10167
9952
  return formatUnits(balance, tokenInfo.decimals);
10168
9953
  }, [balance, tokenInfo]);
10169
9954
  return {
10170
- balance,
10171
- formattedBalance,
10172
- tokenInfo,
9955
+ balance,
9956
+ formattedBalance,
9957
+ tokenInfo,
9958
+ isLoading,
9959
+ refetch
9960
+ };
9961
+ }
9962
+
9963
+ // src/internal/components/PortfolioMenu/PortfolioItem.tsx
9964
+ init_base();
9965
+ import { useQuery as useQuery6 } from "@tanstack/react-query";
9966
+ import { Loader as Loader10 } from "lucide-react";
9967
+ import { Fragment as Fragment8, jsx as jsx49, jsxs as jsxs38 } from "react/jsx-runtime";
9968
+ var price16 = Intl.NumberFormat("en-US", { minimumFractionDigits: 16, maximumFractionDigits: 16 });
9969
+ function formatValue(price) {
9970
+ console.log("[---PRICE---]", price);
9971
+ if (!price) return /* @__PURE__ */ jsx49(Fragment8, { children: `0.00` });
9972
+ if (price < 0.01) {
9973
+ const strigified = price16.format(price);
9974
+ const absValue = parseInt(strigified.replace(/^0\./, "")).toString().slice(0, 2);
9975
+ const zeroQnt = strigified.replace(/^0\./, "").split("").findIndex((el) => +el > 0);
9976
+ return /* @__PURE__ */ jsxs38(Fragment8, { children: [
9977
+ `0.0`,
9978
+ /* @__PURE__ */ jsx49("sub", { className: "text-[10px]", children: zeroQnt }),
9979
+ absValue
9980
+ ] });
9981
+ }
9982
+ return /* @__PURE__ */ jsx49(Fragment8, { children: price.toFixed(2) });
9983
+ }
9984
+ function openInExplorer(address) {
9985
+ window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
9986
+ }
9987
+ async function getAssetRate(symbol) {
9988
+ const assetURL = `https://api.binance.com/api/v3/ticker/price?symbol=${symbol.toUpperCase()}USDT`;
9989
+ const response = await fetch(assetURL);
9990
+ return await response.json();
9991
+ }
9992
+ var ASSETS_RATES_QUERY_KEY = "lumia-passport-assets-rates-query-key";
9993
+ function PortfolioItem(props) {
9994
+ const { address, asset } = props;
9995
+ const { data: assetRate, isLoading: isRateLoading } = useQuery6({
9996
+ retry: false,
9997
+ staleTime: 4 * 60 * 1e3,
9998
+ enabled: !!address && !!asset.symbol,
9999
+ queryKey: [ASSETS_RATES_QUERY_KEY, address, asset.symbol],
10000
+ queryFn: async () => await getAssetRate(asset.symbol)
10001
+ });
10002
+ return /* @__PURE__ */ jsxs38(
10003
+ "div",
10004
+ {
10005
+ className: cn(
10006
+ "group cursor-pointer",
10007
+ "w-full flex items-center gap-[var(--l-pass-gap)]",
10008
+ "hover:text-[var(--l-pass-fg-h)] transition-colors"
10009
+ ),
10010
+ onClick: () => openInExplorer(asset.address),
10011
+ children: [
10012
+ /* @__PURE__ */ jsx49(
10013
+ "div",
10014
+ {
10015
+ className: cn(
10016
+ "flex-none w-10 h-10 bg-[var(--l-pass-primary)] rounded-full flex items-center justify-center",
10017
+ "group-hover:opacity-60 transition-opacity"
10018
+ ),
10019
+ children: /* @__PURE__ */ jsx49("span", { className: "text-white font-bold text-sm", children: asset.symbol.charAt(0) })
10020
+ }
10021
+ ),
10022
+ /* @__PURE__ */ jsxs38("div", { className: "w-full flex-1", children: [
10023
+ /* @__PURE__ */ jsxs38("div", { className: "w-full flex items-center justify-between text-xs", children: [
10024
+ /* @__PURE__ */ jsx49("span", { children: asset.name }),
10025
+ /* @__PURE__ */ jsx49("span", { className: "text-[var(--l-pass-fg-muted)]", children: "USD" })
10026
+ ] }),
10027
+ /* @__PURE__ */ jsxs38("div", { className: "w-full flex items-center justify-between font-bold text-lg leading-5", children: [
10028
+ /* @__PURE__ */ jsxs38("span", { children: [
10029
+ /* @__PURE__ */ jsx49("span", { children: formatValue(Number(asset.formattedBalance)) }),
10030
+ /* @__PURE__ */ jsx49("span", { children: " " + asset.symbol })
10031
+ ] }),
10032
+ isRateLoading && /* @__PURE__ */ jsx49(Loader10, { className: "h-4 w-4 animate-spin" }),
10033
+ !!assetRate?.price && /* @__PURE__ */ jsx49("span", { children: (Number(asset.formattedBalance) * Number(assetRate.price)).toLocaleString("en-US", {
10034
+ minimumFractionDigits: 2,
10035
+ maximumFractionDigits: 2,
10036
+ currency: "USD",
10037
+ style: "currency"
10038
+ }) })
10039
+ ] })
10040
+ ] })
10041
+ ]
10042
+ }
10043
+ );
10044
+ }
10045
+ {
10046
+ }
10047
+
10048
+ // src/internal/components/PortfolioMenu/PortfolioMenu.tsx
10049
+ import { jsx as jsx50, jsxs as jsxs39 } from "react/jsx-runtime";
10050
+ function PortfolioMenu() {
10051
+ const setPage = useLayoutDataStore((st) => st.setPage);
10052
+ const assetsContainerListRef = useRef9(null);
10053
+ const assetsListRef = useRef9(null);
10054
+ const address = useLumiaPassportSession((st) => st.address);
10055
+ const { assets, refreshBalances, isLoading } = useAssets(address);
10056
+ useEffect18(() => {
10057
+ if (!assetsContainerListRef.current || !assetsListRef.current) return;
10058
+ if (assetsContainerListRef.current) {
10059
+ assetsContainerListRef.current.style.setProperty(
10060
+ "--l-pass-list-bd",
10061
+ assetsListRef.current.clientHeight >= MAX_LIST_HEIGHT ? "var(--l-pass-bd)" : "var(--l-pass-bg)"
10062
+ // hide border if no scrollbar
10063
+ );
10064
+ assetsContainerListRef.current.style.setProperty(
10065
+ "--l-pass-list-scrollbar-pd-l",
10066
+ assetsListRef.current.clientHeight >= MAX_LIST_HEIGHT ? "4px" : "0px"
10067
+ // remove padding if no scrollbar
10068
+ );
10069
+ }
10070
+ }, []);
10071
+ return /* @__PURE__ */ jsxs39("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10072
+ /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10073
+ /* @__PURE__ */ jsx50(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx50(ArrowLeft8, { className: "h-4 w-4" }) }),
10074
+ /* @__PURE__ */ jsx50("span", { className: "text-xl font-semibold", children: "Your Assets" }),
10075
+ /* @__PURE__ */ jsx50(Button, { title: "Refresh balances", variant: "ghost", size: "icon", onClick: refreshBalances, disabled: isLoading, children: isLoading ? /* @__PURE__ */ jsx50(Loader11, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx50(RefreshCw, { className: "h-4 w-4" }) })
10076
+ ] }),
10077
+ /* @__PURE__ */ jsxs39(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
10078
+ isLoading && /* @__PURE__ */ jsxs39("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
10079
+ /* @__PURE__ */ jsx50(Loader11, { className: "h-5 w-5 animate-spin" }),
10080
+ /* @__PURE__ */ jsx50("span", { className: "text-[var(--l-pass-muted)]", children: "Loading assets..." })
10081
+ ] }),
10082
+ !isLoading && assets.length === 0 && /* @__PURE__ */ jsxs39("div", { className: "w-full flex flex-col items-center justify-center py-8 text-[var(--l-pass-muted)]", children: [
10083
+ /* @__PURE__ */ jsx50(Gem, { className: "w-12 h-12 mb-2" }),
10084
+ /* @__PURE__ */ jsx50("p", { children: "No assets found" })
10085
+ ] }),
10086
+ !isLoading && assets.length > 0 && /* @__PURE__ */ jsx50(
10087
+ "div",
10088
+ {
10089
+ ref: assetsContainerListRef,
10090
+ className: "list-scrollbar-y relative border-t border-b border-[var(--l-pass-list-bd)]",
10091
+ children: /* @__PURE__ */ jsx50(
10092
+ "div",
10093
+ {
10094
+ ref: assetsListRef,
10095
+ className: "w-full flex flex-col gap-[var(--l-pass-gap)] py-[var(--l-pass-pd)]",
10096
+ children: assets.map((asset, index) => /* @__PURE__ */ jsx50(
10097
+ PortfolioItem,
10098
+ {
10099
+ address,
10100
+ asset
10101
+ },
10102
+ `${asset.type}-${asset.address || "native"}-${index}`
10103
+ ))
10104
+ }
10105
+ )
10106
+ }
10107
+ )
10108
+ ] })
10109
+ ] });
10110
+ }
10111
+
10112
+ // src/internal/components/SecurityMenu/SecurityMenu.tsx
10113
+ init_auth();
10114
+ init_keyshare();
10115
+ import {
10116
+ AlertTriangle as AlertTriangle4,
10117
+ ArrowLeft as ArrowLeft9,
10118
+ CheckCircle2 as CheckCircle24,
10119
+ Cloud as Cloud2,
10120
+ HardDrive,
10121
+ Laptop,
10122
+ Loader as Loader12,
10123
+ RefreshCw as RefreshCw2,
10124
+ Server as Server3,
10125
+ Shield,
10126
+ Trash2 as Trash22
10127
+ } from "lucide-react";
10128
+ import { useCallback as useCallback11, useEffect as useEffect19, useState as useState9 } from "react";
10129
+ init_vaultClient();
10130
+ import { jsx as jsx51, jsxs as jsxs40 } from "react/jsx-runtime";
10131
+ function SecurityMenu() {
10132
+ const page = useLayoutDataStore((st) => st.page);
10133
+ const setPage = useLayoutDataStore((st) => st.setPage);
10134
+ const open = page === "security";
10135
+ const userId = jwtTokenManager2.getUserId();
10136
+ const serverHasKeyshare = jwtTokenManager2.getHasKeyshare() ?? false;
10137
+ const backup = userId ? getBackupStatus(userId) : { server: { enabled: false }, cloud: { enabled: false }, local: { enabled: false } };
10138
+ const [isRefreshing, setIsRefreshing] = useState9(false);
10139
+ const [localInfo, setLocalInfo] = useState9(null);
10140
+ const [recoveryCreatedAt, setRecoveryCreatedAt] = useState9(null);
10141
+ const [recoveryBrowser, setRecoveryBrowser] = useState9(null);
10142
+ const [recoveryUa, setRecoveryUa] = useState9(null);
10143
+ const [recoveryDeviceId, setRecoveryDeviceId] = useState9(null);
10144
+ const [recoveryDeviceName, setRecoveryDeviceName] = useState9(null);
10145
+ const [recoveryCountry, setRecoveryCountry] = useState9(null);
10146
+ const [hasServerBackup, setHasServerBackup] = useState9(false);
10147
+ const [trustedApps, setTrustedApps] = useState9([]);
10148
+ const [appToRemove, setAppToRemove] = useState9(null);
10149
+ const fetchRecovery = useCallback11(async () => {
10150
+ if (!userId) return;
10151
+ try {
10152
+ setIsRefreshing(true);
10153
+ const keyshareInfo = await getKeyshareInfo(userId);
10154
+ setLocalInfo(keyshareInfo);
10155
+ const { getIframeManager: getIframeManager2 } = await Promise.resolve().then(() => (init_iframe_manager(), iframe_manager_exports));
10156
+ try {
10157
+ console.log("[SecurityModal] Loading trusted apps for user:", userId);
10158
+ const iframeManager = getIframeManager2();
10159
+ const apps = await iframeManager.getTrustedApps(userId);
10160
+ console.log("[SecurityModal] Received trusted apps:", apps);
10161
+ console.log("[SecurityModal] Trusted apps count:", apps?.length);
10162
+ console.log("[SecurityModal] Setting trusted apps state with:", apps);
10163
+ setTrustedApps(apps);
10164
+ } catch (error) {
10165
+ console.error("[SecurityModal] Failed to load trusted apps:", error);
10166
+ setTrustedApps([]);
10167
+ }
10168
+ const stats = await getShareRecoveryStats();
10169
+ const hasRecoveryData = stats && (stats.created || stats.devices && stats.devices.length > 0);
10170
+ setHasServerBackup(!!hasRecoveryData);
10171
+ const created = stats?.created;
10172
+ setRecoveryCreatedAt(created?.at || null);
10173
+ setRecoveryBrowser(created?.browser || null);
10174
+ setRecoveryUa(created?.ua || null);
10175
+ setRecoveryDeviceId(created?.deviceId || null);
10176
+ setRecoveryDeviceName(created?.deviceName || null);
10177
+ setRecoveryCountry(created?.country || null);
10178
+ } finally {
10179
+ setIsRefreshing(false);
10180
+ }
10181
+ }, [userId]);
10182
+ useEffect19(() => {
10183
+ if (open) fetchRecovery();
10184
+ }, [open, fetchRecovery]);
10185
+ const parseOS = (ua) => {
10186
+ if (!ua) return null;
10187
+ if (ua.includes("Mac OS X")) return "macOS";
10188
+ if (ua.includes("Windows")) return "Windows";
10189
+ if (ua.includes("Android")) return "Android";
10190
+ if (ua.includes("Linux")) return "Linux";
10191
+ if (ua.includes("iPhone") || ua.includes("iPad") || ua.includes("iOS")) return "iOS";
10192
+ return null;
10193
+ };
10194
+ return /* @__PURE__ */ jsxs40("div", { className: "w-full p-4 flex flex-col gap-4", children: [
10195
+ /* @__PURE__ */ jsx51("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-2", children: [
10196
+ /* @__PURE__ */ jsx51(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx51(ArrowLeft9, { className: "h-4 w-4" }) }),
10197
+ /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-2 font-semibold", children: [
10198
+ /* @__PURE__ */ jsx51("span", { className: "text-xl font-semibold", children: "Keyshare Status" }),
10199
+ /* @__PURE__ */ jsx51(Button, { variant: "ghost", size: "icon", title: "Refresh", onClick: fetchRecovery, children: isRefreshing ? /* @__PURE__ */ jsx51(Loader12, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx51(RefreshCw2, { className: "h-4 w-4" }) })
10200
+ ] })
10201
+ ] }) }),
10202
+ /* @__PURE__ */ jsxs40("div", { className: "grid grid-cols-3 gap-4", children: [
10203
+ /* @__PURE__ */ jsxs40("div", { className: "space-y-2 text-center", children: [
10204
+ /* @__PURE__ */ jsxs40("div", { className: "flex items-center justify-center gap-2", children: [
10205
+ /* @__PURE__ */ jsx51(Cloud2, { className: "h-4 w-4" }),
10206
+ /* @__PURE__ */ jsx51("span", { className: "text-sm font-medium", children: "Server" })
10207
+ ] }),
10208
+ /* @__PURE__ */ jsxs40(
10209
+ "span",
10210
+ {
10211
+ className: cn(
10212
+ "inline-flex items-center text-sm px-3 py-2 rounded-full text-white",
10213
+ serverHasKeyshare ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
10214
+ ),
10215
+ children: [
10216
+ serverHasKeyshare ? /* @__PURE__ */ jsx51(CheckCircle24, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx51(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
10217
+ serverHasKeyshare ? "Ready" : "Missing"
10218
+ ]
10219
+ }
10220
+ )
10221
+ ] }),
10222
+ /* @__PURE__ */ jsxs40("div", { className: "space-y-2 text-center", children: [
10223
+ /* @__PURE__ */ jsxs40("div", { className: "flex items-center justify-center gap-2", children: [
10224
+ /* @__PURE__ */ jsx51(Laptop, { className: "h-4 w-4" }),
10225
+ /* @__PURE__ */ jsx51("span", { className: "text-sm font-medium", children: "Local" })
10226
+ ] }),
10227
+ /* @__PURE__ */ jsxs40(
10228
+ "span",
10229
+ {
10230
+ className: cn(
10231
+ "inline-flex items-center text-sm px-3 py-2 rounded-full text-white",
10232
+ localInfo?.hasKeyshare ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
10233
+ ),
10234
+ children: [
10235
+ localInfo?.hasKeyshare ? /* @__PURE__ */ jsx51(CheckCircle24, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx51(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
10236
+ localInfo?.hasKeyshare ? "Ready" : "Missing"
10237
+ ]
10238
+ }
10239
+ )
10240
+ ] }),
10241
+ /* @__PURE__ */ jsxs40("div", { className: "space-y-2 text-center", children: [
10242
+ /* @__PURE__ */ jsxs40("div", { className: "flex items-center justify-center gap-2", children: [
10243
+ /* @__PURE__ */ jsx51(Shield, { className: "h-4 w-4" }),
10244
+ /* @__PURE__ */ jsx51("span", { className: "text-sm font-medium", children: "Vault" })
10245
+ ] }),
10246
+ /* @__PURE__ */ jsxs40(
10247
+ "span",
10248
+ {
10249
+ className: cn(
10250
+ "inline-flex items-center text-sm px-3 py-2 rounded-full text-white",
10251
+ hasServerBackup ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
10252
+ ),
10253
+ children: [
10254
+ hasServerBackup ? /* @__PURE__ */ jsx51(CheckCircle24, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx51(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
10255
+ hasServerBackup ? "Ready" : "None"
10256
+ ]
10257
+ }
10258
+ )
10259
+ ] })
10260
+ ] }),
10261
+ /* @__PURE__ */ jsxs40(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-4", children: [
10262
+ localInfo?.hasKeyshare && /* @__PURE__ */ jsxs40("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
10263
+ localInfo.ownerAddress && /* @__PURE__ */ jsxs40("div", { children: [
10264
+ /* @__PURE__ */ jsx51("span", { children: "Owner: " }),
10265
+ /* @__PURE__ */ jsx51("span", { className: "font-mono break-all", children: localInfo.ownerAddress })
10266
+ ] }),
10267
+ typeof localInfo.keyshareSize === "number" && /* @__PURE__ */ jsxs40("div", { children: [
10268
+ /* @__PURE__ */ jsx51("span", { children: "Size: " }),
10269
+ /* @__PURE__ */ jsx51("span", { className: "font-mono", children: `${Math.round((localInfo.keyshareSize || 0) / 1024)}KB` })
10270
+ ] }),
10271
+ localInfo.sessionId && /* @__PURE__ */ jsxs40("div", { children: [
10272
+ /* @__PURE__ */ jsx51("span", { children: "Session: " }),
10273
+ /* @__PURE__ */ jsx51("span", { className: "font-mono break-all", children: localInfo.sessionId })
10274
+ ] })
10275
+ ] }),
10276
+ /* @__PURE__ */ jsxs40("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
10277
+ backup.server.enabled && backup.server.lastBackup && /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-1", children: [
10278
+ /* @__PURE__ */ jsx51(Server3, { className: "h-2.5 w-2.5" }),
10279
+ /* @__PURE__ */ jsxs40("span", { children: [
10280
+ "Server: ",
10281
+ new Date(backup.server.lastBackup).toLocaleString()
10282
+ ] })
10283
+ ] }),
10284
+ !backup.server.lastBackup && recoveryCreatedAt && /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-1", children: [
10285
+ /* @__PURE__ */ jsx51(Server3, { className: "h-2.5 w-2.5" }),
10286
+ /* @__PURE__ */ jsxs40("span", { children: [
10287
+ "Server: ",
10288
+ new Date(recoveryCreatedAt).toLocaleString()
10289
+ ] })
10290
+ ] }),
10291
+ backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-1", children: [
10292
+ /* @__PURE__ */ jsx51(Cloud2, { className: "h-2.5 w-2.5" }),
10293
+ /* @__PURE__ */ jsxs40("span", { children: [
10294
+ "Cloud: ",
10295
+ new Date(backup.cloud.lastBackup).toLocaleString()
10296
+ ] })
10297
+ ] }),
10298
+ backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-1", children: [
10299
+ /* @__PURE__ */ jsx51(HardDrive, { className: "h-2.5 w-2.5" }),
10300
+ /* @__PURE__ */ jsxs40("span", { children: [
10301
+ "Local: ",
10302
+ new Date(backup.local.lastBackup).toLocaleString()
10303
+ ] })
10304
+ ] })
10305
+ ] }),
10306
+ (recoveryCreatedAt || recoveryBrowser || recoveryUa || recoveryDeviceId || recoveryDeviceName) && /* @__PURE__ */ jsxs40("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
10307
+ /* @__PURE__ */ jsx51("div", { className: "font-medium text-sm text-[var(--l-pass-primary)]", children: "Device Information:" }),
10308
+ recoveryCreatedAt && /* @__PURE__ */ jsxs40("div", { children: [
10309
+ "Created: ",
10310
+ new Date(recoveryCreatedAt).toLocaleString(),
10311
+ " "
10312
+ ] }),
10313
+ recoveryCountry && /* @__PURE__ */ jsxs40("div", { children: [
10314
+ "Country: ",
10315
+ recoveryCountry
10316
+ ] }),
10317
+ recoveryBrowser && /* @__PURE__ */ jsxs40("div", { children: [
10318
+ "Browser: ",
10319
+ recoveryBrowser
10320
+ ] }),
10321
+ parseOS(recoveryUa) && /* @__PURE__ */ jsxs40("div", { children: [
10322
+ "OS: ",
10323
+ parseOS(recoveryUa)
10324
+ ] }),
10325
+ recoveryDeviceName && /* @__PURE__ */ jsxs40("div", { children: [
10326
+ "Device: ",
10327
+ recoveryDeviceName
10328
+ ] }),
10329
+ recoveryDeviceId && /* @__PURE__ */ jsxs40("div", { children: [
10330
+ "Device ID: ",
10331
+ /* @__PURE__ */ jsx51("span", { className: "font-mono break-all", children: recoveryDeviceId })
10332
+ ] })
10333
+ ] }),
10334
+ trustedApps.length > 0 && /* @__PURE__ */ jsxs40("div", { className: "w-full space-y-2", children: [
10335
+ /* @__PURE__ */ jsx51("div", { className: "font-medium text-sm text-[var(--l-pass-primary)]", children: `Trusted Applications (${trustedApps.length}):` }),
10336
+ /* @__PURE__ */ jsx51("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ jsxs40(
10337
+ "div",
10338
+ {
10339
+ className: "text-[10px] leading-tight p-2 rounded flex items-start justify-between gap-2 bg-[var(--l-pass-secondary)]",
10340
+ children: [
10341
+ /* @__PURE__ */ jsxs40("div", { className: "flex-1 min-w-0", children: [
10342
+ /* @__PURE__ */ jsx51("div", { className: "font-medium", children: new URL(app.origin).hostname }),
10343
+ /* @__PURE__ */ jsxs40("div", { className: "text-[var(--l-pass-fg-muted)]", children: [
10344
+ "Trusted: ",
10345
+ new Date(app.trustedAt).toLocaleDateString()
10346
+ ] })
10347
+ ] }),
10348
+ /* @__PURE__ */ jsx51(
10349
+ Button,
10350
+ {
10351
+ variant: "ghost",
10352
+ size: "icon",
10353
+ title: "Remove from trusted",
10354
+ className: "text-[var(--l-pass-error)]",
10355
+ onClick: () => setAppToRemove({
10356
+ projectId: app.projectId,
10357
+ origin: app.origin,
10358
+ hostname: new URL(app.origin).hostname
10359
+ }),
10360
+ children: /* @__PURE__ */ jsx51(Trash22, { className: "h-3 w-3" })
10361
+ }
10362
+ )
10363
+ ]
10364
+ },
10365
+ index
10366
+ )) })
10367
+ ] })
10368
+ ] })
10369
+ ] });
10370
+ }
10371
+
10372
+ // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
10373
+ import { AlertCircle as AlertCircle3, ArrowLeft as ArrowLeft10, CheckCircle2 as CheckCircle25, Loader as Loader13, Wallet } from "lucide-react";
10374
+ import { useEffect as useEffect20, useState as useState11 } from "react";
10375
+ import { isAddress as isAddress2 } from "viem";
10376
+ import { useBalance as useBalance2 } from "wagmi";
10377
+
10378
+ // src/hooks/useSendTransaction.ts
10379
+ import { useCallback as useCallback12, useState as useState10 } from "react";
10380
+ import { isAddress, parseEther as parseEther2 } from "viem";
10381
+ init_account();
10382
+ function useSendTransaction() {
10383
+ const session = useLumiaPassportSession((st) => st.session);
10384
+ const address = useLumiaPassportSession((st) => st.address);
10385
+ const [isLoading, setIsLoading] = useState10(false);
10386
+ const [error, setError] = useState10(null);
10387
+ const [userOpHash, setUserOpHash] = useState10(null);
10388
+ const sendTransaction = useCallback12(
10389
+ async (params) => {
10390
+ if (!session || !address) {
10391
+ setError("No active session");
10392
+ return null;
10393
+ }
10394
+ if (!isAddress(params.to)) {
10395
+ setError("Invalid recipient address");
10396
+ return null;
10397
+ }
10398
+ const value = parseFloat(params.value);
10399
+ if (isNaN(value) || value < 0) {
10400
+ setError("Invalid amount");
10401
+ return null;
10402
+ }
10403
+ setIsLoading(true);
10404
+ setError(null);
10405
+ setUserOpHash(null);
10406
+ try {
10407
+ const valueWei = parseEther2(params.value).toString();
10408
+ const hash = await sendUserOperation(
10409
+ session,
10410
+ params.to,
10411
+ valueWei,
10412
+ params.data || "0x",
10413
+ "standard",
10414
+ "v0.7"
10415
+ );
10416
+ setUserOpHash(hash);
10417
+ return hash;
10418
+ } catch (err) {
10419
+ const errorMessage = err instanceof Error ? err.message : "Transaction failed";
10420
+ setError(errorMessage);
10421
+ return null;
10422
+ } finally {
10423
+ setIsLoading(false);
10424
+ }
10425
+ },
10426
+ [session, address]
10427
+ );
10428
+ const reset = useCallback12(() => {
10429
+ setError(null);
10430
+ setUserOpHash(null);
10431
+ setIsLoading(false);
10432
+ }, []);
10433
+ return {
10434
+ sendTransaction,
10173
10435
  isLoading,
10174
- refetch
10436
+ error,
10437
+ userOpHash,
10438
+ reset
10175
10439
  };
10176
10440
  }
10177
10441
 
10178
10442
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
10179
10443
  init_base();
10180
- import { Fragment as Fragment8, jsx as jsx50, jsxs as jsxs39 } from "react/jsx-runtime";
10444
+ import { Fragment as Fragment9, jsx as jsx52, jsxs as jsxs41 } from "react/jsx-runtime";
10181
10445
  function SendLumiaMenu() {
10182
10446
  const page = useLayoutDataStore((st) => st.page);
10183
10447
  const setPage = useLayoutDataStore((st) => st.setPage);
10184
10448
  const open = page === "send";
10185
- const { address } = useLumiaPassportSession();
10449
+ const address = useLumiaPassportSession((st) => st.address);
10186
10450
  const { assets } = useAssets(address);
10187
10451
  const { sendTransaction, isLoading, error, userOpHash, reset } = useSendTransaction();
10188
10452
  const { refetch: refetchBalance } = useBalance2({
@@ -10195,7 +10459,7 @@ function SendLumiaMenu() {
10195
10459
  const [validationError, setValidationError] = useState11(null);
10196
10460
  const nativeAsset = assets.find((a) => a.type === "native");
10197
10461
  const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
10198
- useEffect19(() => {
10462
+ useEffect20(() => {
10199
10463
  if (open) {
10200
10464
  setTxStep("input");
10201
10465
  setValidationError(null);
@@ -10250,15 +10514,15 @@ function SendLumiaMenu() {
10250
10514
  const maxAmount = Math.max(0, balance - 1e-3);
10251
10515
  setAmount(maxAmount.toFixed(6));
10252
10516
  };
10253
- return /* @__PURE__ */ jsxs39("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10254
- /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10255
- txStep === "input" && /* @__PURE__ */ jsx50(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx50(ArrowLeft9, { className: "h-4 w-4" }) }),
10256
- /* @__PURE__ */ jsx50("span", { className: "text-xl font-semibold", children: "Send LUMIA" })
10517
+ return /* @__PURE__ */ jsxs41("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10518
+ /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10519
+ txStep === "input" && /* @__PURE__ */ jsx52(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx52(ArrowLeft10, { className: "h-4 w-4" }) }),
10520
+ /* @__PURE__ */ jsx52("span", { className: "text-xl font-semibold", children: "Send LUMIA" })
10257
10521
  ] }),
10258
- txStep === "input" && /* @__PURE__ */ jsxs39(Fragment8, { children: [
10259
- /* @__PURE__ */ jsxs39("div", { className: "w-full flex flex-col gap-2", children: [
10260
- /* @__PURE__ */ jsx50("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient Address" }),
10261
- /* @__PURE__ */ jsx50(
10522
+ txStep === "input" && /* @__PURE__ */ jsxs41(Fragment9, { children: [
10523
+ /* @__PURE__ */ jsxs41("div", { className: "w-full flex flex-col gap-2", children: [
10524
+ /* @__PURE__ */ jsx52("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient Address" }),
10525
+ /* @__PURE__ */ jsx52(
10262
10526
  Input,
10263
10527
  {
10264
10528
  Icon: Wallet,
@@ -10269,17 +10533,17 @@ function SendLumiaMenu() {
10269
10533
  }
10270
10534
  )
10271
10535
  ] }),
10272
- /* @__PURE__ */ jsxs39("div", { className: "w-full flex flex-col gap-2", children: [
10273
- /* @__PURE__ */ jsxs39("div", { className: "flex justify-between items-center", children: [
10274
- /* @__PURE__ */ jsx50("span", { className: "block text-sm font-medium text-[var(--l-pass-fg-muted)]", children: "Amount" }),
10275
- /* @__PURE__ */ jsxs39("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
10536
+ /* @__PURE__ */ jsxs41("div", { className: "w-full flex flex-col gap-2", children: [
10537
+ /* @__PURE__ */ jsxs41("div", { className: "flex justify-between items-center", children: [
10538
+ /* @__PURE__ */ jsx52("span", { className: "block text-sm font-medium text-[var(--l-pass-fg-muted)]", children: "Amount" }),
10539
+ /* @__PURE__ */ jsxs41("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
10276
10540
  "Balance: ",
10277
10541
  balance.toFixed(4),
10278
10542
  " LUMIA"
10279
10543
  ] })
10280
10544
  ] }),
10281
- /* @__PURE__ */ jsxs39("div", { className: "w-full relative", children: [
10282
- /* @__PURE__ */ jsx50(
10545
+ /* @__PURE__ */ jsxs41("div", { className: "w-full relative", children: [
10546
+ /* @__PURE__ */ jsx52(
10283
10547
  Input,
10284
10548
  {
10285
10549
  Icon: LumiaIcon,
@@ -10290,7 +10554,7 @@ function SendLumiaMenu() {
10290
10554
  step: "0.000001"
10291
10555
  }
10292
10556
  ),
10293
- /* @__PURE__ */ jsx50(
10557
+ /* @__PURE__ */ jsx52(
10294
10558
  Button,
10295
10559
  {
10296
10560
  onClick: handleMaxAmount,
@@ -10303,65 +10567,65 @@ function SendLumiaMenu() {
10303
10567
  )
10304
10568
  ] })
10305
10569
  ] }),
10306
- (validationError || error) && /* @__PURE__ */ jsxs39("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: [
10307
- /* @__PURE__ */ jsx50(AlertCircle3, { className: "h-4 w-4" }),
10308
- /* @__PURE__ */ jsx50("span", { className: "text-sm", children: validationError || error })
10570
+ (validationError || error) && /* @__PURE__ */ jsxs41("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: [
10571
+ /* @__PURE__ */ jsx52(AlertCircle3, { className: "h-4 w-4" }),
10572
+ /* @__PURE__ */ jsx52("span", { className: "text-sm", children: validationError || error })
10309
10573
  ] }),
10310
- /* @__PURE__ */ jsx50(Button, { onClick: handleSend, disabled: isLoading, className: "w-full", size: "large", children: "Continue" })
10574
+ /* @__PURE__ */ jsx52(Button, { onClick: handleSend, disabled: isLoading, className: "w-full", size: "large", children: "Continue" })
10311
10575
  ] }),
10312
- txStep === "confirm" && /* @__PURE__ */ jsxs39(Fragment8, { children: [
10313
- /* @__PURE__ */ jsxs39("div", { className: "bg-gray-50 rounded-lg p-4", children: [
10314
- /* @__PURE__ */ jsx50("h3", { className: "font-medium mb-3", children: "Transaction Details" }),
10315
- /* @__PURE__ */ jsxs39("div", { className: "space-y-2 text-sm", children: [
10316
- /* @__PURE__ */ jsxs39("div", { className: "flex justify-between", children: [
10317
- /* @__PURE__ */ jsx50("span", { children: "To:" }),
10318
- /* @__PURE__ */ jsx50("span", { className: `font-mono`, children: `${recipient.slice(0, 6)}...${recipient.slice(-4)}` })
10576
+ txStep === "confirm" && /* @__PURE__ */ jsxs41(Fragment9, { children: [
10577
+ /* @__PURE__ */ jsxs41("div", { className: "bg-gray-50 rounded-lg p-4", children: [
10578
+ /* @__PURE__ */ jsx52("h3", { className: "font-medium mb-3", children: "Transaction Details" }),
10579
+ /* @__PURE__ */ jsxs41("div", { className: "space-y-2 text-sm", children: [
10580
+ /* @__PURE__ */ jsxs41("div", { className: "flex justify-between", children: [
10581
+ /* @__PURE__ */ jsx52("span", { children: "To:" }),
10582
+ /* @__PURE__ */ jsx52("span", { className: `font-mono`, children: `${recipient.slice(0, 6)}...${recipient.slice(-4)}` })
10319
10583
  ] }),
10320
- /* @__PURE__ */ jsxs39("div", { className: "flex justify-between", children: [
10321
- /* @__PURE__ */ jsx50("span", { children: "Amount:" }),
10322
- /* @__PURE__ */ jsxs39("span", { className: `font-semibold`, children: [
10584
+ /* @__PURE__ */ jsxs41("div", { className: "flex justify-between", children: [
10585
+ /* @__PURE__ */ jsx52("span", { children: "Amount:" }),
10586
+ /* @__PURE__ */ jsxs41("span", { className: `font-semibold`, children: [
10323
10587
  amount,
10324
10588
  " LUMIA"
10325
10589
  ] })
10326
10590
  ] }),
10327
- /* @__PURE__ */ jsxs39("div", { className: "flex justify-between", children: [
10328
- /* @__PURE__ */ jsx50("span", { children: "Network:" }),
10329
- /* @__PURE__ */ jsx50("span", { children: "Lumia Beam" })
10591
+ /* @__PURE__ */ jsxs41("div", { className: "flex justify-between", children: [
10592
+ /* @__PURE__ */ jsx52("span", { children: "Network:" }),
10593
+ /* @__PURE__ */ jsx52("span", { children: "Lumia Beam" })
10330
10594
  ] })
10331
10595
  ] })
10332
10596
  ] }),
10333
- /* @__PURE__ */ jsxs39("div", { className: "flex gap-2", children: [
10334
- /* @__PURE__ */ jsx50(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
10335
- /* @__PURE__ */ jsxs39(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
10336
- isLoading && /* @__PURE__ */ jsx50(Loader10, { className: "h-4 w-4 animate-spin" }),
10597
+ /* @__PURE__ */ jsxs41("div", { className: "flex gap-2", children: [
10598
+ /* @__PURE__ */ jsx52(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
10599
+ /* @__PURE__ */ jsxs41(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
10600
+ isLoading && /* @__PURE__ */ jsx52(Loader13, { className: "h-4 w-4 animate-spin" }),
10337
10601
  "Confirm"
10338
10602
  ] })
10339
10603
  ] })
10340
10604
  ] }),
10341
- txStep === "pending" && /* @__PURE__ */ jsxs39("div", { className: "py-8 text-center space-y-4", children: [
10342
- /* @__PURE__ */ jsx50(Loader10, { className: "h-12 w-12 animate-spin mx-auto" }),
10343
- /* @__PURE__ */ jsxs39("div", { children: [
10344
- /* @__PURE__ */ jsx50("span", { className: "block font-medium", children: "Transaction Pending" }),
10345
- /* @__PURE__ */ jsx50("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
10605
+ txStep === "pending" && /* @__PURE__ */ jsxs41("div", { className: "py-8 text-center space-y-4", children: [
10606
+ /* @__PURE__ */ jsx52(Loader13, { className: "h-12 w-12 animate-spin mx-auto" }),
10607
+ /* @__PURE__ */ jsxs41("div", { children: [
10608
+ /* @__PURE__ */ jsx52("span", { className: "block font-medium", children: "Transaction Pending" }),
10609
+ /* @__PURE__ */ jsx52("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
10346
10610
  ] })
10347
10611
  ] }),
10348
- txStep === "success" && userOpHash && /* @__PURE__ */ jsxs39(Fragment8, { children: [
10349
- /* @__PURE__ */ jsxs39("div", { className: "text-center py-4", children: [
10350
- /* @__PURE__ */ jsx50(CheckCircle25, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
10351
- /* @__PURE__ */ jsx50("p", { className: "font-medium", children: "Transaction Sent!" }),
10352
- /* @__PURE__ */ jsx50("p", { className: "text-sm mt-1", children: "Your transaction is being processed" })
10612
+ txStep === "success" && userOpHash && /* @__PURE__ */ jsxs41(Fragment9, { children: [
10613
+ /* @__PURE__ */ jsxs41("div", { className: "text-center py-4", children: [
10614
+ /* @__PURE__ */ jsx52(CheckCircle25, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
10615
+ /* @__PURE__ */ jsx52("p", { className: "font-medium", children: "Transaction Sent!" }),
10616
+ /* @__PURE__ */ jsx52("p", { className: "text-sm mt-1", children: "Your transaction is being processed" })
10353
10617
  ] }),
10354
- /* @__PURE__ */ jsx50(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "Done" })
10618
+ /* @__PURE__ */ jsx52(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "Done" })
10355
10619
  ] })
10356
10620
  ] });
10357
10621
  }
10358
10622
 
10359
10623
  // src/internal/components/SendRecieveMenu/ReceiveLumiaMenu.tsx
10360
- import { ArrowLeft as ArrowLeft10, CheckCircle2 as CheckCircle26, Copy as Copy2, Loader as Loader11 } from "lucide-react";
10624
+ import { ArrowLeft as ArrowLeft11, CheckCircle2 as CheckCircle26, Copy as Copy2, Loader as Loader14 } from "lucide-react";
10361
10625
  import QRCode from "qrcode";
10362
- import { useEffect as useEffect20, useState as useState12 } from "react";
10626
+ import { useEffect as useEffect21, useState as useState12 } from "react";
10363
10627
  init_clients();
10364
- import { Fragment as Fragment9, jsx as jsx51, jsxs as jsxs40 } from "react/jsx-runtime";
10628
+ import { Fragment as Fragment10, jsx as jsx53, jsxs as jsxs42 } from "react/jsx-runtime";
10365
10629
  function ReceiveLumiaMenu() {
10366
10630
  const page = useLayoutDataStore((st) => st.page);
10367
10631
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -10369,7 +10633,7 @@ function ReceiveLumiaMenu() {
10369
10633
  const { address } = useLumiaPassportSession();
10370
10634
  const [qrCodeUrl, setQrCodeUrl] = useState12("");
10371
10635
  const [copied, setCopied] = useState12(false);
10372
- useEffect20(() => {
10636
+ useEffect21(() => {
10373
10637
  if (open && address) {
10374
10638
  QRCode.toDataURL(address, {
10375
10639
  width: 200,
@@ -10392,41 +10656,42 @@ function ReceiveLumiaMenu() {
10392
10656
  console.error("Failed to copy address:", error);
10393
10657
  }
10394
10658
  };
10395
- return /* @__PURE__ */ jsxs40("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10396
- /* @__PURE__ */ jsxs40("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
10397
- /* @__PURE__ */ jsx51(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx51(ArrowLeft10, { className: "h-4 w-4" }) }),
10398
- /* @__PURE__ */ jsx51("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
10659
+ return /* @__PURE__ */ jsxs42("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10660
+ /* @__PURE__ */ jsxs42("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
10661
+ /* @__PURE__ */ jsx53(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx53(ArrowLeft11, { className: "h-4 w-4" }) }),
10662
+ /* @__PURE__ */ jsx53("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
10399
10663
  ] }),
10400
- /* @__PURE__ */ jsxs40(Highlight, { className: "text-center", type: "warning", children: [
10401
- /* @__PURE__ */ jsx51("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
10402
- /* @__PURE__ */ jsx51("span", { className: "block w-full", children: "Ensure sender is on the same network" })
10664
+ /* @__PURE__ */ jsxs42(Highlight, { className: "text-center", type: "warning", children: [
10665
+ /* @__PURE__ */ jsx53("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
10666
+ /* @__PURE__ */ jsx53("span", { className: "block w-full", children: "Ensure sender is on the same network" })
10403
10667
  ] }),
10404
- /* @__PURE__ */ jsx51("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ jsx51("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ jsx51(Loader11, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
10405
- /* @__PURE__ */ jsxs40(Highlight, { type: "info", children: [
10406
- /* @__PURE__ */ jsx51("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
10407
- /* @__PURE__ */ jsx51(Button, { onClick: handleCopy, className: "w-full", size: "medium", children: copied ? /* @__PURE__ */ jsxs40(Fragment9, { children: [
10408
- /* @__PURE__ */ jsx51(CheckCircle26, { className: "h-4 w-4" }),
10409
- /* @__PURE__ */ jsx51("span", { children: "Copied!" })
10410
- ] }) : /* @__PURE__ */ jsxs40(Fragment9, { children: [
10411
- /* @__PURE__ */ jsx51(Copy2, { className: "h-4 w-4" }),
10412
- /* @__PURE__ */ jsx51("span", { children: "Copy Address" })
10668
+ /* @__PURE__ */ jsx53("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ jsx53("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ jsx53(Loader14, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
10669
+ /* @__PURE__ */ jsxs42(Highlight, { type: "info", children: [
10670
+ /* @__PURE__ */ jsx53("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
10671
+ /* @__PURE__ */ jsx53(Button, { onClick: handleCopy, className: "w-full", size: "medium", children: copied ? /* @__PURE__ */ jsxs42(Fragment10, { children: [
10672
+ /* @__PURE__ */ jsx53(CheckCircle26, { className: "h-4 w-4" }),
10673
+ /* @__PURE__ */ jsx53("span", { children: "Copied!" })
10674
+ ] }) : /* @__PURE__ */ jsxs42(Fragment10, { children: [
10675
+ /* @__PURE__ */ jsx53(Copy2, { className: "h-4 w-4" }),
10676
+ /* @__PURE__ */ jsx53("span", { children: "Copy Address" })
10413
10677
  ] }) })
10414
10678
  ] }),
10415
- /* @__PURE__ */ jsx51("div", { className: "text-center text-xs text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx51("span", { className: "block", children: "Share this address to receive LUMIA tokens." }) })
10679
+ /* @__PURE__ */ jsx53("div", { className: "text-center text-xs text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx53("span", { className: "block", children: "Share this address to receive LUMIA tokens." }) })
10416
10680
  ] });
10417
10681
  }
10418
10682
 
10419
10683
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
10420
- import { ArrowLeft as ArrowLeft11 } from "lucide-react";
10684
+ import { ArrowLeft as ArrowLeft12 } from "lucide-react";
10685
+ import { useEffect as useEffect22 } from "react";
10421
10686
 
10422
10687
  // src/internal/components/SettingsMenu/constants.ts
10423
10688
  import { ArrowLeftRight, DatabaseBackup as DatabaseBackup2, LockKeyhole, UsersRound } from "lucide-react";
10424
10689
 
10425
10690
  // src/internal/assets/KycIcon.tsx
10426
- import { jsx as jsx52 } from "react/jsx-runtime";
10691
+ import { jsx as jsx54 } from "react/jsx-runtime";
10427
10692
  function KycIcon(props) {
10428
10693
  const { width = "24", height = "24", ...rest } = props;
10429
- return /* @__PURE__ */ jsx52("svg", { ...rest, width, height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx52(
10694
+ return /* @__PURE__ */ jsx54("svg", { ...rest, width, height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx54(
10430
10695
  "path",
10431
10696
  {
10432
10697
  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",
@@ -10445,19 +10710,21 @@ var NAV_BUTTONS = [
10445
10710
  ];
10446
10711
 
10447
10712
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
10448
- import { jsx as jsx53, jsxs as jsxs41 } from "react/jsx-runtime";
10713
+ import { jsx as jsx55, jsxs as jsxs43 } from "react/jsx-runtime";
10449
10714
  function SettingsMenu() {
10450
10715
  const address = useLumiaPassportSession((st) => st.address);
10451
10716
  const setPage = useLayoutDataStore((st) => st.setPage);
10452
10717
  const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
10718
+ const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
10719
+ useEffect22(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
10453
10720
  const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
10454
10721
  const highlightedKeys = settingsNotifications.map((n) => n.target);
10455
- return /* @__PURE__ */ jsxs41("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10456
- /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10457
- /* @__PURE__ */ jsx53(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx53(ArrowLeft11, { className: "h-4 w-4" }) }),
10458
- /* @__PURE__ */ jsx53("span", { className: "text-xl font-semibold", children: "Wallet Details" })
10722
+ return /* @__PURE__ */ jsxs43("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10723
+ /* @__PURE__ */ jsxs43("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10724
+ /* @__PURE__ */ jsx55(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx55(ArrowLeft12, { className: "h-4 w-4" }) }),
10725
+ /* @__PURE__ */ jsx55("span", { className: "text-xl font-semibold", children: "Wallet Details" })
10459
10726
  ] }),
10460
- /* @__PURE__ */ jsx53("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon, onClick }) => /* @__PURE__ */ jsxs41(
10727
+ /* @__PURE__ */ jsx55("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon, onClick }) => /* @__PURE__ */ jsxs43(
10461
10728
  Button,
10462
10729
  {
10463
10730
  variant: "outline",
@@ -10470,8 +10737,8 @@ function SettingsMenu() {
10470
10737
  highlightedKeys.includes(id) && "animate-glow-warning"
10471
10738
  ),
10472
10739
  children: [
10473
- /* @__PURE__ */ jsx53(Icon, { className: "w-4 h-4" }),
10474
- /* @__PURE__ */ jsx53("span", { children: name })
10740
+ /* @__PURE__ */ jsx55(Icon, { className: "w-4 h-4" }),
10741
+ /* @__PURE__ */ jsx55("span", { children: name })
10475
10742
  ]
10476
10743
  },
10477
10744
  id
@@ -10480,15 +10747,15 @@ function SettingsMenu() {
10480
10747
  }
10481
10748
 
10482
10749
  // src/internal/components/TermsOfService.tsx
10483
- import { jsx as jsx54 } from "react/jsx-runtime";
10750
+ import { jsx as jsx56 } from "react/jsx-runtime";
10484
10751
  function TermsOfService() {
10485
- return /* @__PURE__ */ jsx54("div", { className: "w-full p-4 flex flex-col gap-4", children: /* @__PURE__ */ jsx54("span", { className: "prose text-sm", children: "By using Lumia Passport you agree to our terms." }) });
10752
+ return /* @__PURE__ */ jsx56("div", { className: "w-full p-4 flex flex-col gap-4", children: /* @__PURE__ */ jsx56("span", { className: "prose text-sm", children: "By using Lumia Passport you agree to our terms." }) });
10486
10753
  }
10487
10754
 
10488
10755
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
10489
- import { useQuery as useQuery5, useQueryClient as useQueryClient8 } from "@tanstack/react-query";
10490
- import { Activity, ArrowLeft as ArrowLeft12, Loader as Loader12, RefreshCw as RefreshCw2, XCircle as XCircle2 } from "lucide-react";
10491
- import { useCallback as useCallback12, useState as useState13 } from "react";
10756
+ import { useQuery as useQuery7, useQueryClient as useQueryClient9 } from "@tanstack/react-query";
10757
+ import { Activity, ArrowLeft as ArrowLeft13, Loader as Loader15, RefreshCw as RefreshCw3, XCircle as XCircle2 } from "lucide-react";
10758
+ import { useCallback as useCallback13, useState as useState13 } from "react";
10492
10759
 
10493
10760
  // src/internal/components/TransactionsMenu/api.ts
10494
10761
  init_base();
@@ -10797,7 +11064,7 @@ var parseValue = (value) => {
10797
11064
  return 0n;
10798
11065
  }
10799
11066
  };
10800
- var formatValue = (value, decimals = 18) => {
11067
+ var formatValue2 = (value, decimals = 18) => {
10801
11068
  const amount = parseValue(value);
10802
11069
  if (amount === 0n) return "0";
10803
11070
  if (decimals <= 0) {
@@ -10813,7 +11080,7 @@ var formatValue = (value, decimals = 18) => {
10813
11080
  const trimmed = fractionStr.slice(0, Math.min(6, fractionStr.length));
10814
11081
  return `${whole.toString()}.${trimmed}`;
10815
11082
  };
10816
- var openInExplorer = (txHash) => {
11083
+ var openInExplorer2 = (txHash) => {
10817
11084
  const explorerUrl = getExplorerUrl();
10818
11085
  window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
10819
11086
  };
@@ -10826,24 +11093,24 @@ var formatTimestamp = (timestampMs) => {
10826
11093
  };
10827
11094
 
10828
11095
  // src/internal/components/TransactionsMenu/TransactionsGroup.tsx
10829
- import { jsx as jsx55, jsxs as jsxs42 } from "react/jsx-runtime";
10830
- var getStatusIcon = (status) => status === "ok" ? /* @__PURE__ */ jsx55(CheckCircle27, { className: "w-4 h-4 text-[var(--l-pass-success)]" }) : /* @__PURE__ */ jsx55(XCircle, { className: "w-4 h-4 text-[var(--l-pass-error)]" });
10831
- var getTransactionIcon = (direction) => direction === "in" ? /* @__PURE__ */ jsx55(ArrowDownRight, { className: "w-4 h-4 text-[var(--l-pass-success)]" }) : /* @__PURE__ */ jsx55(ArrowUpRight, { className: "w-4 h-4 text-[var(--l-pass-info)]" });
11096
+ import { jsx as jsx57, jsxs as jsxs44 } from "react/jsx-runtime";
11097
+ var getStatusIcon = (status) => status === "ok" ? /* @__PURE__ */ jsx57(CheckCircle27, { className: "w-4 h-4 text-[var(--l-pass-success)]" }) : /* @__PURE__ */ jsx57(XCircle, { className: "w-4 h-4 text-[var(--l-pass-error)]" });
11098
+ var getTransactionIcon = (direction) => direction === "in" ? /* @__PURE__ */ jsx57(ArrowDownRight, { className: "w-4 h-4 text-[var(--l-pass-success)]" }) : /* @__PURE__ */ jsx57(ArrowUpRight, { className: "w-4 h-4 text-[var(--l-pass-info)]" });
10832
11099
  function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
10833
11100
  const internalSymbol = internal.assetSymbol || assetSymbol;
10834
11101
  const internalDecimals = internal.decimals ?? assetDecimals;
10835
- return /* @__PURE__ */ jsxs42("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
10836
- /* @__PURE__ */ jsxs42("div", { className: "flex gap-2 items-center justify-between", children: [
10837
- /* @__PURE__ */ jsx55("span", { className: "text-[var(--l-pass-fg-muted)]", children: internal.method || "CALL" }),
10838
- /* @__PURE__ */ jsxs42("span", { children: [
10839
- formatValue(internal.value, internalDecimals),
11102
+ return /* @__PURE__ */ jsxs44("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
11103
+ /* @__PURE__ */ jsxs44("div", { className: "flex gap-2 items-center justify-between", children: [
11104
+ /* @__PURE__ */ jsx57("span", { className: "text-[var(--l-pass-fg-muted)]", children: internal.method || "CALL" }),
11105
+ /* @__PURE__ */ jsxs44("span", { children: [
11106
+ formatValue2(internal.value, internalDecimals),
10840
11107
  " ",
10841
11108
  internalSymbol
10842
11109
  ] })
10843
11110
  ] }),
10844
- /* @__PURE__ */ jsxs42("div", { className: "flex gap-2 items-center justify-between", children: [
10845
- /* @__PURE__ */ jsx55("span", { children: internal.direction === "in" ? "From" : "To" }),
10846
- /* @__PURE__ */ jsx55("span", { className: "font-mono", children: internal.counterpartyName || formatAddress2(internal.counterparty) })
11111
+ /* @__PURE__ */ jsxs44("div", { className: "flex gap-2 items-center justify-between", children: [
11112
+ /* @__PURE__ */ jsx57("span", { children: internal.direction === "in" ? "From" : "To" }),
11113
+ /* @__PURE__ */ jsx57("span", { className: "font-mono", children: internal.counterpartyName || formatAddress2(internal.counterparty) })
10847
11114
  ] })
10848
11115
  ] });
10849
11116
  }
@@ -10854,22 +11121,22 @@ function TransactionsGroup(props) {
10854
11121
  const assetSymbol = parent.assetSymbol || "LUMIA";
10855
11122
  const assetDecimals = parent.decimals ?? 18;
10856
11123
  const internalsToRender = group.internals.filter((internal) => parseValue(internal.value) !== 0n);
10857
- return /* @__PURE__ */ jsxs42(
11124
+ return /* @__PURE__ */ jsxs44(
10858
11125
  "div",
10859
11126
  {
10860
- onClick: () => openInExplorer(parent.parentHash),
11127
+ onClick: () => openInExplorer2(parent.parentHash),
10861
11128
  className: cn(
10862
11129
  "rounded-[var(--l-pass-el-bdrs)] p-2 transition-colors cursor-pointer border border-[var(--l-pass-bd)]",
10863
11130
  "bg-[var(--l-pass-secondary)] hover:bg-[var(--l-pass-secondary-h)] active:bg-[var(--l-pass-secondary-a)]"
10864
11131
  ),
10865
11132
  children: [
10866
- /* @__PURE__ */ jsxs42("div", { className: "flex items-center justify-between gap-2", children: [
10867
- /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-2", children: [
11133
+ /* @__PURE__ */ jsxs44("div", { className: "flex items-center justify-between gap-2", children: [
11134
+ /* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-2", children: [
10868
11135
  getTransactionIcon(parent.direction),
10869
- /* @__PURE__ */ jsx55("span", { className: "font-medium", children: isIncoming ? "Received" : "Sent" }),
11136
+ /* @__PURE__ */ jsx57("span", { className: "font-medium", children: isIncoming ? "Received" : "Sent" }),
10870
11137
  getStatusIcon(parent.status)
10871
11138
  ] }),
10872
- parent.badgeLabel && /* @__PURE__ */ jsx55(
11139
+ parent.badgeLabel && /* @__PURE__ */ jsx57(
10873
11140
  "span",
10874
11141
  {
10875
11142
  className: cn(
@@ -10880,39 +11147,39 @@ function TransactionsGroup(props) {
10880
11147
  }
10881
11148
  )
10882
11149
  ] }),
10883
- /* @__PURE__ */ jsx55("span", { className: "block w-full leading-4 mb-1 text-xs text-[var(--l-pass-fg-muted)]", children: formatTimestamp(group.timestampMs) }),
10884
- /* @__PURE__ */ jsxs42("div", { className: "flex flex-col gap-0 text-sm", children: [
10885
- /* @__PURE__ */ jsxs42("div", { className: "flex justify-between", children: [
10886
- /* @__PURE__ */ jsx55("span", { className: "text-xs leading-5 text-[var(--l-pass-fg-muted)]", children: isIncoming ? "From:" : "To:" }),
10887
- /* @__PURE__ */ jsxs42("span", { className: "font-mono", children: [
11150
+ /* @__PURE__ */ jsx57("span", { className: "block w-full leading-4 mb-1 text-xs text-[var(--l-pass-fg-muted)]", children: formatTimestamp(group.timestampMs) }),
11151
+ /* @__PURE__ */ jsxs44("div", { className: "flex flex-col gap-0 text-sm", children: [
11152
+ /* @__PURE__ */ jsxs44("div", { className: "flex justify-between", children: [
11153
+ /* @__PURE__ */ jsx57("span", { className: "text-xs leading-5 text-[var(--l-pass-fg-muted)]", children: isIncoming ? "From:" : "To:" }),
11154
+ /* @__PURE__ */ jsxs44("span", { className: "font-mono", children: [
10888
11155
  parent.counterpartyName || formatAddress2(parent.counterparty),
10889
- parent.counterpartyIsContract && /* @__PURE__ */ jsx55("span", { className: "text-xs text-[var(--l-pass-info)] ml-1", children: "(Contract)" })
11156
+ parent.counterpartyIsContract && /* @__PURE__ */ jsx57("span", { className: "text-xs text-[var(--l-pass-info)] ml-1", children: "(Contract)" })
10890
11157
  ] })
10891
11158
  ] }),
10892
- /* @__PURE__ */ jsxs42("div", { className: "flex justify-between", children: [
10893
- /* @__PURE__ */ jsx55("span", { className: "text-xs leading-5 text-[var(--l-pass-fg-muted)]", children: "Value:" }),
10894
- /* @__PURE__ */ jsxs42("span", { className: "font-semibold", children: [
10895
- formatValue(parent.value, assetDecimals),
11159
+ /* @__PURE__ */ jsxs44("div", { className: "flex justify-between", children: [
11160
+ /* @__PURE__ */ jsx57("span", { className: "text-xs leading-5 text-[var(--l-pass-fg-muted)]", children: "Value:" }),
11161
+ /* @__PURE__ */ jsxs44("span", { className: "font-semibold", children: [
11162
+ formatValue2(parent.value, assetDecimals),
10896
11163
  " ",
10897
11164
  assetSymbol
10898
11165
  ] })
10899
11166
  ] }),
10900
- /* @__PURE__ */ jsxs42("div", { className: "flex justify-between", children: [
10901
- /* @__PURE__ */ jsx55("span", { className: "text-xs leading-5 text-[var(--l-pass-fg-muted)]", children: "Block:" }),
10902
- /* @__PURE__ */ jsx55("span", { className: "font-mono", children: parent.blockNumber ? `#${parent.blockNumber}` : "-" })
11167
+ /* @__PURE__ */ jsxs44("div", { className: "flex justify-between", children: [
11168
+ /* @__PURE__ */ jsx57("span", { className: "text-xs leading-5 text-[var(--l-pass-fg-muted)]", children: "Block:" }),
11169
+ /* @__PURE__ */ jsx57("span", { className: "font-mono", children: parent.blockNumber ? `#${parent.blockNumber}` : "-" })
10903
11170
  ] }),
10904
- parent.method && /* @__PURE__ */ jsxs42("div", { className: "flex justify-between", children: [
10905
- /* @__PURE__ */ jsx55("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Method:" }),
10906
- /* @__PURE__ */ jsx55("span", { className: "text-[var(--l-pass-info)] text-xs", children: parent.method })
11171
+ parent.method && /* @__PURE__ */ jsxs44("div", { className: "flex justify-between", children: [
11172
+ /* @__PURE__ */ jsx57("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Method:" }),
11173
+ /* @__PURE__ */ jsx57("span", { className: "text-[var(--l-pass-info)] text-xs", children: parent.method })
10907
11174
  ] })
10908
11175
  ] }),
10909
- internalsToRender.length > 0 && /* @__PURE__ */ jsxs42(
11176
+ internalsToRender.length > 0 && /* @__PURE__ */ jsxs44(
10910
11177
  "div",
10911
11178
  {
10912
11179
  className: "mt-4 rounded-[var(--l-pass-el-bdrs)] border border-dashed border-[var(--l-pass-bd)]",
10913
11180
  onClick: (event) => event.stopPropagation(),
10914
11181
  children: [
10915
- /* @__PURE__ */ jsxs42(
11182
+ /* @__PURE__ */ jsxs44(
10916
11183
  Button,
10917
11184
  {
10918
11185
  variant: "ghost",
@@ -10920,16 +11187,16 @@ function TransactionsGroup(props) {
10920
11187
  className: "w-full justify-between",
10921
11188
  onClick: () => onToggleExpanded(group.id),
10922
11189
  children: [
10923
- /* @__PURE__ */ jsxs42("span", { children: [
11190
+ /* @__PURE__ */ jsxs44("span", { children: [
10924
11191
  "View internal calls (",
10925
11192
  internalsToRender.length,
10926
11193
  ")"
10927
11194
  ] }),
10928
- /* @__PURE__ */ jsx55("span", { children: expanded ? "Hide" : "Show" })
11195
+ /* @__PURE__ */ jsx57("span", { children: expanded ? "Hide" : "Show" })
10929
11196
  ]
10930
11197
  }
10931
11198
  ),
10932
- expanded && /* @__PURE__ */ jsx55("div", { className: "px-3 pb-3 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ jsx55(
11199
+ expanded && /* @__PURE__ */ jsx57("div", { className: "px-3 pb-3 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ jsx57(
10933
11200
  InternalTransaction,
10934
11201
  {
10935
11202
  internal,
@@ -10947,9 +11214,9 @@ function TransactionsGroup(props) {
10947
11214
  }
10948
11215
 
10949
11216
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
10950
- import { jsx as jsx56, jsxs as jsxs43 } from "react/jsx-runtime";
11217
+ import { jsx as jsx58, jsxs as jsxs45 } from "react/jsx-runtime";
10951
11218
  function TransactionsMenu() {
10952
- const qc = useQueryClient8();
11219
+ const qc = useQueryClient9();
10953
11220
  const address = useLumiaPassportSession((st) => st.address);
10954
11221
  const page = useLayoutDataStore((st) => st.page);
10955
11222
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -10959,22 +11226,22 @@ function TransactionsMenu() {
10959
11226
  isLoading: isTxHistoryLoading,
10960
11227
  isFetching: isTxHistoryFetching,
10961
11228
  error: txHistoryError
10962
- } = useQuery5({
11229
+ } = useQuery7({
10963
11230
  retry: false,
10964
11231
  enabled: !!address && page === "transactions",
10965
11232
  queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
10966
11233
  queryFn: () => getTransactionsListQuery(address)
10967
11234
  });
10968
- const refreshTxHistory = useCallback12(
11235
+ const refreshTxHistory = useCallback13(
10969
11236
  () => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address] }),
10970
11237
  [qc, address]
10971
11238
  );
10972
11239
  const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
10973
- return /* @__PURE__ */ jsxs43("div", { className: "w-full p-4 flex flex-col gap-4", children: [
10974
- /* @__PURE__ */ jsx56("div", { className: "w-full", children: /* @__PURE__ */ jsxs43("div", { className: "flex items-center gap-2", children: [
10975
- /* @__PURE__ */ jsx56(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx56(ArrowLeft12, { className: "h-4 w-4" }) }),
10976
- /* @__PURE__ */ jsx56("span", { className: "text-xl font-semibold", children: "Transaction History" }),
10977
- /* @__PURE__ */ jsx56(
11240
+ return /* @__PURE__ */ jsxs45("div", { className: "w-full p-4 flex flex-col gap-4", children: [
11241
+ /* @__PURE__ */ jsx58("div", { className: "w-full", children: /* @__PURE__ */ jsxs45("div", { className: "flex items-center gap-2", children: [
11242
+ /* @__PURE__ */ jsx58(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx58(ArrowLeft13, { className: "h-4 w-4" }) }),
11243
+ /* @__PURE__ */ jsx58("span", { className: "text-xl font-semibold", children: "Transaction History" }),
11244
+ /* @__PURE__ */ jsx58(
10978
11245
  Button,
10979
11246
  {
10980
11247
  variant: "ghost",
@@ -10982,13 +11249,13 @@ function TransactionsMenu() {
10982
11249
  onClick: refreshTxHistory,
10983
11250
  disabled: isTxHistoryFetching,
10984
11251
  title: "Refresh transactions",
10985
- children: isTxHistoryFetching ? /* @__PURE__ */ jsx56(Loader12, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx56(RefreshCw2, { className: "h-4 w-4" })
11252
+ children: isTxHistoryFetching ? /* @__PURE__ */ jsx58(Loader15, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx58(RefreshCw3, { className: "h-4 w-4" })
10986
11253
  }
10987
11254
  )
10988
11255
  ] }) }),
10989
- /* @__PURE__ */ jsxs43("div", { className: "max-h-[60vh] overflow-y-auto", children: [
10990
- isTxHistoryLoading && /* @__PURE__ */ jsx56("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx56(Loader12, { className: "h-5 w-5 animate-spin" }) }),
10991
- !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs43(
11256
+ /* @__PURE__ */ jsxs45("div", { className: "max-h-[60vh] overflow-y-auto", children: [
11257
+ isTxHistoryLoading && /* @__PURE__ */ jsx58("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx58(Loader15, { className: "h-5 w-5 animate-spin" }) }),
11258
+ !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs45(
10992
11259
  "div",
10993
11260
  {
10994
11261
  className: cn(
@@ -10997,20 +11264,20 @@ function TransactionsMenu() {
10997
11264
  "text-[var(--l-pass-error)]"
10998
11265
  ),
10999
11266
  children: [
11000
- /* @__PURE__ */ jsx56(XCircle2, { className: "w-12 h-12 mb-2" }),
11001
- /* @__PURE__ */ jsx56("span", { className: "block w-full text-center text-sm", children: txHistoryResolvedError })
11267
+ /* @__PURE__ */ jsx58(XCircle2, { className: "w-12 h-12 mb-2" }),
11268
+ /* @__PURE__ */ jsx58("span", { className: "block w-full text-center text-sm", children: txHistoryResolvedError })
11002
11269
  ]
11003
11270
  }
11004
11271
  ),
11005
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsxs43("div", { className: "flex flex-col gap-2 items-center justify-center p-4 text-[var(--l-pass-fg-muted)]", children: [
11006
- /* @__PURE__ */ jsx56(Activity, { className: "w-12 h-12" }),
11007
- /* @__PURE__ */ jsxs43("span", { className: "block w-full text-center", children: [
11008
- /* @__PURE__ */ jsx56("span", { children: "No transactions found" }),
11009
- /* @__PURE__ */ jsx56("br", {}),
11010
- /* @__PURE__ */ jsx56("span", { className: "text-xs mt-2", children: "Smart account transactions will appear here" })
11272
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsxs45("div", { className: "flex flex-col gap-2 items-center justify-center p-4 text-[var(--l-pass-fg-muted)]", children: [
11273
+ /* @__PURE__ */ jsx58(Activity, { className: "w-12 h-12" }),
11274
+ /* @__PURE__ */ jsxs45("span", { className: "block w-full text-center", children: [
11275
+ /* @__PURE__ */ jsx58("span", { children: "No transactions found" }),
11276
+ /* @__PURE__ */ jsx58("br", {}),
11277
+ /* @__PURE__ */ jsx58("span", { className: "text-xs mt-2", children: "Smart account transactions will appear here" })
11011
11278
  ] })
11012
11279
  ] }),
11013
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx56("div", { className: "w-full flex flex-col gap-2", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx56(
11280
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx58("div", { className: "w-full flex flex-col gap-2", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx58(
11014
11281
  TransactionsGroup,
11015
11282
  {
11016
11283
  group,
@@ -11023,127 +11290,6 @@ function TransactionsMenu() {
11023
11290
  ] });
11024
11291
  }
11025
11292
 
11026
- // src/internal/components/ViewAssetsMenu/ViewAssetsMenu.tsx
11027
- import { ArrowLeft as ArrowLeft13, Gem, Loader as Loader13, RefreshCw as RefreshCw3 } from "lucide-react";
11028
-
11029
- // src/internal/components/ViewAssetsMenu/AssetItem.tsx
11030
- init_base();
11031
- import { Check as Check2, Copy as Copy3, ExternalLink } from "lucide-react";
11032
- import React14 from "react";
11033
- import { jsx as jsx57, jsxs as jsxs44 } from "react/jsx-runtime";
11034
- var openInExplorer2 = (address) => {
11035
- window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
11036
- };
11037
- function AssetItem(props) {
11038
- const { address, asset } = props;
11039
- const [copied, setCopied] = React14.useState(null);
11040
- const handleCopy = async (text, type) => {
11041
- try {
11042
- await navigator.clipboard.writeText(text);
11043
- setCopied(type);
11044
- setTimeout(() => setCopied(null), 1500);
11045
- } catch (error) {
11046
- console.error("Failed to copy:", error);
11047
- }
11048
- };
11049
- return /* @__PURE__ */ jsxs44("div", { className: "w-full border border-[var(--l-pass-bd)] bg-[var(--l-pass-secondary)] hover:bg-[var(--l-pass-secondary-h)] rounded-xl p-3 transition-colors", children: [
11050
- /* @__PURE__ */ jsxs44("div", { className: "flex items-center justify-between mb-2", children: [
11051
- /* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-3", children: [
11052
- /* @__PURE__ */ jsx57("div", { className: "w-10 h-10 bg-[var(--l-pass-primary)] rounded-full flex items-center justify-center", children: /* @__PURE__ */ jsx57("span", { className: "text-white font-bold text-sm", children: asset.symbol.charAt(0) }) }),
11053
- /* @__PURE__ */ jsxs44("div", { children: [
11054
- /* @__PURE__ */ jsx57("div", { className: "font-medium", children: asset.name }),
11055
- /* @__PURE__ */ jsx57("div", { className: "text-sm", children: asset.symbol })
11056
- ] })
11057
- ] }),
11058
- /* @__PURE__ */ jsxs44("div", { className: "text-right", children: [
11059
- /* @__PURE__ */ jsx57("div", { className: "font-mono", children: asset.formattedBalance }),
11060
- /* @__PURE__ */ jsx57("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: asset.symbol })
11061
- ] })
11062
- ] }),
11063
- asset.address && /* @__PURE__ */ jsxs44("div", { className: "w-full space-y-2 mt-3 pt-3 border-t border-[var(--l-pass-bd)]", children: [
11064
- /* @__PURE__ */ jsxs44("div", { className: "w-full flex items-center justify-between text-sm", children: [
11065
- /* @__PURE__ */ jsx57("span", { children: "Contract Address:" }),
11066
- /* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-2", children: [
11067
- /* @__PURE__ */ jsx57("span", { className: `font-mono text-xs`, children: `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` }),
11068
- /* @__PURE__ */ jsx57(
11069
- Button,
11070
- {
11071
- variant: "ghost",
11072
- size: "icon",
11073
- title: "Copy address",
11074
- onClick: () => handleCopy(asset.address, "address"),
11075
- children: copied === "address" ? /* @__PURE__ */ jsx57(Check2, { className: "w-3 h-3 text-[var(--l-pass-success)]" }) : /* @__PURE__ */ jsx57(Copy3, { className: "w-3 h-3" })
11076
- }
11077
- ),
11078
- /* @__PURE__ */ jsx57(
11079
- Button,
11080
- {
11081
- variant: "ghost",
11082
- size: "icon",
11083
- onClick: () => openInExplorer2(asset.address),
11084
- title: "View in explorer",
11085
- children: /* @__PURE__ */ jsx57(ExternalLink, { className: "w-3 h-3" })
11086
- }
11087
- )
11088
- ] })
11089
- ] }),
11090
- asset.decimals && /* @__PURE__ */ jsxs44("div", { className: "w-full flex items-center justify-between text-sm", children: [
11091
- /* @__PURE__ */ jsx57("span", { children: "Decimals:" }),
11092
- /* @__PURE__ */ jsx57("span", { children: asset.decimals })
11093
- ] })
11094
- ] }),
11095
- asset.type === "native" && address && /* @__PURE__ */ jsx57("div", { className: "mt-3 pt-3 border-t border-[var(--l-pass-bd)]", children: /* @__PURE__ */ jsxs44("div", { className: "flex items-center justify-between text-sm", children: [
11096
- /* @__PURE__ */ jsx57("span", { children: "Your Address:" }),
11097
- /* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-2", children: [
11098
- /* @__PURE__ */ jsx57("span", { className: "font-mono text-xs", children: `${address.slice(0, 6)}...${address.slice(-4)}` }),
11099
- /* @__PURE__ */ jsx57(
11100
- Button,
11101
- {
11102
- variant: "ghost",
11103
- size: "icon",
11104
- onClick: () => handleCopy(address, "wallet"),
11105
- title: "Copy wallet address",
11106
- children: copied === "wallet" ? /* @__PURE__ */ jsx57(Check2, { className: "w-3 h-3 text-[var(--l-pass-success)]" }) : /* @__PURE__ */ jsx57(Copy3, { className: "w-3 h-3" })
11107
- }
11108
- ),
11109
- /* @__PURE__ */ jsx57(Button, { variant: "ghost", size: "icon", onClick: () => openInExplorer2(address), title: "View in explorer", children: /* @__PURE__ */ jsx57(ExternalLink, { className: "w-3 h-3" }) })
11110
- ] })
11111
- ] }) })
11112
- ] });
11113
- }
11114
-
11115
- // src/internal/components/ViewAssetsMenu/ViewAssetsMenu.tsx
11116
- import { jsx as jsx58, jsxs as jsxs45 } from "react/jsx-runtime";
11117
- function ViewAssetsMenu() {
11118
- const setPage = useLayoutDataStore((st) => st.setPage);
11119
- const { address } = useLumiaPassportSession();
11120
- const { assets, refreshBalances, isLoading } = useAssets(address);
11121
- return /* @__PURE__ */ jsxs45("div", { className: "w-full p-4 flex flex-col gap-4", children: [
11122
- /* @__PURE__ */ jsx58("div", { className: "w-full", children: /* @__PURE__ */ jsxs45("div", { className: "flex items-center gap-2", children: [
11123
- /* @__PURE__ */ jsx58(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx58(ArrowLeft13, { className: "h-4 w-4" }) }),
11124
- /* @__PURE__ */ jsx58("span", { className: "text-xl font-semibold", children: "Your Assets" }),
11125
- /* @__PURE__ */ jsx58(Button, { title: "Refresh balances", variant: "ghost", size: "icon", onClick: refreshBalances, disabled: isLoading, children: isLoading ? /* @__PURE__ */ jsx58(Loader13, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx58(RefreshCw3, { className: "h-4 w-4" }) })
11126
- ] }) }),
11127
- /* @__PURE__ */ jsxs45(Expandable, { isExpanded: true, contentClassName: "w-full max-h-[60dvh] overflow-y-auto", children: [
11128
- !isLoading && assets.length > 0 && /* @__PURE__ */ jsxs45("div", { className: "w-full text-sm text-[var(--l-pass-muted)] mb-4", children: [
11129
- "Total: ",
11130
- assets.length,
11131
- " asset",
11132
- assets.length !== 1 ? "s" : ""
11133
- ] }),
11134
- isLoading && /* @__PURE__ */ jsxs45("div", { className: "w-full flex items-center justify-center gap-2 p-4", children: [
11135
- /* @__PURE__ */ jsx58(Loader13, { className: "h-5 w-5 mr-2 animate-spin" }),
11136
- /* @__PURE__ */ jsx58("span", { className: "text-[var(--l-pass-muted)]", children: "Loading assets..." })
11137
- ] }),
11138
- !isLoading && assets.length === 0 && /* @__PURE__ */ jsxs45("div", { className: "w-full flex flex-col items-center justify-center py-8 text-[var(--l-pass-muted)]", children: [
11139
- /* @__PURE__ */ jsx58(Gem, { className: "w-12 h-12 mb-2" }),
11140
- /* @__PURE__ */ jsx58("p", { children: "No assets found" })
11141
- ] }),
11142
- !isLoading && assets.length > 0 && /* @__PURE__ */ jsx58("div", { className: "w-full flex flex-col gap-2", children: assets.map((asset, index) => /* @__PURE__ */ jsx58(AssetItem, { address, asset }, `${asset.type}-${asset.address || "native"}-${index}`)) })
11143
- ] })
11144
- ] });
11145
- }
11146
-
11147
11293
  // src/internal/components/PageMap.tsx
11148
11294
  var PAGE_MAP = {
11149
11295
  ["auth" /* AUTH */]: {
@@ -11202,9 +11348,9 @@ var PAGE_MAP = {
11202
11348
  },
11203
11349
  ["assets" /* ASSETS */]: {
11204
11350
  key: "assets" /* ASSETS */,
11205
- title: "View Assets",
11351
+ title: "Assets Portfolio Menu",
11206
11352
  description: "View your token balances and assets",
11207
- component: ViewAssetsMenu
11353
+ component: PortfolioMenu
11208
11354
  },
11209
11355
  ["manage-wallet" /* MANAGE_WALLET */]: {
11210
11356
  key: "manage-wallet" /* MANAGE_WALLET */,
@@ -11253,7 +11399,7 @@ function usePageMapper() {
11253
11399
  setIsDialogOpen,
11254
11400
  setIsDialogClosing
11255
11401
  } = useLayoutStore();
11256
- const closeDialog = useCallback13(() => {
11402
+ const closeDialog = useCallback14(() => {
11257
11403
  setIsDialogClosing(true);
11258
11404
  setTimeout(() => {
11259
11405
  setDialogContent(null);
@@ -11264,7 +11410,7 @@ function usePageMapper() {
11264
11410
  setIsDialogOpen(false);
11265
11411
  }, CLEAR_DIALOG_TIMEOUT);
11266
11412
  }, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
11267
- const openDialog = useCallback13(
11413
+ const openDialog = useCallback14(
11268
11414
  (pageItem) => {
11269
11415
  const PageContentComponent = pageItem.component;
11270
11416
  setDialogTitle(pageItem.title);
@@ -11274,7 +11420,7 @@ function usePageMapper() {
11274
11420
  },
11275
11421
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
11276
11422
  );
11277
- useEffect21(() => {
11423
+ useEffect23(() => {
11278
11424
  if (page === null) return closeDialog();
11279
11425
  const pageItem = protectedRoutes[page];
11280
11426
  if (!pageItem) {
@@ -11288,7 +11434,7 @@ function usePageMapper() {
11288
11434
 
11289
11435
  // src/internal/hooks/useSettingsNotifications.ts
11290
11436
  init_auth();
11291
- import { useEffect as useEffect22 } from "react";
11437
+ import { useEffect as useEffect24 } from "react";
11292
11438
  var EMAIL_NOT_CONNECTED_NOTIFICATION = {
11293
11439
  id: "email-not-connected",
11294
11440
  target: "manage-wallet" /* MANAGE_WALLET */,
@@ -11304,13 +11450,13 @@ function useSettingsNotifications() {
11304
11450
  const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
11305
11451
  const providers = jwtTokenManager2.getProviders();
11306
11452
  const hasEmail = providers.includes("email");
11307
- useEffect22(() => {
11453
+ useEffect24(() => {
11308
11454
  setSettingsNotifications({
11309
11455
  ...BACKUP_IS_NOT_CREATED_NOTIFICATION,
11310
11456
  status: hasServerVault ? "resolved" : "active"
11311
11457
  });
11312
11458
  }, [hasServerVault, setSettingsNotifications]);
11313
- useEffect22(() => {
11459
+ useEffect24(() => {
11314
11460
  setSettingsNotifications({
11315
11461
  ...EMAIL_NOT_CONNECTED_NOTIFICATION,
11316
11462
  status: hasEmail ? "resolved" : "active"
@@ -11319,14 +11465,17 @@ function useSettingsNotifications() {
11319
11465
  }
11320
11466
 
11321
11467
  // src/internal/hooks/useWalletStatus.ts
11322
- import { useEffect as useEffect23 } from "react";
11468
+ import { useEffect as useEffect25 } from "react";
11323
11469
  init_auth();
11324
11470
  function useWalletStatus() {
11325
11471
  const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
11326
11472
  const address = useLumiaPassportSession((st) => st.address);
11327
11473
  const session = useLumiaPassportSession((st) => st.session);
11328
- const { config, callbacks } = useLumiaPassportConfig();
11329
- useEffect23(() => {
11474
+ const {
11475
+ config: { current: config },
11476
+ callbacks
11477
+ } = useLumiaPassportConfig();
11478
+ useEffect25(() => {
11330
11479
  if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
11331
11480
  const userId = jwtTokenManager2.getUserId();
11332
11481
  const hasKeyshare = jwtTokenManager2.getHasKeyshare();
@@ -11348,13 +11497,16 @@ function useWalletStatus() {
11348
11497
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
11349
11498
  import { jsx as jsx60, jsxs as jsxs46 } from "react/jsx-runtime";
11350
11499
  function LumiaPassportDialog() {
11351
- const className = useLumiaPassportConfig()?.config?.ui?.dialogClassName;
11500
+ const {
11501
+ config: { current: config }
11502
+ } = useLumiaPassportConfig();
11503
+ const className = config?.ui?.dialogClassName;
11352
11504
  const session = useLumiaPassportSession((st) => st.session);
11353
11505
  const page = useLayoutDataStore((st) => st.page);
11354
11506
  const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
11355
11507
  const setPage = useLayoutDataStore((st) => st.setPage);
11356
11508
  const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
11357
- useEffect24(() => setIsSettings(!!session), [session, setIsSettings]);
11509
+ useEffect26(() => setIsSettings(!!session), [session, setIsSettings]);
11358
11510
  usePageMapper();
11359
11511
  useAutoConnect();
11360
11512
  useCheckVaultStatus();
@@ -11392,13 +11544,13 @@ function LumiaPassportDialog() {
11392
11544
  }
11393
11545
 
11394
11546
  // src/internal/components/LumiaPriceSSE.tsx
11395
- import { useEffect as useEffect26 } from "react";
11547
+ import { useEffect as useEffect28 } from "react";
11396
11548
  import { useBalance as useBalance3 } from "wagmi";
11397
11549
  init_base();
11398
11550
 
11399
11551
  // src/internal/hooks/useLumiaPriceSSE.ts
11400
11552
  import { useMutation as useMutation11 } from "@tanstack/react-query";
11401
- import { useEffect as useEffect25 } from "react";
11553
+ import { useEffect as useEffect27 } from "react";
11402
11554
 
11403
11555
  // src/internal/lib/LumiaPriceSSEService.ts
11404
11556
  var FALLBACK3 = "https://fallback.lumia.passport.io";
@@ -11533,7 +11685,7 @@ function useLumiaPriceSSE(enabled, updateCurrentPrice) {
11533
11685
  console.error("Lumia Price SSE connection error:", err);
11534
11686
  }
11535
11687
  });
11536
- useEffect25(() => {
11688
+ useEffect27(() => {
11537
11689
  const isConnected = lumiaPriceSSE.getConnectionStatus();
11538
11690
  console.log("[LUMIA PRICE SSE MANAGER] SSE status:", { enabled, isConnected });
11539
11691
  if (!enabled) {
@@ -11550,7 +11702,7 @@ function useLumiaPriceSSE(enabled, updateCurrentPrice) {
11550
11702
 
11551
11703
  // src/internal/components/LumiaPriceSSE.tsx
11552
11704
  function LumiaPriceSSE() {
11553
- const address = useLumiaPassportSession().address;
11705
+ const address = useLumiaPassportSession((st) => st.address);
11554
11706
  const { data: balance } = useBalance3({
11555
11707
  address,
11556
11708
  chainId: lumiaBeam.id,
@@ -11564,7 +11716,7 @@ function LumiaPriceSSE() {
11564
11716
  });
11565
11717
  const { lumiaRate, setLumiaRate, setUsdBalance, setBalance } = useLayoutDataStore();
11566
11718
  useLumiaPriceSSE(!!address, (update) => setLumiaRate(update.price || 1));
11567
- useEffect26(() => {
11719
+ useEffect28(() => {
11568
11720
  const usdBalance = Number(balance?.formatted || 0) * lumiaRate;
11569
11721
  setUsdBalance(usdBalance);
11570
11722
  setBalance(balance);
@@ -11573,23 +11725,23 @@ function LumiaPriceSSE() {
11573
11725
  }
11574
11726
 
11575
11727
  // src/internal/components/TssManager.tsx
11576
- import React15, { useCallback as useCallback14 } from "react";
11728
+ import React14, { useCallback as useCallback15 } from "react";
11577
11729
  init_auth();
11578
11730
  init_clients();
11579
- var TssManagerWithRef = React15.forwardRef((props, ref) => {
11731
+ var TssManagerWithRef = React14.forwardRef((props, ref) => {
11580
11732
  const { mpcPin } = props;
11581
11733
  const usePaymaster = useLumiaPassportSession((st) => st.usePaymaster);
11582
11734
  const setStatus = useLumiaPassportSession((st) => st.setStatus);
11583
11735
  const setSession = useLumiaPassportSession((st) => st.setSession);
11584
11736
  const setAddress = useLumiaPassportSession((st) => st.setAddress);
11585
- const onSessionCreated = useCallback14(
11737
+ const onSessionCreated = useCallback15(
11586
11738
  (session, address) => {
11587
11739
  setSession(session);
11588
11740
  setAddress(address);
11589
11741
  },
11590
11742
  [setSession, setAddress]
11591
11743
  );
11592
- const createSessionWithKeyshare = React15.useCallback(
11744
+ const createSessionWithKeyshare = React14.useCallback(
11593
11745
  async (userId, hasServerKeyshare, isNewUser) => {
11594
11746
  setStatus("checking key management setup...");
11595
11747
  await ensureKeyshare(userId, hasServerKeyshare, setStatus, isNewUser);
@@ -11610,50 +11762,46 @@ var TssManagerWithRef = React15.forwardRef((props, ref) => {
11610
11762
  },
11611
11763
  [setStatus, usePaymaster, mpcPin]
11612
11764
  );
11613
- React15.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
11765
+ React14.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
11614
11766
  return null;
11615
11767
  });
11616
11768
 
11617
11769
  // src/internal/components/WalletConnectHandler.tsx
11770
+ init_wallet();
11618
11771
  import { useConnectModal } from "@rainbow-me/rainbowkit";
11619
- import { useQueryClient as useQueryClient9 } from "@tanstack/react-query";
11620
- import React16, { useCallback as useCallback15, useEffect as useEffect27 } from "react";
11772
+ import { useQueryClient as useQueryClient10 } from "@tanstack/react-query";
11773
+ import React15, { useCallback as useCallback16, useEffect as useEffect29 } from "react";
11621
11774
  import { useAccount, useDisconnect, useSignMessage } from "wagmi";
11622
- init_wallet();
11623
11775
  function WalletConnectHandler() {
11624
- const qc = useQueryClient9();
11625
- const { callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
11776
+ const qc = useQueryClient10();
11777
+ const { callbacks } = useLumiaPassportConfig();
11778
+ const { address, isConnected, chain, connector } = useAccount();
11779
+ const { disconnect } = useDisconnect();
11780
+ const { signMessageAsync } = useSignMessage();
11626
11781
  const setPage = useLayoutDataStore((st) => st.setPage);
11627
11782
  const { isWalletLinking, setLinkError, setIsWalletLinking, setLinkIsLoading, setProviderType } = useManageWalletStore();
11628
- const onError = useCallback15((error) => {
11783
+ const onError = useCallback16((error) => {
11629
11784
  setLinkError(error);
11630
11785
  setIsWalletLinking(false);
11631
11786
  setPage("manage-wallet" /* MANAGE_WALLET */);
11632
11787
  }, []);
11633
- const onLinkingComplete = useCallback15(async (success) => {
11634
- setIsWalletLinking(false);
11788
+ const onLinkingComplete = useCallback16(async (success) => {
11635
11789
  if (success) {
11790
+ await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, address] });
11791
+ await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, address] });
11636
11792
  try {
11637
- await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, address] });
11638
- try {
11639
- callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address]) });
11640
- notifyProvidersUpdate?.();
11641
- } catch {
11642
- }
11643
- } catch (e) {
11644
- console.error("Failed to load providers:", e);
11793
+ callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address]) });
11794
+ } catch {
11645
11795
  }
11646
11796
  setProviderType(null);
11647
11797
  setPage("manage-wallet" /* MANAGE_WALLET */);
11648
11798
  }
11799
+ setIsWalletLinking(false);
11649
11800
  }, []);
11650
11801
  const { openConnectModal } = useConnectModal();
11651
- const { address, isConnected, chain, connector } = useAccount();
11652
- const { disconnect } = useDisconnect();
11653
- const { signMessageAsync } = useSignMessage();
11654
- const [hasStartedLinking, setHasStartedLinking] = React16.useState(false);
11655
- const timeoutRef = React16.useRef();
11656
- useEffect27(() => {
11802
+ const [hasStartedLinking, setHasStartedLinking] = React15.useState(false);
11803
+ const timeoutRef = React15.useRef();
11804
+ useEffect29(() => {
11657
11805
  if (isWalletLinking && !hasStartedLinking) {
11658
11806
  setHasStartedLinking(true);
11659
11807
  if (isConnected) {
@@ -11685,7 +11833,7 @@ function WalletConnectHandler() {
11685
11833
  }
11686
11834
  }
11687
11835
  }, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect]);
11688
- useEffect27(() => {
11836
+ useEffect29(() => {
11689
11837
  if (isConnected && address && isWalletLinking && hasStartedLinking) {
11690
11838
  handleWalletSign();
11691
11839
  }
@@ -11770,9 +11918,10 @@ var useLumiaPassportSession = create5((set) => ({
11770
11918
  setWalletReadyStatus: (status) => set({ walletReadyStatus: status })
11771
11919
  }));
11772
11920
  function LumiaPassportSessionProvider({ children }) {
11773
- const { config } = useLumiaPassportConfig();
11774
- console.log("[PASSPORT PROVIDER RENDER]: should be as less as possible");
11775
- return /* @__PURE__ */ jsxs47(Fragment10, { children: [
11921
+ const {
11922
+ config: { current: config }
11923
+ } = useLumiaPassportConfig();
11924
+ return /* @__PURE__ */ jsxs47(Fragment11, { children: [
11776
11925
  children,
11777
11926
  config.wallet?.enabled && /* @__PURE__ */ jsx61(WalletConnectHandler, {}),
11778
11927
  /* @__PURE__ */ jsx61(LumiaPriceSSE, {}),
@@ -11829,39 +11978,51 @@ function LumiaPassportProvider(props) {
11829
11978
  const { children, projectId, initialConfig = {}, callbacks } = props;
11830
11979
  const setIsIframeReady = useLumiaPassportSession((st) => st.setIsIframeReady);
11831
11980
  const setWalletReadyStatus = useLumiaPassportSession((st) => st.setWalletReadyStatus);
11832
- const [providersVersion, setProvidersVersion] = useState14(0);
11833
- const notifyProvidersUpdate = useCallback16(() => setProvidersVersion((prev) => prev + 1), []);
11834
- const [config, setConfig] = useState14(() => {
11835
- const merged = { ...DEFAULT_LUMIA_PASSPORT_CONFIG };
11836
- if (projectId) {
11837
- merged.projectId = projectId;
11838
- } else if (initialConfig.projectId) {
11839
- merged.projectId = initialConfig.projectId;
11840
- }
11841
- notifyNoProjetctId(merged.projectId);
11842
- if (initialConfig.passkey) merged.passkey = { ...merged.passkey, ...initialConfig.passkey };
11843
- if (initialConfig.email) merged.email = { ...merged.email, ...initialConfig.email };
11844
- if (initialConfig.social) {
11845
- merged.social = { ...merged.social, ...initialConfig.social };
11846
- if (initialConfig.social.providers) merged.social.providers = initialConfig.social.providers;
11847
- }
11848
- if (initialConfig.development) merged.development = { ...merged.development, ...initialConfig.development };
11849
- if (initialConfig.ui) {
11850
- merged.ui = { ...merged.ui, ...initialConfig.ui };
11851
- if (initialConfig.ui.branding) merged.ui.branding = { ...merged.ui.branding, ...initialConfig.ui.branding };
11852
- if (initialConfig.ui.dialogClassName) merged.ui.dialogClassName = initialConfig.ui.dialogClassName;
11853
- }
11854
- if (initialConfig.network) merged.network = { ...merged.network, ...initialConfig.network };
11855
- if (initialConfig.services) merged.services = { ...merged.services, ...initialConfig.services };
11856
- if (initialConfig.features) merged.features = { ...merged.features, ...initialConfig.features };
11857
- if (initialConfig.kyc) merged.kyc = { ...merged.kyc, ...initialConfig.kyc };
11858
- if (initialConfig.warnings) merged.warnings = { ...merged.warnings, ...initialConfig.warnings };
11859
- if (initialConfig.preferedColorMode) merged.preferedColorMode = initialConfig.preferedColorMode;
11981
+ useEffect30(() => notifyNoProjetctId(projectId), [projectId]);
11982
+ const config = useRef10({ projectId, ...DEFAULT_LUMIA_PASSPORT_CONFIG });
11983
+ const updateConfig = useCallback17((updates) => {
11984
+ const prev = config.current;
11985
+ const next = { ...prev };
11986
+ if (updates.projectId !== void 0) next.projectId = updates.projectId;
11987
+ if (updates.passkey) next.passkey = { ...next.passkey, ...updates.passkey };
11988
+ if (updates.email) next.email = { ...next.email, ...updates.email };
11989
+ if (updates.social) {
11990
+ next.social = { ...next.social, ...updates.social };
11991
+ if (updates.social.providers) next.social.providers = updates.social.providers;
11992
+ }
11993
+ if (updates.development) next.development = { ...next.development, ...updates.development };
11994
+ if (updates.ui) {
11995
+ next.ui = { ...next.ui, ...updates.ui };
11996
+ if (updates.ui.branding) next.ui.branding = { ...next.ui.branding, ...updates.ui.branding };
11997
+ }
11998
+ if (updates.network) next.network = { ...next.network, ...updates.network };
11999
+ if (updates.services) next.services = { ...next.services, ...updates.services };
12000
+ if (updates.features) next.features = { ...next.features, ...updates.features };
12001
+ if (updates.warnings) next.warnings = { ...next.warnings, ...updates.warnings };
12002
+ if (updates.kyc) next.kyc = { ...next.kyc, ...updates.kyc };
12003
+ if (updates.services && typeof window !== "undefined") {
12004
+ try {
12005
+ window.__LUMIA_SERVICES__ = next.services;
12006
+ } catch {
12007
+ }
12008
+ }
12009
+ if (updates.projectId !== void 0 && typeof window !== "undefined") {
12010
+ try {
12011
+ window.__LUMIA_PROJECT_ID__ = next.projectId;
12012
+ } catch {
12013
+ }
12014
+ }
12015
+ config.current = next;
12016
+ }, []);
12017
+ useEffect30(() => {
12018
+ if (typeof window === "undefined" || !projectId) return;
12019
+ const mergedConfig = merge(DEFAULT_LUMIA_PASSPORT_CONFIG, initialConfig);
12020
+ updateConfig(mergedConfig);
12021
+ console.log("[ MERGED PROVIDER STORED CONFIG ]", mergedConfig);
11860
12022
  try {
11861
12023
  if (typeof window !== "undefined") {
11862
- window.__LUMIA_SERVICES__ = merged.services;
12024
+ window.__LUMIA_SERVICES__ = mergedConfig.services;
11863
12025
  window.__LUMIA_PROJECT_ID__ = projectId;
11864
- console.log("[LumiaPassportProvider] Setting window.__LUMIA_SERVICES__:", merged.services);
11865
12026
  const resolvedServices = getServiceUrls();
11866
12027
  console.log("[LumiaPassportProvider] Resolved services:", resolvedServices);
11867
12028
  }
@@ -11874,60 +12035,12 @@ function LumiaPassportProvider(props) {
11874
12035
  console.warn("[LumiaPassport] Failed to initialize SDK error tracking:", error);
11875
12036
  }
11876
12037
  }
11877
- return merged;
11878
- });
11879
- const updateConfig = useCallback16((updates) => {
11880
- setConfig((prev) => {
11881
- const next = { ...prev };
11882
- if (updates.projectId !== void 0) next.projectId = updates.projectId;
11883
- if (updates.passkey) next.passkey = { ...next.passkey, ...updates.passkey };
11884
- if (updates.email) next.email = { ...next.email, ...updates.email };
11885
- if (updates.social) {
11886
- next.social = { ...next.social, ...updates.social };
11887
- if (updates.social.providers) next.social.providers = updates.social.providers;
11888
- }
11889
- if (updates.development) next.development = { ...next.development, ...updates.development };
11890
- if (updates.ui) {
11891
- next.ui = { ...next.ui, ...updates.ui };
11892
- if (updates.ui.branding) next.ui.branding = { ...next.ui.branding, ...updates.ui.branding };
11893
- }
11894
- if (updates.network) next.network = { ...next.network, ...updates.network };
11895
- if (updates.services) next.services = { ...next.services, ...updates.services };
11896
- if (updates.features) next.features = { ...next.features, ...updates.features };
11897
- if (updates.warnings) next.warnings = { ...next.warnings, ...updates.warnings };
11898
- if (updates.kyc) next.kyc = { ...next.kyc, ...updates.kyc };
11899
- if (updates.services && typeof window !== "undefined") {
11900
- try {
11901
- window.__LUMIA_SERVICES__ = next.services;
11902
- console.log("[LumiaPassportProvider] Updated window.__LUMIA_SERVICES__:", next.services);
11903
- } catch {
11904
- }
11905
- }
11906
- if (updates.projectId !== void 0 && typeof window !== "undefined") {
11907
- try {
11908
- ;
11909
- window.__LUMIA_PROJECT_ID__ = next.projectId;
11910
- console.log("[LumiaPassportProvider] Updated __LUMIA_PROJECT_ID__:", next.projectId);
11911
- } catch {
11912
- }
11913
- }
11914
- return next;
11915
- });
11916
- }, []);
11917
- useEffect28(() => {
11918
- if (typeof window === "undefined") return;
11919
- if (!config.projectId) return;
11920
12038
  const iframeUrl = getIframeUrl();
11921
- console.log("[LumiaPassport] Initializing secure iframe wallet:", {
11922
- iframeUrl,
11923
- projectId: `${projectId.substring(0, 10)}...`,
11924
- note: "All MPC operations will happen in isolated iframe context"
11925
- });
11926
12039
  try {
11927
12040
  const iframeManager = getIframeManager({
11928
12041
  iframeUrl,
11929
12042
  projectId,
11930
- debug: config.features?.mpcSecurity ?? true,
12043
+ debug: mergedConfig.features?.mpcSecurity ?? true,
11931
12044
  onWalletReady: (status) => {
11932
12045
  callbacks?.onWalletReady?.(status);
11933
12046
  setWalletReadyStatus(status);
@@ -11935,7 +12048,6 @@ function LumiaPassportProvider(props) {
11935
12048
  });
11936
12049
  iframeManager.initialize().then(() => {
11937
12050
  setIsIframeReady(true);
11938
- console.log("[LumiaPassport] \u2705 Secure iframe wallet initialized successfully");
11939
12051
  }).catch((error) => {
11940
12052
  console.error("[LumiaPassport] \u274C Failed to initialize iframe wallet:", error);
11941
12053
  });
@@ -11946,14 +12058,9 @@ function LumiaPassportProvider(props) {
11946
12058
  } catch (error) {
11947
12059
  console.error("[LumiaPassport] Error setting up iframe manager:", error);
11948
12060
  }
11949
- }, [config.projectId, config.features?.mpcSecurity]);
11950
- return /* @__PURE__ */ jsx63(LumiaWagmiProvider, { children: /* @__PURE__ */ jsx63(
11951
- LumiaPassportContext.Provider,
11952
- {
11953
- value: { config, updateConfig, callbacks, providersVersion, notifyProvidersUpdate },
11954
- children
11955
- }
11956
- ) });
12061
+ }, [projectId, initialConfig, callbacks, updateConfig, setIsIframeReady, setWalletReadyStatus]);
12062
+ const contextValue = useMemo3(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
12063
+ return /* @__PURE__ */ jsx63(LumiaWagmiProvider, { children: /* @__PURE__ */ jsx63(LumiaPassportContext.Provider, { value: contextValue, children }) });
11957
12064
  }
11958
12065
  var useLumiaPassportConfig = () => {
11959
12066
  const ctx = useContext(LumiaPassportContext);
@@ -11962,10 +12069,10 @@ var useLumiaPassportConfig = () => {
11962
12069
  };
11963
12070
 
11964
12071
  // src/components/ConnectWalletButton.tsx
11965
- import { Cloud as Cloud3, Laptop as Laptop2, Loader as Loader14, Shield as Shield2 } from "lucide-react";
11966
- import { useEffect as useEffect29, useMemo as useMemo3 } from "react";
12072
+ import { Cloud as Cloud3, Laptop as Laptop2, Loader as Loader16, Shield as Shield2 } from "lucide-react";
12073
+ import { useEffect as useEffect31, useMemo as useMemo4 } from "react";
11967
12074
  init_auth();
11968
- import { Fragment as Fragment11, jsx as jsx64, jsxs as jsxs48 } from "react/jsx-runtime";
12075
+ import { Fragment as Fragment12, jsx as jsx64, jsxs as jsxs48 } from "react/jsx-runtime";
11969
12076
  function getFormattedStatus(label, status, showStatus) {
11970
12077
  const isStatus = showStatus && status && status !== "idle" && status !== "ready";
11971
12078
  if (!isStatus) return label;
@@ -11979,15 +12086,14 @@ function ConnectWalletButton(props) {
11979
12086
  // TODO: provide usePaymaster via config context
11980
12087
  usePaymaster = true
11981
12088
  } = props;
11982
- console.log("[ CONNECT BUTTON RENDER ] should be as minimal as possible");
11983
12089
  const setPage = useLayoutDataStore((st) => st.setPage);
11984
12090
  const colorMode = useLayoutStore((st) => st.colorMode);
11985
12091
  const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
11986
12092
  const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
11987
- useEffect29(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
12093
+ useEffect31(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
11988
12094
  const avatar = jwtTokenManager2.getAvatar();
11989
12095
  const displayName = jwtTokenManager2.getDisplayName();
11990
- const indicators = useMemo3(() => {
12096
+ const indicators = useMemo4(() => {
11991
12097
  const userId = jwtTokenManager2.getUserId();
11992
12098
  if (!userId) return { server: false, local: false, backup: false };
11993
12099
  const server = jwtTokenManager2.getHasKeyshare() ?? false;
@@ -11997,14 +12103,14 @@ function ConnectWalletButton(props) {
11997
12103
  const isConnecting = connectButtonLabel !== label || isLoading;
11998
12104
  return /* @__PURE__ */ jsx64("div", { "data-lumia-passport-mode": colorMode, className: cn("lumia-scope w-fit h-fit", className), children: !address ? (
11999
12105
  /** external Buttons can be provided */
12000
- /* @__PURE__ */ jsx64(Fragment11, { children: ConnectButton ? /* @__PURE__ */ jsxs48(
12106
+ /* @__PURE__ */ jsx64(Fragment12, { children: ConnectButton ? /* @__PURE__ */ jsxs48(
12001
12107
  ConnectButton,
12002
12108
  {
12003
12109
  type: "button",
12004
12110
  disabled: isConnecting,
12005
12111
  onClick: () => setPage("auth" /* AUTH */),
12006
12112
  children: [
12007
- isConnecting && /* @__PURE__ */ jsx64(Loader14, { className: "w-4 h-4 animate-spin" }),
12113
+ isConnecting && /* @__PURE__ */ jsx64(Loader16, { className: "w-4 h-4 animate-spin" }),
12008
12114
  connectButtonLabel
12009
12115
  ]
12010
12116
  }
@@ -12022,7 +12128,7 @@ function ConnectWalletButton(props) {
12022
12128
  "disabled:hover:bg-[var(--l-pass-bg)] disabled:active:bg-[var(--l-pass-bg)]"
12023
12129
  ),
12024
12130
  children: [
12025
- isConnecting && /* @__PURE__ */ jsx64(Loader14, { className: "w-4 h-4 animate-spin" }),
12131
+ isConnecting && /* @__PURE__ */ jsx64(Loader16, { className: "w-4 h-4 animate-spin" }),
12026
12132
  connectButtonLabel.toUpperCase()
12027
12133
  ]
12028
12134
  }
@@ -12038,14 +12144,7 @@ function ConnectWalletButton(props) {
12038
12144
  "rounded-[var(--l-pass-el-bdrs)] p-2 max-w-sm min-w-[256px]"
12039
12145
  ),
12040
12146
  children: [
12041
- /* @__PURE__ */ jsx64("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center flex-shrink-0", children: avatar ? /* @__PURE__ */ jsx64(
12042
- "img",
12043
- {
12044
- src: avatar,
12045
- alt: "User avatar",
12046
- className: "w-full h-full object-cover"
12047
- }
12048
- ) : /* @__PURE__ */ jsx64(LumiaIcon, { width: 48, height: 48 }) }),
12147
+ /* @__PURE__ */ jsx64("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center flex-shrink-0", children: avatar ? /* @__PURE__ */ jsx64("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ jsx64(LumiaIcon, { width: 48, height: 48 }) }),
12049
12148
  /* @__PURE__ */ jsxs48("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
12050
12149
  /* @__PURE__ */ jsx64("div", { className: "font-semibold text-base truncate max-w-[144px]", children: displayName }),
12051
12150
  /* @__PURE__ */ jsx64(UsdBalance, { className: "font-semibold text-base text-[var(--l-pass-fg-muted)]" })
@@ -12142,13 +12241,13 @@ var useLumiaPassportRecoveryUserId = () => useLumiaPassportSession((st) => st.re
12142
12241
  var useLumiaPassportHasServerVault = () => useLumiaPassportSession((st) => st.hasServerVault);
12143
12242
 
12144
12243
  // src/hooks/useLumiaPassportOpen.ts
12145
- import { useCallback as useCallback17 } from "react";
12244
+ import { useCallback as useCallback18 } from "react";
12146
12245
  function useLumiaPassportOpen() {
12147
12246
  const page = useLayoutDataStore((st) => st.page);
12148
12247
  const setPage = useLayoutDataStore((st) => st.setPage);
12149
12248
  const setPageParams = useLayoutDataStore((st) => st.setPageParams);
12150
- const address = useLumiaPassportSession().address;
12151
- const open = useCallback17(
12249
+ const address = useLumiaPassportSession((st) => st.address);
12250
+ const open = useCallback18(
12152
12251
  (passportPage, params) => {
12153
12252
  if (!address) return setPage("auth" /* AUTH */);
12154
12253
  if (!!address && passportPage === "auth" /* AUTH */) return setPage("manage-wallet" /* MANAGE_WALLET */);
@@ -12157,24 +12256,27 @@ function useLumiaPassportOpen() {
12157
12256
  },
12158
12257
  [setPage, setPageParams, address]
12159
12258
  );
12160
- const close = useCallback17(() => setPage(null), [setPage]);
12259
+ const close = useCallback18(() => setPage(null), [setPage]);
12161
12260
  return { open, close, isOpen: page !== null };
12162
12261
  }
12163
12262
 
12164
12263
  // src/hooks/useLumiaPassportColorMode.ts
12165
- import { useCallback as useCallback18, useEffect as useEffect30 } from "react";
12264
+ import { useCallback as useCallback19, useEffect as useEffect32 } from "react";
12166
12265
  function useLumiaPassportColorMode() {
12167
- const preferedColorMode = useLumiaPassportConfig().config?.preferedColorMode;
12266
+ const {
12267
+ config: { current: config }
12268
+ } = useLumiaPassportConfig();
12269
+ const preferedColorMode = config?.preferedColorMode;
12168
12270
  const colorMode = useLayoutStore((st) => st.colorMode);
12169
12271
  const handleStoreColorMode = useLayoutStore((st) => st.setColorMode);
12170
- const setColorMode = useCallback18(
12272
+ const setColorMode = useCallback19(
12171
12273
  (mode) => {
12172
12274
  localStorage.setItem(LOCAL_COLOR_MODE_KEY, mode);
12173
12275
  handleStoreColorMode(mode);
12174
12276
  },
12175
12277
  [handleStoreColorMode]
12176
12278
  );
12177
- useEffect30(() => {
12279
+ useEffect32(() => {
12178
12280
  let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
12179
12281
  if (!targetColorMode && !preferedColorMode) {
12180
12282
  const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
@@ -12216,7 +12318,7 @@ function ThemeToggle(props) {
12216
12318
  }
12217
12319
 
12218
12320
  // src/context/RainbowKitContext.tsx
12219
- import React18 from "react";
12321
+ import React16 from "react";
12220
12322
  import "@rainbow-me/rainbowkit/styles.css";
12221
12323
  import { darkTheme, lightTheme, RainbowKitProvider } from "@rainbow-me/rainbowkit";
12222
12324
  import { WagmiProvider as WagmiProvider2 } from "wagmi";
@@ -12366,14 +12468,16 @@ var rainbowTheme = {
12366
12468
  };
12367
12469
 
12368
12470
  // src/context/RainbowKitContext.tsx
12369
- import { Fragment as Fragment12, jsx as jsx66 } from "react/jsx-runtime";
12471
+ import { Fragment as Fragment13, jsx as jsx66 } from "react/jsx-runtime";
12370
12472
  var LumiaRainbowKitProvider = ({ children }) => {
12371
- const { config } = useLumiaPassportConfig();
12473
+ const {
12474
+ config: { current: config }
12475
+ } = useLumiaPassportConfig();
12372
12476
  const isDark = useLayoutStore((st) => st.colorMode === "dark");
12373
- const rainbowConfig2 = React18.useMemo(() => {
12477
+ const rainbowConfig2 = React16.useMemo(() => {
12374
12478
  return createRainbowConfig(config.wallet?.walletConnectProjectId);
12375
12479
  }, [config.wallet?.walletConnectProjectId]);
12376
- const customTheme = React18.useMemo(
12480
+ const customTheme = React16.useMemo(
12377
12481
  () => isDark ? {
12378
12482
  ...darkTheme(),
12379
12483
  colors: {
@@ -12395,17 +12499,15 @@ var LumiaRainbowKitProvider = ({ children }) => {
12395
12499
  );
12396
12500
  const isWalletEnabled = config.wallet?.enabled ?? false;
12397
12501
  if (!isWalletEnabled) {
12398
- return /* @__PURE__ */ jsx66(Fragment12, { children });
12502
+ return /* @__PURE__ */ jsx66(Fragment13, { children });
12399
12503
  }
12400
12504
  return /* @__PURE__ */ jsx66(WagmiProvider2, { config: rainbowConfig2, children: /* @__PURE__ */ jsx66(RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
12401
12505
  };
12402
12506
 
12403
12507
  // src/internal/components/UserOpStatus.tsx
12404
- import * as React20 from "react";
12405
- import { AlertCircle as AlertCircle4, CheckCircle2 as CheckCircle28, Clock as Clock2, Copy as Copy5, ExternalLink as ExternalLink3, RefreshCw as RefreshCw4 } from "lucide-react";
12406
-
12407
- // src/internal/components/ui/badge.tsx
12408
- import { cva as cva2 } from "class-variance-authority";
12508
+ init_base();
12509
+ import { AlertCircle as AlertCircle4, CheckCircle2 as CheckCircle28, Clock as Clock2, Copy as Copy4, ExternalLink as ExternalLink2, RefreshCw as RefreshCw4 } from "lucide-react";
12510
+ import * as React18 from "react";
12409
12511
 
12410
12512
  // src/internal/utils/cn.ts
12411
12513
  import { clsx as clsx3 } from "clsx";
@@ -12414,34 +12516,10 @@ function cn2(...inputs) {
12414
12516
  return twMerge2(clsx3(inputs));
12415
12517
  }
12416
12518
 
12417
- // src/internal/components/ui/badge.tsx
12418
- import { jsx as jsx67 } from "react/jsx-runtime";
12419
- var badgeVariants = cva2(
12420
- "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",
12421
- {
12422
- variants: {
12423
- variant: {
12424
- default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
12425
- secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
12426
- destructive: "border-transparent bg-red-600 text-white hover:bg-red-700 dark:bg-red-700 dark:hover:bg-red-600",
12427
- outline: "text-foreground",
12428
- success: "border-transparent bg-green-600 text-white hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600",
12429
- warning: "border-transparent bg-yellow-500 text-white hover:bg-yellow-600 dark:bg-yellow-600 dark:hover:bg-yellow-500"
12430
- }
12431
- },
12432
- defaultVariants: {
12433
- variant: "default"
12434
- }
12435
- }
12436
- );
12437
- function Badge({ className, variant, ...props }) {
12438
- return /* @__PURE__ */ jsx67("div", { className: cn2(badgeVariants({ variant }), className), ...props });
12439
- }
12440
-
12441
12519
  // src/internal/components/Address.tsx
12442
- import * as React19 from "react";
12443
- import { Copy as Copy4, ExternalLink as ExternalLink2 } from "lucide-react";
12444
- import { jsx as jsx68, jsxs as jsxs49 } from "react/jsx-runtime";
12520
+ import { Copy as Copy3, ExternalLink } from "lucide-react";
12521
+ import * as React17 from "react";
12522
+ import { jsx as jsx67, jsxs as jsxs49 } from "react/jsx-runtime";
12445
12523
  function toExplorerAddressUrl(address, chain) {
12446
12524
  const base2 = chain?.blockExplorers?.default?.url;
12447
12525
  if (!base2) return null;
@@ -12462,16 +12540,16 @@ var Address = ({
12462
12540
  }) => {
12463
12541
  const addr = address || "";
12464
12542
  const explorer = toExplorerAddressUrl(addr, chain || void 0);
12465
- const [copied, setCopied] = React19.useState(false);
12466
- if (!addr) return /* @__PURE__ */ jsx68("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
12543
+ const [copied, setCopied] = React17.useState(false);
12544
+ if (!addr) return /* @__PURE__ */ jsx67("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
12467
12545
  return /* @__PURE__ */ jsxs49("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
12468
- label && /* @__PURE__ */ jsx68("span", { className: "text-sm font-medium", children: label }),
12469
- /* @__PURE__ */ jsx68("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
12470
- showCopy && /* @__PURE__ */ jsx68(
12546
+ label && /* @__PURE__ */ jsx67("span", { className: "text-sm font-medium", children: label }),
12547
+ /* @__PURE__ */ jsx67("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
12548
+ showCopy && /* @__PURE__ */ jsx67(
12471
12549
  Button,
12472
12550
  {
12473
12551
  variant: "ghost",
12474
- size: "sm",
12552
+ size: "small",
12475
12553
  title: copied ? "Copied" : "Copy address",
12476
12554
  onClick: async () => {
12477
12555
  try {
@@ -12481,10 +12559,10 @@ var Address = ({
12481
12559
  } catch {
12482
12560
  }
12483
12561
  },
12484
- children: /* @__PURE__ */ jsx68(Copy4, { className: "h-4 w-4" })
12562
+ children: /* @__PURE__ */ jsx67(Copy3, { className: "h-4 w-4" })
12485
12563
  }
12486
12564
  ),
12487
- showExplorer && explorer && /* @__PURE__ */ jsx68(
12565
+ showExplorer && explorer && /* @__PURE__ */ jsx67(
12488
12566
  "a",
12489
12567
  {
12490
12568
  href: explorer,
@@ -12492,14 +12570,38 @@ var Address = ({
12492
12570
  rel: "noreferrer noopener",
12493
12571
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
12494
12572
  title: "Open in explorer",
12495
- children: /* @__PURE__ */ jsx68(ExternalLink2, { className: "h-4 w-4" })
12573
+ children: /* @__PURE__ */ jsx67(ExternalLink, { className: "h-4 w-4" })
12496
12574
  }
12497
12575
  )
12498
12576
  ] });
12499
12577
  };
12500
12578
 
12579
+ // src/internal/components/ui/badge.tsx
12580
+ import { cva as cva2 } from "class-variance-authority";
12581
+ import { jsx as jsx68 } from "react/jsx-runtime";
12582
+ var badgeVariants = cva2(
12583
+ "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",
12584
+ {
12585
+ variants: {
12586
+ variant: {
12587
+ default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
12588
+ secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
12589
+ destructive: "border-transparent bg-red-600 text-white hover:bg-red-700 dark:bg-red-700 dark:hover:bg-red-600",
12590
+ outline: "text-foreground",
12591
+ success: "border-transparent bg-green-600 text-white hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600",
12592
+ warning: "border-transparent bg-yellow-500 text-white hover:bg-yellow-600 dark:bg-yellow-600 dark:hover:bg-yellow-500"
12593
+ }
12594
+ },
12595
+ defaultVariants: {
12596
+ variant: "default"
12597
+ }
12598
+ }
12599
+ );
12600
+ function Badge({ className, variant, ...props }) {
12601
+ return /* @__PURE__ */ jsx68("div", { className: cn2(badgeVariants({ variant }), className), ...props });
12602
+ }
12603
+
12501
12604
  // src/internal/components/UserOpStatus.tsx
12502
- init_base();
12503
12605
  import { jsx as jsx69, jsxs as jsxs50 } from "react/jsx-runtime";
12504
12606
  var UserOpStatus = ({
12505
12607
  userOpHash,
@@ -12511,20 +12613,20 @@ var UserOpStatus = ({
12511
12613
  externalState
12512
12614
  }) => {
12513
12615
  const useExternalState = !!externalState;
12514
- const [internalReceipt, setInternalReceipt] = React20.useState(null);
12515
- const [internalMempool, setInternalMempool] = React20.useState(null);
12516
- const [internalError, setInternalError] = React20.useState(null);
12517
- const [attempt, setAttempt] = React20.useState(0);
12518
- const [internalRefreshing, setInternalRefreshing] = React20.useState(false);
12519
- const [timedOut, setTimedOut] = React20.useState(false);
12520
- const [rejected, setRejected] = React20.useState(false);
12521
- const intervalRef = React20.useRef(null);
12522
- const startTimeRef = React20.useRef(Date.now());
12616
+ const [internalReceipt, setInternalReceipt] = React18.useState(null);
12617
+ const [internalMempool, setInternalMempool] = React18.useState(null);
12618
+ const [internalError, setInternalError] = React18.useState(null);
12619
+ const [attempt, setAttempt] = React18.useState(0);
12620
+ const [internalRefreshing, setInternalRefreshing] = React18.useState(false);
12621
+ const [timedOut, setTimedOut] = React18.useState(false);
12622
+ const [rejected, setRejected] = React18.useState(false);
12623
+ const intervalRef = React18.useRef(null);
12624
+ const startTimeRef = React18.useRef(Date.now());
12523
12625
  const receipt = useExternalState ? externalState.receipt ?? null : internalReceipt;
12524
12626
  const mempool = useExternalState ? externalState.mempool ?? null : internalMempool;
12525
12627
  const error = useExternalState ? externalState.error ?? null : internalError;
12526
12628
  const refreshing = useExternalState ? externalState.isPolling ?? false : internalRefreshing;
12527
- const rpc = React20.useCallback(async (method, params) => {
12629
+ const rpc = React18.useCallback(async (method, params) => {
12528
12630
  const body = { jsonrpc: "2.0", id: 1, method, params };
12529
12631
  const res = await fetch(getBundlerUrl(), {
12530
12632
  method: "POST",
@@ -12535,14 +12637,14 @@ var UserOpStatus = ({
12535
12637
  if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
12536
12638
  return json.result;
12537
12639
  }, []);
12538
- const extractMempoolInfo = React20.useCallback((m) => {
12640
+ const extractMempoolInfo = React18.useCallback((m) => {
12539
12641
  if (!m) return null;
12540
12642
  const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
12541
12643
  const sender = m.sender || m?.userOperation?.sender || null;
12542
12644
  if (!entryPoint && !sender) return null;
12543
12645
  return { entryPoint, sender };
12544
12646
  }, []);
12545
- const tick = React20.useCallback(async () => {
12647
+ const tick = React18.useCallback(async () => {
12546
12648
  if (useExternalState) return;
12547
12649
  const elapsed = Date.now() - startTimeRef.current;
12548
12650
  if (elapsed > maxPollTimeMs) {
@@ -12586,7 +12688,7 @@ var UserOpStatus = ({
12586
12688
  setAttempt((x) => x + 1);
12587
12689
  }
12588
12690
  }, [rpc, userOpHash, maxPollTimeMs, extractMempoolInfo, useExternalState]);
12589
- React20.useEffect(() => {
12691
+ React18.useEffect(() => {
12590
12692
  if (useExternalState) return;
12591
12693
  console.log("[UserOpStatus] Initializing polling for UserOp hash:", userOpHash);
12592
12694
  startTimeRef.current = Date.now();
@@ -12598,7 +12700,7 @@ var UserOpStatus = ({
12598
12700
  setAttempt(0);
12599
12701
  setInternalRefreshing(false);
12600
12702
  }, [userOpHash, useExternalState]);
12601
- React20.useEffect(() => {
12703
+ React18.useEffect(() => {
12602
12704
  if (useExternalState) {
12603
12705
  console.log("[UserOpStatus] Using external state, skipping internal polling");
12604
12706
  return;
@@ -12664,7 +12766,10 @@ var UserOpStatus = ({
12664
12766
  return /* @__PURE__ */ jsxs50(
12665
12767
  "div",
12666
12768
  {
12667
- className: cn2("lumia-scope bg-card text-card-foreground p-0 rounded-xl border border-border w-full max-w-[680px]", className),
12769
+ className: cn2(
12770
+ "lumia-scope bg-card text-card-foreground p-0 rounded-xl border border-border w-full max-w-[680px]",
12771
+ className
12772
+ ),
12668
12773
  style: { textAlign: "left", listStyle: "none" },
12669
12774
  children: [
12670
12775
  /* @__PURE__ */ jsxs50("div", { className: "flex items-center justify-between mb-3", children: [
@@ -12672,7 +12777,7 @@ var UserOpStatus = ({
12672
12777
  stateBadge(),
12673
12778
  /* @__PURE__ */ jsx69("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
12674
12779
  ] }),
12675
- /* @__PURE__ */ jsxs50(Button, { variant: "ghost", size: "sm", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
12780
+ /* @__PURE__ */ jsxs50(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
12676
12781
  /* @__PURE__ */ jsx69(RefreshCw4, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
12677
12782
  /* @__PURE__ */ jsx69("span", { className: "text-xs", children: "Refresh" })
12678
12783
  ] })
@@ -12684,7 +12789,7 @@ var UserOpStatus = ({
12684
12789
  Button,
12685
12790
  {
12686
12791
  variant: "ghost",
12687
- size: "sm",
12792
+ size: "small",
12688
12793
  className: "h-8 w-8 p-0",
12689
12794
  onClick: async () => {
12690
12795
  try {
@@ -12692,7 +12797,7 @@ var UserOpStatus = ({
12692
12797
  } catch {
12693
12798
  }
12694
12799
  },
12695
- children: /* @__PURE__ */ jsx69(Copy5, { className: "h-3.5 w-3.5" })
12800
+ children: /* @__PURE__ */ jsx69(Copy4, { className: "h-3.5 w-3.5" })
12696
12801
  }
12697
12802
  )
12698
12803
  ] }),
@@ -12703,7 +12808,7 @@ var UserOpStatus = ({
12703
12808
  Button,
12704
12809
  {
12705
12810
  variant: "ghost",
12706
- size: "sm",
12811
+ size: "small",
12707
12812
  className: "h-8 w-8 p-0",
12708
12813
  onClick: async () => {
12709
12814
  try {
@@ -12711,7 +12816,7 @@ var UserOpStatus = ({
12711
12816
  } catch {
12712
12817
  }
12713
12818
  },
12714
- children: /* @__PURE__ */ jsx69(Copy5, { className: "h-3.5 w-3.5" })
12819
+ children: /* @__PURE__ */ jsx69(Copy4, { className: "h-3.5 w-3.5" })
12715
12820
  }
12716
12821
  ),
12717
12822
  chain?.blockExplorers?.default?.url && /* @__PURE__ */ jsx69(
@@ -12722,7 +12827,7 @@ var UserOpStatus = ({
12722
12827
  rel: "noreferrer noopener",
12723
12828
  className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
12724
12829
  title: "Open in explorer",
12725
- children: /* @__PURE__ */ jsx69(ExternalLink3, { className: "h-3.5 w-3.5" })
12830
+ children: /* @__PURE__ */ jsx69(ExternalLink2, { className: "h-3.5 w-3.5" })
12726
12831
  }
12727
12832
  )
12728
12833
  ] }),
@@ -12771,8 +12876,8 @@ var UserOpStatus = ({
12771
12876
  };
12772
12877
 
12773
12878
  // src/internal/components/Hash.tsx
12774
- import * as React21 from "react";
12775
- import { Copy as Copy6, ExternalLink as ExternalLink4 } from "lucide-react";
12879
+ import { Copy as Copy5, ExternalLink as ExternalLink3 } from "lucide-react";
12880
+ import * as React19 from "react";
12776
12881
  import { jsx as jsx70, jsxs as jsxs51 } from "react/jsx-runtime";
12777
12882
  function toExplorerUrl(kind, value, chain) {
12778
12883
  const base2 = chain?.blockExplorers?.default?.url;
@@ -12796,7 +12901,7 @@ var Hash = ({
12796
12901
  }) => {
12797
12902
  const value = hash || "";
12798
12903
  const explorer = toExplorerUrl(kind, value, chain || void 0);
12799
- const [copied, setCopied] = React21.useState(false);
12904
+ const [copied, setCopied] = React19.useState(false);
12800
12905
  if (!value) return /* @__PURE__ */ jsx70("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
12801
12906
  return /* @__PURE__ */ jsxs51("div", { className: cn2("flex items-center gap-2", className), children: [
12802
12907
  label && /* @__PURE__ */ jsx70("span", { className: "text-sm font-medium", children: label }),
@@ -12805,7 +12910,7 @@ var Hash = ({
12805
12910
  Button,
12806
12911
  {
12807
12912
  variant: "ghost",
12808
- size: "sm",
12913
+ size: "small",
12809
12914
  title: copied ? "Copied" : "Copy",
12810
12915
  onClick: async () => {
12811
12916
  try {
@@ -12815,7 +12920,7 @@ var Hash = ({
12815
12920
  } catch {
12816
12921
  }
12817
12922
  },
12818
- children: /* @__PURE__ */ jsx70(Copy6, { className: "h-4 w-4" })
12923
+ children: /* @__PURE__ */ jsx70(Copy5, { className: "h-4 w-4" })
12819
12924
  }
12820
12925
  ),
12821
12926
  showExplorer && explorer && /* @__PURE__ */ jsx70(
@@ -12826,7 +12931,7 @@ var Hash = ({
12826
12931
  rel: "noreferrer noopener",
12827
12932
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
12828
12933
  title: "Open in explorer",
12829
- children: /* @__PURE__ */ jsx70(ExternalLink4, { className: "h-4 w-4" })
12934
+ children: /* @__PURE__ */ jsx70(ExternalLink3, { className: "h-4 w-4" })
12830
12935
  }
12831
12936
  )
12832
12937
  ] });
@@ -12834,13 +12939,13 @@ var Hash = ({
12834
12939
 
12835
12940
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
12836
12941
  init_base();
12837
- import { useEffect as useEffect32, useState as useState18 } from "react";
12942
+ import { useEffect as useEffect34, useState as useState17 } from "react";
12838
12943
  import { jsx as jsx71, jsxs as jsxs52 } from "react/jsx-runtime";
12839
12944
  var TransactionsList = ({ address, itemsCount = 10 }) => {
12840
- const [transactions, setTransactions] = useState18([]);
12841
- const [loading, setLoading] = useState18(true);
12842
- const [error, setError] = useState18(null);
12843
- useEffect32(() => {
12945
+ const [transactions, setTransactions] = useState17([]);
12946
+ const [loading, setLoading] = useState17(true);
12947
+ const [error, setError] = useState17(null);
12948
+ useEffect34(() => {
12844
12949
  const fetchTransactions = async () => {
12845
12950
  try {
12846
12951
  setLoading(true);
@@ -12866,7 +12971,7 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
12866
12971
  fetchTransactions();
12867
12972
  }
12868
12973
  }, [address, itemsCount]);
12869
- const formatValue2 = (value) => {
12974
+ const formatValue3 = (value) => {
12870
12975
  try {
12871
12976
  const wei = BigInt(value);
12872
12977
  const eth = Number(wei) / 1e18;
@@ -12936,7 +13041,7 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
12936
13041
  /* @__PURE__ */ jsxs52("div", { children: [
12937
13042
  /* @__PURE__ */ jsx71("span", { className: "text-gray-600", children: "Value:" }),
12938
13043
  /* @__PURE__ */ jsxs52("span", { className: "font-semibold ml-1", children: [
12939
- formatValue2(tx.value),
13044
+ formatValue3(tx.value),
12940
13045
  " LUMIA"
12941
13046
  ] })
12942
13047
  ] })
@@ -12960,7 +13065,7 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
12960
13065
 
12961
13066
  // src/hooks/useUserOpStatus.ts
12962
13067
  init_base();
12963
- import * as React23 from "react";
13068
+ import * as React21 from "react";
12964
13069
  function useUserOpStatus(options = {}) {
12965
13070
  const {
12966
13071
  userOpHash,
@@ -12971,16 +13076,16 @@ function useUserOpStatus(options = {}) {
12971
13076
  onReceipt,
12972
13077
  onTxHash
12973
13078
  } = options;
12974
- const [state, setState] = React23.useState("waiting");
12975
- const [receipt, setReceipt] = React23.useState(null);
12976
- const [mempool, setMempool] = React23.useState(null);
12977
- const [txHash, setTxHash] = React23.useState(null);
12978
- const [error, setError] = React23.useState(null);
12979
- const [isPolling, setIsPolling] = React23.useState(false);
12980
- const intervalRef = React23.useRef(null);
12981
- const startTimeRef = React23.useRef(Date.now());
12982
- const prevStateRef = React23.useRef("waiting");
12983
- const rpc = React23.useCallback(async (method, params) => {
13079
+ const [state, setState] = React21.useState("waiting");
13080
+ const [receipt, setReceipt] = React21.useState(null);
13081
+ const [mempool, setMempool] = React21.useState(null);
13082
+ const [txHash, setTxHash] = React21.useState(null);
13083
+ const [error, setError] = React21.useState(null);
13084
+ const [isPolling, setIsPolling] = React21.useState(false);
13085
+ const intervalRef = React21.useRef(null);
13086
+ const startTimeRef = React21.useRef(Date.now());
13087
+ const prevStateRef = React21.useRef("waiting");
13088
+ const rpc = React21.useCallback(async (method, params) => {
12984
13089
  const body = { jsonrpc: "2.0", id: 1, method, params };
12985
13090
  const res = await fetch(getBundlerUrl(), {
12986
13091
  method: "POST",
@@ -12991,21 +13096,21 @@ function useUserOpStatus(options = {}) {
12991
13096
  if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
12992
13097
  return json.result;
12993
13098
  }, []);
12994
- const extractMempoolInfo = React23.useCallback((m) => {
13099
+ const extractMempoolInfo = React21.useCallback((m) => {
12995
13100
  if (!m) return null;
12996
13101
  const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
12997
13102
  const sender = m.sender || m?.userOperation?.sender || null;
12998
13103
  if (!entryPoint && !sender) return null;
12999
13104
  return { entryPoint, sender };
13000
13105
  }, []);
13001
- const updateState = React23.useCallback((newState) => {
13106
+ const updateState = React21.useCallback((newState) => {
13002
13107
  setState(newState);
13003
13108
  if (prevStateRef.current !== newState) {
13004
13109
  prevStateRef.current = newState;
13005
13110
  onStateChange?.(newState);
13006
13111
  }
13007
13112
  }, [onStateChange]);
13008
- const tick = React23.useCallback(async () => {
13113
+ const tick = React21.useCallback(async () => {
13009
13114
  if (!userOpHash || !enabled) return;
13010
13115
  if (receipt) {
13011
13116
  console.log("[useUserOpStatus] Already have receipt, skipping tick");
@@ -13078,7 +13183,7 @@ function useUserOpStatus(options = {}) {
13078
13183
  onTxHash,
13079
13184
  onReceipt
13080
13185
  ]);
13081
- React23.useEffect(() => {
13186
+ React21.useEffect(() => {
13082
13187
  if (!userOpHash || !enabled) return;
13083
13188
  console.log("[useUserOpStatus] Initializing for UserOp hash:", userOpHash);
13084
13189
  startTimeRef.current = Date.now();
@@ -13090,7 +13195,7 @@ function useUserOpStatus(options = {}) {
13090
13195
  setError(null);
13091
13196
  setIsPolling(false);
13092
13197
  }, [userOpHash, enabled]);
13093
- React23.useEffect(() => {
13198
+ React21.useEffect(() => {
13094
13199
  if (!userOpHash || !enabled) {
13095
13200
  console.log("[useUserOpStatus] Not starting polling - no hash or disabled");
13096
13201
  return;
@@ -13126,7 +13231,7 @@ function useUserOpStatus(options = {}) {
13126
13231
  }
13127
13232
  };
13128
13233
  }, [userOpHash, enabled, pollMs]);
13129
- const refresh = React23.useCallback(async () => {
13234
+ const refresh = React21.useCallback(async () => {
13130
13235
  await tick();
13131
13236
  }, [tick]);
13132
13237
  return {
@@ -13142,11 +13247,11 @@ function useUserOpStatus(options = {}) {
13142
13247
 
13143
13248
  // src/hooks/useLogout.ts
13144
13249
  import { logout as coreLogout, jwtTokenManager as jwtTokenManager3 } from "@lumiapassport/core/auth";
13145
- import { useCallback as useCallback21 } from "react";
13250
+ import { useCallback as useCallback22 } from "react";
13146
13251
  function useLogout() {
13147
13252
  const { setSession, setIsLoading, setAddress, setStatus, setError, address } = useLumiaPassportSession();
13148
13253
  const { callbacks } = useLumiaPassportConfig();
13149
- const logout2 = useCallback21(async () => {
13254
+ const logout2 = useCallback22(async () => {
13150
13255
  const prevAddress = address;
13151
13256
  let userId = null;
13152
13257
  setIsLoading(true);
@@ -13293,49 +13398,6 @@ function useSmartAccountTransactions() {
13293
13398
  };
13294
13399
  }
13295
13400
 
13296
- // src/modules/linkedProfiles.ts
13297
- import * as React24 from "react";
13298
- init_auth();
13299
- init_common();
13300
- init_types();
13301
- function useLumiaPassportLinkedProfiles() {
13302
- const { providersVersion } = useLumiaPassportConfig();
13303
- const [profiles, setProfiles] = React24.useState([]);
13304
- const [avatar, setAvatar] = React24.useState(null);
13305
- const [isLoading, setIsLoading] = React24.useState(false);
13306
- const [error, setError] = React24.useState(null);
13307
- const load = React24.useCallback(async () => {
13308
- setIsLoading(true);
13309
- setError(null);
13310
- try {
13311
- const list = await getLinkedProviders();
13312
- const enriched = list.map((p) => {
13313
- const info = getProviderDisplayInfo(p.provider);
13314
- return {
13315
- ...p,
13316
- displayName: info.name,
13317
- icon: info.icon
13318
- // color: info.color,
13319
- };
13320
- });
13321
- setProfiles(enriched);
13322
- try {
13323
- setAvatar(jwtTokenManager2.getAvatar() || null);
13324
- } catch {
13325
- setAvatar(null);
13326
- }
13327
- } catch (e) {
13328
- setError(e?.message || "Failed to load linked profiles");
13329
- } finally {
13330
- setIsLoading(false);
13331
- }
13332
- }, []);
13333
- React24.useEffect(() => {
13334
- load();
13335
- }, [load, providersVersion]);
13336
- return { profiles, avatar, isLoading, error, refresh: load };
13337
- }
13338
-
13339
13401
  // src/index.ts
13340
13402
  init_iframe_manager();
13341
13403
  (() => {