@lumiapassport/ui-kit 1.15.2 → 1.15.4

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.cjs CHANGED
@@ -4557,6 +4557,7 @@ __export(index_exports, {
4557
4557
  signTypedData: () => signTypedData,
4558
4558
  updateUserProfile: () => updateUserProfile,
4559
4559
  useAssets: () => useAssets,
4560
+ useErc3643Compliance: () => useErc3643Compliance,
4560
4561
  useLogout: () => useLogout,
4561
4562
  useLumiaPassportAccountSession: () => useLumiaPassportAccountSession,
4562
4563
  useLumiaPassportAddress: () => useLumiaPassportAddress,
@@ -4586,7 +4587,7 @@ __export(index_exports, {
4586
4587
  module.exports = __toCommonJS(index_exports);
4587
4588
 
4588
4589
  // src/styles/built.css
4589
- var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-1{top:-.25rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .-top-3{top:-.75rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-0{right:0}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .m-4{margin:1rem}.lumia-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .aspect-square{aspect-ratio:1/1}.lumia-scope .size-3{width:.75rem;height:.75rem}.lumia-scope .size-3\\.5{width:.875rem;height:.875rem}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-7{height:1.75rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[100dvh\\]{height:100dvh}.lumia-scope .h-\\[48px\\]{height:48px}.lumia-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[40px\\]{width:40px}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-4{min-width:1rem}.lumia-scope .min-w-5{min-width:1.25rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[8rem\\]{min-width:8rem}.lumia-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[150px\\]{max-width:150px}.lumia-scope .max-w-\\[160px\\]{max-width:160px}.lumia-scope .max-w-\\[256px\\]{max-width:256px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.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 .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lumia-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lumia-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lumia-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-0\\.5{gap:.125rem}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-1\\.5{gap:.375rem}.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 :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-x-hidden{overflow-x:hidden}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-normal{overflow-wrap:normal;word-break:normal}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-border\\)\\]{border-color:var(--l-pass-border)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-accent\\)\\]{background-color:var(--l-pass-accent)}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-muted\\)\\]{background-color:var(--l-pass-bg-muted)}.lumia-scope .bg-\\[var\\(--l-pass-bg-secondary\\)\\]{background-color:var(--l-pass-bg-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-error\\)\\]{background-color:var(--l-pass-error)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-gap\\)\\]{padding:var(--l-pass-gap)}.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-1{padding-left:.25rem;padding-right:.25rem}.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-\\[2px\\]{padding-left:2px;padding-right:2px}.lumia-scope .px-\\[var\\(--l-pass-gap\\)\\]{padding-left:var(--l-pass-gap);padding-right:var(--l-pass-gap)}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-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-\\[10px\\]{padding-top:10px;padding-bottom:10px}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pl-2{padding-left:.5rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pr-8{padding-right:2rem}.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-\\[14px\\]{font-size:14px}.lumia-scope .text-\\[16px\\]{font-size:16px}.lumia-scope .text-\\[8px\\]{font-size:8px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-normal{font-weight:400}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .lowercase{text-transform:lowercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-8{line-height:2rem}.lumia-scope .leading-\\[8px\\]{line-height:8px}.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-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-2{text-underline-offset:2px}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .shadow-sm,.lumia-scope .shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .grayscale{--tw-grayscale:grayscale(100%)}.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,384px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#ebebeb);--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%,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.6));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.6));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.4));--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,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.lumia-scope input,.lumia-scope textarea{font-size:16px!important}.lumia-scope .lumia-passport-button{box-shadow:0 4px 20px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.lumia-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.lumia-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}.lumia-scope .file\\:mr-\\[var\\(--l-pass-gap\\)\\]::file-selector-button{margin-right:var(--l-pass-gap)}.lumia-scope .file\\:h-12::file-selector-button{height:3rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.lumia-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-secondary\\)\\]:hover:disabled{background-color:var(--l-pass-secondary)}.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-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.lumia-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.lumia-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.lumia-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{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 .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.lumia-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{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 .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.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)}.lumia-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--l-pass-gap\\)\\][data-slot=select-value]>*){gap:var(--l-pass-gap)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.lumia-scope .md\\:h-8{height:2rem}.lumia-scope .md\\:w-8{width:2rem}.lumia-scope .md\\:gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\\'size-\\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
4590
+ var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .sticky{position:sticky}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-0{right:0}.lumia-scope .-right-0\\.5{right:-.125rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-0{top:0}.lumia-scope .-top-0\\.5{top:-.125rem}.lumia-scope .-top-1{top:-.25rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .-top-3{top:-.75rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-0{right:0}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .m-4{margin:1rem}.lumia-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .aspect-square{aspect-ratio:1/1}.lumia-scope .size-3{width:.75rem;height:.75rem}.lumia-scope .size-3\\.5{width:.875rem;height:.875rem}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .h-1{height:.25rem}.lumia-scope .h-1\\.5{height:.375rem}.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-7{height:1.75rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[100dvh\\]{height:100dvh}.lumia-scope .h-\\[48px\\]{height:48px}.lumia-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.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-64{max-height:16rem}.lumia-scope .max-h-80{max-height:20rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .max-h-full{max-height:100%}.lumia-scope .w-1{width:.25rem}.lumia-scope .w-1\\.5{width:.375rem}.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-72{width:18rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[40px\\]{width:40px}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-4{min-width:1rem}.lumia-scope .min-w-5{min-width:1.25rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[8rem\\]{min-width:8rem}.lumia-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[150px\\]{max-width:150px}.lumia-scope .max-w-\\[160px\\]{max-width:160px}.lumia-scope .max-w-\\[256px\\]{max-width:256px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[80px\\]{max-width:80px}.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 .rotate-180{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 .rotate-180{--tw-rotate:180deg}.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-help{cursor:help}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.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 .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lumia-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lumia-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lumia-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-0\\.5{gap:.125rem}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-1\\.5{gap:.375rem}.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 :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-x-hidden{overflow-x:hidden}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-normal{overflow-wrap:normal;word-break:normal}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-border\\)\\]{border-color:var(--l-pass-border)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-accent\\)\\]{background-color:var(--l-pass-accent)}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-muted\\)\\]{background-color:var(--l-pass-bg-muted)}.lumia-scope .bg-\\[var\\(--l-pass-bg-secondary\\)\\]{background-color:var(--l-pass-bg-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-error\\)\\]{background-color:var(--l-pass-error)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-black\\/90{background-color:rgba(0,0,0,.9)}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-gap\\)\\]{padding:var(--l-pass-gap)}.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-1{padding-left:.25rem;padding-right:.25rem}.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-\\[2px\\]{padding-left:2px;padding-right:2px}.lumia-scope .px-\\[var\\(--l-pass-gap\\)\\]{padding-left:var(--l-pass-gap);padding-right:var(--l-pass-gap)}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-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-\\[10px\\]{padding-top:10px;padding-bottom:10px}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pl-2{padding-left:.5rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pr-8{padding-right:2rem}.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-\\[14px\\]{font-size:14px}.lumia-scope .text-\\[16px\\]{font-size:16px}.lumia-scope .text-\\[8px\\]{font-size:8px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-normal{font-weight:400}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .lowercase{text-transform:lowercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-8{line-height:2rem}.lumia-scope .leading-\\[8px\\]{line-height:8px}.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 .tracking-wider{letter-spacing:.05em}.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-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-2{text-underline-offset:2px}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .shadow-sm,.lumia-scope .shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .grayscale{--tw-grayscale:grayscale(100%)}.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;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 .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,384px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#ebebeb);--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,#16a34a);--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,#ca8a04);--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#dc2626);--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%,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.6));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.6));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.4));--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,.1));--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,#22c55e);--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,#eab308);--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#ef4444);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.lumia-scope input,.lumia-scope textarea{font-size:16px!important}.lumia-scope .lumia-passport-button{box-shadow:0 4px 20px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.lumia-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.lumia-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}.lumia-scope .file\\:mr-\\[var\\(--l-pass-gap\\)\\]::file-selector-button{margin-right:var(--l-pass-gap)}.lumia-scope .file\\:h-12::file-selector-button{height:3rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.lumia-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg-secondary\\)\\]:hover{background-color:var(--l-pass-bg-secondary)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-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\\:underline:hover{text-decoration-line:underline}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:bg-transparent:focus{background-color:transparent}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-secondary\\)\\]:hover:disabled{background-color:var(--l-pass-secondary)}.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-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.lumia-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.lumia-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.lumia-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{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 .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.lumia-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{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 .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.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)}.lumia-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--l-pass-gap\\)\\][data-slot=select-value]>*){gap:var(--l-pass-gap)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.lumia-scope .md\\:h-8{height:2rem}.lumia-scope .md\\:w-8{width:2rem}.lumia-scope .md\\:gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\\'size-\\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
4590
4591
 
4591
4592
  // src/context/LumiaPassportContext.tsx
4592
4593
  var import_error_tracking4 = require("@lumiapassport/core/internal/error-tracking");
@@ -5458,6 +5459,23 @@ function Header() {
5458
5459
  const config = useLumiaPassportConfig().config;
5459
5460
  const address = useLumiaPassportSession((st) => st.address);
5460
5461
  const [copied, setCopied] = (0, import_react5.useState)(false);
5462
+ const [showEasterEgg, setShowEasterEgg] = (0, import_react5.useState)(false);
5463
+ const clickCountRef = (0, import_react5.useRef)(0);
5464
+ const clickTimerRef = (0, import_react5.useRef)(null);
5465
+ const handleAvatarClick = (0, import_react5.useCallback)(() => {
5466
+ clickCountRef.current += 1;
5467
+ if (clickTimerRef.current) {
5468
+ clearTimeout(clickTimerRef.current);
5469
+ }
5470
+ if (clickCountRef.current >= 5) {
5471
+ clickCountRef.current = 0;
5472
+ setShowEasterEgg(true);
5473
+ } else {
5474
+ clickTimerRef.current = setTimeout(() => {
5475
+ clickCountRef.current = 0;
5476
+ }, 1e3);
5477
+ }
5478
+ }, []);
5461
5479
  const { data: profile, isLoading: isProfileLoading } = (0, import_react_query5.useQuery)({
5462
5480
  retry: false,
5463
5481
  enabled: !!address,
@@ -5475,7 +5493,14 @@ function Header() {
5475
5493
  className: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)] pt-5",
5476
5494
  children: [
5477
5495
  /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
5478
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "flex-none w-12 h-12 flex items-center justify-center", children: avatar ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("img", { src: avatar, alt: displayName, className: "w-full h-full object-cover rounded-full" }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(LumiaIcon, { width: 48, height: 48 }) }),
5496
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
5497
+ "div",
5498
+ {
5499
+ className: "flex-none w-12 h-12 flex items-center justify-center cursor-pointer select-none",
5500
+ onClick: handleAvatarClick,
5501
+ children: avatar ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("img", { src: avatar, alt: displayName, className: "w-full h-full object-cover rounded-full" }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(LumiaIcon, { width: 48, height: 48 })
5502
+ }
5503
+ ),
5479
5504
  /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
5480
5505
  "div",
5481
5506
  {
@@ -5553,7 +5578,35 @@ function Header() {
5553
5578
  }
5554
5579
  )
5555
5580
  ] })
5556
- ] })
5581
+ ] }),
5582
+ showEasterEgg && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
5583
+ "div",
5584
+ {
5585
+ className: "fixed inset-0 z-[9999] bg-black/90 flex items-center justify-center",
5586
+ onClick: () => setShowEasterEgg(false),
5587
+ children: [
5588
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
5589
+ "button",
5590
+ {
5591
+ className: "absolute top-4 right-4 text-white hover:text-gray-300 transition-colors",
5592
+ onClick: () => setShowEasterEgg(false),
5593
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_lucide_react7.X, { className: "w-8 h-8" })
5594
+ }
5595
+ ),
5596
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
5597
+ "video",
5598
+ {
5599
+ autoPlay: true,
5600
+ controls: true,
5601
+ className: "max-w-full max-h-full",
5602
+ onEnded: () => setShowEasterEgg(false),
5603
+ onClick: (e) => e.stopPropagation(),
5604
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("source", { src: "https://github.com/cyberkostyan/ABrobot-ESP32-C3/raw/main/2026.webm", type: "video/webm" })
5605
+ }
5606
+ )
5607
+ ]
5608
+ }
5609
+ )
5557
5610
  ]
5558
5611
  }
5559
5612
  );
@@ -5562,7 +5615,7 @@ function Header() {
5562
5615
  // package.json
5563
5616
  var package_default = {
5564
5617
  name: "@lumiapassport/ui-kit",
5565
- version: "1.15.2",
5618
+ version: "1.15.4",
5566
5619
  description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
5567
5620
  type: "module",
5568
5621
  main: "./dist/index.cjs",
@@ -6523,9 +6576,12 @@ Input.displayName = "Input";
6523
6576
  var import_jsx_runtime21 = require("react/jsx-runtime");
6524
6577
  function Email() {
6525
6578
  const { config, callbacks } = useLumiaPassportConfig();
6579
+ const focusRef = (0, import_react14.useRef)(null);
6580
+ const inputRef = (0, import_react14.useRef)(null);
6526
6581
  const buttonRef = (0, import_react14.useRef)(null);
6527
6582
  const isLoading = useLumiaPassportSession((st) => st.isLoading);
6528
6583
  const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
6584
+ const isMobileView = useLayoutStore((st) => st.isMobileView);
6529
6585
  const { email, alert: alert2, setEmail, setExpiresIn, setStep, setAlert } = useAuthStore();
6530
6586
  const { mutate: onSendVerificationCode } = (0, import_react_query7.useMutation)({
6531
6587
  mutationFn: async (mail) => {
@@ -6578,48 +6634,67 @@ function Email() {
6578
6634
  setIsLoading(false);
6579
6635
  }
6580
6636
  });
6581
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
6582
- "div",
6583
- {
6584
- className: "w-full flex gap-[10px] items-center",
6585
- onKeyDown: (e) => {
6586
- if (e.key === "Enter" && !isLoading && email) {
6587
- buttonRef.current?.click();
6588
- }
6589
- },
6590
- children: [
6591
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6592
- Input,
6593
- {
6594
- name: "signin-email",
6595
- Icon: import_lucide_react11.Mail,
6596
- type: "email",
6597
- autoComplete: "off",
6598
- placeholder: config.current?.email?.placeholder || "Enter your email",
6599
- value: email,
6600
- disabled: isLoading,
6601
- className: "flex-1 w-full",
6602
- onChange: (e) => {
6603
- if (alert2) setAlert(null);
6604
- setEmail(e.target.value);
6605
- }
6606
- }
6607
- ),
6608
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6609
- Button,
6610
- {
6611
- ref: buttonRef,
6612
- className: "w-12 h-12 flex-none",
6613
- variant: "default",
6614
- size: "large",
6615
- disabled: !email || isLoading,
6616
- onClick: () => onSendVerificationCode(email),
6617
- children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react11.Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react11.ChevronRight, { className: "w-4 h-4" })
6637
+ (0, import_react14.useEffect)(() => {
6638
+ if (!focusRef.current || !isMobileView) return;
6639
+ focusRef.current?.focus();
6640
+ setTimeout(() => {
6641
+ inputRef.current?.focus();
6642
+ }, 375 * 3);
6643
+ }, [isMobileView]);
6644
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "relative w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
6645
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6646
+ "div",
6647
+ {
6648
+ ref: focusRef,
6649
+ className: "absolute top-4 left-4 w-1 h-1 rounded-full focus:bg-transparent outline-none",
6650
+ tabIndex: -1
6651
+ }
6652
+ ),
6653
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
6654
+ "div",
6655
+ {
6656
+ className: "w-full flex gap-[10px] items-center",
6657
+ onKeyDown: (e) => {
6658
+ if (e.key === "Enter" && !isLoading && email) {
6659
+ buttonRef.current?.click();
6618
6660
  }
6619
- )
6620
- ]
6621
- }
6622
- ) });
6661
+ },
6662
+ children: [
6663
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6664
+ Input,
6665
+ {
6666
+ ref: inputRef,
6667
+ name: "signin-email",
6668
+ Icon: import_lucide_react11.Mail,
6669
+ type: "email",
6670
+ autoComplete: "off",
6671
+ autoFocus: !isMobileView,
6672
+ placeholder: config.current?.email?.placeholder || "Enter your email",
6673
+ value: email,
6674
+ disabled: isLoading,
6675
+ className: "flex-1 w-full",
6676
+ onChange: (e) => {
6677
+ if (alert2) setAlert(null);
6678
+ setEmail(e.target.value);
6679
+ }
6680
+ }
6681
+ ),
6682
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6683
+ Button,
6684
+ {
6685
+ ref: buttonRef,
6686
+ className: "w-12 h-12 flex-none",
6687
+ variant: "default",
6688
+ size: "large",
6689
+ disabled: !email || isLoading,
6690
+ onClick: () => onSendVerificationCode(email),
6691
+ children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react11.Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react11.ChevronRight, { className: "w-4 h-4" })
6692
+ }
6693
+ )
6694
+ ]
6695
+ }
6696
+ )
6697
+ ] });
6623
6698
  }
6624
6699
 
6625
6700
  // src/internal/components/AuthMenu/SignInStep/Social.tsx
@@ -11994,10 +12069,69 @@ function SecurityMenu() {
11994
12069
  }
11995
12070
 
11996
12071
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
11997
- var import_lucide_react42 = require("lucide-react");
12072
+ var import_lucide_react43 = require("lucide-react");
11998
12073
  var import_react50 = require("react");
11999
12074
  var import_viem10 = require("viem");
12000
- var import_wagmi4 = require("wagmi");
12075
+
12076
+ // src/hooks/useErc3643Compliance.ts
12077
+ var import_wagmi3 = require("wagmi");
12078
+ init_base();
12079
+ var ERC3643_CAN_TRANSFER_ABI = [
12080
+ {
12081
+ type: "function",
12082
+ name: "canTransfer",
12083
+ inputs: [
12084
+ { name: "_to", type: "address" },
12085
+ { name: "_value", type: "uint256" }
12086
+ ],
12087
+ outputs: [{ name: "", type: "bool" }]
12088
+ }
12089
+ ];
12090
+ function useErc3643Compliance(options) {
12091
+ const { tokenAddress, to, amount, enabled = true } = options;
12092
+ const isQueryEnabled = enabled && !!tokenAddress && !!to && amount !== void 0;
12093
+ const {
12094
+ data: canTransferResult,
12095
+ isLoading,
12096
+ error: queryError,
12097
+ refetch
12098
+ } = (0, import_wagmi3.useReadContract)({
12099
+ address: tokenAddress,
12100
+ abi: ERC3643_CAN_TRANSFER_ABI,
12101
+ functionName: "canTransfer",
12102
+ args: to && amount !== void 0 ? [to, amount] : void 0,
12103
+ chainId: lumiaBeam.id,
12104
+ query: {
12105
+ enabled: isQueryEnabled
12106
+ }
12107
+ });
12108
+ let error = null;
12109
+ if (queryError) {
12110
+ const errorMessage = queryError.message || "";
12111
+ if (errorMessage.includes("IDENTITY_NOT_VERIFIED")) {
12112
+ error = "Recipient identity is not verified for this security token";
12113
+ } else if (errorMessage.includes("COUNTRY_NOT_ALLOWED")) {
12114
+ error = "Transfer not allowed to recipient country";
12115
+ } else if (errorMessage.includes("INVESTOR_LIMIT_EXCEEDED")) {
12116
+ error = "Maximum investor limit exceeded for this token";
12117
+ } else if (errorMessage.includes("HOLDING_PERIOD_NOT_MET")) {
12118
+ error = "Holding period requirement not met";
12119
+ } else if (errorMessage.includes("AMOUNT_EXCEEDS_LIMIT")) {
12120
+ error = "Transfer amount exceeds allowed limit";
12121
+ } else {
12122
+ error = "Compliance check failed. Transfer may not be allowed.";
12123
+ }
12124
+ } else if (canTransferResult === false) {
12125
+ error = "Transfer not allowed by token compliance rules";
12126
+ }
12127
+ const canTransfer = typeof canTransferResult === "boolean" ? canTransferResult : void 0;
12128
+ return {
12129
+ canTransfer,
12130
+ isLoading,
12131
+ error,
12132
+ refetch
12133
+ };
12134
+ }
12001
12135
 
12002
12136
  // src/hooks/useNicknameResolve.ts
12003
12137
  var import_react_query34 = require("@tanstack/react-query");
@@ -12148,6 +12282,43 @@ function useNicknameResolve(input, options) {
12148
12282
  var import_react48 = require("react");
12149
12283
  var import_viem8 = require("viem");
12150
12284
  init_account();
12285
+ var ERC20_TRANSFER_ABI = [
12286
+ {
12287
+ type: "function",
12288
+ name: "transfer",
12289
+ inputs: [
12290
+ { name: "to", type: "address" },
12291
+ { name: "amount", type: "uint256" }
12292
+ ],
12293
+ outputs: [{ name: "", type: "bool" }]
12294
+ }
12295
+ ];
12296
+ var ERC721_SAFE_TRANSFER_ABI = [
12297
+ {
12298
+ type: "function",
12299
+ name: "safeTransferFrom",
12300
+ inputs: [
12301
+ { name: "from", type: "address" },
12302
+ { name: "to", type: "address" },
12303
+ { name: "tokenId", type: "uint256" }
12304
+ ],
12305
+ outputs: []
12306
+ }
12307
+ ];
12308
+ var ERC1155_SAFE_TRANSFER_ABI = [
12309
+ {
12310
+ type: "function",
12311
+ name: "safeTransferFrom",
12312
+ inputs: [
12313
+ { name: "from", type: "address" },
12314
+ { name: "to", type: "address" },
12315
+ { name: "id", type: "uint256" },
12316
+ { name: "amount", type: "uint256" },
12317
+ { name: "data", type: "bytes" }
12318
+ ],
12319
+ outputs: []
12320
+ }
12321
+ ];
12151
12322
  function useSendTransaction() {
12152
12323
  const session = useLumiaPassportSession((st) => st.session);
12153
12324
  const address = useLumiaPassportSession((st) => st.address);
@@ -12164,21 +12335,80 @@ function useSendTransaction() {
12164
12335
  setError("Invalid recipient address");
12165
12336
  return null;
12166
12337
  }
12167
- const value = parseFloat(params.value);
12168
- if (isNaN(value) || value < 0) {
12169
- setError("Invalid amount");
12338
+ const assetType = params.assetType || "native";
12339
+ if (assetType !== "erc721") {
12340
+ const value = parseFloat(params.value);
12341
+ if (isNaN(value) || value < 0) {
12342
+ setError("Invalid amount");
12343
+ return null;
12344
+ }
12345
+ }
12346
+ if (assetType !== "native" && !params.tokenAddress) {
12347
+ setError("Token address is required for token transfers");
12348
+ return null;
12349
+ }
12350
+ if ((assetType === "erc721" || assetType === "erc1155") && !params.tokenId) {
12351
+ setError("Token ID is required for NFT transfers");
12170
12352
  return null;
12171
12353
  }
12172
12354
  setIsLoading(true);
12173
12355
  setError(null);
12174
12356
  setUserOpHash(null);
12175
12357
  try {
12176
- const valueWei = (0, import_viem8.parseEther)(params.value).toString();
12358
+ let callTarget;
12359
+ let valueWei;
12360
+ let innerData;
12361
+ switch (assetType) {
12362
+ case "native": {
12363
+ callTarget = params.to;
12364
+ valueWei = (0, import_viem8.parseEther)(params.value).toString();
12365
+ innerData = params.data || "0x";
12366
+ break;
12367
+ }
12368
+ case "erc20":
12369
+ case "erc3643": {
12370
+ const decimals = params.decimals ?? 18;
12371
+ const amount = (0, import_viem8.parseUnits)(params.value, decimals);
12372
+ callTarget = params.tokenAddress;
12373
+ valueWei = "0";
12374
+ innerData = (0, import_viem8.encodeFunctionData)({
12375
+ abi: ERC20_TRANSFER_ABI,
12376
+ functionName: "transfer",
12377
+ args: [params.to, amount]
12378
+ });
12379
+ break;
12380
+ }
12381
+ case "erc721": {
12382
+ callTarget = params.tokenAddress;
12383
+ valueWei = "0";
12384
+ innerData = (0, import_viem8.encodeFunctionData)({
12385
+ abi: ERC721_SAFE_TRANSFER_ABI,
12386
+ functionName: "safeTransferFrom",
12387
+ args: [address, params.to, BigInt(params.tokenId)]
12388
+ });
12389
+ break;
12390
+ }
12391
+ case "erc1155": {
12392
+ const amount = params.value ? BigInt(params.value) : 1n;
12393
+ callTarget = params.tokenAddress;
12394
+ valueWei = "0";
12395
+ innerData = (0, import_viem8.encodeFunctionData)({
12396
+ abi: ERC1155_SAFE_TRANSFER_ABI,
12397
+ functionName: "safeTransferFrom",
12398
+ args: [address, params.to, BigInt(params.tokenId), amount, "0x"]
12399
+ });
12400
+ break;
12401
+ }
12402
+ default: {
12403
+ setError(`Unsupported asset type: ${assetType}`);
12404
+ return null;
12405
+ }
12406
+ }
12177
12407
  const hash = await sendUserOperation(
12178
12408
  session,
12179
- params.to,
12409
+ callTarget,
12180
12410
  valueWei,
12181
- params.data || "0x",
12411
+ innerData,
12182
12412
  "standard",
12183
12413
  "v0.7"
12184
12414
  );
@@ -12208,185 +12438,331 @@ function useSendTransaction() {
12208
12438
  };
12209
12439
  }
12210
12440
 
12211
- // src/modules/assets.ts
12212
- var import_react49 = __toESM(require("react"), 1);
12213
- var import_wagmi3 = require("wagmi");
12214
- var import_viem9 = require("viem");
12441
+ // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
12215
12442
  init_base();
12216
- var COMMON_TOKENS = [
12217
- // Add real token addresses here when available
12218
- // {
12219
- // address: '0x....',
12220
- // name: 'USD Coin',
12221
- // symbol: 'USDC',
12222
- // decimals: 6,
12223
- // logo: 'https://...'
12224
- // }
12225
- ];
12226
- function useAssets(address) {
12227
- const { data: nativeBalance, isLoading: nativeBalanceLoading, refetch: refetchNativeBalance } = (0, import_wagmi3.useBalance)({
12228
- address,
12229
- chainId: lumiaBeam.id,
12230
- query: {
12231
- enabled: !!address
12232
- }
12233
- });
12234
- const tokenContracts = COMMON_TOKENS.map((token) => ({
12235
- address: token.address,
12236
- abi: import_viem9.erc20Abi,
12237
- functionName: "balanceOf",
12238
- args: [address],
12239
- chainId: lumiaBeam.id
12240
- }));
12241
- const readContractsResult = (0, import_wagmi3.useReadContracts)({
12242
- contracts: tokenContracts,
12243
- query: {
12244
- enabled: !!address && COMMON_TOKENS.length > 0
12245
- }
12246
- });
12247
- const { data: tokenBalances, isLoading: tokenBalancesLoading, refetch: refetchTokenBalances } = readContractsResult;
12248
- const getAllAssets = () => {
12249
- const assets = [];
12250
- if (nativeBalance) {
12251
- assets.push({
12252
- type: "native",
12253
- name: "Lumia",
12254
- symbol: "LUMIA",
12255
- balance: nativeBalance.value.toString(),
12256
- formattedBalance: parseFloat(nativeBalance.formatted).toFixed(4),
12257
- decimals: 18
12258
- });
12259
- }
12260
- if (tokenBalances && COMMON_TOKENS.length > 0) {
12261
- tokenBalances.forEach((balance, index) => {
12262
- const token = COMMON_TOKENS[index];
12263
- if (balance.status === "success" && balance.result) {
12264
- const balanceValue = balance.result;
12265
- const formattedBalance = (0, import_viem9.formatUnits)(balanceValue, token.decimals);
12266
- assets.push({
12267
- type: "erc20",
12268
- address: token.address,
12269
- name: token.name,
12270
- symbol: token.symbol,
12271
- balance: balanceValue.toString(),
12272
- formattedBalance: parseFloat(formattedBalance).toFixed(4),
12273
- decimals: token.decimals,
12274
- logo: token.logo
12275
- });
12443
+
12444
+ // src/internal/components/SendRecieveMenu/AssetSelector.tsx
12445
+ var import_lucide_react42 = require("lucide-react");
12446
+ var import_react49 = require("react");
12447
+ var import_viem9 = require("viem");
12448
+ var import_jsx_runtime64 = require("react/jsx-runtime");
12449
+ function isNftAsset2(asset) {
12450
+ return asset.type === "erc721" || asset.type === "erc1155";
12451
+ }
12452
+ function isSecurityToken2(asset) {
12453
+ return asset.type === "erc3643";
12454
+ }
12455
+ function getAssetBalance(asset) {
12456
+ if (isNftAsset2(asset)) {
12457
+ return "1";
12458
+ }
12459
+ const balance = Number((0, import_viem9.formatUnits)(BigInt(asset?.balance || "0"), asset?.decimals || 18));
12460
+ if (balance >= 1e6) {
12461
+ return `${(balance / 1e6).toFixed(2)}M`;
12462
+ }
12463
+ if (balance >= 1e3) {
12464
+ return `${(balance / 1e3).toFixed(2)}K`;
12465
+ }
12466
+ return balance.toFixed(4);
12467
+ }
12468
+ function AssetIcon({ asset, size = "sm" }) {
12469
+ const [imageError, setImageError] = (0, import_react49.useState)(false);
12470
+ const sizeClasses = size === "sm" ? "w-6 h-6" : "w-10 h-10";
12471
+ const textSize = size === "sm" ? "text-xs" : "text-sm";
12472
+ const isNft = isNftAsset2(asset);
12473
+ const nftImage = asset.image || asset.nftMetadata?.image;
12474
+ const isSecurity = isSecurityToken2(asset);
12475
+ if (isNft && nftImage && !imageError) {
12476
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: cn(sizeClasses, "rounded-[var(--l-pass-el-bdrs)] overflow-hidden relative flex-shrink-0"), children: [
12477
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12478
+ "img",
12479
+ {
12480
+ src: nftImage,
12481
+ alt: asset.nftMetadata?.name || asset.name,
12482
+ className: "w-full h-full object-cover",
12483
+ onError: () => setImageError(true)
12276
12484
  }
12277
- });
12278
- }
12279
- return assets;
12485
+ ),
12486
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.Sparkles, { className: "w-2 h-2 text-[var(--l-pass-fg-inverted)]" }) })
12487
+ ] });
12488
+ }
12489
+ if (isNft) {
12490
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: cn(sizeClasses, "rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-fg)] flex items-center justify-center relative flex-shrink-0"), children: [
12491
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.Image, { className: cn(size === "sm" ? "w-3 h-3" : "w-5 h-5", "text-[var(--l-pass-fg-inverted)]") }),
12492
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.Sparkles, { className: "w-2 h-2 text-[var(--l-pass-fg-inverted)]" }) })
12493
+ ] });
12494
+ }
12495
+ if (asset.logo && !imageError) {
12496
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: cn(sizeClasses, "rounded-full overflow-hidden relative flex-shrink-0"), children: [
12497
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12498
+ "img",
12499
+ {
12500
+ src: asset.logo,
12501
+ alt: asset.symbol,
12502
+ className: "w-full h-full object-cover",
12503
+ onError: () => setImageError(true)
12504
+ }
12505
+ ),
12506
+ isSecurity && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-amber-500 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.Shield, { className: "w-2 h-2 text-white" }) })
12507
+ ] });
12508
+ }
12509
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: cn(sizeClasses, "rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center relative flex-shrink-0"), children: [
12510
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: cn("text-[var(--l-pass-fg-inverted)] font-bold", textSize), children: asset.symbol.charAt(0) }),
12511
+ isSecurity && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-amber-500 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.Shield, { className: "w-2 h-2 text-white" }) })
12512
+ ] });
12513
+ }
12514
+ function AssetListItem({ asset, onSelect, isSelected }) {
12515
+ const isNft = isNftAsset2(asset);
12516
+ const handleClick = (e) => {
12517
+ e.preventDefault();
12518
+ e.stopPropagation();
12519
+ onSelect();
12280
12520
  };
12281
- const getTokenBalance = (tokenAddress) => {
12282
- const tokenIndex = COMMON_TOKENS.findIndex(
12283
- (token2) => token2.address.toLowerCase() === tokenAddress.toLowerCase()
12284
- );
12285
- if (tokenIndex === -1 || !tokenBalances?.[tokenIndex]) {
12286
- return null;
12287
- }
12288
- const balance = tokenBalances[tokenIndex];
12289
- const token = COMMON_TOKENS[tokenIndex];
12290
- if (balance.status === "success" && balance.result) {
12291
- const balanceValue = balance.result;
12292
- const formattedBalance = (0, import_viem9.formatUnits)(balanceValue, token.decimals);
12293
- return {
12294
- address: token.address,
12295
- name: token.name,
12296
- symbol: token.symbol,
12297
- decimals: token.decimals,
12298
- balance: balanceValue.toString(),
12299
- formattedBalance: parseFloat(formattedBalance).toFixed(4),
12300
- logo: token.logo
12301
- };
12521
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
12522
+ "button",
12523
+ {
12524
+ type: "button",
12525
+ className: cn(
12526
+ "w-full flex items-center gap-3 p-3 rounded-[var(--l-pass-el-bdrs)]",
12527
+ "hover:bg-[var(--l-pass-bg-secondary)] transition-colors cursor-pointer",
12528
+ isSelected && "bg-[var(--l-pass-bg-secondary)]"
12529
+ ),
12530
+ onClick: handleClick,
12531
+ children: [
12532
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(AssetIcon, { asset, size: "md" }),
12533
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex-1 min-w-0 text-left", children: [
12534
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "font-semibold text-[var(--l-pass-fg)] truncate", children: isNft ? asset.nftMetadata?.name || asset.name : asset.name }),
12535
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: isNft ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12536
+ asset.symbol,
12537
+ asset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "ml-1", children: [
12538
+ "#",
12539
+ asset.tokenId.length > 6 ? `${asset.tokenId.slice(0, 4)}...` : asset.tokenId
12540
+ ] })
12541
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12542
+ getAssetBalance(asset),
12543
+ " ",
12544
+ asset.symbol
12545
+ ] }) })
12546
+ ] })
12547
+ ]
12302
12548
  }
12303
- return null;
12549
+ );
12550
+ }
12551
+ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12552
+ const [isOpen, setIsOpen] = (0, import_react49.useState)(false);
12553
+ const dropdownRef = (0, import_react49.useRef)(null);
12554
+ const buttonRef = (0, import_react49.useRef)(null);
12555
+ (0, import_react49.useEffect)(() => {
12556
+ function handleClickOutside(event) {
12557
+ if (dropdownRef.current && !dropdownRef.current.contains(event.target) && buttonRef.current && !buttonRef.current.contains(event.target)) {
12558
+ setIsOpen(false);
12559
+ }
12560
+ }
12561
+ if (isOpen) {
12562
+ document.addEventListener("mousedown", handleClickOutside);
12563
+ return () => document.removeEventListener("mousedown", handleClickOutside);
12564
+ }
12565
+ }, [isOpen]);
12566
+ const transferableAssets = assets.filter((asset) => {
12567
+ if (isNftAsset2(asset)) return true;
12568
+ const balance = BigInt(asset.balance || "0");
12569
+ return balance > 0n;
12570
+ });
12571
+ const nativeAssets = transferableAssets.filter((a) => a.type === "native");
12572
+ const tokenAssets = transferableAssets.filter((a) => a.type === "erc20");
12573
+ const securityAssets = transferableAssets.filter((a) => a.type === "erc3643");
12574
+ const nftAssets = transferableAssets.filter((a) => a.type === "erc721" || a.type === "erc1155");
12575
+ const handleSelect = (asset) => {
12576
+ onSelect(asset);
12577
+ setIsOpen(false);
12304
12578
  };
12305
- const refreshBalances = async () => {
12306
- await Promise.all([
12307
- refetchNativeBalance(),
12308
- refetchTokenBalances()
12309
- ]);
12579
+ const handleToggle = (e) => {
12580
+ e.preventDefault();
12581
+ e.stopPropagation();
12582
+ if (!disabled) {
12583
+ setIsOpen(!isOpen);
12584
+ }
12310
12585
  };
12311
- return {
12312
- nativeBalance,
12313
- tokenBalances,
12314
- assets: getAllAssets(),
12315
- getTokenBalance,
12316
- refreshBalances,
12317
- isLoading: nativeBalanceLoading || tokenBalancesLoading,
12318
- isConnected: !!address
12586
+ const handleClose = (e) => {
12587
+ e.preventDefault();
12588
+ e.stopPropagation();
12589
+ setIsOpen(false);
12319
12590
  };
12320
- }
12321
- function useTokenInfo(tokenAddress) {
12322
- const readContractsResult = (0, import_wagmi3.useReadContracts)({
12323
- contracts: [
12324
- { address: tokenAddress, abi: import_viem9.erc20Abi, functionName: "name", chainId: lumiaBeam.id },
12325
- { address: tokenAddress, abi: import_viem9.erc20Abi, functionName: "symbol", chainId: lumiaBeam.id },
12326
- { address: tokenAddress, abi: import_viem9.erc20Abi, functionName: "decimals", chainId: lumiaBeam.id }
12327
- ]
12328
- });
12329
- const { data: tokenData, isLoading } = readContractsResult;
12330
- if (!tokenData || isLoading) {
12331
- return { isLoading, tokenInfo: null };
12591
+ if (!selectedAsset) {
12592
+ return null;
12332
12593
  }
12333
- const [nameResult, symbolResult, decimalsResult] = tokenData;
12334
- if (nameResult.status === "success" && symbolResult.status === "success" && decimalsResult.status === "success") {
12335
- return {
12336
- isLoading: false,
12337
- tokenInfo: {
12338
- name: nameResult.result,
12339
- symbol: symbolResult.result,
12340
- decimals: decimalsResult.result,
12341
- address: tokenAddress
12594
+ const isNft = isNftAsset2(selectedAsset);
12595
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "relative", style: { zIndex: isOpen ? 100 : "auto" }, children: [
12596
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
12597
+ "button",
12598
+ {
12599
+ ref: buttonRef,
12600
+ type: "button",
12601
+ disabled,
12602
+ className: cn(
12603
+ "flex items-center gap-1.5 px-2 py-1 rounded-[var(--l-pass-el-bdrs)]",
12604
+ "bg-[var(--l-pass-bg)] hover:bg-[var(--l-pass-bg-secondary)]",
12605
+ "transition-colors cursor-pointer",
12606
+ disabled && "opacity-50 cursor-not-allowed"
12607
+ ),
12608
+ onClick: handleToggle,
12609
+ children: [
12610
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(AssetIcon, { asset: selectedAsset, size: "sm" }),
12611
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-sm font-semibold text-[var(--l-pass-fg)] max-w-[80px] truncate", children: isNft ? selectedAsset.nftMetadata?.name || selectedAsset.symbol : selectedAsset.symbol }),
12612
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.ChevronDown, { className: cn("w-4 h-4 text-[var(--l-pass-fg-muted)] transition-transform", isOpen && "rotate-180") })
12613
+ ]
12342
12614
  }
12343
- };
12344
- }
12345
- return { isLoading: false, tokenInfo: null };
12346
- }
12347
- function useTokenBalance(tokenAddress, userAddress) {
12348
- const { data: balance, isLoading, refetch } = (0, import_wagmi3.useReadContract)({
12349
- address: tokenAddress,
12350
- abi: import_viem9.erc20Abi,
12351
- functionName: "balanceOf",
12352
- args: userAddress ? [userAddress] : void 0,
12353
- chainId: lumiaBeam.id,
12354
- query: {
12355
- enabled: !!userAddress
12356
- }
12357
- });
12358
- const { tokenInfo } = useTokenInfo(tokenAddress);
12359
- const formattedBalance = import_react49.default.useMemo(() => {
12360
- if (!balance || !tokenInfo) return "0";
12361
- return (0, import_viem9.formatUnits)(balance, tokenInfo.decimals);
12362
- }, [balance, tokenInfo]);
12363
- return {
12364
- balance,
12365
- formattedBalance,
12366
- tokenInfo,
12367
- isLoading,
12368
- refetch
12369
- };
12615
+ ),
12616
+ isOpen && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
12617
+ "div",
12618
+ {
12619
+ ref: dropdownRef,
12620
+ className: cn(
12621
+ "absolute left-0 bottom-full mb-2",
12622
+ "w-72 max-h-64 overflow-y-auto",
12623
+ "bg-[var(--l-pass-bg)] border border-[var(--l-pass-bd)]",
12624
+ "rounded-[var(--l-pass-el-bdrs)] shadow-lg"
12625
+ ),
12626
+ style: { zIndex: 100 },
12627
+ onClick: (e) => e.stopPropagation(),
12628
+ children: [
12629
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "sticky top-0 flex items-center justify-between px-3 py-2 bg-[var(--l-pass-bg)] border-b border-[var(--l-pass-bd)]", children: [
12630
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-sm font-semibold text-[var(--l-pass-fg)]", children: "Select Asset" }),
12631
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Button, { variant: "ghost", size: "icon", onClick: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.X, { className: "w-4 h-4" }) })
12632
+ ] }),
12633
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "p-2", children: [
12634
+ nativeAssets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_jsx_runtime64.Fragment, { children: nativeAssets.map((asset) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12635
+ AssetListItem,
12636
+ {
12637
+ asset,
12638
+ onSelect: () => handleSelect(asset),
12639
+ isSelected: selectedAsset?.type === asset.type && selectedAsset?.symbol === asset.symbol
12640
+ },
12641
+ `native-${asset.symbol}`
12642
+ )) }),
12643
+ tokenAssets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12644
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "Tokens" }),
12645
+ tokenAssets.map((asset) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12646
+ AssetListItem,
12647
+ {
12648
+ asset,
12649
+ onSelect: () => handleSelect(asset),
12650
+ isSelected: selectedAsset?.address === asset.address && selectedAsset?.type === asset.type
12651
+ },
12652
+ `token-${asset.address}`
12653
+ ))
12654
+ ] }),
12655
+ securityAssets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12656
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "Security Tokens" }),
12657
+ securityAssets.map((asset) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12658
+ AssetListItem,
12659
+ {
12660
+ asset,
12661
+ onSelect: () => handleSelect(asset),
12662
+ isSelected: selectedAsset?.address === asset.address && selectedAsset?.type === asset.type
12663
+ },
12664
+ `security-${asset.address}`
12665
+ ))
12666
+ ] }),
12667
+ nftAssets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12668
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "NFTs" }),
12669
+ nftAssets.map((asset) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12670
+ AssetListItem,
12671
+ {
12672
+ asset,
12673
+ onSelect: () => handleSelect(asset),
12674
+ isSelected: selectedAsset?.address === asset.address && selectedAsset?.tokenId === asset.tokenId
12675
+ },
12676
+ `nft-${asset.address}-${asset.tokenId}`
12677
+ ))
12678
+ ] }),
12679
+ transferableAssets.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "p-4 text-center text-sm text-[var(--l-pass-fg-muted)]", children: "No assets available" })
12680
+ ] })
12681
+ ]
12682
+ }
12683
+ )
12684
+ ] });
12370
12685
  }
12371
12686
 
12372
12687
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
12373
- init_base();
12374
- var import_jsx_runtime64 = require("react/jsx-runtime");
12688
+ var import_jsx_runtime65 = require("react/jsx-runtime");
12689
+ function isNftAsset3(asset) {
12690
+ if (!asset) return false;
12691
+ return asset.type === "erc721" || asset.type === "erc1155";
12692
+ }
12693
+ function isSecurityToken3(asset) {
12694
+ if (!asset) return false;
12695
+ return asset.type === "erc3643";
12696
+ }
12697
+ function getAssetBalance2(asset) {
12698
+ if (!asset) return 0;
12699
+ if (isNftAsset3(asset)) return 1;
12700
+ return Number((0, import_viem10.formatUnits)(BigInt(asset.balance || "0"), asset.decimals || 18));
12701
+ }
12702
+ function formatBalance(balance, decimals = 4) {
12703
+ if (balance >= 1e6) {
12704
+ return `${(balance / 1e6).toFixed(2)}M`;
12705
+ }
12706
+ if (balance >= 1e3) {
12707
+ return `${(balance / 1e3).toFixed(2)}K`;
12708
+ }
12709
+ return balance.toFixed(decimals);
12710
+ }
12711
+ function NftDisplayCard({ asset }) {
12712
+ const [imageError, setImageError] = (0, import_react50.useState)(false);
12713
+ const nftImage = asset.image || asset.nftMetadata?.image;
12714
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-3 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
12715
+ nftImage && !imageError ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
12716
+ "img",
12717
+ {
12718
+ src: nftImage,
12719
+ alt: asset.nftMetadata?.name || asset.name,
12720
+ className: "w-16 h-16 rounded-[var(--l-pass-el-bdrs)] object-cover",
12721
+ onError: () => setImageError(true)
12722
+ }
12723
+ ) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "w-16 h-16 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-fg)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Image, { className: "w-8 h-8 text-[var(--l-pass-fg-inverted)]" }) }),
12724
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex-1 min-w-0", children: [
12725
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "font-semibold text-[var(--l-pass-fg)] truncate", children: asset.nftMetadata?.name || asset.name }),
12726
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: [
12727
+ asset.symbol,
12728
+ asset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "ml-1", children: [
12729
+ "#",
12730
+ asset.tokenId.length > 8 ? `${asset.tokenId.slice(0, 6)}...` : asset.tokenId
12731
+ ] })
12732
+ ] }),
12733
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "text-xs text-[var(--l-pass-fg-muted)] mt-1 flex items-center gap-1", children: [
12734
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Sparkles, { className: "w-3 h-3" }),
12735
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" })
12736
+ ] })
12737
+ ] })
12738
+ ] });
12739
+ }
12375
12740
  function SendLumiaMenu() {
12376
12741
  const page = useLayoutDataStore((st) => st.page);
12377
12742
  const setPage = useLayoutDataStore((st) => st.setPage);
12378
12743
  const open = page === "send";
12379
12744
  const address = useLumiaPassportSession((st) => st.address);
12380
- const { assets } = useAssets(address);
12381
- const { sendTransaction, isLoading, error, userOpHash, reset } = useSendTransaction();
12382
- const { refetch: refetchBalance } = (0, import_wagmi4.useBalance)({
12383
- address,
12384
- chainId: lumiaBeam.id
12745
+ const {
12746
+ assets,
12747
+ refreshBalances,
12748
+ isLoading: isAssetsLoading
12749
+ } = useBlockscoutAssets({
12750
+ address
12385
12751
  });
12752
+ const { sendTransaction, isLoading, error, userOpHash, reset } = useSendTransaction();
12386
12753
  const [recipient, setRecipient] = (0, import_react50.useState)("");
12387
12754
  const [amount, setAmount] = (0, import_react50.useState)("");
12755
+ const [selectedAsset, setSelectedAsset] = (0, import_react50.useState)(null);
12388
12756
  const [txStep, setTxStep] = (0, import_react50.useState)("input");
12389
12757
  const [validationError, setValidationError] = (0, import_react50.useState)(null);
12758
+ (0, import_react50.useEffect)(() => {
12759
+ if (assets.length > 0 && !selectedAsset) {
12760
+ const nativeAsset = assets.find((a) => a.type === "native");
12761
+ if (nativeAsset) {
12762
+ setSelectedAsset(nativeAsset);
12763
+ }
12764
+ }
12765
+ }, [assets, selectedAsset]);
12390
12766
  const isNicknameInput = looksLikeNickname(recipient);
12391
12767
  const {
12392
12768
  resolvedAddress,
@@ -12395,22 +12771,46 @@ function SendLumiaMenu() {
12395
12771
  isWalletNotSetup,
12396
12772
  isFrozen,
12397
12773
  isFingerprintVerified,
12398
- fingerprintVerification,
12399
12774
  data: nicknameData
12400
12775
  } = useNicknameResolve(recipient, {
12401
12776
  enabled: isNicknameInput,
12402
12777
  chainId: lumiaBeam.id
12403
12778
  });
12404
12779
  const effectiveAddress = isNicknameInput ? resolvedAddress : recipient;
12405
- const nativeAsset = assets.find((a) => a.type === "native");
12406
- const balance = nativeAsset ? parseFloat(nativeAsset.formattedBalance) : 0;
12780
+ const balance = getAssetBalance2(selectedAsset);
12781
+ const isNft = isNftAsset3(selectedAsset);
12782
+ const isSecurity = isSecurityToken3(selectedAsset);
12783
+ const complianceAmount = (0, import_react50.useMemo)(() => {
12784
+ if (!isSecurity || !amount || !selectedAsset) return void 0;
12785
+ try {
12786
+ return (0, import_viem10.parseUnits)(amount, selectedAsset.decimals || 18);
12787
+ } catch {
12788
+ return void 0;
12789
+ }
12790
+ }, [isSecurity, amount, selectedAsset]);
12791
+ const {
12792
+ canTransfer: erc3643CanTransfer,
12793
+ isLoading: isComplianceLoading,
12794
+ error: complianceError
12795
+ } = useErc3643Compliance({
12796
+ tokenAddress: selectedAsset?.address,
12797
+ to: effectiveAddress,
12798
+ amount: complianceAmount,
12799
+ enabled: isSecurity && !!effectiveAddress && !!complianceAmount
12800
+ });
12407
12801
  (0, import_react50.useEffect)(() => {
12408
12802
  if (open) {
12409
12803
  setTxStep("input");
12410
12804
  setValidationError(null);
12805
+ setRecipient("");
12806
+ setAmount("");
12411
12807
  reset();
12808
+ const nativeAsset = assets.find((a) => a.type === "native");
12809
+ if (nativeAsset) {
12810
+ setSelectedAsset(nativeAsset);
12811
+ }
12412
12812
  }
12413
- }, [open, reset]);
12813
+ }, [open, reset, assets]);
12414
12814
  const validateInput = () => {
12415
12815
  if (!recipient) {
12416
12816
  setValidationError("Please enter a recipient address or @nickname");
@@ -12445,14 +12845,34 @@ function SendLumiaMenu() {
12445
12845
  setValidationError("Cannot send to yourself");
12446
12846
  return false;
12447
12847
  }
12448
- const amountNum = parseFloat(amount);
12449
- if (!amount || isNaN(amountNum) || amountNum <= 0) {
12450
- setValidationError("Please enter a valid amount");
12848
+ if (!selectedAsset) {
12849
+ setValidationError("Please select an asset to send");
12451
12850
  return false;
12452
12851
  }
12453
- if (amountNum > balance) {
12454
- setValidationError("Insufficient balance");
12455
- return false;
12852
+ if (!isNft) {
12853
+ const amountNum = parseFloat(amount);
12854
+ if (!amount || isNaN(amountNum) || amountNum <= 0) {
12855
+ setValidationError("Please enter a valid amount");
12856
+ return false;
12857
+ }
12858
+ if (amountNum > balance) {
12859
+ setValidationError("Insufficient balance");
12860
+ return false;
12861
+ }
12862
+ }
12863
+ if (isSecurity) {
12864
+ if (isComplianceLoading) {
12865
+ setValidationError("Checking compliance...");
12866
+ return false;
12867
+ }
12868
+ if (complianceError) {
12869
+ setValidationError(complianceError);
12870
+ return false;
12871
+ }
12872
+ if (erc3643CanTransfer === false) {
12873
+ setValidationError("Transfer not allowed by token compliance rules");
12874
+ return false;
12875
+ }
12456
12876
  }
12457
12877
  setValidationError(null);
12458
12878
  return true;
@@ -12462,214 +12882,327 @@ function SendLumiaMenu() {
12462
12882
  setTxStep("confirm");
12463
12883
  };
12464
12884
  const handleConfirm = async () => {
12465
- if (!effectiveAddress) return;
12885
+ if (!effectiveAddress || !selectedAsset) return;
12466
12886
  setTxStep("pending");
12887
+ const txAmount = isNft ? "1" : amount;
12467
12888
  const hash = await sendTransaction({
12468
12889
  to: effectiveAddress,
12469
- value: amount
12890
+ value: txAmount,
12891
+ assetType: selectedAsset.type,
12892
+ tokenAddress: selectedAsset.address,
12893
+ tokenId: selectedAsset.tokenId,
12894
+ decimals: selectedAsset.decimals
12470
12895
  });
12471
12896
  if (hash) {
12472
12897
  setTxStep("success");
12473
- setTimeout(() => {
12474
- refetchBalance();
12475
- }, 2e3);
12898
+ setTimeout(() => refreshBalances(), 3e3);
12476
12899
  } else {
12477
12900
  setTxStep("input");
12478
12901
  }
12479
12902
  };
12480
12903
  const handleMaxAmount = () => {
12481
- const maxAmount = Math.max(0, balance - 1e-3);
12482
- setAmount(maxAmount.toFixed(6));
12904
+ if (!selectedAsset || isNft) return;
12905
+ if (selectedAsset.type === "native") {
12906
+ const maxAmount = Math.max(0, balance - 1e-3);
12907
+ setAmount(maxAmount.toFixed(6));
12908
+ } else {
12909
+ setAmount((0, import_viem10.formatUnits)(BigInt(selectedAsset.balance || "0"), selectedAsset.decimals || 18));
12910
+ }
12483
12911
  };
12484
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12485
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12486
- txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.ArrowLeft, { className: "h-4 w-4" }) }),
12487
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-xl font-semibold", children: "Send LUMIA" })
12912
+ const handleAssetSelect = (asset) => {
12913
+ setSelectedAsset(asset);
12914
+ setAmount("");
12915
+ };
12916
+ const getPageTitle = () => {
12917
+ if (!selectedAsset) return "Send";
12918
+ if (isNft) return `Send NFT`;
12919
+ return `Send ${selectedAsset.symbol}`;
12920
+ };
12921
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12922
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12923
+ txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.ArrowLeft, { className: "h-4 w-4" }) }),
12924
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-xl font-semibold", children: getPageTitle() })
12488
12925
  ] }),
12489
- txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12490
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "w-full flex flex-col gap-2", children: [
12491
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient" }),
12492
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12926
+ txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
12927
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "w-full flex flex-col gap-2", children: [
12928
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient" }),
12929
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
12493
12930
  Input,
12494
12931
  {
12495
- Icon: isNicknameInput ? import_lucide_react42.AtSign : import_lucide_react42.Wallet,
12932
+ Icon: isNicknameInput ? import_lucide_react43.AtSign : import_lucide_react43.Wallet,
12496
12933
  type: "text",
12497
12934
  value: recipient,
12498
12935
  onChange: (e) => setRecipient(e.target.value),
12499
12936
  placeholder: "0x... or @nickname",
12500
- element: isNicknameInput && isResolving ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.Loader, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" }) : null
12937
+ element: isNicknameInput && isResolving ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Loader, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" }) : null
12501
12938
  }
12502
12939
  ),
12503
- isNicknameInput && resolvedAddress && !isResolving && nicknameData && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-start gap-3 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
12504
- nicknameData.avatarSvg ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12940
+ isNicknameInput && resolvedAddress && !isResolving && nicknameData && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-start gap-3 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
12941
+ nicknameData.avatarSvg ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
12505
12942
  "img",
12506
12943
  {
12507
12944
  src: nicknameData.avatarSvg,
12508
12945
  alt: nicknameData.handle,
12509
12946
  className: "w-10 h-10 rounded-full object-cover flex-shrink-0"
12510
12947
  }
12511
- ) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "w-10 h-10 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.AtSign, { className: "w-5 h-5 text-[var(--l-pass-fg-muted)]" }) }),
12512
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex flex-col gap-1 min-w-0", children: [
12513
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-success)]", children: [
12514
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.CheckCircle2, { className: "w-3 h-3 flex-shrink-0" }),
12515
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "font-mono", children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)}` })
12948
+ ) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "w-10 h-10 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.AtSign, { className: "w-5 h-5 text-[var(--l-pass-fg-muted)]" }) }),
12949
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex flex-col gap-1 min-w-0", children: [
12950
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-success)]", children: [
12951
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.CheckCircle2, { className: "w-3 h-3 flex-shrink-0" }),
12952
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "font-mono", children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)}` })
12516
12953
  ] }),
12517
- nicknameData.fingerprint && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: `flex items-center gap-1.5 text-xs ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
12518
- isFingerprintVerified ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.Shield, { className: "w-3 h-3 flex-shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.ShieldAlert, { className: "w-3 h-3 flex-shrink-0" }),
12519
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { children: [
12954
+ nicknameData.fingerprint && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: `flex items-center gap-1.5 text-xs ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
12955
+ isFingerprintVerified ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Shield, { className: "w-3 h-3 flex-shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.ShieldAlert, { className: "w-3 h-3 flex-shrink-0" }),
12956
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { children: [
12520
12957
  "Fingerprint: ",
12521
12958
  nicknameData.fingerprint
12522
12959
  ] }),
12523
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
12960
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
12524
12961
  ] })
12525
12962
  ] })
12526
12963
  ] }),
12527
- isNicknameInput && isFrozen && !isResolving && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-warning)]", children: [
12528
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.AlertTriangle, { className: "w-3 h-3" }),
12529
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { children: "This handle is frozen. Proceed with caution." })
12964
+ isNicknameInput && isFrozen && !isResolving && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-warning)]", children: [
12965
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.AlertTriangle, { className: "w-3 h-3" }),
12966
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: "This handle is frozen. Proceed with caution." })
12530
12967
  ] }),
12531
- isNicknameInput && isWalletNotSetup && !isResolving && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
12532
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.AlertCircle, { className: "w-3 h-3" }),
12533
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { children: "This user has not set up their wallet yet" })
12968
+ isNicknameInput && isWalletNotSetup && !isResolving && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
12969
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.AlertCircle, { className: "w-3 h-3" }),
12970
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: "This user has not set up their wallet yet" })
12534
12971
  ] }),
12535
- isNicknameInput && isNotFound && !isResolving && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
12536
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.AlertCircle, { className: "w-3 h-3" }),
12537
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { children: "Nickname not found" })
12972
+ isNicknameInput && isNotFound && !isResolving && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
12973
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.AlertCircle, { className: "w-3 h-3" }),
12974
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: "Nickname not found" })
12538
12975
  ] })
12539
12976
  ] }),
12540
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "w-full flex flex-col gap-2", children: [
12541
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex justify-between items-center", children: [
12542
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "block text-sm font-medium text-[var(--l-pass-fg-muted)]", children: "Amount" }),
12543
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
12977
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "w-full flex flex-col gap-2", children: [
12978
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between items-center", children: [
12979
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "block text-sm font-medium text-[var(--l-pass-fg-muted)]", children: isNft ? "Asset" : "Amount" }),
12980
+ !isNft && selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
12544
12981
  "Balance: ",
12545
- balance.toFixed(4),
12546
- " LUMIA"
12982
+ formatBalance(balance),
12983
+ " ",
12984
+ selectedAsset.symbol
12547
12985
  ] })
12548
12986
  ] }),
12549
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12550
- Input,
12551
- {
12552
- Icon: LumiaIcon,
12553
- type: "number",
12554
- value: amount,
12555
- onChange: (e) => setAmount(e.target.value),
12556
- placeholder: "0.0",
12557
- step: "0.000001",
12558
- element: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Button, { onClick: handleMaxAmount, variant: "ghost", size: "medium", children: "MAX" })
12559
- }
12560
- )
12987
+ isNft && selectedAsset ? (
12988
+ // NFT display card
12989
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(NftDisplayCard, { asset: selectedAsset })
12990
+ ) : (
12991
+ // Fungible token amount input
12992
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex h-12 w-full rounded-[var(--l-pass-el-bdrs)] items-center gap-[var(--l-pass-gap)] px-[var(--l-pass-pd)] bg-[var(--l-pass-secondary)] hover:bg-[var(--l-pass-secondary-h)] transition-colors duration-200 ease-in-out focus-within:bg-[var(--l-pass-secondary-a)]", children: [
12993
+ selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
12994
+ AssetSelector,
12995
+ {
12996
+ assets,
12997
+ selectedAsset,
12998
+ onSelect: handleAssetSelect,
12999
+ disabled: isAssetsLoading
13000
+ }
13001
+ ),
13002
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
13003
+ "input",
13004
+ {
13005
+ type: "number",
13006
+ value: amount,
13007
+ onChange: (e) => setAmount(e.target.value),
13008
+ placeholder: "0.0",
13009
+ step: "0.000001",
13010
+ className: cn(
13011
+ "text-[16px] text-[var(--l-pass-fg)] font-semibold",
13012
+ "placeholder:text-[var(--l-pass-fg-muted)]",
13013
+ "focus-visible:outline-none focus-visible:ring-0",
13014
+ "w-full h-full flex-1 border-0 bg-transparent px-0"
13015
+ )
13016
+ }
13017
+ ),
13018
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { onClick: handleMaxAmount, variant: "ghost", size: "medium", children: "MAX" })
13019
+ ] })
13020
+ ),
13021
+ isNft && selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-2 mt-2", children: [
13022
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Change asset:" }),
13023
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
13024
+ AssetSelector,
13025
+ {
13026
+ assets,
13027
+ selectedAsset,
13028
+ onSelect: handleAssetSelect,
13029
+ disabled: isAssetsLoading
13030
+ }
13031
+ )
13032
+ ] })
12561
13033
  ] }),
12562
- (validationError || error) && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)] rounded-[var(--l-pass-el-bdrs)]", children: [
12563
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.AlertCircle, { className: "h-4 w-4" }),
12564
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-sm", children: validationError || error })
13034
+ isSecurity && effectiveAddress && amount && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: cn(
13035
+ "flex items-center gap-2 p-3 rounded-[var(--l-pass-el-bdrs)]",
13036
+ isComplianceLoading && "bg-[var(--l-pass-bg-info)] text-[var(--l-pass-info)]",
13037
+ !isComplianceLoading && erc3643CanTransfer && "bg-[var(--l-pass-bg-success)] text-[var(--l-pass-success)]",
13038
+ !isComplianceLoading && !erc3643CanTransfer && "bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)]"
13039
+ ), children: isComplianceLoading ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13040
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Loader, { className: "h-4 w-4 animate-spin" }),
13041
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Checking compliance..." })
13042
+ ] }) : erc3643CanTransfer ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13043
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.CheckCircle2, { className: "h-4 w-4" }),
13044
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Transfer compliant" })
13045
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13046
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.AlertCircle, { className: "h-4 w-4" }),
13047
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: complianceError || "Transfer not allowed" })
13048
+ ] }) }),
13049
+ (validationError || error) && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)] rounded-[var(--l-pass-el-bdrs)]", children: [
13050
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.AlertCircle, { className: "h-4 w-4" }),
13051
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: validationError || error })
12565
13052
  ] }),
12566
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Button, { onClick: handleSend, disabled: isLoading, className: "w-full", size: "large", children: "Continue" })
13053
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { onClick: handleSend, disabled: isLoading || isComplianceLoading, className: "w-full", size: "large", children: "Continue" })
12567
13054
  ] }),
12568
- txStep === "confirm" && effectiveAddress && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12569
- isNicknameInput && isFrozen && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-warning)] text-[var(--l-pass-warning)] rounded-[var(--l-pass-el-bdrs)]", children: [
12570
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.AlertTriangle, { className: "h-4 w-4 flex-shrink-0" }),
12571
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-sm font-medium", children: "This handle is frozen. Proceed with caution." })
13055
+ txStep === "confirm" && effectiveAddress && selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13056
+ isNicknameInput && isFrozen && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-warning)] text-[var(--l-pass-warning)] rounded-[var(--l-pass-el-bdrs)]", children: [
13057
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.AlertTriangle, { className: "h-4 w-4 flex-shrink-0" }),
13058
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm font-medium", children: "This handle is frozen. Proceed with caution." })
12572
13059
  ] }),
12573
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "bg-[var(--l-pass-bg-secondary)] rounded-[var(--l-pass-el-bdrs)] p-4", children: isNicknameInput && nicknameData ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12574
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-start gap-3 mb-4", children: [
12575
- nicknameData.avatarSvg ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
13060
+ isSecurity && erc3643CanTransfer && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-success)] text-[var(--l-pass-success)] rounded-[var(--l-pass-el-bdrs)]", children: [
13061
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Shield, { className: "h-4 w-4 flex-shrink-0" }),
13062
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm font-medium", children: "Security token compliance verified" })
13063
+ ] }),
13064
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "bg-[var(--l-pass-bg-secondary)] rounded-[var(--l-pass-el-bdrs)] p-4", children: isNicknameInput && nicknameData ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13065
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-start gap-3 mb-4", children: [
13066
+ nicknameData.avatarSvg ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
12576
13067
  "img",
12577
13068
  {
12578
13069
  src: nicknameData.avatarSvg,
12579
13070
  alt: nicknameData.handle,
12580
13071
  className: "w-12 h-12 rounded-full object-cover flex-shrink-0"
12581
13072
  }
12582
- ) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.AtSign, { className: "w-6 h-6 text-[var(--l-pass-fg-muted)]" }) }),
12583
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex flex-col gap-1 min-w-0", children: [
12584
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "font-semibold text-lg text-[var(--l-pass-fg)] truncate", children: nicknameData.handle }),
12585
- nicknameData.fingerprint && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: `flex items-center gap-1.5 text-sm ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
12586
- isFingerprintVerified ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.Shield, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.ShieldAlert, { className: "w-4 h-4 flex-shrink-0" }),
12587
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { children: [
13073
+ ) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.AtSign, { className: "w-6 h-6 text-[var(--l-pass-fg-muted)]" }) }),
13074
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex flex-col gap-1 min-w-0", children: [
13075
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "font-semibold text-lg text-[var(--l-pass-fg)] truncate", children: nicknameData.handle }),
13076
+ nicknameData.fingerprint && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: `flex items-center gap-1.5 text-sm ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
13077
+ isFingerprintVerified ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Shield, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.ShieldAlert, { className: "w-4 h-4 flex-shrink-0" }),
13078
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { children: [
12588
13079
  "Fingerprint: ",
12589
13080
  nicknameData.fingerprint
12590
13081
  ] }),
12591
- isFingerprintVerified && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.CheckCircle2, { className: "w-3 h-3" }),
12592
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-xs", children: isFingerprintVerified ? "Verified" : "FAILED" })
13082
+ isFingerprintVerified && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.CheckCircle2, { className: "w-3 h-3" }),
13083
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-xs", children: isFingerprintVerified ? "Verified" : "FAILED" })
12593
13084
  ] }),
12594
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "font-mono text-xs text-[var(--l-pass-fg-muted)]", children: [
13085
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "font-mono text-xs text-[var(--l-pass-fg-muted)]", children: [
12595
13086
  "Address: ",
12596
13087
  `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-6)}`
12597
13088
  ] })
12598
13089
  ] })
12599
13090
  ] }),
12600
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "border-t border-[var(--l-pass-border)] pt-3 space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
12601
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex justify-between", children: [
12602
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
12603
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "font-semibold", children: [
12604
- amount,
12605
- " LUMIA"
13091
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "border-t border-[var(--l-pass-border)] pt-3 space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
13092
+ isNft ? (
13093
+ // NFT details
13094
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_jsx_runtime65.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between items-start", children: [
13095
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "NFT:" }),
13096
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "text-right", children: [
13097
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
13098
+ selectedAsset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: [
13099
+ "#",
13100
+ selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
13101
+ ] })
13102
+ ] })
13103
+ ] }) })
13104
+ ) : (
13105
+ // Fungible token details
13106
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between", children: [
13107
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
13108
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "font-semibold", children: [
13109
+ amount,
13110
+ " ",
13111
+ selectedAsset.symbol
13112
+ ] })
12606
13113
  ] })
12607
- ] }),
12608
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex justify-between", children: [
12609
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
12610
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { children: "Lumia Beam" })
13114
+ ),
13115
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between", children: [
13116
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
13117
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: "Lumia Beam" })
12611
13118
  ] })
12612
13119
  ] })
12613
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12614
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("h3", { className: "font-medium mb-3 text-[var(--l-pass-fg)]", children: "Transaction Details" }),
12615
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
12616
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex justify-between", children: [
12617
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "To:" }),
12618
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "font-mono text-xs", children: `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-4)}` })
13120
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13121
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("h3", { className: "font-medium mb-3 text-[var(--l-pass-fg)]", children: "Transaction Details" }),
13122
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
13123
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between", children: [
13124
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "To:" }),
13125
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "font-mono text-xs", children: `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-4)}` })
12619
13126
  ] }),
12620
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex justify-between", children: [
12621
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
12622
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "font-semibold", children: [
12623
- amount,
12624
- " LUMIA"
13127
+ isNft ? (
13128
+ // NFT details
13129
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_jsx_runtime65.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between items-start", children: [
13130
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "NFT:" }),
13131
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "text-right", children: [
13132
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
13133
+ selectedAsset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: [
13134
+ "#",
13135
+ selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
13136
+ ] })
13137
+ ] })
13138
+ ] }) })
13139
+ ) : (
13140
+ // Fungible token details
13141
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between", children: [
13142
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
13143
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "font-semibold", children: [
13144
+ amount,
13145
+ " ",
13146
+ selectedAsset.symbol
13147
+ ] })
12625
13148
  ] })
12626
- ] }),
12627
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex justify-between", children: [
12628
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
12629
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { children: "Lumia Beam" })
13149
+ ),
13150
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between", children: [
13151
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
13152
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: "Lumia Beam" })
12630
13153
  ] })
12631
13154
  ] })
12632
13155
  ] }) }),
12633
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex gap-2", children: [
12634
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
12635
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
12636
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.Loader, { className: "h-4 w-4 animate-spin" }),
13156
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex gap-2", children: [
13157
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
13158
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
13159
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Loader, { className: "h-4 w-4 animate-spin" }),
12637
13160
  "Confirm"
12638
13161
  ] })
12639
13162
  ] })
12640
13163
  ] }),
12641
- txStep === "pending" && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "py-8 text-center space-y-4", children: [
12642
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.Loader, { className: "h-5 w-5 animate-spin mx-auto" }),
12643
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { children: [
12644
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "block font-medium", children: "Transaction Pending" }),
12645
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
13164
+ txStep === "pending" && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "py-8 text-center space-y-4", children: [
13165
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Loader, { className: "h-5 w-5 animate-spin mx-auto" }),
13166
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { children: [
13167
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "block font-medium", children: "Transaction Pending" }),
13168
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
12646
13169
  ] })
12647
13170
  ] }),
12648
- txStep === "success" && userOpHash && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12649
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "text-center py-4", children: [
12650
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.CheckCircle2, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
12651
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "font-medium", children: "Transaction Sent!" }),
12652
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "text-sm mt-1", children: "Your transaction is being processed" })
13171
+ txStep === "success" && userOpHash && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13172
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "text-center py-4", children: [
13173
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.CheckCircle2, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
13174
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: "font-medium", children: "Transaction Sent!" }),
13175
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: "text-sm mt-1", children: "Your transaction is being processed" })
12653
13176
  ] }),
12654
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "Done" })
13177
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "Done" })
12655
13178
  ] })
12656
13179
  ] });
12657
13180
  }
12658
13181
 
12659
13182
  // src/internal/components/SendRecieveMenu/ReceiveLumiaMenu.tsx
12660
- var import_lucide_react43 = require("lucide-react");
13183
+ var import_lucide_react44 = require("lucide-react");
12661
13184
  var import_qrcode = __toESM(require("qrcode"), 1);
12662
13185
  var import_react51 = require("react");
12663
13186
  init_clients();
12664
- var import_jsx_runtime65 = require("react/jsx-runtime");
13187
+ var import_jsx_runtime66 = require("react/jsx-runtime");
12665
13188
  function ReceiveLumiaMenu() {
12666
- const address = useLumiaPassportSession((st) => st.address);
13189
+ const session = useLumiaPassportSession((st) => st.session);
13190
+ const address = session?.smartAccountAddress ?? null;
12667
13191
  const page = useLayoutDataStore((st) => st.page);
12668
13192
  const setPage = useLayoutDataStore((st) => st.setPage);
12669
13193
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
12670
13194
  const open = page === "receive";
12671
13195
  const [qrCodeUrl, setQrCodeUrl] = (0, import_react51.useState)("");
12672
13196
  const [copied, setCopied] = (0, import_react51.useState)(false);
13197
+ const [fingerprintCopied, setFingerprintCopied] = (0, import_react51.useState)(false);
13198
+ const fingerprint = (0, import_react51.useMemo)(() => {
13199
+ if (!session?.ownerAddress) return null;
13200
+ try {
13201
+ return generateFingerprint(session.ownerAddress);
13202
+ } catch {
13203
+ return null;
13204
+ }
13205
+ }, [session?.ownerAddress]);
12673
13206
  (0, import_react51.useEffect)(() => {
12674
13207
  if (open && address) {
12675
13208
  import_qrcode.default.toDataURL(address, {
@@ -12693,7 +13226,17 @@ function ReceiveLumiaMenu() {
12693
13226
  console.error("Failed to copy address:", error);
12694
13227
  }
12695
13228
  }, [address]);
12696
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
13229
+ const handleCopyFingerprint = (0, import_react51.useCallback)(async () => {
13230
+ if (!fingerprint) return;
13231
+ try {
13232
+ await navigator.clipboard.writeText(fingerprint);
13233
+ setFingerprintCopied(true);
13234
+ setTimeout(() => setFingerprintCopied(false), 2e3);
13235
+ } catch (error) {
13236
+ console.error("Failed to copy fingerprint:", error);
13237
+ }
13238
+ }, [fingerprint]);
13239
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
12697
13240
  "div",
12698
13241
  {
12699
13242
  style: {
@@ -12702,43 +13245,61 @@ function ReceiveLumiaMenu() {
12702
13245
  },
12703
13246
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
12704
13247
  children: [
12705
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
12706
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.ArrowLeft, { className: "h-4 w-4" }) }),
12707
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
13248
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
13249
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.ArrowLeft, { className: "h-4 w-4" }) }),
13250
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
12708
13251
  ] }),
12709
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Highlight, { className: "text-center", type: "warning", children: [
12710
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
12711
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "block w-full", children: "Ensure sender is on the same network" })
13252
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Highlight, { className: "text-center", type: "warning", children: [
13253
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
13254
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "block w-full", children: "Ensure sender is on the same network" })
12712
13255
  ] }),
12713
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Loader, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
12714
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Highlight, { type: "info", children: [
12715
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
12716
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { onClick: handleCopy, className: "w-full", size: "large", children: copied ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
12717
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.CheckCircle2, { className: "h-4 w-4" }),
12718
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: "Copied!" })
12719
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
12720
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Copy, { className: "h-4 w-4" }),
12721
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: "Copy Address" })
13256
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.Loader, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
13257
+ fingerprint && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center justify-center gap-2 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
13258
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.Shield, { className: "w-4 h-4 text-[var(--l-pass-bg-success)]" }),
13259
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Fingerprint:" }),
13260
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "font-mono text-sm font-semibold text-[var(--l-pass-fg)]", children: fingerprint }),
13261
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "relative group", children: [
13262
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.Info, { className: "w-3.5 h-3.5 text-[var(--l-pass-fg-muted)] cursor-help" }),
13263
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-xs bg-[var(--l-pass-bg)] text-[var(--l-pass-fg)] rounded shadow-lg opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none z-10", children: "Share this to verify your identity" })
13264
+ ] }),
13265
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
13266
+ "button",
13267
+ {
13268
+ onClick: handleCopyFingerprint,
13269
+ className: "p-1 rounded hover:bg-[var(--l-pass-bg)] transition-colors",
13270
+ title: "Copy fingerprint",
13271
+ children: fingerprintCopied ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.CheckCircle2, { className: "w-3.5 h-3.5 text-[var(--l-pass-bg-success)]" }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.Copy, { className: "w-3.5 h-3.5 text-[var(--l-pass-fg-muted)]" })
13272
+ }
13273
+ )
13274
+ ] }),
13275
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Highlight, { type: "info", children: [
13276
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
13277
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { onClick: handleCopy, className: "w-full", size: "large", children: copied ? /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
13278
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.CheckCircle2, { className: "h-4 w-4" }),
13279
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: "Copied!" })
13280
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
13281
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.Copy, { className: "h-4 w-4" }),
13282
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: "Copy Address" })
12722
13283
  ] }) })
12723
13284
  ] }),
12724
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "text-center text-xs text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "block", children: "Share this address to receive LUMIA tokens." }) })
13285
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "text-center text-xs text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "block", children: "Share this address to receive LUMIA tokens." }) })
12725
13286
  ]
12726
13287
  }
12727
13288
  );
12728
13289
  }
12729
13290
 
12730
13291
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
12731
- var import_lucide_react45 = require("lucide-react");
13292
+ var import_lucide_react46 = require("lucide-react");
12732
13293
  var import_react52 = require("react");
12733
13294
 
12734
13295
  // src/internal/components/SettingsMenu/constants.ts
12735
- var import_lucide_react44 = require("lucide-react");
13296
+ var import_lucide_react45 = require("lucide-react");
12736
13297
 
12737
13298
  // src/internal/assets/KycIcon.tsx
12738
- var import_jsx_runtime66 = require("react/jsx-runtime");
13299
+ var import_jsx_runtime67 = require("react/jsx-runtime");
12739
13300
  function KycIcon(props) {
12740
13301
  const { width = "24", height = "24", ...rest } = props;
12741
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("svg", { ...rest, width, height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
13302
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("svg", { ...rest, width, height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
12742
13303
  "path",
12743
13304
  {
12744
13305
  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",
@@ -12749,16 +13310,16 @@ function KycIcon(props) {
12749
13310
 
12750
13311
  // src/internal/components/SettingsMenu/constants.ts
12751
13312
  var NAV_BUTTONS = [
12752
- { id: "transactions" /* TRANSACTIONS */, name: "Transactions", Icon: import_lucide_react44.ArrowLeftRight },
13313
+ { id: "transactions" /* TRANSACTIONS */, name: "Transactions", Icon: import_lucide_react45.ArrowLeftRight },
12753
13314
  { id: "kyc" /* KYC */, name: "KYC", Icon: KycIcon },
12754
- { id: "nickname-settings" /* NICKNAME_SETTINGS */, name: "Nickname", Icon: import_lucide_react44.AtSign },
12755
- { id: "manage-wallet" /* MANAGE_WALLET */, name: "Profiles", Icon: import_lucide_react44.UsersRound },
12756
- { id: "security" /* SECURITY */, name: "Security", Icon: import_lucide_react44.LockKeyhole },
12757
- { id: "keysare-backup" /* KEYSARE_BACKUP */, name: "Backup", Icon: import_lucide_react44.DatabaseBackup }
13315
+ { id: "nickname-settings" /* NICKNAME_SETTINGS */, name: "Nickname", Icon: import_lucide_react45.AtSign },
13316
+ { id: "manage-wallet" /* MANAGE_WALLET */, name: "Profiles", Icon: import_lucide_react45.UsersRound },
13317
+ { id: "security" /* SECURITY */, name: "Security", Icon: import_lucide_react45.LockKeyhole },
13318
+ { id: "keysare-backup" /* KEYSARE_BACKUP */, name: "Backup", Icon: import_lucide_react45.DatabaseBackup }
12758
13319
  ];
12759
13320
 
12760
13321
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
12761
- var import_jsx_runtime67 = require("react/jsx-runtime");
13322
+ var import_jsx_runtime68 = require("react/jsx-runtime");
12762
13323
  function SettingsMenu() {
12763
13324
  const address = useLumiaPassportSession((st) => st.address);
12764
13325
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -12769,7 +13330,7 @@ function SettingsMenu() {
12769
13330
  useProvidersList();
12770
13331
  const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
12771
13332
  const highlightedKeys = settingsNotifications.map((n) => n.target);
12772
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
13333
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
12773
13334
  "div",
12774
13335
  {
12775
13336
  style: {
@@ -12778,11 +13339,11 @@ function SettingsMenu() {
12778
13339
  },
12779
13340
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
12780
13341
  children: [
12781
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12782
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react45.ArrowLeft, { className: "h-4 w-4" }) }),
12783
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-xl font-semibold", children: "Settings" })
13342
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13343
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_lucide_react46.ArrowLeft, { className: "h-4 w-4" }) }),
13344
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "text-xl font-semibold", children: "Settings" })
12784
13345
  ] }),
12785
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
13346
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
12786
13347
  Button,
12787
13348
  {
12788
13349
  variant: "outline",
@@ -12795,8 +13356,8 @@ function SettingsMenu() {
12795
13356
  highlightedKeys.includes(id) && "animate-glow-warning"
12796
13357
  ),
12797
13358
  children: [
12798
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Icon2, { className: "w-4 h-4" }),
12799
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { children: name })
13359
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Icon2, { className: "w-4 h-4" }),
13360
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { children: name })
12800
13361
  ]
12801
13362
  },
12802
13363
  id
@@ -12807,35 +13368,35 @@ function SettingsMenu() {
12807
13368
  }
12808
13369
 
12809
13370
  // src/internal/components/TermsOfService.tsx
12810
- var import_lucide_react46 = require("lucide-react");
12811
- var import_jsx_runtime68 = require("react/jsx-runtime");
13371
+ var import_lucide_react47 = require("lucide-react");
13372
+ var import_jsx_runtime69 = require("react/jsx-runtime");
12812
13373
  function TermsOfService() {
12813
13374
  const address = useLumiaPassportSession((st) => st.address);
12814
13375
  const setPage = useLayoutDataStore((st) => st.setPage);
12815
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12816
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12817
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
13376
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
13377
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13378
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
12818
13379
  Button,
12819
13380
  {
12820
13381
  variant: "ghost",
12821
13382
  size: "icon",
12822
13383
  title: "Back",
12823
13384
  onClick: () => setPage(!!address ? "settings" /* SETTINGS */ : "auth" /* AUTH */),
12824
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_lucide_react46.ArrowLeft, { className: "h-4 w-4" })
13385
+ children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react47.ArrowLeft, { className: "h-4 w-4" })
12825
13386
  }
12826
13387
  ),
12827
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "text-xl font-semibold", children: "Terms of Service" })
13388
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "text-xl font-semibold", children: "Terms of Service" })
12828
13389
  ] }),
12829
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(Highlight, { type: "warning", className: "text-center", children: [
12830
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "block text-xs", children: "By using Lumia Passport you agree to our terms." }),
12831
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "block text-xs", children: "To be updated..." })
13390
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(Highlight, { type: "warning", className: "text-center", children: [
13391
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "block text-xs", children: "By using Lumia Passport you agree to our terms." }),
13392
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "block text-xs", children: "To be updated..." })
12832
13393
  ] })
12833
13394
  ] });
12834
13395
  }
12835
13396
 
12836
13397
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
12837
13398
  var import_react_query35 = require("@tanstack/react-query");
12838
- var import_lucide_react48 = require("lucide-react");
13399
+ var import_lucide_react49 = require("lucide-react");
12839
13400
  var import_react53 = require("react");
12840
13401
 
12841
13402
  // src/internal/components/TransactionsMenu/api.ts
@@ -13092,7 +13653,7 @@ async function getTransactionsListQuery(address) {
13092
13653
  });
13093
13654
  });
13094
13655
  tokenTransfersData.forEach((transfer, index) => {
13095
- const rawValue = transfer.value ?? "0";
13656
+ const rawValue = transfer.total?.value ?? transfer.value ?? "0";
13096
13657
  const amount = toBigInt(rawValue);
13097
13658
  if (amount === 0n) {
13098
13659
  return;
@@ -13108,7 +13669,7 @@ async function getTransactionsListQuery(address) {
13108
13669
  }
13109
13670
  const tsInput = transfer.timestamp;
13110
13671
  const timestampMs = typeof tsInput === "number" ? tsInput > 1e12 ? tsInput : tsInput * 1e3 : tsInput ? new Date(tsInput).getTime() : now;
13111
- const decimalsRaw = transfer.token?.decimals;
13672
+ const decimalsRaw = transfer.total?.decimals ?? transfer.token?.decimals;
13112
13673
  const decimals = typeof decimalsRaw === "string" ? parseInt(decimalsRaw, 10) : typeof decimalsRaw === "number" ? decimalsRaw : 18;
13113
13674
  const assetSymbol = transfer.token?.symbol || "Token";
13114
13675
  const tokenItem = {
@@ -13160,7 +13721,7 @@ async function getTransactionsListQuery(address) {
13160
13721
  }
13161
13722
 
13162
13723
  // src/internal/components/TransactionsMenu/TransactionsGroup.tsx
13163
- var import_lucide_react47 = require("lucide-react");
13724
+ var import_lucide_react48 = require("lucide-react");
13164
13725
 
13165
13726
  // src/internal/components/TransactionsMenu/utils.ts
13166
13727
  init_base();
@@ -13207,22 +13768,22 @@ var formatTimestamp = (timestampMs) => {
13207
13768
  };
13208
13769
 
13209
13770
  // src/internal/components/TransactionsMenu/TransactionsGroup.tsx
13210
- var import_jsx_runtime69 = require("react/jsx-runtime");
13771
+ var import_jsx_runtime70 = require("react/jsx-runtime");
13211
13772
  function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
13212
13773
  const internalSymbol = internal.assetSymbol || assetSymbol;
13213
13774
  const internalDecimals = internal.decimals ?? assetDecimals;
13214
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
13215
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex gap-2 items-center justify-between", children: [
13216
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: internal.method || "CALL" }),
13217
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("span", { children: [
13775
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
13776
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex gap-2 items-center justify-between", children: [
13777
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: internal.method || "CALL" }),
13778
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("span", { children: [
13218
13779
  formatValue2(internal.value, internalDecimals),
13219
13780
  " ",
13220
13781
  internalSymbol
13221
13782
  ] })
13222
13783
  ] }),
13223
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex gap-2 items-center justify-between", children: [
13224
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { children: internal.direction === "in" ? "From" : "To" }),
13225
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "font-mono", children: internal.counterpartyName || formatAddress2(internal.counterparty) })
13784
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex gap-2 items-center justify-between", children: [
13785
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { children: internal.direction === "in" ? "From" : "To" }),
13786
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "font-mono", children: internal.counterpartyName || formatAddress2(internal.counterparty) })
13226
13787
  ] })
13227
13788
  ] });
13228
13789
  }
@@ -13233,7 +13794,7 @@ function TransactionsGroup(props) {
13233
13794
  const assetSymbol = parent.assetSymbol || "LUMIA";
13234
13795
  const assetDecimals = parent.decimals ?? 18;
13235
13796
  const internalsToRender = group.internals.filter((internal) => parseValue(internal.value) !== 0n);
13236
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
13797
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
13237
13798
  "div",
13238
13799
  {
13239
13800
  onClick: () => openInExplorer2(parent.parentHash),
@@ -13243,28 +13804,28 @@ function TransactionsGroup(props) {
13243
13804
  "bg-transparent hover:bg-[var(--l-pass-secondary-h)] active:bg-[var(--l-pass-secondary-a)]"
13244
13805
  ),
13245
13806
  children: [
13246
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13247
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-center gap-1 flex-0 w-fit", children: [
13248
- parent.direction === "in" ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react47.ChevronLeft, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react47.ChevronRight, { className: "w-4 h-4" }),
13249
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "text-[10px]", children: isIncoming ? "RECEIVED" : "SENT" }),
13250
- parent.status === "ok" ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(PositiveIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(NegativeIcon, {})
13807
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13808
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex items-center gap-1 flex-0 w-fit", children: [
13809
+ parent.direction === "in" ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react48.ChevronLeft, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react48.ChevronRight, { className: "w-4 h-4" }),
13810
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "text-[10px]", children: isIncoming ? "RECEIVED" : "SENT" }),
13811
+ parent.status === "ok" ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(PositiveIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(NegativeIcon, {})
13251
13812
  ] }),
13252
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "block flex-0 font-mono text-[10px] text-[var(--l-pass-fg-muted)]", children: formatTimestamp(group.timestampMs) })
13813
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "block flex-0 font-mono text-[10px] text-[var(--l-pass-fg-muted)]", children: formatTimestamp(group.timestampMs) })
13253
13814
  ] }),
13254
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13255
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex flex-col gap-0", children: [
13256
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("span", { className: "font-bold", children: [
13815
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13816
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex flex-col gap-0", children: [
13817
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("span", { className: "font-bold", children: [
13257
13818
  formatValue2(parent.value, assetDecimals),
13258
13819
  " ",
13259
13820
  assetSymbol
13260
13821
  ] }),
13261
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("span", { className: "text-[10px] font-mono text-[var(--l-pass-fg-muted)]", children: [
13822
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("span", { className: "text-[10px] font-mono text-[var(--l-pass-fg-muted)]", children: [
13262
13823
  isIncoming ? "From: " : "To: ",
13263
13824
  parent.counterpartyName || formatAddress2(parent.counterparty)
13264
13825
  ] })
13265
13826
  ] }),
13266
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-center gap-0", children: [
13267
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
13827
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex items-center gap-0", children: [
13828
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
13268
13829
  Button,
13269
13830
  {
13270
13831
  variant: "ghost",
@@ -13273,10 +13834,10 @@ function TransactionsGroup(props) {
13273
13834
  onClick: (e) => {
13274
13835
  e.stopPropagation();
13275
13836
  },
13276
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react47.Copy, { className: "w-4 h-4" })
13837
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react48.Copy, { className: "w-4 h-4" })
13277
13838
  }
13278
13839
  ),
13279
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
13840
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
13280
13841
  Button,
13281
13842
  {
13282
13843
  variant: "ghost",
@@ -13285,24 +13846,24 @@ function TransactionsGroup(props) {
13285
13846
  onClick: (e) => {
13286
13847
  e.stopPropagation();
13287
13848
  },
13288
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(LumiaIcon, { className: "w-4 h-4" })
13849
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(LumiaIcon, { className: "w-4 h-4" })
13289
13850
  }
13290
13851
  )
13291
13852
  ] })
13292
13853
  ] }),
13293
- internalsToRender.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_jsx_runtime69.Fragment, { children: [
13294
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "w-full flex items-center", children: [
13295
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
13296
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "flex-none font-bold px-2 text-xs leading-4 text-[var(--l-pass-fg-muted)]", children: "Internals" }),
13297
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" })
13854
+ internalsToRender.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_jsx_runtime70.Fragment, { children: [
13855
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "w-full flex items-center", children: [
13856
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
13857
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "flex-none font-bold px-2 text-xs leading-4 text-[var(--l-pass-fg-muted)]", children: "Internals" }),
13858
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" })
13298
13859
  ] }),
13299
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
13860
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
13300
13861
  "div",
13301
13862
  {
13302
13863
  className: "w-full rounded-[var(--l-pass-el-bdrs)] border border-dashed border-[var(--l-pass-bd)]",
13303
13864
  onClick: (event) => event.stopPropagation(),
13304
13865
  children: [
13305
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
13866
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
13306
13867
  Button,
13307
13868
  {
13308
13869
  variant: "ghost",
@@ -13310,16 +13871,16 @@ function TransactionsGroup(props) {
13310
13871
  className: "w-full justify-between",
13311
13872
  onClick: () => onToggleExpanded(group.id),
13312
13873
  children: [
13313
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("span", { children: [
13874
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("span", { children: [
13314
13875
  "View internal calls (",
13315
13876
  internalsToRender.length,
13316
13877
  ")"
13317
13878
  ] }),
13318
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { children: expanded ? "Hide" : "Show" })
13879
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { children: expanded ? "Hide" : "Show" })
13319
13880
  ]
13320
13881
  }
13321
13882
  ),
13322
- expanded && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "px-2 pb-2 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
13883
+ expanded && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "px-2 pb-2 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
13323
13884
  InternalTransaction,
13324
13885
  {
13325
13886
  internal,
@@ -13338,7 +13899,7 @@ function TransactionsGroup(props) {
13338
13899
  }
13339
13900
 
13340
13901
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
13341
- var import_jsx_runtime70 = require("react/jsx-runtime");
13902
+ var import_jsx_runtime71 = require("react/jsx-runtime");
13342
13903
  function TransactionsMenu() {
13343
13904
  const qc = (0, import_react_query35.useQueryClient)();
13344
13905
  const address = useLumiaPassportSession((st) => st.address);
@@ -13362,7 +13923,7 @@ function TransactionsMenu() {
13362
13923
  [qc, address]
13363
13924
  );
13364
13925
  const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
13365
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
13926
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
13366
13927
  "div",
13367
13928
  {
13368
13929
  style: {
@@ -13370,11 +13931,11 @@ function TransactionsMenu() {
13370
13931
  "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
13371
13932
  },
13372
13933
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
13373
- children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
13374
- /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13375
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react48.ArrowLeft, { className: "h-4 w-4" }) }),
13376
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "text-xl font-semibold", children: "Transaction History" }),
13377
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
13934
+ children: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
13935
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13936
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react49.ArrowLeft, { className: "h-4 w-4" }) }),
13937
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "text-xl font-semibold", children: "Transaction History" }),
13938
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
13378
13939
  Button,
13379
13940
  {
13380
13941
  variant: "ghost",
@@ -13382,17 +13943,17 @@ function TransactionsMenu() {
13382
13943
  onClick: refreshTxHistory,
13383
13944
  disabled: isTxHistoryFetching,
13384
13945
  title: "Refresh transactions",
13385
- children: isTxHistoryFetching ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react48.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react48.RefreshCw, { className: "h-4 w-4" })
13946
+ children: isTxHistoryFetching ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react49.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react49.RefreshCw, { className: "h-4 w-4" })
13386
13947
  }
13387
13948
  )
13388
13949
  ] }),
13389
- isTxHistoryLoading && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react48.Loader, { className: "h-5 w-5 animate-spin" }) }),
13390
- !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
13391
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react48.XCircle, { className: "w-4 h-4 flex-none" }),
13392
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
13950
+ isTxHistoryLoading && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react49.Loader, { className: "h-5 w-5 animate-spin" }) }),
13951
+ !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
13952
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react49.XCircle, { className: "w-4 h-4 flex-none" }),
13953
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
13393
13954
  ] }),
13394
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Highlight, { type: "warning", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { children: "No transactions found." }) }),
13395
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
13955
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Highlight, { type: "warning", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { children: "No transactions found." }) }),
13956
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
13396
13957
  TransactionsGroup,
13397
13958
  {
13398
13959
  group,
@@ -13507,7 +14068,7 @@ var PAGE_MAP = {
13507
14068
  };
13508
14069
 
13509
14070
  // src/internal/hooks/usePageMapper.tsx
13510
- var import_jsx_runtime71 = require("react/jsx-runtime");
14071
+ var import_jsx_runtime72 = require("react/jsx-runtime");
13511
14072
  var CLEAR_DIALOG_TIMEOUT = MAIN_DIALOG_ANIMATION_SPEED + 5;
13512
14073
  function usePageMapper() {
13513
14074
  const page = useLayoutDataStore((st) => st.page);
@@ -13535,7 +14096,7 @@ function usePageMapper() {
13535
14096
  const PageContentComponent = pageItem.component;
13536
14097
  setDialogTitle(pageItem.title);
13537
14098
  setDialogDescription(pageItem.description);
13538
- setDialogContent(/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(PageContentComponent, {}));
14099
+ setDialogContent(/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(PageContentComponent, {}));
13539
14100
  setIsDialogOpen(true);
13540
14101
  },
13541
14102
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
@@ -13603,7 +14164,7 @@ function useWalletStatus() {
13603
14164
  }
13604
14165
 
13605
14166
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
13606
- var import_jsx_runtime72 = require("react/jsx-runtime");
14167
+ var import_jsx_runtime73 = require("react/jsx-runtime");
13607
14168
  function LumiaPassportDialog() {
13608
14169
  const config = useLumiaPassportConfig().config;
13609
14170
  const className = config.current?.ui?.dialogClassName;
@@ -13622,7 +14183,7 @@ function LumiaPassportDialog() {
13622
14183
  useListenIframeAuthEvents();
13623
14184
  useWalletStatus();
13624
14185
  const isHeaderHidden = !session || page === "keysare-backup" /* KEYSARE_BACKUP */ && !hasServerVault;
13625
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
14186
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
13626
14187
  Dialog,
13627
14188
  {
13628
14189
  open: isDialogOpen,
@@ -13630,11 +14191,11 @@ function LumiaPassportDialog() {
13630
14191
  if (isDialogForced) return;
13631
14192
  if (!open) setPage(null);
13632
14193
  },
13633
- children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(DialogContent, { colorMode, className, children: [
13634
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(DialogTitle, { children: dialogTitle }) }),
13635
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(DialogDescription, { className: "sr-only", children: dialogDescription }),
13636
- !isHeaderHidden && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Header, {}),
13637
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_framer_motion3.AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
14194
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(DialogContent, { colorMode, className, children: [
14195
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(DialogTitle, { children: dialogTitle }) }),
14196
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(DialogDescription, { className: "sr-only", children: dialogDescription }),
14197
+ !isHeaderHidden && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Header, {}),
14198
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_framer_motion3.AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
13638
14199
  import_framer_motion3.motion.div,
13639
14200
  {
13640
14201
  initial: { opacity: 0, height: mainPageHeight },
@@ -13646,7 +14207,7 @@ function LumiaPassportDialog() {
13646
14207
  },
13647
14208
  page || "empty"
13648
14209
  ) }),
13649
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Footer, {})
14210
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Footer, {})
13650
14211
  ] })
13651
14212
  }
13652
14213
  );
@@ -13698,16 +14259,16 @@ var TssManagerWithRef = import_react58.default.forwardRef((props, ref) => {
13698
14259
  var import_rainbowkit = require("@rainbow-me/rainbowkit");
13699
14260
  var import_react_query36 = require("@tanstack/react-query");
13700
14261
  var import_react59 = __toESM(require("react"), 1);
13701
- var import_wagmi5 = require("wagmi");
14262
+ var import_wagmi4 = require("wagmi");
13702
14263
  init_wallet();
13703
14264
  function WalletConnectHandler() {
13704
14265
  const qc = (0, import_react_query36.useQueryClient)();
13705
14266
  const callbacks = useLumiaPassportConfig().callbacks;
13706
14267
  const passportWalletAddress = useLumiaPassportSession((st) => st.address);
13707
- const { address: walletAddress, isConnected, chain, connector } = (0, import_wagmi5.useAccount)();
14268
+ const { address: walletAddress, isConnected, chain, connector } = (0, import_wagmi4.useAccount)();
13708
14269
  const { openConnectModal, connectModalOpen } = (0, import_rainbowkit.useConnectModal)();
13709
- const { disconnect } = (0, import_wagmi5.useDisconnect)();
13710
- const { signMessageAsync } = (0, import_wagmi5.useSignMessage)();
14270
+ const { disconnect } = (0, import_wagmi4.useDisconnect)();
14271
+ const { signMessageAsync } = (0, import_wagmi4.useSignMessage)();
13711
14272
  const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
13712
14273
  const setPage = useLayoutDataStore((st) => st.setPage);
13713
14274
  const setIsWalletLinking = useLayoutDataStore((st) => st.setIsWalletLinking);
@@ -13849,7 +14410,7 @@ function WalletConnectHandler() {
13849
14410
  }
13850
14411
 
13851
14412
  // src/context/LumiaPassportSessionContext.tsx
13852
- var import_jsx_runtime73 = require("react/jsx-runtime");
14413
+ var import_jsx_runtime74 = require("react/jsx-runtime");
13853
14414
  var useLumiaPassportSession = (0, import_zustand6.create)((set) => ({
13854
14415
  isLoading: false,
13855
14416
  usePaymaster: true,
@@ -13875,17 +14436,17 @@ var useLumiaPassportSession = (0, import_zustand6.create)((set) => ({
13875
14436
  }));
13876
14437
  function LumiaPassportSessionProvider({ children }) {
13877
14438
  const config = useLumiaPassportConfig().config;
13878
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_react60.Fragment, { children: [
14439
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_react60.Fragment, { children: [
13879
14440
  children,
13880
- config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(WalletConnectHandler, {}),
13881
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(BalanceFeedProvider, {}),
13882
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
14441
+ config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(WalletConnectHandler, {}),
14442
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(BalanceFeedProvider, {}),
14443
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
13883
14444
  TssManagerWithRef,
13884
14445
  {
13885
14446
  mpcPin: void 0
13886
14447
  }
13887
14448
  ),
13888
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(LumiaPassportDialog, {})
14449
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(LumiaPassportDialog, {})
13889
14450
  ] });
13890
14451
  }
13891
14452
 
@@ -13901,15 +14462,15 @@ function notifyNoProjetctId(projectId) {
13901
14462
  }
13902
14463
 
13903
14464
  // src/context/WagmiContext.tsx
13904
- var import_wagmi7 = require("wagmi");
14465
+ var import_wagmi6 = require("wagmi");
13905
14466
 
13906
14467
  // src/config/wagmi.ts
13907
- var import_wagmi6 = require("wagmi");
14468
+ var import_wagmi5 = require("wagmi");
13908
14469
  init_base();
13909
- var wagmiConfig = (0, import_wagmi6.createConfig)({
14470
+ var wagmiConfig = (0, import_wagmi5.createConfig)({
13910
14471
  chains: [lumiaBeam],
13911
14472
  transports: {
13912
- [lumiaBeam.id]: (0, import_wagmi6.http)(lumiaBeam.rpcUrls.default.http[0], {
14473
+ [lumiaBeam.id]: (0, import_wagmi5.http)(lumiaBeam.rpcUrls.default.http[0], {
13913
14474
  timeout: 1e4,
13914
14475
  retryCount: 0,
13915
14476
  batch: false,
@@ -13920,13 +14481,13 @@ var wagmiConfig = (0, import_wagmi6.createConfig)({
13920
14481
  });
13921
14482
 
13922
14483
  // src/context/WagmiContext.tsx
13923
- var import_jsx_runtime74 = require("react/jsx-runtime");
14484
+ var import_jsx_runtime75 = require("react/jsx-runtime");
13924
14485
  var LumiaWagmiProvider = ({ children }) => {
13925
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_wagmi7.WagmiProvider, { config: wagmiConfig, children });
14486
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_wagmi6.WagmiProvider, { config: wagmiConfig, children });
13926
14487
  };
13927
14488
 
13928
14489
  // src/context/LumiaPassportContext.tsx
13929
- var import_jsx_runtime75 = require("react/jsx-runtime");
14490
+ var import_jsx_runtime76 = require("react/jsx-runtime");
13930
14491
  var LumiaPassportContext = (0, import_react61.createContext)(void 0);
13931
14492
  function LumiaPassportProvider(props) {
13932
14493
  const { children, projectId, initialConfig = {}, callbacks } = props;
@@ -14015,7 +14576,7 @@ function LumiaPassportProvider(props) {
14015
14576
  }
14016
14577
  }, [projectId, initialConfig, callbacks, updateConfig, setIsIframeReady, setWalletReadyStatus]);
14017
14578
  const contextValue = (0, import_react61.useMemo)(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
14018
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(LumiaWagmiProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(LumiaPassportContext.Provider, { value: contextValue, children }) });
14579
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(LumiaWagmiProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(LumiaPassportContext.Provider, { value: contextValue, children }) });
14019
14580
  }
14020
14581
  var useLumiaPassportConfig = () => {
14021
14582
  const ctx = (0, import_react61.useContext)(LumiaPassportContext);
@@ -14025,11 +14586,11 @@ var useLumiaPassportConfig = () => {
14025
14586
 
14026
14587
  // src/components/ConnectWalletButton.tsx
14027
14588
  var import_react_query37 = require("@tanstack/react-query");
14028
- var import_lucide_react49 = require("lucide-react");
14589
+ var import_lucide_react50 = require("lucide-react");
14029
14590
  var import_react62 = require("react");
14030
14591
  init_auth();
14031
14592
  init_profile();
14032
- var import_jsx_runtime76 = (
14593
+ var import_jsx_runtime77 = (
14033
14594
  /** external Buttons can be provided */
14034
14595
  require("react/jsx-runtime")
14035
14596
  );
@@ -14068,18 +14629,18 @@ function ConnectWalletButton(props) {
14068
14629
  return { server, local, backup: hasServerVault };
14069
14630
  }, [session, address, hasServerVault]);
14070
14631
  const isConnecting = connectButtonLabel !== label || isLoading;
14071
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { "data-lumia-passport-mode": colorMode, className: cn("lumia-scope w-fit h-fit", className), children: !address ? /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_jsx_runtime76.Fragment, { children: ConnectButton ? /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
14632
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { "data-lumia-passport-mode": colorMode, className: cn("lumia-scope w-fit h-fit", className), children: !address ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_jsx_runtime77.Fragment, { children: ConnectButton ? /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
14072
14633
  ConnectButton,
14073
14634
  {
14074
14635
  type: "button",
14075
14636
  disabled: isConnecting,
14076
14637
  onClick: () => setPage("auth" /* AUTH */),
14077
14638
  children: [
14078
- isConnecting && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react49.Loader, { className: "w-4 h-4 animate-spin" }),
14639
+ isConnecting && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react50.Loader, { className: "w-4 h-4 animate-spin" }),
14079
14640
  connectButtonLabel
14080
14641
  ]
14081
14642
  }
14082
- ) : /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
14643
+ ) : /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
14083
14644
  Button,
14084
14645
  {
14085
14646
  type: "button",
@@ -14096,11 +14657,11 @@ function ConnectWalletButton(props) {
14096
14657
  "disabled:hover:bg-[var(--l-pass-bg)] disabled:active:bg-[var(--l-pass-bg)]"
14097
14658
  ),
14098
14659
  children: [
14099
- isConnecting && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react49.Loader, { className: "w-4 h-4 animate-spin" }),
14660
+ isConnecting && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react50.Loader, { className: "w-4 h-4 animate-spin" }),
14100
14661
  connectButtonLabel.toUpperCase()
14101
14662
  ]
14102
14663
  }
14103
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
14664
+ ) }) : /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
14104
14665
  "button",
14105
14666
  {
14106
14667
  type: "button",
@@ -14113,23 +14674,23 @@ function ConnectWalletButton(props) {
14113
14674
  "rounded-[var(--l-pass-bdrs)] p-4 max-w-sm min-w-[256px]"
14114
14675
  ),
14115
14676
  children: [
14116
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center flex-shrink-0", children: avatar ? /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(LumiaIcon, { width: 48, height: 48 }) }),
14117
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
14118
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
14119
- isProfileLoading ? /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react49.Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--l-pass-fg)]", children: displayName }),
14120
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(KYCStatus, {})
14677
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center flex-shrink-0", children: avatar ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(LumiaIcon, { width: 48, height: 48 }) }),
14678
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
14679
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
14680
+ isProfileLoading ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react50.Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--l-pass-fg)]", children: displayName }),
14681
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(KYCStatus, {})
14121
14682
  ] }),
14122
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(BalanceView, {})
14683
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(BalanceView, {})
14123
14684
  ] }),
14124
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex items-center space-x-1", children: [
14125
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "group relative", children: [
14126
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
14127
- import_lucide_react49.Cloud,
14685
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex items-center space-x-1", children: [
14686
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "group relative", children: [
14687
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
14688
+ import_lucide_react50.Cloud,
14128
14689
  {
14129
14690
  className: `w-3 h-3 ${indicators.server ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
14130
14691
  }
14131
14692
  ),
14132
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
14693
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
14133
14694
  "div",
14134
14695
  {
14135
14696
  className: cn(
@@ -14144,14 +14705,14 @@ function ConnectWalletButton(props) {
14144
14705
  }
14145
14706
  )
14146
14707
  ] }),
14147
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "group relative", children: [
14148
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
14149
- import_lucide_react49.Laptop,
14708
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "group relative", children: [
14709
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
14710
+ import_lucide_react50.Laptop,
14150
14711
  {
14151
14712
  className: `w-3 h-3 ${indicators.local ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
14152
14713
  }
14153
14714
  ),
14154
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
14715
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
14155
14716
  "div",
14156
14717
  {
14157
14718
  className: cn(
@@ -14166,14 +14727,14 @@ function ConnectWalletButton(props) {
14166
14727
  }
14167
14728
  )
14168
14729
  ] }),
14169
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "group relative", children: [
14170
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
14171
- import_lucide_react49.Shield,
14730
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "group relative", children: [
14731
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
14732
+ import_lucide_react50.Shield,
14172
14733
  {
14173
14734
  className: `w-3 h-3 ${indicators.backup ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
14174
14735
  }
14175
14736
  ),
14176
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
14737
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
14177
14738
  "div",
14178
14739
  {
14179
14740
  className: cn(
@@ -14189,7 +14750,7 @@ function ConnectWalletButton(props) {
14189
14750
  )
14190
14751
  ] })
14191
14752
  ] }),
14192
- !!settingsNotifications.length && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
14753
+ !!settingsNotifications.length && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
14193
14754
  "div",
14194
14755
  {
14195
14756
  className: cn(
@@ -14282,24 +14843,24 @@ function useLumiaPassportColorMode() {
14282
14843
  }
14283
14844
 
14284
14845
  // src/components/ThemeToggle.tsx
14285
- var import_lucide_react50 = require("lucide-react");
14286
- var import_jsx_runtime77 = require("react/jsx-runtime");
14846
+ var import_lucide_react51 = require("lucide-react");
14847
+ var import_jsx_runtime78 = require("react/jsx-runtime");
14287
14848
  function ThemeToggle(props) {
14288
14849
  const { colorMode, setColorMode } = useLumiaPassportColorMode();
14289
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
14850
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
14290
14851
  "div",
14291
14852
  {
14292
14853
  className: "lumia-scope",
14293
14854
  "data-lumia-passport-mode": colorMode,
14294
14855
  style: { width: "fit-content", height: "fit-content" },
14295
- children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
14856
+ children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
14296
14857
  Button,
14297
14858
  {
14298
14859
  ...props,
14299
14860
  variant: "ghost",
14300
14861
  onClick: () => setColorMode(colorMode === "light" ? "dark" : "light"),
14301
14862
  title: `Current theme: ${colorMode}. Click to switch.`,
14302
- children: colorMode === "dark" ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react50.Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react50.Moon, { className: "w-4 h-4" })
14863
+ children: colorMode === "dark" ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react51.Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react51.Moon, { className: "w-4 h-4" })
14303
14864
  }
14304
14865
  )
14305
14866
  }
@@ -14309,7 +14870,7 @@ function ThemeToggle(props) {
14309
14870
  // src/context/RainbowKitContext.tsx
14310
14871
  var import_rainbowkit3 = require("@rainbow-me/rainbowkit");
14311
14872
  var import_react65 = require("react");
14312
- var import_wagmi9 = require("wagmi");
14873
+ var import_wagmi8 = require("wagmi");
14313
14874
 
14314
14875
  // src/config/rainbowkit.ts
14315
14876
  var import_rainbowkit2 = require("@rainbow-me/rainbowkit");
@@ -14536,7 +15097,7 @@ var rainbowTheme = {
14536
15097
 
14537
15098
  // src/context/RainbowKitContext.tsx
14538
15099
  var import_styles = require("@rainbow-me/rainbowkit/styles.css");
14539
- var import_jsx_runtime78 = require("react/jsx-runtime");
15100
+ var import_jsx_runtime79 = require("react/jsx-runtime");
14540
15101
  function LumiaRainbowKitProvider({ children }) {
14541
15102
  const config = useLumiaPassportConfig().config;
14542
15103
  const colorMode = useLayoutStore((st) => st.colorMode);
@@ -14555,13 +15116,13 @@ function LumiaRainbowKitProvider({ children }) {
14555
15116
  },
14556
15117
  [colorMode]
14557
15118
  );
14558
- if (!config.current?.wallet?.enabled) return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_jsx_runtime78.Fragment, { children });
14559
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_wagmi9.WagmiProvider, { config: rainbowConfig2, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_rainbowkit3.RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
15119
+ if (!config.current?.wallet?.enabled) return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_jsx_runtime79.Fragment, { children });
15120
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_wagmi8.WagmiProvider, { config: rainbowConfig2, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_rainbowkit3.RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
14560
15121
  }
14561
15122
 
14562
15123
  // src/internal/components/UserOpStatus.tsx
14563
- var import_lucide_react52 = require("lucide-react");
14564
- var React11 = __toESM(require("react"), 1);
15124
+ var import_lucide_react53 = require("lucide-react");
15125
+ var React10 = __toESM(require("react"), 1);
14565
15126
  init_base();
14566
15127
 
14567
15128
  // src/internal/utils/cn.ts
@@ -14572,9 +15133,9 @@ function cn2(...inputs) {
14572
15133
  }
14573
15134
 
14574
15135
  // src/internal/components/Address.tsx
14575
- var import_lucide_react51 = require("lucide-react");
14576
- var React10 = __toESM(require("react"), 1);
14577
- var import_jsx_runtime79 = require("react/jsx-runtime");
15136
+ var import_lucide_react52 = require("lucide-react");
15137
+ var React9 = __toESM(require("react"), 1);
15138
+ var import_jsx_runtime80 = require("react/jsx-runtime");
14578
15139
  function toExplorerAddressUrl(address, chain) {
14579
15140
  const base2 = chain?.blockExplorers?.default?.url;
14580
15141
  if (!base2) return null;
@@ -14595,12 +15156,12 @@ var Address = ({
14595
15156
  }) => {
14596
15157
  const addr = address || "";
14597
15158
  const explorer = toExplorerAddressUrl(addr, chain || void 0);
14598
- const [copied, setCopied] = React10.useState(false);
14599
- if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
14600
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
14601
- label && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-sm font-medium", children: label }),
14602
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
14603
- showCopy && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
15159
+ const [copied, setCopied] = React9.useState(false);
15160
+ if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
15161
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
15162
+ label && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "text-sm font-medium", children: label }),
15163
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
15164
+ showCopy && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
14604
15165
  Button,
14605
15166
  {
14606
15167
  variant: "ghost",
@@ -14614,10 +15175,10 @@ var Address = ({
14614
15175
  } catch {
14615
15176
  }
14616
15177
  },
14617
- children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_lucide_react51.Copy, { className: "h-4 w-4" })
15178
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react52.Copy, { className: "h-4 w-4" })
14618
15179
  }
14619
15180
  ),
14620
- showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
15181
+ showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
14621
15182
  "a",
14622
15183
  {
14623
15184
  href: explorer,
@@ -14625,7 +15186,7 @@ var Address = ({
14625
15186
  rel: "noreferrer noopener",
14626
15187
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
14627
15188
  title: "Open in explorer",
14628
- children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_lucide_react51.ExternalLink, { className: "h-4 w-4" })
15189
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react52.ExternalLink, { className: "h-4 w-4" })
14629
15190
  }
14630
15191
  )
14631
15192
  ] });
@@ -14633,7 +15194,7 @@ var Address = ({
14633
15194
 
14634
15195
  // src/internal/components/ui/badge.tsx
14635
15196
  var import_class_variance_authority2 = require("class-variance-authority");
14636
- var import_jsx_runtime80 = require("react/jsx-runtime");
15197
+ var import_jsx_runtime81 = require("react/jsx-runtime");
14637
15198
  var badgeVariants = (0, import_class_variance_authority2.cva)(
14638
15199
  "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",
14639
15200
  {
@@ -14653,11 +15214,11 @@ var badgeVariants = (0, import_class_variance_authority2.cva)(
14653
15214
  }
14654
15215
  );
14655
15216
  function Badge({ className, variant, ...props }) {
14656
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: cn2(badgeVariants({ variant }), className), ...props });
15217
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: cn2(badgeVariants({ variant }), className), ...props });
14657
15218
  }
14658
15219
 
14659
15220
  // src/internal/components/UserOpStatus.tsx
14660
- var import_jsx_runtime81 = require("react/jsx-runtime");
15221
+ var import_jsx_runtime82 = require("react/jsx-runtime");
14661
15222
  var UserOpStatus = ({
14662
15223
  userOpHash,
14663
15224
  chain,
@@ -14668,20 +15229,20 @@ var UserOpStatus = ({
14668
15229
  externalState
14669
15230
  }) => {
14670
15231
  const useExternalState = !!externalState;
14671
- const [internalReceipt, setInternalReceipt] = React11.useState(null);
14672
- const [internalMempool, setInternalMempool] = React11.useState(null);
14673
- const [internalError, setInternalError] = React11.useState(null);
14674
- const [attempt, setAttempt] = React11.useState(0);
14675
- const [internalRefreshing, setInternalRefreshing] = React11.useState(false);
14676
- const [timedOut, setTimedOut] = React11.useState(false);
14677
- const [rejected, setRejected] = React11.useState(false);
14678
- const intervalRef = React11.useRef(null);
14679
- const startTimeRef = React11.useRef(Date.now());
15232
+ const [internalReceipt, setInternalReceipt] = React10.useState(null);
15233
+ const [internalMempool, setInternalMempool] = React10.useState(null);
15234
+ const [internalError, setInternalError] = React10.useState(null);
15235
+ const [attempt, setAttempt] = React10.useState(0);
15236
+ const [internalRefreshing, setInternalRefreshing] = React10.useState(false);
15237
+ const [timedOut, setTimedOut] = React10.useState(false);
15238
+ const [rejected, setRejected] = React10.useState(false);
15239
+ const intervalRef = React10.useRef(null);
15240
+ const startTimeRef = React10.useRef(Date.now());
14680
15241
  const receipt = useExternalState ? externalState.receipt ?? null : internalReceipt;
14681
15242
  const mempool = useExternalState ? externalState.mempool ?? null : internalMempool;
14682
15243
  const error = useExternalState ? externalState.error ?? null : internalError;
14683
15244
  const refreshing = useExternalState ? externalState.isPolling ?? false : internalRefreshing;
14684
- const rpc = React11.useCallback(async (method, params) => {
15245
+ const rpc = React10.useCallback(async (method, params) => {
14685
15246
  const body = { jsonrpc: "2.0", id: 1, method, params };
14686
15247
  const res = await fetch(getBundlerUrl(), {
14687
15248
  method: "POST",
@@ -14692,14 +15253,14 @@ var UserOpStatus = ({
14692
15253
  if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
14693
15254
  return json.result;
14694
15255
  }, []);
14695
- const extractMempoolInfo = React11.useCallback((m) => {
15256
+ const extractMempoolInfo = React10.useCallback((m) => {
14696
15257
  if (!m) return null;
14697
15258
  const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
14698
15259
  const sender = m.sender || m?.userOperation?.sender || null;
14699
15260
  if (!entryPoint && !sender) return null;
14700
15261
  return { entryPoint, sender };
14701
15262
  }, []);
14702
- const tick = React11.useCallback(async () => {
15263
+ const tick = React10.useCallback(async () => {
14703
15264
  if (useExternalState) return;
14704
15265
  const elapsed = Date.now() - startTimeRef.current;
14705
15266
  if (elapsed > maxPollTimeMs) {
@@ -14743,7 +15304,7 @@ var UserOpStatus = ({
14743
15304
  setAttempt((x) => x + 1);
14744
15305
  }
14745
15306
  }, [rpc, userOpHash, maxPollTimeMs, extractMempoolInfo, useExternalState]);
14746
- React11.useEffect(() => {
15307
+ React10.useEffect(() => {
14747
15308
  if (useExternalState) return;
14748
15309
  console.log("[UserOpStatus] Initializing polling for UserOp hash:", userOpHash);
14749
15310
  startTimeRef.current = Date.now();
@@ -14755,7 +15316,7 @@ var UserOpStatus = ({
14755
15316
  setAttempt(0);
14756
15317
  setInternalRefreshing(false);
14757
15318
  }, [userOpHash, useExternalState]);
14758
- React11.useEffect(() => {
15319
+ React10.useEffect(() => {
14759
15320
  if (useExternalState) {
14760
15321
  console.log("[UserOpStatus] Using external state, skipping internal polling");
14761
15322
  return;
@@ -14790,35 +15351,35 @@ var UserOpStatus = ({
14790
15351
  const stateBadge = () => {
14791
15352
  if (receipt) {
14792
15353
  const ok = !!receipt.success;
14793
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
14794
- ok ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react52.CheckCircle2, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react52.AlertCircle, { className: "h-3 w-3" }),
15354
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
15355
+ ok ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.CheckCircle2, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.AlertCircle, { className: "h-3 w-3" }),
14795
15356
  ok ? "Included" : "Failed"
14796
15357
  ] });
14797
15358
  }
14798
15359
  if (rejected) {
14799
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Badge, { variant: "destructive", className: "gap-1", children: [
14800
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react52.AlertCircle, { className: "h-3 w-3" }),
15360
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Badge, { variant: "destructive", className: "gap-1", children: [
15361
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.AlertCircle, { className: "h-3 w-3" }),
14801
15362
  " Rejected by bundler"
14802
15363
  ] });
14803
15364
  }
14804
15365
  if (timedOut) {
14805
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Badge, { variant: "warning", className: "gap-1", children: [
14806
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react52.AlertCircle, { className: "h-3 w-3" }),
15366
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Badge, { variant: "warning", className: "gap-1", children: [
15367
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.AlertCircle, { className: "h-3 w-3" }),
14807
15368
  " Timeout - may be rejected"
14808
15369
  ] });
14809
15370
  }
14810
15371
  if (mempool) {
14811
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Badge, { variant: "outline", className: "gap-1", children: [
14812
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react52.Clock, { className: "h-3 w-3" }),
15372
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Badge, { variant: "outline", className: "gap-1", children: [
15373
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.Clock, { className: "h-3 w-3" }),
14813
15374
  " Pending in bundler"
14814
15375
  ] });
14815
15376
  }
14816
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Badge, { variant: "secondary", className: "gap-1", children: [
14817
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react52.Clock, { className: "h-3 w-3" }),
15377
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Badge, { variant: "secondary", className: "gap-1", children: [
15378
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.Clock, { className: "h-3 w-3" }),
14818
15379
  " Waiting"
14819
15380
  ] });
14820
15381
  };
14821
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
15382
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
14822
15383
  "div",
14823
15384
  {
14824
15385
  className: cn2(
@@ -14827,20 +15388,20 @@ var UserOpStatus = ({
14827
15388
  ),
14828
15389
  style: { textAlign: "left", listStyle: "none" },
14829
15390
  children: [
14830
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
14831
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center gap-2", children: [
15391
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
15392
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center gap-2", children: [
14832
15393
  stateBadge(),
14833
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
15394
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
14834
15395
  ] }),
14835
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
14836
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react52.RefreshCw, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
14837
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-xs", children: "Refresh" })
15396
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
15397
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.RefreshCw, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
15398
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-xs", children: "Refresh" })
14838
15399
  ] })
14839
15400
  ] }),
14840
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
14841
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
14842
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
14843
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
15401
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
15402
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
15403
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
15404
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
14844
15405
  Button,
14845
15406
  {
14846
15407
  variant: "ghost",
@@ -14852,14 +15413,14 @@ var UserOpStatus = ({
14852
15413
  } catch {
14853
15414
  }
14854
15415
  },
14855
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react52.Copy, { className: "h-3.5 w-3.5" })
15416
+ children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.Copy, { className: "h-3.5 w-3.5" })
14856
15417
  }
14857
15418
  )
14858
15419
  ] }),
14859
- receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
14860
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
14861
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
14862
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
15420
+ receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
15421
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
15422
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
15423
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
14863
15424
  Button,
14864
15425
  {
14865
15426
  variant: "ghost",
@@ -14871,10 +15432,10 @@ var UserOpStatus = ({
14871
15432
  } catch {
14872
15433
  }
14873
15434
  },
14874
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react52.Copy, { className: "h-3.5 w-3.5" })
15435
+ children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.Copy, { className: "h-3.5 w-3.5" })
14875
15436
  }
14876
15437
  ),
14877
- chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
15438
+ chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
14878
15439
  "a",
14879
15440
  {
14880
15441
  href: `${chain.blockExplorers.default.url}/tx/${receipt.receipt.transactionHash}`,
@@ -14882,11 +15443,11 @@ var UserOpStatus = ({
14882
15443
  rel: "noreferrer noopener",
14883
15444
  className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
14884
15445
  title: "Open in explorer",
14885
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react52.ExternalLink, { className: "h-3.5 w-3.5" })
15446
+ children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.ExternalLink, { className: "h-3.5 w-3.5" })
14886
15447
  }
14887
15448
  )
14888
15449
  ] }),
14889
- receipt && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "text-xs text-muted-foreground mb-3", children: [
15450
+ receipt && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "text-xs text-muted-foreground mb-3", children: [
14890
15451
  "Block ",
14891
15452
  parseInt(receipt.receipt?.blockNumber || "0x0", 16),
14892
15453
  " \u2022 Gas Used",
@@ -14895,32 +15456,32 @@ var UserOpStatus = ({
14895
15456
  " \u2022 Success ",
14896
15457
  String(!!receipt.success)
14897
15458
  ] }),
14898
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("span", { className: "ml-2", children: [
15459
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("span", { className: "ml-2", children: [
14899
15460
  "\u2022 Polling for ",
14900
15461
  Math.round((Date.now() - startTimeRef.current) / 1e3),
14901
15462
  "s"
14902
15463
  ] }) }),
14903
- mempool && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
14904
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { children: [
15464
+ mempool && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
15465
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { children: [
14905
15466
  "Seen by bundler at ",
14906
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
15467
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
14907
15468
  ] }),
14908
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { children: [
15469
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { children: [
14909
15470
  "sender ",
14910
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Address, { address: mempool.sender, chain, truncate: false })
15471
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Address, { address: mempool.sender, chain, truncate: false })
14911
15472
  ] })
14912
15473
  ] }),
14913
- error && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
14914
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react52.AlertCircle, { className: "h-4 w-4" }),
15474
+ error && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15475
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.AlertCircle, { className: "h-4 w-4" }),
14915
15476
  " ",
14916
15477
  error
14917
15478
  ] }),
14918
- rejected && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
14919
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react52.AlertCircle, { className: "h-4 w-4" }),
15479
+ rejected && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15480
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.AlertCircle, { className: "h-4 w-4" }),
14920
15481
  "UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
14921
15482
  ] }),
14922
- timedOut && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
14923
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react52.AlertCircle, { className: "h-4 w-4" }),
15483
+ timedOut && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15484
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.AlertCircle, { className: "h-4 w-4" }),
14924
15485
  "Stopped polling after ",
14925
15486
  Math.round(maxPollTimeMs / 1e3),
14926
15487
  "s. UserOperation may have been rejected by the bundler."
@@ -14931,9 +15492,9 @@ var UserOpStatus = ({
14931
15492
  };
14932
15493
 
14933
15494
  // src/internal/components/Hash.tsx
14934
- var import_lucide_react53 = require("lucide-react");
14935
- var React12 = __toESM(require("react"), 1);
14936
- var import_jsx_runtime82 = require("react/jsx-runtime");
15495
+ var import_lucide_react54 = require("lucide-react");
15496
+ var React11 = __toESM(require("react"), 1);
15497
+ var import_jsx_runtime83 = require("react/jsx-runtime");
14937
15498
  function toExplorerUrl(kind, value, chain) {
14938
15499
  const base2 = chain?.blockExplorers?.default?.url;
14939
15500
  if (!base2) return null;
@@ -14956,12 +15517,12 @@ var Hash = ({
14956
15517
  }) => {
14957
15518
  const value = hash || "";
14958
15519
  const explorer = toExplorerUrl(kind, value, chain || void 0);
14959
- const [copied, setCopied] = React12.useState(false);
14960
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
14961
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: cn2("flex items-center gap-2", className), children: [
14962
- label && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-sm font-medium", children: label }),
14963
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
14964
- showCopy && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
15520
+ const [copied, setCopied] = React11.useState(false);
15521
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
15522
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: cn2("flex items-center gap-2", className), children: [
15523
+ label && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-sm font-medium", children: label }),
15524
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
15525
+ showCopy && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
14965
15526
  Button,
14966
15527
  {
14967
15528
  variant: "ghost",
@@ -14975,10 +15536,10 @@ var Hash = ({
14975
15536
  } catch {
14976
15537
  }
14977
15538
  },
14978
- children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.Copy, { className: "h-4 w-4" })
15539
+ children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.Copy, { className: "h-4 w-4" })
14979
15540
  }
14980
15541
  ),
14981
- showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
15542
+ showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
14982
15543
  "a",
14983
15544
  {
14984
15545
  href: explorer,
@@ -14986,7 +15547,7 @@ var Hash = ({
14986
15547
  rel: "noreferrer noopener",
14987
15548
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
14988
15549
  title: "Open in explorer",
14989
- children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react53.ExternalLink, { className: "h-4 w-4" })
15550
+ children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.ExternalLink, { className: "h-4 w-4" })
14990
15551
  }
14991
15552
  )
14992
15553
  ] });
@@ -14995,7 +15556,7 @@ var Hash = ({
14995
15556
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
14996
15557
  var import_react66 = require("react");
14997
15558
  init_base();
14998
- var import_jsx_runtime83 = require("react/jsx-runtime");
15559
+ var import_jsx_runtime84 = require("react/jsx-runtime");
14999
15560
  var TransactionsList = ({ address, itemsCount = 10 }) => {
15000
15561
  const [transactions, setTransactions] = (0, import_react66.useState)([]);
15001
15562
  const [loading, setLoading] = (0, import_react66.useState)(true);
@@ -15046,31 +15607,31 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
15046
15607
  window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
15047
15608
  };
15048
15609
  if (loading) {
15049
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "p-4 text-center", children: [
15050
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
15051
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
15610
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "p-4 text-center", children: [
15611
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
15612
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
15052
15613
  ] });
15053
15614
  }
15054
15615
  if (error) {
15055
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "p-4 text-center", children: [
15056
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("p", { className: "text-red-600 text-sm", children: error }),
15057
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
15616
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "p-4 text-center", children: [
15617
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("p", { className: "text-red-600 text-sm", children: error }),
15618
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
15058
15619
  ] });
15059
15620
  }
15060
15621
  if (transactions.length === 0) {
15061
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "p-4 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
15622
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "p-4 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
15062
15623
  }
15063
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(
15624
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
15064
15625
  "div",
15065
15626
  {
15066
15627
  className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
15067
15628
  onClick: () => openTransaction(tx.hash),
15068
15629
  children: [
15069
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "flex justify-between items-start mb-2", children: [
15070
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "flex-1", children: [
15071
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "flex items-center space-x-2 mb-1", children: [
15072
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
15073
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
15630
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "flex justify-between items-start mb-2", children: [
15631
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "flex-1", children: [
15632
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "flex items-center space-x-2 mb-1", children: [
15633
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
15634
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
15074
15635
  "span",
15075
15636
  {
15076
15637
  className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`,
@@ -15078,40 +15639,40 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
15078
15639
  }
15079
15640
  )
15080
15641
  ] }),
15081
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "text-sm space-y-1", children: [
15082
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { children: [
15083
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-gray-600", children: "From:" }),
15084
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("span", { className: "font-mono ml-1", children: [
15642
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "text-sm space-y-1", children: [
15643
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { children: [
15644
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-gray-600", children: "From:" }),
15645
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("span", { className: "font-mono ml-1", children: [
15085
15646
  formatAddress3(tx.from.hash),
15086
- tx.from.is_contract && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15647
+ tx.from.is_contract && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15087
15648
  ] })
15088
15649
  ] }),
15089
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { children: [
15090
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-gray-600", children: "To:" }),
15091
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("span", { className: "font-mono ml-1", children: [
15650
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { children: [
15651
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-gray-600", children: "To:" }),
15652
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("span", { className: "font-mono ml-1", children: [
15092
15653
  formatAddress3(tx.to.hash),
15093
- tx.to.is_contract && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15654
+ tx.to.is_contract && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15094
15655
  ] })
15095
15656
  ] }),
15096
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { children: [
15097
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-gray-600", children: "Value:" }),
15098
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("span", { className: "font-semibold ml-1", children: [
15657
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { children: [
15658
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-gray-600", children: "Value:" }),
15659
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("span", { className: "font-semibold ml-1", children: [
15099
15660
  formatValue3(tx.value),
15100
15661
  " LUMIA"
15101
15662
  ] })
15102
15663
  ] })
15103
15664
  ] })
15104
15665
  ] }),
15105
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "text-right text-xs text-gray-500", children: [
15106
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { children: formatDate3(tx.timestamp) }),
15107
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "mt-1", children: [
15666
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "text-right text-xs text-gray-500", children: [
15667
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { children: formatDate3(tx.timestamp) }),
15668
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "mt-1", children: [
15108
15669
  "Gas: ",
15109
15670
  parseInt(tx.gas_used).toLocaleString()
15110
15671
  ] }),
15111
- tx.method && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "mt-1 text-blue-600", children: tx.method })
15672
+ tx.method && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "mt-1 text-blue-600", children: tx.method })
15112
15673
  ] })
15113
15674
  ] }),
15114
- tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
15675
+ tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
15115
15676
  ]
15116
15677
  },
15117
15678
  tx.hash
@@ -15119,7 +15680,7 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
15119
15680
  };
15120
15681
 
15121
15682
  // src/hooks/useUserOpStatus.ts
15122
- var React14 = __toESM(require("react"), 1);
15683
+ var React13 = __toESM(require("react"), 1);
15123
15684
  init_base();
15124
15685
  function useUserOpStatus(options = {}) {
15125
15686
  const {
@@ -15131,16 +15692,16 @@ function useUserOpStatus(options = {}) {
15131
15692
  onReceipt,
15132
15693
  onTxHash
15133
15694
  } = options;
15134
- const [state, setState] = React14.useState("waiting");
15135
- const [receipt, setReceipt] = React14.useState(null);
15136
- const [mempool, setMempool] = React14.useState(null);
15137
- const [txHash, setTxHash] = React14.useState(null);
15138
- const [error, setError] = React14.useState(null);
15139
- const [isPolling, setIsPolling] = React14.useState(false);
15140
- const intervalRef = React14.useRef(null);
15141
- const startTimeRef = React14.useRef(Date.now());
15142
- const prevStateRef = React14.useRef("waiting");
15143
- const rpc = React14.useCallback(async (method, params) => {
15695
+ const [state, setState] = React13.useState("waiting");
15696
+ const [receipt, setReceipt] = React13.useState(null);
15697
+ const [mempool, setMempool] = React13.useState(null);
15698
+ const [txHash, setTxHash] = React13.useState(null);
15699
+ const [error, setError] = React13.useState(null);
15700
+ const [isPolling, setIsPolling] = React13.useState(false);
15701
+ const intervalRef = React13.useRef(null);
15702
+ const startTimeRef = React13.useRef(Date.now());
15703
+ const prevStateRef = React13.useRef("waiting");
15704
+ const rpc = React13.useCallback(async (method, params) => {
15144
15705
  const body = { jsonrpc: "2.0", id: 1, method, params };
15145
15706
  const res = await fetch(getBundlerUrl(), {
15146
15707
  method: "POST",
@@ -15151,21 +15712,21 @@ function useUserOpStatus(options = {}) {
15151
15712
  if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
15152
15713
  return json.result;
15153
15714
  }, []);
15154
- const extractMempoolInfo = React14.useCallback((m) => {
15715
+ const extractMempoolInfo = React13.useCallback((m) => {
15155
15716
  if (!m) return null;
15156
15717
  const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
15157
15718
  const sender = m.sender || m?.userOperation?.sender || null;
15158
15719
  if (!entryPoint && !sender) return null;
15159
15720
  return { entryPoint, sender };
15160
15721
  }, []);
15161
- const updateState = React14.useCallback((newState) => {
15722
+ const updateState = React13.useCallback((newState) => {
15162
15723
  setState(newState);
15163
15724
  if (prevStateRef.current !== newState) {
15164
15725
  prevStateRef.current = newState;
15165
15726
  onStateChange?.(newState);
15166
15727
  }
15167
15728
  }, [onStateChange]);
15168
- const tick = React14.useCallback(async () => {
15729
+ const tick = React13.useCallback(async () => {
15169
15730
  if (!userOpHash || !enabled) return;
15170
15731
  if (receipt) {
15171
15732
  console.log("[useUserOpStatus] Already have receipt, skipping tick");
@@ -15238,7 +15799,7 @@ function useUserOpStatus(options = {}) {
15238
15799
  onTxHash,
15239
15800
  onReceipt
15240
15801
  ]);
15241
- React14.useEffect(() => {
15802
+ React13.useEffect(() => {
15242
15803
  if (!userOpHash || !enabled) return;
15243
15804
  console.log("[useUserOpStatus] Initializing for UserOp hash:", userOpHash);
15244
15805
  startTimeRef.current = Date.now();
@@ -15250,7 +15811,7 @@ function useUserOpStatus(options = {}) {
15250
15811
  setError(null);
15251
15812
  setIsPolling(false);
15252
15813
  }, [userOpHash, enabled]);
15253
- React14.useEffect(() => {
15814
+ React13.useEffect(() => {
15254
15815
  if (!userOpHash || !enabled) {
15255
15816
  console.log("[useUserOpStatus] Not starting polling - no hash or disabled");
15256
15817
  return;
@@ -15286,7 +15847,7 @@ function useUserOpStatus(options = {}) {
15286
15847
  }
15287
15848
  };
15288
15849
  }, [userOpHash, enabled, pollMs]);
15289
- const refresh = React14.useCallback(async () => {
15850
+ const refresh = React13.useCallback(async () => {
15290
15851
  await tick();
15291
15852
  }, [tick]);
15292
15853
  return {
@@ -15345,13 +15906,13 @@ init_profile();
15345
15906
  init_errors();
15346
15907
 
15347
15908
  // src/modules/transactions.ts
15348
- var import_wagmi10 = require("wagmi");
15909
+ var import_wagmi9 = require("wagmi");
15349
15910
  var import_viem11 = require("viem");
15350
15911
  init_base();
15351
15912
  function useTransactions() {
15352
- const publicClient2 = (0, import_wagmi10.usePublicClient)({ chainId: lumiaBeam.id });
15353
- const { data: walletClient } = (0, import_wagmi10.useWalletClient)();
15354
- const { address } = (0, import_wagmi10.useAccount)();
15913
+ const publicClient2 = (0, import_wagmi9.usePublicClient)({ chainId: lumiaBeam.id });
15914
+ const { data: walletClient } = (0, import_wagmi9.useWalletClient)();
15915
+ const { address } = (0, import_wagmi9.useAccount)();
15355
15916
  const sendTransaction = async (params) => {
15356
15917
  if (!walletClient) {
15357
15918
  throw new Error("Wallet not connected");
@@ -15407,10 +15968,171 @@ function useTransactions() {
15407
15968
  };
15408
15969
  }
15409
15970
 
15410
- // src/modules/smartAccountTransactions.ts
15971
+ // src/modules/assets.ts
15972
+ var import_react68 = __toESM(require("react"), 1);
15973
+ var import_wagmi10 = require("wagmi");
15411
15974
  var import_viem12 = require("viem");
15412
15975
  init_base();
15413
- var USER_OP_EVENT = (0, import_viem12.parseAbiItem)(
15976
+ var COMMON_TOKENS = [
15977
+ // Add real token addresses here when available
15978
+ // {
15979
+ // address: '0x....',
15980
+ // name: 'USD Coin',
15981
+ // symbol: 'USDC',
15982
+ // decimals: 6,
15983
+ // logo: 'https://...'
15984
+ // }
15985
+ ];
15986
+ function useAssets(address) {
15987
+ const { data: nativeBalance, isLoading: nativeBalanceLoading, refetch: refetchNativeBalance } = (0, import_wagmi10.useBalance)({
15988
+ address,
15989
+ chainId: lumiaBeam.id,
15990
+ query: {
15991
+ enabled: !!address
15992
+ }
15993
+ });
15994
+ const tokenContracts = COMMON_TOKENS.map((token) => ({
15995
+ address: token.address,
15996
+ abi: import_viem12.erc20Abi,
15997
+ functionName: "balanceOf",
15998
+ args: [address],
15999
+ chainId: lumiaBeam.id
16000
+ }));
16001
+ const readContractsResult = (0, import_wagmi10.useReadContracts)({
16002
+ contracts: tokenContracts,
16003
+ query: {
16004
+ enabled: !!address && COMMON_TOKENS.length > 0
16005
+ }
16006
+ });
16007
+ const { data: tokenBalances, isLoading: tokenBalancesLoading, refetch: refetchTokenBalances } = readContractsResult;
16008
+ const getAllAssets = () => {
16009
+ const assets = [];
16010
+ if (nativeBalance) {
16011
+ assets.push({
16012
+ type: "native",
16013
+ name: "Lumia",
16014
+ symbol: "LUMIA",
16015
+ balance: nativeBalance.value.toString(),
16016
+ formattedBalance: parseFloat(nativeBalance.formatted).toFixed(4),
16017
+ decimals: 18
16018
+ });
16019
+ }
16020
+ if (tokenBalances && COMMON_TOKENS.length > 0) {
16021
+ tokenBalances.forEach((balance, index) => {
16022
+ const token = COMMON_TOKENS[index];
16023
+ if (balance.status === "success" && balance.result) {
16024
+ const balanceValue = balance.result;
16025
+ const formattedBalance = (0, import_viem12.formatUnits)(balanceValue, token.decimals);
16026
+ assets.push({
16027
+ type: "erc20",
16028
+ address: token.address,
16029
+ name: token.name,
16030
+ symbol: token.symbol,
16031
+ balance: balanceValue.toString(),
16032
+ formattedBalance: parseFloat(formattedBalance).toFixed(4),
16033
+ decimals: token.decimals,
16034
+ logo: token.logo
16035
+ });
16036
+ }
16037
+ });
16038
+ }
16039
+ return assets;
16040
+ };
16041
+ const getTokenBalance = (tokenAddress) => {
16042
+ const tokenIndex = COMMON_TOKENS.findIndex(
16043
+ (token2) => token2.address.toLowerCase() === tokenAddress.toLowerCase()
16044
+ );
16045
+ if (tokenIndex === -1 || !tokenBalances?.[tokenIndex]) {
16046
+ return null;
16047
+ }
16048
+ const balance = tokenBalances[tokenIndex];
16049
+ const token = COMMON_TOKENS[tokenIndex];
16050
+ if (balance.status === "success" && balance.result) {
16051
+ const balanceValue = balance.result;
16052
+ const formattedBalance = (0, import_viem12.formatUnits)(balanceValue, token.decimals);
16053
+ return {
16054
+ address: token.address,
16055
+ name: token.name,
16056
+ symbol: token.symbol,
16057
+ decimals: token.decimals,
16058
+ balance: balanceValue.toString(),
16059
+ formattedBalance: parseFloat(formattedBalance).toFixed(4),
16060
+ logo: token.logo
16061
+ };
16062
+ }
16063
+ return null;
16064
+ };
16065
+ const refreshBalances = async () => {
16066
+ await Promise.all([
16067
+ refetchNativeBalance(),
16068
+ refetchTokenBalances()
16069
+ ]);
16070
+ };
16071
+ return {
16072
+ nativeBalance,
16073
+ tokenBalances,
16074
+ assets: getAllAssets(),
16075
+ getTokenBalance,
16076
+ refreshBalances,
16077
+ isLoading: nativeBalanceLoading || tokenBalancesLoading,
16078
+ isConnected: !!address
16079
+ };
16080
+ }
16081
+ function useTokenInfo(tokenAddress) {
16082
+ const readContractsResult = (0, import_wagmi10.useReadContracts)({
16083
+ contracts: [
16084
+ { address: tokenAddress, abi: import_viem12.erc20Abi, functionName: "name", chainId: lumiaBeam.id },
16085
+ { address: tokenAddress, abi: import_viem12.erc20Abi, functionName: "symbol", chainId: lumiaBeam.id },
16086
+ { address: tokenAddress, abi: import_viem12.erc20Abi, functionName: "decimals", chainId: lumiaBeam.id }
16087
+ ]
16088
+ });
16089
+ const { data: tokenData, isLoading } = readContractsResult;
16090
+ if (!tokenData || isLoading) {
16091
+ return { isLoading, tokenInfo: null };
16092
+ }
16093
+ const [nameResult, symbolResult, decimalsResult] = tokenData;
16094
+ if (nameResult.status === "success" && symbolResult.status === "success" && decimalsResult.status === "success") {
16095
+ return {
16096
+ isLoading: false,
16097
+ tokenInfo: {
16098
+ name: nameResult.result,
16099
+ symbol: symbolResult.result,
16100
+ decimals: decimalsResult.result,
16101
+ address: tokenAddress
16102
+ }
16103
+ };
16104
+ }
16105
+ return { isLoading: false, tokenInfo: null };
16106
+ }
16107
+ function useTokenBalance(tokenAddress, userAddress) {
16108
+ const { data: balance, isLoading, refetch } = (0, import_wagmi10.useReadContract)({
16109
+ address: tokenAddress,
16110
+ abi: import_viem12.erc20Abi,
16111
+ functionName: "balanceOf",
16112
+ args: userAddress ? [userAddress] : void 0,
16113
+ chainId: lumiaBeam.id,
16114
+ query: {
16115
+ enabled: !!userAddress
16116
+ }
16117
+ });
16118
+ const { tokenInfo } = useTokenInfo(tokenAddress);
16119
+ const formattedBalance = import_react68.default.useMemo(() => {
16120
+ if (!balance || !tokenInfo) return "0";
16121
+ return (0, import_viem12.formatUnits)(balance, tokenInfo.decimals);
16122
+ }, [balance, tokenInfo]);
16123
+ return {
16124
+ balance,
16125
+ formattedBalance,
16126
+ tokenInfo,
16127
+ isLoading,
16128
+ refetch
16129
+ };
16130
+ }
16131
+
16132
+ // src/modules/smartAccountTransactions.ts
16133
+ var import_viem13 = require("viem");
16134
+ init_base();
16135
+ var USER_OP_EVENT = (0, import_viem13.parseAbiItem)(
15414
16136
  "event UserOperationEvent(bytes32 indexed userOpHash, address indexed sender, address indexed paymaster, uint256 nonce, bool success, uint256 actualGasCost, uint256 actualGasUsed)"
15415
16137
  );
15416
16138
  function useSmartAccountTransactions() {
@@ -15506,6 +16228,7 @@ init_iframe_manager();
15506
16228
  signTypedData,
15507
16229
  updateUserProfile,
15508
16230
  useAssets,
16231
+ useErc3643Compliance,
15509
16232
  useLogout,
15510
16233
  useLumiaPassportAccountSession,
15511
16234
  useLumiaPassportAddress,