@lumiapassport/ui-kit 1.12.4 → 1.12.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1973,27 +1973,12 @@ var init_keyshare = __esm({
1973
1973
  });
1974
1974
 
1975
1975
  // src/internal/auth/providers/types.ts
1976
- import { Fingerprint, Link as LinkIcon, Mail, Wallet as WalletIcon } from "lucide-react";
1976
+ import { Key, Mail, Wallet2 } from "lucide-react";
1977
1977
  function getTssUrl3() {
1978
1978
  return getServiceUrls().tssUrl;
1979
1979
  }
1980
1980
  function getProviderDisplayInfo(provider) {
1981
- const providers = {
1982
- passkey: { name: "Passkey", icon: Fingerprint, description: "Biometric authentication", color: "blue" },
1983
- email: { name: "Email", icon: Mail, description: "Email verification", color: "gray" },
1984
- telegram: { name: "Telegram", icon: TelegramIcon, description: "Telegram account", color: "blue" },
1985
- google: { name: "Google", icon: GoogleIcon, description: "Google account", color: "red" },
1986
- discord: { name: "Discord", icon: DiscordIcon, description: "Discord account", color: "purple" },
1987
- twitter: { name: "X", icon: TwitterIcon, description: "X (Twitter) account", color: "blue" },
1988
- x: { name: "X", icon: TwitterIcon, description: "X (Twitter) account", color: "blue" },
1989
- wallet: { name: "Wallet", icon: WalletIcon, description: "External wallet (EOA)", color: "purple" }
1990
- };
1991
- return providers[provider] || {
1992
- name: provider,
1993
- icon: LinkIcon,
1994
- description: "Authentication provider",
1995
- color: "gray"
1996
- };
1981
+ return PROVIDERS_META[provider];
1997
1982
  }
1998
1983
  function formatDate(dateString) {
1999
1984
  if (!dateString) return "Never";
@@ -2004,10 +1989,20 @@ function formatDate(dateString) {
2004
1989
  return "Invalid date";
2005
1990
  }
2006
1991
  }
1992
+ var PROVIDERS_META;
2007
1993
  var init_types = __esm({
2008
1994
  "src/internal/auth/providers/types.ts"() {
2009
1995
  init_assets();
2010
1996
  init_lumiaPassport();
1997
+ PROVIDERS_META = {
1998
+ passkey: { name: "Passkey", icon: Key, description: "Biometric authentication" },
1999
+ email: { name: "Email", icon: Mail, description: "Email verification" },
2000
+ telegram: { name: "Telegram", icon: TelegramIcon, description: "Telegram account" },
2001
+ google: { name: "Google", icon: GoogleIcon, description: "Google account" },
2002
+ discord: { name: "Discord", icon: DiscordIcon, description: "Discord account" },
2003
+ twitter: { name: "X", icon: TwitterIcon, description: "X (Twitter) account" },
2004
+ wallet: { name: "Wallet", icon: Wallet2, description: "External wallet (EOA)" }
2005
+ };
2011
2006
  }
2012
2007
  });
2013
2008
 
@@ -4256,26 +4251,26 @@ var init_profile = __esm({
4256
4251
  });
4257
4252
 
4258
4253
  // src/styles/built.css
4259
- var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[32px\\]{height:32px}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[60dvh\\]{max-height:60dvh}.lumia-scope .max-h-\\[60vh\\]{max-height:60vh}.lumia-scope .max-h-\\[80vh\\]{max-height:80vh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[var\\(--l-pass-maw\\)\\]{max-width:var(--l-pass-maw)}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 20px var(--l-pass-bg-error)}50%{transform:scale(.97);box-shadow:0 0 10px var(--l-pass-shadow-c)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-\\[var\\(--l-pass-info\\)\\]{border-color:var(--l-pass-info)}.lumia-scope .border-\\[var\\(--l-pass-success\\)\\]{border-color:var(--l-pass-success)}.lumia-scope .border-\\[var\\(--l-pass-warning\\)\\]{border-color:var(--l-pass-warning)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-800\\/80{border-color:rgba(153,27,27,.8)}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .\\!bg-transparent{background-color:transparent!important}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#0088cc\\]{--tw-bg-opacity:1;background-color:rgb(0 136 204/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-note\\)\\]{background-color:var(--l-pass-bg-note)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-error\\)\\]{background-color:var(--l-pass-error)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-success\\)\\]{background-color:var(--l-pass-success)}.lumia-scope .bg-\\[var\\(--l-pass-warning\\)\\]{background-color:var(--l-pass-warning)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-note\\)\\]{color:var(--l-pass-note)}.lumia-scope .text-\\[var\\(--l-pass-primary\\)\\]{color:var(--l-pass-primary)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-600\\/90{color:rgba(220,38,38,.9)}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-maw:var(--lumia-passport-maw,320px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-el-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.8));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.6));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-note:var(--lumia-passport-note,var(--l-pass-fg-inverted));--l-pass-bg-note:var(--lumia-passport-bg-note,#d6204e);--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,var(--l-pass-fg));--l-pass-bg-error:var(--lumia-passport-bg-error,#e9fa00)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.9));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.7));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-note:var(--lumia-passport-note,var(--l-pass-fg-inverted));--l-pass-bg-note:var(--lumia-passport-bg-note,#d6204e);--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));--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,var(--l-pass-fg));--l-pass-bg-error:var(--lumia-passport-bg-error,#e9fa00)}.lumia-scope,.lumia-scope *,.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{font-family:system-ui,-apple-system,sans-serif!important}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:calc(100% + 8px);padding-right:4px;overflow-y:auto;max-height:calc(var(--l-pass-maw)*2/3)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .file\\:mr-3::file-selector-button{margin-right:.75rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-bg-info\\)\\]::file-selector-button{background-color:var(--l-pass-bg-info)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-3::file-selector-button{padding-left:.75rem;padding-right:.75rem}.lumia-scope .file\\:py-1\\.5::file-selector-button{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:text-xs::file-selector-button{font-size:.75rem;line-height:1rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-info\\)\\]::file-selector-button{color:var(--l-pass-info)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[\\#0077bb\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 119 187/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .hover\\:file\\:opacity-90::file-selector-button:hover{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-\\[var\\(--l-pass-bd-intense\\)\\]:focus{--tw-ring-color:var(--l-pass-bd-intense)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
4254
+ var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .mb-\\[var\\(--l-pass-gap\\)\\]{margin-bottom:var(--l-pass-gap)}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-1\\.5{margin-right:.375rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-1\\.5{margin-top:.375rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[32px\\]{height:32px}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[60dvh\\]{max-height:60dvh}.lumia-scope .max-h-\\[60vh\\]{max-height:60vh}.lumia-scope .max-h-\\[80vh\\]{max-height:80vh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[var\\(--l-pass-maw\\)\\]{max-width:var(--l-pass-maw)}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-error)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-error)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .gap-\\[var\\(--l-pass-pd\\)\\]{gap:var(--l-pass-pd)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-800\\/80{border-color:rgba(153,27,27,.8)}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .\\!bg-transparent{background-color:transparent!important}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#0088cc\\]{--tw-bg-opacity:1;background-color:rgb(0 136 204/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-success\\)\\]{background-color:var(--l-pass-success)}.lumia-scope .bg-\\[var\\(--l-pass-warning\\)\\]{background-color:var(--l-pass-warning)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700\\/80{background-color:rgba(185,28,28,.8)}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/90{background-color:rgba(69,10,10,.9)}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-muted\\)\\]{color:var(--l-pass-muted)}.lumia-scope .text-\\[var\\(--l-pass-primary\\)\\]{color:var(--l-pass-primary)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-300\\/95{color:hsla(0,94%,82%,.95)}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-400\\/80{color:hsla(0,91%,71%,.8)}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-600\\/90{color:rgba(220,38,38,.9)}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@font-face{font-family:Inter;src:url(@/src/styles/Inter-VariableFont_opsz,wght.ttf) format("truetype-variations");font-weight:100 900;font-stretch:75% 125%;font-style:normal;font-display:swap}.lumia-scope{--l-pass-maw:var(--lumia-passport-maw,320px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.8));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.6));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#c9c9c9);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#e4e4e4);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.9));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.7));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.9));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.7));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.9));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.7));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.5));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,#2a2a2a);--l-pass-success:var(--lumia-passport-success,var(--l-pass-fg-inverted));--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,var(--l-pass-fg-inverted));--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,system-ui,Inter,sans-serif;font-optical-sizing:auto}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{font-family:system-ui,-apple-system,sans-serif!important}.lumia-scope .lumia-passport-button{box-shadow:0 4px 10px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:calc(100% + 8px);padding-right:4px;overflow-y:auto;max-height:calc(var(--l-pass-maw)*2/3)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .file\\:mr-3::file-selector-button{margin-right:.75rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-bg-info\\)\\]::file-selector-button{background-color:var(--l-pass-bg-info)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-3::file-selector-button{padding-left:.75rem;padding-right:.75rem}.lumia-scope .file\\:py-1\\.5::file-selector-button{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:text-xs::file-selector-button{font-size:.75rem;line-height:1rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-info\\)\\]::file-selector-button{color:var(--l-pass-info)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[\\#0077bb\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 119 187/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-600\\/90:hover{background-color:rgba(220,38,38,.9)}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover{color:var(--l-pass-fg)}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .hover\\:file\\:opacity-90::file-selector-button:hover{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
4260
4255
 
4261
4256
  // src/context/LumiaPassportContext.tsx
4262
4257
  init_lumiaPassport();
4263
4258
  init_iframe_manager();
4264
4259
  import { initSdkErrorTracking } from "@lumiapassport/core/internal/error-tracking";
4265
- import { createContext, useCallback as useCallback16, useContext, useEffect as useEffect27, useState as useState14 } from "react";
4260
+ import { createContext, useCallback as useCallback16, useContext, useEffect as useEffect28, useState as useState14 } from "react";
4266
4261
 
4267
4262
  // src/context/LumiaPassportSessionContext.tsx
4268
- import { Fragment as Fragment9 } from "react";
4263
+ import { Fragment as Fragment10 } from "react";
4269
4264
  import { create as create5 } from "zustand";
4270
4265
 
4271
4266
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
4272
- import { AnimatePresence as AnimatePresence5, motion as motion5 } from "framer-motion";
4273
- import { useEffect as useEffect23 } from "react";
4267
+ import { AnimatePresence as AnimatePresence4, motion as motion4 } from "framer-motion";
4268
+ import { useEffect as useEffect24 } from "react";
4274
4269
 
4275
4270
  // package.json
4276
4271
  var package_default = {
4277
4272
  name: "@lumiapassport/ui-kit",
4278
- version: "1.12.4",
4273
+ version: "1.12.6",
4279
4274
  description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
4280
4275
  type: "module",
4281
4276
  main: "./dist/index.cjs",
@@ -4380,7 +4375,7 @@ var LumiaLogo = forwardRef(({ size = 24, className = "" }, ref) => /* @__PURE__
4380
4375
  xmlns: "http://www.w3.org/2000/svg",
4381
4376
  fill: "none",
4382
4377
  children: [
4383
- /* @__PURE__ */ jsx2("circle", { cx: "256", cy: "256", r: "256", fill: "var(--l-pass-primary)", strokeWidth: "0" }),
4378
+ /* @__PURE__ */ jsx2("circle", { cx: "256", cy: "256", r: "256", fill: "currentColor", strokeWidth: "0" }),
4384
4379
  /* @__PURE__ */ jsx2(
4385
4380
  "path",
4386
4381
  {
@@ -4425,12 +4420,22 @@ init_base();
4425
4420
  import { create } from "zustand";
4426
4421
 
4427
4422
  // src/internal/constants.ts
4428
- var DEFAULT_MAIN_MENU_HEIGHT = 88;
4423
+ init_assets();
4424
+ import { Key as Key2, Mail as Mail2, Wallet2 as Wallet22 } from "lucide-react";
4425
+ var DEFAULT_MAIN_MENU_HEIGHT = 90;
4429
4426
  var DEFAULT_AUTH_MENU_HEIGHT = 253;
4430
- var MAX_LIST_HEIGHT = 320;
4431
4427
  var MAIN_DIALOG_ANIMATION_SPEED = 375;
4432
4428
  var Y_ANIMATION_SETUP = { duration: 0.15, ease: "easeInOut", height: { duration: 0.375 } };
4433
4429
  var LOCAL_COLOR_MODE_KEY = "lumia-passport-theme";
4430
+ var PROVIDERS_META2 = {
4431
+ passkey: { name: "Passkey", icon: Key2, description: "Biometric authentication" },
4432
+ email: { name: "Email", icon: Mail2, description: "Email verification" },
4433
+ telegram: { name: "Telegram", icon: TelegramIcon, description: "Telegram account" },
4434
+ google: { name: "Google", icon: GoogleIcon, description: "Google account" },
4435
+ discord: { name: "Discord", icon: DiscordIcon, description: "Discord account" },
4436
+ twitter: { name: "X", icon: TwitterIcon, description: "X (Twitter) account" },
4437
+ wallet: { name: "Wallet", icon: Wallet22, description: "External wallet (EOA)" }
4438
+ };
4434
4439
 
4435
4440
  // src/internal/hooks/useLayoutDataStore.ts
4436
4441
  var PageKey = /* @__PURE__ */ ((PageKey2) => {
@@ -4445,7 +4450,6 @@ var PageKey = /* @__PURE__ */ ((PageKey2) => {
4445
4450
  PageKey2["TRANSACTIONS"] = "transactions";
4446
4451
  PageKey2["ASSETS"] = "assets";
4447
4452
  PageKey2["MANAGE_WALLET"] = "manage-wallet";
4448
- PageKey2["ADD_PROVIDER"] = "add-provider";
4449
4453
  PageKey2["UNLINK_PROVIDER"] = "unlink-provider";
4450
4454
  PageKey2["SECURITY"] = "security";
4451
4455
  PageKey2["KEYSARE_BACKUP"] = "keysare-backup";
@@ -4458,19 +4462,24 @@ var useLayoutDataStore = create((set) => ({
4458
4462
  lumiaRate: 1,
4459
4463
  usdBalance: 0,
4460
4464
  balance: { decimals: 18, formatted: "0.0", symbol: "LUMIA", value: BigInt(0) },
4461
- layoutError: "",
4462
4465
  mainPageHeight: DEFAULT_MAIN_MENU_HEIGHT,
4463
4466
  settingsNotifications: [],
4464
- isUiDisabled: false,
4465
4467
  setPage: (page) => set({ page }),
4466
4468
  setPageParams: (pageOptions) => set({ pageParams: pageOptions }),
4467
4469
  setLumiaRate: (lumiaRate) => set({ lumiaRate }),
4468
4470
  setUsdBalance: (usdBalance) => set({ usdBalance }),
4469
4471
  setBalance: (balance) => set({ balance }),
4470
- setLayoutError: (providersError) => set({ layoutError: providersError }),
4471
4472
  setMainPageHeight: (height) => set({ mainPageHeight: height }),
4472
- setSettingsNotifications: (notifications) => set({ settingsNotifications: notifications }),
4473
- setIsUiDisabled: (isUiDisabled) => set({ isUiDisabled })
4473
+ setSettingsNotifications: (notification) => set((prev) => {
4474
+ const actions = notification.status === "active" ? "add" : "remove";
4475
+ const exists = prev.settingsNotifications.find((n) => n.id === notification.id);
4476
+ if (actions === "add") {
4477
+ if (exists) return prev;
4478
+ return { settingsNotifications: [...prev.settingsNotifications, notification] };
4479
+ }
4480
+ const filtered = prev.settingsNotifications.filter((n) => n.id !== notification.id);
4481
+ return { settingsNotifications: filtered };
4482
+ })
4474
4483
  }));
4475
4484
 
4476
4485
  // src/internal/lib/utils.ts
@@ -4567,15 +4576,14 @@ Button.displayName = "Button";
4567
4576
  import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
4568
4577
  function Footer() {
4569
4578
  const { callbacks } = useLumiaPassportConfig();
4570
- const { address, setSession, setAddress, setStatus, setError } = useLumiaPassportSession();
4579
+ const { address, setSession, setAddress, setStatus, setError, setIsLoading } = useLumiaPassportSession();
4571
4580
  const setPage = useLayoutDataStore((st) => st.setPage);
4572
- const setIsUiDisabled = useLayoutDataStore((st) => st.setIsUiDisabled);
4573
4581
  const { mutate: disconnect, isPending: isDisconnecting } = useMutation({
4574
4582
  mutationFn: async (disconnectAddress) => {
4575
4583
  if (!disconnectAddress) throw new Error("No address to disconnect");
4576
4584
  setError(null);
4577
4585
  setStatus("disconnecting");
4578
- setIsUiDisabled(true);
4586
+ setIsLoading(true);
4579
4587
  const userId = jwtTokenManager2.getUserId() || null;
4580
4588
  const { logout: logout2 } = await Promise.resolve().then(() => (init_auth(), auth_exports));
4581
4589
  await logout2();
@@ -4586,14 +4594,14 @@ function Footer() {
4586
4594
  setAddress(null);
4587
4595
  setError(null);
4588
4596
  setStatus("idle");
4589
- setIsUiDisabled(false);
4597
+ setIsLoading(false);
4590
4598
  callbacks?.onLumiaPassportDisconnect?.({ address: disconnectAddress, userId: disconnectedUserId });
4591
4599
  setPage("auth" /* AUTH */);
4592
4600
  },
4593
4601
  onError: (err) => {
4594
4602
  setError(err.message || "An unknown error occurred during sign out");
4595
4603
  setStatus("idle");
4596
- setIsUiDisabled(false);
4604
+ setIsLoading(false);
4597
4605
  }
4598
4606
  });
4599
4607
  const { name, logo, logoDataUri } = lumiaBeam;
@@ -4942,15 +4950,15 @@ var DialogContent = React2.forwardRef(
4942
4950
  children: [
4943
4951
  /* @__PURE__ */ jsx8("span", { className: "sr-only", children: "Settings" }),
4944
4952
  /* @__PURE__ */ jsx8(SlidersHorizontal, { className: "w-4 h-4" }),
4945
- (!!settingsNotifications.length || true) && /* @__PURE__ */ jsx8(
4953
+ !!settingsNotifications.length && /* @__PURE__ */ jsx8(
4946
4954
  "div",
4947
4955
  {
4948
4956
  className: cn(
4949
4957
  "absolute -top-2 -right-2 flex h-4 w-4",
4950
- "items-center justify-center rounded-full bg-[var(--l-pass-bg-note)]",
4951
- "text-xs font-semibold text-[var(--l-pass-note)]"
4958
+ "items-center justify-center rounded-full bg-[var(--l-pass-bg-error)]",
4959
+ "text-xs font-semibold text-[var(--l-pass-error)]"
4952
4960
  ),
4953
- children: settingsNotifications.length || 3
4961
+ children: settingsNotifications.length
4954
4962
  }
4955
4963
  )
4956
4964
  ]
@@ -5268,7 +5276,7 @@ function AuthFailedStep() {
5268
5276
  {
5269
5277
  className: cn(
5270
5278
  "w-full flex flex-col p-2 gap-2 rounded-[var(--l-pass-el-bdrs)]",
5271
- isCritical ? "text-[var(--l-pass-error)] bg-[var(--l-pass-bg-error)] border border-[var(--l-pass-error)]" : "text-[var(--l-pass-warning)] bg-[var(--l-pass-bg-warning)] border border-[var(--l-pass-warning)]"
5279
+ isCritical ? "text-[var(--l-pass-error)] bg-[var(--l-pass-bg-error)]" : "text-[var(--l-pass-warning)] bg-[var(--l-pass-bg-warning)]"
5272
5280
  ),
5273
5281
  children: [
5274
5282
  /* @__PURE__ */ jsxs8("div", { className: "w-full flex items-center justify-center gap-2", children: [
@@ -5279,7 +5287,7 @@ function AuthFailedStep() {
5279
5287
  ]
5280
5288
  }
5281
5289
  ),
5282
- failedType === "config" && /* @__PURE__ */ jsxs8("div", { className: "p-2 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-info)] border border-[var(--l-pass-info)]", children: [
5290
+ failedType === "config" && /* @__PURE__ */ jsxs8("div", { className: "p-2 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-info)]", children: [
5283
5291
  /* @__PURE__ */ jsx10("div", { className: "text-sm font-medium text-[var(--l-pass-info)] mb-2", children: "To fix this issue:" }),
5284
5292
  /* @__PURE__ */ jsxs8("ul", { className: "text-xs text-[var(--l-pass-info)] text-left space-y-1 list-disc list-inside", children: [
5285
5293
  /* @__PURE__ */ jsx10("li", { children: "Contact your project administrator" }),
@@ -5287,7 +5295,7 @@ function AuthFailedStep() {
5287
5295
  /* @__PURE__ */ jsx10("li", { children: "Check project metadata on the server" })
5288
5296
  ] })
5289
5297
  ] }),
5290
- failedType === "critical" && /* @__PURE__ */ jsxs8("div", { className: "p-2 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-error)] border border-[var(--l-pass-error)]", children: [
5298
+ failedType === "critical" && /* @__PURE__ */ jsxs8("div", { className: "p-2 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-error)] border", children: [
5291
5299
  /* @__PURE__ */ jsx10("div", { className: "text-sm font-semibold text-[var(--l-pass-error)] mb-2", children: "What to do next:" }),
5292
5300
  /* @__PURE__ */ jsxs8("ul", { className: "text-xs text-[var(--l-pass-error)] text-left space-y-1 list-disc list-inside", children: [
5293
5301
  /* @__PURE__ */ jsx10("li", { children: "Contact support immediately" }),
@@ -5322,7 +5330,7 @@ init_profile();
5322
5330
  import React3, { useImperativeHandle, useRef as useRef2 } from "react";
5323
5331
  import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
5324
5332
  var Input = React3.forwardRef((props, ref) => {
5325
- const { className, type, disabled, error, Icon, ...inputProps } = props;
5333
+ const { className, disabled, error, Icon, element, ...inputProps } = props;
5326
5334
  const internalRef = useRef2(null);
5327
5335
  useImperativeHandle(ref, () => internalRef.current);
5328
5336
  return /* @__PURE__ */ jsxs9("div", { className: cn("w-full flex flex-col gap-1", className), children: [
@@ -5330,7 +5338,7 @@ var Input = React3.forwardRef((props, ref) => {
5330
5338
  "div",
5331
5339
  {
5332
5340
  className: cn(
5333
- "flex h-12 w-full rounded-[var(--l-pass-el-bdrs)] text-sm items-center gap-2 px-2",
5341
+ "flex h-12 w-full rounded-[var(--l-pass-el-bdrs)] text-sm items-center gap-[var(--l-pass-gap)] px-[var(--l-pass-pd)]",
5334
5342
  "bg-[var(--l-pass-secondary)]",
5335
5343
  "hover:bg-[var(--l-pass-secondary-h)]",
5336
5344
  "transition-colors duration-200 ease-in-out",
@@ -5342,7 +5350,7 @@ var Input = React3.forwardRef((props, ref) => {
5342
5350
  internalRef.current?.focus();
5343
5351
  },
5344
5352
  children: [
5345
- Icon && /* @__PURE__ */ jsx11("div", { className: "flex items-center justify-center w-6 h-6 p-1", children: /* @__PURE__ */ jsx11(Icon, { width: 16, height: 16, className: "text-[var(--l-pass-fg)]" }) }),
5353
+ Icon && /* @__PURE__ */ jsx11("div", { className: "flex flex-none items-center justify-center w-6 h-6 p-1", children: /* @__PURE__ */ jsx11(Icon, { width: 16, height: 16, className: "text-[var(--l-pass-fg)]" }) }),
5346
5354
  /* @__PURE__ */ jsx11(
5347
5355
  "input",
5348
5356
  {
@@ -5357,7 +5365,8 @@ var Input = React3.forwardRef((props, ref) => {
5357
5365
  disabled,
5358
5366
  ...inputProps
5359
5367
  }
5360
- )
5368
+ ),
5369
+ element
5361
5370
  ]
5362
5371
  }
5363
5372
  ),
@@ -5483,7 +5492,7 @@ import { Fragment } from "react";
5483
5492
  // src/internal/components/AuthMenu/SignInStep/Email.tsx
5484
5493
  init_lumiaPassport();
5485
5494
  init_projectId();
5486
- import { ChevronRight, Loader as Loader2, Mail as Mail2 } from "lucide-react";
5495
+ import { ChevronRight, Loader as Loader2, Mail as Mail3 } from "lucide-react";
5487
5496
  import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
5488
5497
  function Email() {
5489
5498
  const { config, callbacks } = useLumiaPassportConfig();
@@ -5539,7 +5548,7 @@ function Email() {
5539
5548
  Input,
5540
5549
  {
5541
5550
  name: "signin-email",
5542
- Icon: Mail2,
5551
+ Icon: Mail3,
5543
5552
  error: codeSendError,
5544
5553
  type: "email",
5545
5554
  autoComplete: "off",
@@ -5573,8 +5582,7 @@ function ErrorAlert(props) {
5573
5582
  {
5574
5583
  className: cn(
5575
5584
  "w-full flex flex-col gap-2 rounded-[var(--l-pass-el-bdrs)]",
5576
- "text-[var(--l-pass-error)] bg-[var(--l-pass-bg-error)]",
5577
- "border border-[var(--l-pass-error)]"
5585
+ "text-[var(--l-pass-error)] bg-[var(--l-pass-bg-error)]"
5578
5586
  ),
5579
5587
  children: [
5580
5588
  /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-2", children: [
@@ -5591,7 +5599,7 @@ function ErrorAlert(props) {
5591
5599
  init_assets();
5592
5600
  init_lumiaPassport();
5593
5601
  init_auth();
5594
- import { Key } from "lucide-react";
5602
+ import { Key as Key3 } from "lucide-react";
5595
5603
  import { useCallback as useCallback2 } from "react";
5596
5604
  init_projectId();
5597
5605
  import { jsx as jsx16, jsxs as jsxs13 } from "react/jsx-runtime";
@@ -6004,7 +6012,7 @@ function Social(props) {
6004
6012
  onClick: () => setStep("signin-passkey"),
6005
6013
  disabled: isLoading,
6006
6014
  title: "Passkey",
6007
- children: /* @__PURE__ */ jsx16(Key, { className: "w-5 h-5" })
6015
+ children: /* @__PURE__ */ jsx16(Key3, { className: "w-5 h-5" })
6008
6016
  }
6009
6017
  ),
6010
6018
  config.social.providers.filter((provider) => provider.enabled).map((provider) => {
@@ -6102,7 +6110,7 @@ function SignInStep(props) {
6102
6110
  }
6103
6111
 
6104
6112
  // src/internal/components/AuthMenu/SignInStep/PassKeyStep.tsx
6105
- import { ArrowLeft as ArrowLeft2, Key as Key2 } from "lucide-react";
6113
+ import { ArrowLeft as ArrowLeft2, Key as Key4 } from "lucide-react";
6106
6114
  import { useCallback as useCallback4 } from "react";
6107
6115
 
6108
6116
  // src/internal/assets/PasskeyAddIcon.tsx
@@ -6371,7 +6379,7 @@ function PassKeyStep(props) {
6371
6379
  }, [onAuthSuccess, setPage, callbacks]);
6372
6380
  return /* @__PURE__ */ jsxs16(Expandable, { isExpanded: true, contentClassName: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
6373
6381
  /* @__PURE__ */ jsxs16("div", { className: "relative flex items-center justify-center gap-2 px-5 pt-3 pb-6", children: [
6374
- /* @__PURE__ */ jsx20(Key2, { className: "w-6 h-6" }),
6382
+ /* @__PURE__ */ jsx20(Key4, { className: "w-6 h-6" }),
6375
6383
  /* @__PURE__ */ jsx20("span", { className: "font-bold text-xl leading-6", children: "Passkey" }),
6376
6384
  /* @__PURE__ */ jsxs16(
6377
6385
  Button,
@@ -6390,7 +6398,7 @@ function PassKeyStep(props) {
6390
6398
  )
6391
6399
  ] }),
6392
6400
  /* @__PURE__ */ jsxs16(Button, { variant: "default", size: "large", className: "w-full", onClick: onPasskeyAuth, disabled: isLoading, children: [
6393
- /* @__PURE__ */ jsx20(Key2, { className: "w-4 h-4" }),
6401
+ /* @__PURE__ */ jsx20(Key4, { className: "w-4 h-4" }),
6394
6402
  "Sign in with existing Passkey"
6395
6403
  ] }),
6396
6404
  config.passkey.showCreateButton && /* @__PURE__ */ jsxs16(Fragment2, { children: [
@@ -6630,7 +6638,7 @@ function OtpIcon(props) {
6630
6638
  "path",
6631
6639
  {
6632
6640
  d: "M2 19V17H22V19H2ZM3.15 12.95L1.85 12.2L2.7 10.7H1V9.2H2.7L1.85 7.75L3.15 7L4 8.45L4.85 7L6.15 7.75L5.3 9.2H7V10.7H5.3L6.15 12.2L4.85 12.95L4 11.45L3.15 12.95ZM11.15 12.95L9.85 12.2L10.7 10.7H9V9.2H10.7L9.85 7.75L11.15 7L12 8.45L12.85 7L14.15 7.75L13.3 9.2H15V10.7H13.3L14.15 12.2L12.85 12.95L12 11.45L11.15 12.95ZM19.15 12.95L17.85 12.2L18.7 10.7H17V9.2H18.7L17.85 7.75L19.15 7L20 8.45L20.85 7L22.15 7.75L21.3 9.2H23V10.7H21.3L22.15 12.2L20.85 12.95L20 11.45L19.15 12.95Z",
6633
- fill: "black"
6641
+ fill: "currentColor"
6634
6642
  }
6635
6643
  ) });
6636
6644
  }
@@ -6915,8 +6923,8 @@ function VerifyStep(props) {
6915
6923
  )
6916
6924
  ] }),
6917
6925
  /* @__PURE__ */ jsxs18("div", { className: "w-full flex flex-col gap-1 text-center", children: [
6918
- /* @__PURE__ */ jsx23("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "We sent a verification code to:" }),
6919
- /* @__PURE__ */ jsx23("strong", { className: "text-sm", children: email })
6926
+ /* @__PURE__ */ jsx23("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "We sent a verification code to:" }),
6927
+ /* @__PURE__ */ jsx23("strong", { className: "text-xs", children: email })
6920
6928
  ] }),
6921
6929
  /* @__PURE__ */ jsx23(
6922
6930
  VerificationCodeInput,
@@ -6999,18 +7007,21 @@ var AuthMenu = () => {
6999
7007
  }),
7000
7008
  [onAuthSuccess, goBackToSignIn, checkDisplayNameRequired]
7001
7009
  );
7002
- return /* @__PURE__ */ jsx24(AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx24(
7003
- motion.div,
7004
- {
7005
- initial: { opacity: 0, height: DEFAULT_AUTH_MENU_HEIGHT },
7006
- animate: { opacity: 1, height: "auto" },
7007
- exit: { opacity: 0, height: DEFAULT_AUTH_MENU_HEIGHT },
7008
- style: { overflow: "hidden" },
7009
- transition: Y_ANIMATION_SETUP,
7010
- children: stepContent[step]
7011
- },
7012
- step
7013
- ) });
7010
+ return (
7011
+ // simple wrap by div
7012
+ /* @__PURE__ */ jsx24("div", { className: "w-full", children: /* @__PURE__ */ jsx24(AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx24(
7013
+ motion.div,
7014
+ {
7015
+ initial: { opacity: 0, height: DEFAULT_AUTH_MENU_HEIGHT },
7016
+ animate: { opacity: 1, height: "auto" },
7017
+ exit: { opacity: 0, height: DEFAULT_AUTH_MENU_HEIGHT },
7018
+ style: { overflow: "hidden" },
7019
+ transition: Y_ANIMATION_SETUP,
7020
+ children: stepContent[step]
7021
+ },
7022
+ step
7023
+ ) }) })
7024
+ );
7014
7025
  };
7015
7026
 
7016
7027
  // src/internal/components/BuyMenu/ByuMenu.tsx
@@ -7756,7 +7767,7 @@ function BuyMenu() {
7756
7767
  }
7757
7768
 
7758
7769
  // src/internal/components/KeyshareBackupMenu/KeyshareBackupMenu.tsx
7759
- import { AlertCircle, ArrowLeft as ArrowLeft5, CheckCircle2 as CheckCircle22, Cloud, Download, Eye, EyeOff, Key as Key3, Lock, Server } from "lucide-react";
7770
+ import { AlertCircle, ArrowLeft as ArrowLeft5, CheckCircle2 as CheckCircle22, Cloud, Download, Eye, EyeOff, Key as Key5, Lock, Server } from "lucide-react";
7760
7771
  import React9, { useEffect as useEffect12 } from "react";
7761
7772
  init_iframe_manager();
7762
7773
 
@@ -7785,8 +7796,31 @@ function Checkbox({ className, ...props }) {
7785
7796
  );
7786
7797
  }
7787
7798
 
7799
+ // src/internal/components/ui/highlight.tsx
7800
+ import { jsx as jsx35 } from "react/jsx-runtime";
7801
+ var CARD_STYLES = {
7802
+ info: "text-[var(--l-pass-info)] bg-[var(--l-pass-bg-info)]",
7803
+ success: "text-[var(--l-pass-success)] bg-[var(--l-pass-bg-success)]",
7804
+ warning: "text-[var(--l-pass-warning)] bg-[var(--l-pass-bg-warning)]",
7805
+ error: "text-[var(--l-pass-error)] bg-[var(--l-pass-bg-error)]"
7806
+ };
7807
+ function Highlight(props) {
7808
+ const { type = "info", children, className } = props;
7809
+ return /* @__PURE__ */ jsx35(
7810
+ "div",
7811
+ {
7812
+ className: cn(
7813
+ "w-full text-xs rounded-[var(--l-pass-el-bdrs)] p-[var(--l-pass-pd)]",
7814
+ CARD_STYLES[type],
7815
+ className
7816
+ ),
7817
+ children
7818
+ }
7819
+ );
7820
+ }
7821
+
7788
7822
  // src/internal/components/KeyshareBackupMenu/KeyshareBackupMenu.tsx
7789
- import { jsx as jsx35, jsxs as jsxs26 } from "react/jsx-runtime";
7823
+ import { jsx as jsx36, jsxs as jsxs26 } from "react/jsx-runtime";
7790
7824
  function KeyshareBackupMenu() {
7791
7825
  const { session } = useLumiaPassportSession();
7792
7826
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -7941,184 +7975,148 @@ function KeyshareBackupMenu() {
7941
7975
  const date = new Date(timestamp);
7942
7976
  return `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`;
7943
7977
  };
7944
- return /* @__PURE__ */ jsxs26("div", { className: "w-full flex flex-col gap-4 p-4", children: [
7978
+ return /* @__PURE__ */ jsxs26("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
7945
7979
  /* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-2", children: [
7946
- /* @__PURE__ */ jsx35(
7980
+ /* @__PURE__ */ jsx36(
7947
7981
  Button,
7948
7982
  {
7949
7983
  variant: "ghost",
7950
7984
  size: "icon",
7951
- onClick: () => setPage("main-menu" /* MAIN_MENU */),
7985
+ onClick: () => setPage("settings" /* SETTINGS */),
7952
7986
  className: "p-1 text-gray-500 hover:text-gray-700",
7953
7987
  title: "Back",
7954
- children: /* @__PURE__ */ jsx35(ArrowLeft5, { className: "h-4 w-4" })
7988
+ children: /* @__PURE__ */ jsx36(ArrowLeft5, { className: "h-4 w-4" })
7955
7989
  }
7956
7990
  ),
7957
- /* @__PURE__ */ jsx35("span", { className: "text-xl font-semibold", children: "Create Backup" })
7991
+ /* @__PURE__ */ jsx36("span", { className: "text-xl font-semibold", children: "Create Backup" })
7958
7992
  ] }),
7959
- /* @__PURE__ */ jsxs26("div", { className: "flex flex-col gap-4", children: [
7960
- /* @__PURE__ */ jsx35("span", { className: "text-sm", children: "Secure your keyshare with encrypted backups" }),
7961
- error && /* @__PURE__ */ jsxs26(
7962
- "div",
7993
+ /* @__PURE__ */ jsx36("span", { className: "text-xs", children: "Secure your keyshare with encrypted backups" }),
7994
+ error && /* @__PURE__ */ jsxs26(Highlight, { type: "error", className: "flex items-center gap-[var(--l-pass-gap)]", children: [
7995
+ /* @__PURE__ */ jsx36(AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
7996
+ /* @__PURE__ */ jsx36("span", { children: error })
7997
+ ] }),
7998
+ success && /* @__PURE__ */ jsxs26(Highlight, { type: "success", className: "flex items-center gap-[var(--l-pass-gap)]", children: [
7999
+ /* @__PURE__ */ jsx36(CheckCircle22, { className: "h-4 w-4 flex-shrink-0" }),
8000
+ /* @__PURE__ */ jsx36("span", { children: success })
8001
+ ] }),
8002
+ /* @__PURE__ */ jsx36("div", { className: "text-xs font-medium text-[var(--l-pass-fg-muted)]", children: "Encryption Method:" }),
8003
+ /* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-2", children: [
8004
+ /* @__PURE__ */ jsx36(
8005
+ Checkbox,
7963
8006
  {
7964
- className: cn(
7965
- "flex items-center gap-2 p-2 rounded text-xs",
7966
- "bg-[var(--l-pass-bg-error)] border border-[var(--l-pass-error)] text-[var(--l-pass-error)]"
7967
- ),
7968
- children: [
7969
- /* @__PURE__ */ jsx35(AlertCircle, { className: "h-3.5 w-3.5 flex-shrink-0" }),
7970
- /* @__PURE__ */ jsx35("span", { children: error })
7971
- ]
8007
+ name: "use-backup-password-checkbox",
8008
+ id: "use-backup-password",
8009
+ checked: useCustomPassword,
8010
+ onCheckedChange: (checked) => setUseCustomPassword(!!checked)
7972
8011
  }
7973
8012
  ),
7974
- success && /* @__PURE__ */ jsxs26(
7975
- "div",
8013
+ /* @__PURE__ */ jsx36("label", { htmlFor: "use-backup-password", className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Use custom password instead of passkey" })
8014
+ ] }),
8015
+ !useCustomPassword && /* @__PURE__ */ jsxs26(Highlight, { className: "h-12 px-[var(--l-pass-pd)] py-2 flex items-center gap-[var(--l-pass-gap)]", children: [
8016
+ /* @__PURE__ */ jsx36("span", { className: "block flex-shrink-0 w-6 h-6 p-1", children: /* @__PURE__ */ jsx36(Key5, { className: "h-4 w-4 text-[var(--l-pass-info)]" }) }),
8017
+ /* @__PURE__ */ jsx36("span", { children: "Backup will be encrypted with passkey" })
8018
+ ] }),
8019
+ useCustomPassword && /* @__PURE__ */ jsx36("div", { className: "relative", children: /* @__PURE__ */ jsx36(
8020
+ Input,
8021
+ {
8022
+ Icon: Key5,
8023
+ type: showPassword ? "text" : "password",
8024
+ placeholder: "Enter backup password",
8025
+ value: customPassword,
8026
+ onChange: (e) => setCustomPassword(e.target.value),
8027
+ element: /* @__PURE__ */ jsx36("div", { className: "w-fit h-12 w-12 flex items-center", children: /* @__PURE__ */ jsx36(
8028
+ Button,
8029
+ {
8030
+ variant: "ghost",
8031
+ size: "icon",
8032
+ type: "button",
8033
+ onClick: () => setShowPassword(!showPassword),
8034
+ style: { transform: "translateY(-50%)" },
8035
+ className: "absolute right-2 top-1/2 z-10",
8036
+ children: showPassword ? /* @__PURE__ */ jsx36(EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx36(Eye, { className: "h-4 w-4" })
8037
+ }
8038
+ ) })
8039
+ }
8040
+ ) }),
8041
+ /* @__PURE__ */ jsx36("div", { className: "text-xs font-medium text-[var(--l-pass-fg-muted)]", children: "Choose Backup Method:" }),
8042
+ /* @__PURE__ */ jsxs26(Highlight, { children: [
8043
+ /* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-[var(--l-pass-gap)] mb-[var(--l-pass-gap)]", children: [
8044
+ /* @__PURE__ */ jsx36(Server, { className: "h-4 w-4 text-[var(--l-pass-info)]" }),
8045
+ /* @__PURE__ */ jsx36("div", { className: "text-sm font-medium", children: "Server Backup" })
8046
+ ] }),
8047
+ /* @__PURE__ */ jsx36(
8048
+ Button,
7976
8049
  {
7977
- className: cn(
7978
- "flex items-center gap-2 p-2 rounded text-xs",
7979
- "bg-[var(--l-pass-bg-success)] border border-[var(--l-pass-success)] text-[var(--l-pass-success)]"
7980
- ),
7981
- children: [
7982
- /* @__PURE__ */ jsx35(CheckCircle22, { className: "h-3.5 w-3.5 flex-shrink-0" }),
7983
- /* @__PURE__ */ jsx35("span", { children: success })
7984
- ]
8050
+ onClick: () => handleBackup("server"),
8051
+ disabled: loading.server || useCustomPassword && !customPassword || !hasKeyshareData,
8052
+ className: "w-full",
8053
+ children: loading.server ? "Creating..." : useCustomPassword ? "Create with Password" : "Create with Passkey"
7985
8054
  }
7986
- ),
7987
- /* @__PURE__ */ jsxs26("div", { className: "space-y-2", children: [
7988
- /* @__PURE__ */ jsx35("div", { className: "text-xs font-medium text-[var(--l-pass-fg-muted)]", children: "Encryption Method:" }),
7989
- /* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-2", children: [
7990
- /* @__PURE__ */ jsx35(
7991
- Checkbox,
7992
- {
7993
- name: "use-backup-password-checkbox",
7994
- id: "use-backup-password",
7995
- checked: useCustomPassword,
7996
- onCheckedChange: (checked) => setUseCustomPassword(!!checked)
7997
- }
7998
- ),
7999
- /* @__PURE__ */ jsx35("label", { htmlFor: "use-backup-password", className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Use custom password instead of passkey" })
8000
- ] }),
8001
- !useCustomPassword && /* @__PURE__ */ jsxs26("div", { className: "w-full rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-info)] h-12 px-4 py-2 flex items-center gap-2 border border-[var(--l-pass-info)] text-[var(--l-pass-info)]", children: [
8002
- /* @__PURE__ */ jsx35("span", { className: "block flex-shrink-0 w-6 h-6 p-1", children: /* @__PURE__ */ jsx35(Key3, { className: "h-4 w-4 text-[var(--l-pass-info)]" }) }),
8003
- /* @__PURE__ */ jsx35("span", { className: "text-sm", children: "Backup will be encrypted with passkey" })
8055
+ )
8056
+ ] }),
8057
+ /* @__PURE__ */ jsxs26("div", { className: "grid grid-cols-2 gap-[var(--l-pass-gap)]", children: [
8058
+ /* @__PURE__ */ jsxs26(Highlight, { children: [
8059
+ /* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-[var(--l-pass-gap)] mb-[var(--l-pass-gap)]", children: [
8060
+ /* @__PURE__ */ jsx36(Cloud, { className: "h-4 w-4 text-[var(--l-pass-info)]" }),
8061
+ /* @__PURE__ */ jsx36("div", { className: "text-sm font-medium", children: "Cloud" })
8004
8062
  ] }),
8005
- useCustomPassword && /* @__PURE__ */ jsxs26("div", { className: "relative", children: [
8006
- /* @__PURE__ */ jsx35(
8007
- Input,
8008
- {
8009
- Icon: Key3,
8010
- type: showPassword ? "text" : "password",
8011
- placeholder: "Enter backup password",
8012
- value: customPassword,
8013
- onChange: (e) => setCustomPassword(e.target.value),
8014
- className: "pr-10"
8015
- }
8016
- ),
8017
- /* @__PURE__ */ jsx35(
8018
- Button,
8019
- {
8020
- variant: "ghost",
8021
- size: "icon",
8022
- type: "button",
8023
- onClick: () => setShowPassword(!showPassword),
8024
- style: { transform: "translateY(-50%)" },
8025
- className: "absolute right-2 top-1/2 z-10",
8026
- children: showPassword ? /* @__PURE__ */ jsx35(EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx35(Eye, { className: "h-4 w-4" })
8027
- }
8028
- )
8029
- ] })
8063
+ cloudProviders.length > 1 && /* @__PURE__ */ jsx36(
8064
+ "select",
8065
+ {
8066
+ value: selectedCloudProvider || "",
8067
+ onChange: (e) => setSelectedCloudProvider(e.target.value),
8068
+ className: "text-xs text-[var(--l-pass-fg)] border border-[var(--l-pass-bd)] rounded-[var(--l-pass-el-bdrs)] px-2 py-1 w-full mb-2 bg-transparent",
8069
+ children: cloudProviders.map((provider) => /* @__PURE__ */ jsx36("option", { value: provider.id, disabled: !provider.available, children: provider.name }, provider.id))
8070
+ }
8071
+ ),
8072
+ /* @__PURE__ */ jsx36(
8073
+ Button,
8074
+ {
8075
+ className: "w-full",
8076
+ onClick: () => handleBackup("cloud"),
8077
+ disabled: loading.cloud || useCustomPassword && !customPassword || !hasKeyshareData || cloudProviders.length === 0,
8078
+ children: loading.cloud ? "Creating..." : "Create"
8079
+ }
8080
+ )
8030
8081
  ] }),
8031
- /* @__PURE__ */ jsxs26("div", { className: "flex flex-col gap-2 ", children: [
8032
- /* @__PURE__ */ jsx35("div", { className: "text-xs font-medium text-[var(--l-pass-fg-muted)]", children: "Choose Backup Method:" }),
8033
- /* @__PURE__ */ jsxs26("div", { className: "p-2 rounded-[var(--l-pass-el-bdrs)] border border-[var(--l-pass-bd)] bg-[var(--l-pass-secondary)]", children: [
8034
- /* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-2 mb-2", children: [
8035
- /* @__PURE__ */ jsx35(Server, { className: "h-4 w-4 text-[var(--l-pass-info)]" }),
8036
- /* @__PURE__ */ jsx35("div", { className: "text-sm font-medium text-[var(--l-pass-fg)]", children: "Server Backup" })
8037
- ] }),
8038
- /* @__PURE__ */ jsx35(
8039
- Button,
8040
- {
8041
- onClick: () => handleBackup("server"),
8042
- disabled: loading.server || useCustomPassword && !customPassword || !hasKeyshareData,
8043
- className: "w-full",
8044
- children: loading.server ? "Creating..." : useCustomPassword ? "Create with Password" : "Create with Passkey"
8045
- }
8046
- )
8082
+ /* @__PURE__ */ jsxs26(Highlight, { children: [
8083
+ /* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-[var(--l-pass-gap)] mb-[var(--l-pass-gap)]", children: [
8084
+ /* @__PURE__ */ jsx36(Download, { className: "h-4 w-4 text-[var(--l-pass-info)]" }),
8085
+ /* @__PURE__ */ jsx36("div", { className: "text-sm font-medium", children: "File" })
8047
8086
  ] }),
8048
- /* @__PURE__ */ jsxs26("div", { className: "grid grid-cols-2 gap-2", children: [
8049
- /* @__PURE__ */ jsxs26("div", { className: "p-3 rounded-[var(--l-pass-el-bdrs)] flex flex-col border border-[var(--l-pass-bd)] bg-[var(--l-pass-secondary)]", children: [
8050
- /* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-2 mb-2", children: [
8051
- /* @__PURE__ */ jsx35(Cloud, { className: "h-4 w-4 text-[var(--l-pass-info)]" }),
8052
- /* @__PURE__ */ jsx35("div", { className: "text-sm font-medium", children: "Cloud" })
8053
- ] }),
8054
- cloudProviders.length > 1 && /* @__PURE__ */ jsx35(
8055
- "select",
8056
- {
8057
- value: selectedCloudProvider || "",
8058
- onChange: (e) => setSelectedCloudProvider(e.target.value),
8059
- className: "text-xs text-[var(--l-pass-fg)] border border-[var(--l-pass-bd)] rounded-[var(--l-pass-el-bdrs)] px-2 py-1 w-full mb-2 bg-transparent",
8060
- children: cloudProviders.map((provider) => /* @__PURE__ */ jsx35("option", { value: provider.id, disabled: !provider.available, children: provider.name }, provider.id))
8061
- }
8062
- ),
8063
- /* @__PURE__ */ jsx35(
8064
- Button,
8065
- {
8066
- className: "w-full",
8067
- onClick: () => handleBackup("cloud"),
8068
- disabled: loading.cloud || useCustomPassword && !customPassword || !hasKeyshareData || cloudProviders.length === 0,
8069
- children: loading.cloud ? "Creating..." : "Create"
8070
- }
8071
- )
8072
- ] }),
8073
- /* @__PURE__ */ jsxs26("div", { className: "p-3 rounded-[var(--l-pass-el-bdrs)] flex flex-col border border-[var(--l-pass-bd)] bg-[var(--l-pass-secondary)]", children: [
8074
- /* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-2 mb-2", children: [
8075
- /* @__PURE__ */ jsx35(Download, { className: "h-4 w-4 text-[var(--l-pass-info)]" }),
8076
- /* @__PURE__ */ jsx35("div", { className: "text-sm font-medium", children: "File" })
8077
- ] }),
8078
- cloudProviders.length > 1 && /* @__PURE__ */ jsx35("div", { className: "h-[32px]" }),
8079
- /* @__PURE__ */ jsx35(
8080
- Button,
8081
- {
8082
- onClick: () => handleBackup("local"),
8083
- disabled: loading.local || useCustomPassword && !customPassword || !hasKeyshareData,
8084
- className: "w-full",
8085
- children: loading.local ? "Creating..." : "Download"
8086
- }
8087
- )
8088
- ] })
8089
- ] })
8090
- ] }),
8091
- /* @__PURE__ */ jsxs26(
8092
- "div",
8093
- {
8094
- className: cn(
8095
- "flex items-start gap-2 p-2 rounded-[var(--l-pass-el-bdrs)]",
8096
- "text-xs text-[var(--l-pass-warning)] bg-[var(--l-pass-bg-warning)] border border-[var(--l-pass-warning)]"
8097
- ),
8098
- children: [
8099
- /* @__PURE__ */ jsx35(Lock, { className: "h-4 w-4 mt-0.5 flex-shrink-0 text-[var(--l-pass-warning)]" }),
8100
- /* @__PURE__ */ jsxs26("div", { children: [
8101
- /* @__PURE__ */ jsx35("span", { className: "font-medium", children: "Security Notice:" }),
8102
- " All backups are encrypted with AES-256 using your",
8103
- " ",
8104
- useCustomPassword ? "custom password" : "passkey",
8105
- ".",
8106
- useCustomPassword ? " Store your password securely - " : " Your passkey authenticator is required to restore backups. ",
8107
- "Without backup access, you cannot recover your account if you lose this device."
8108
- ] })
8109
- ]
8110
- }
8111
- )
8087
+ cloudProviders.length > 1 && /* @__PURE__ */ jsx36("div", { className: "h-[32px]" }),
8088
+ /* @__PURE__ */ jsx36(
8089
+ Button,
8090
+ {
8091
+ onClick: () => handleBackup("local"),
8092
+ disabled: loading.local || useCustomPassword && !customPassword || !hasKeyshareData,
8093
+ className: "w-full",
8094
+ children: loading.local ? "Creating..." : "Download"
8095
+ }
8096
+ )
8097
+ ] })
8098
+ ] }),
8099
+ /* @__PURE__ */ jsxs26(Highlight, { className: "flex items-start gap-[var(--l-pass-gap)]", type: "warning", children: [
8100
+ /* @__PURE__ */ jsx36(Lock, { className: "h-4 w-4 flex-shrink-0" }),
8101
+ /* @__PURE__ */ jsxs26("div", { children: [
8102
+ /* @__PURE__ */ jsx36("span", { className: "font-medium", children: "Security Notice:" }),
8103
+ " All backups are encrypted with AES-256 using your",
8104
+ " ",
8105
+ useCustomPassword ? "custom password" : "passkey",
8106
+ ".",
8107
+ useCustomPassword ? " Store your password securely - " : " Your passkey authenticator is required to restore backups. ",
8108
+ "Without backup access, you cannot recover your account if you lose this device."
8109
+ ] })
8112
8110
  ] })
8113
8111
  ] });
8114
8112
  }
8115
8113
 
8116
8114
  // src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
8117
8115
  import { useMutation as useMutation6 } from "@tanstack/react-query";
8118
- import { AlertCircle as AlertCircle2, CheckCircle2 as CheckCircle23, Eye as Eye2, EyeOff as EyeOff2, Key as Key4, Loader as Loader5, Server as Server2, Upload } from "lucide-react";
8116
+ import { AlertCircle as AlertCircle2, CheckCircle2 as CheckCircle23, Eye as Eye2, EyeOff as EyeOff2, Key as Key6, Loader as Loader5, Server as Server2, Upload } from "lucide-react";
8119
8117
  import React10, { useCallback as useCallback8, useEffect as useEffect13 } from "react";
8120
8118
  init_vaultClient();
8121
- import { Fragment as Fragment5, jsx as jsx36, jsxs as jsxs27 } from "react/jsx-runtime";
8119
+ import { Fragment as Fragment5, jsx as jsx37, jsxs as jsxs27 } from "react/jsx-runtime";
8122
8120
  var KeyshareRestoreMenu = () => {
8123
8121
  const { config, callbacks } = useLumiaPassportConfig();
8124
8122
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -8325,36 +8323,36 @@ var KeyshareRestoreMenu = () => {
8325
8323
  return /* @__PURE__ */ jsxs27("div", { className: "w-full flex flex-col p-4", children: [
8326
8324
  /* @__PURE__ */ jsxs27("div", { className: "w-full flex flex-col gap-1", children: [
8327
8325
  /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2", children: [
8328
- /* @__PURE__ */ jsx36(Loader5, { className: "w-5 h-5 animate-spin" }),
8329
- /* @__PURE__ */ jsx36("span", { className: "text-xl leading-5 font-semibold", children: "Checking Backup Availability" })
8326
+ /* @__PURE__ */ jsx37(Loader5, { className: "w-5 h-5 animate-spin" }),
8327
+ /* @__PURE__ */ jsx37("span", { className: "text-xl leading-5 font-semibold", children: "Checking Backup Availability" })
8330
8328
  ] }),
8331
- /* @__PURE__ */ jsx36("span", { className: "text-sm", children: "Please wait while we check for available backups..." })
8329
+ /* @__PURE__ */ jsx37("span", { className: "text-sm", children: "Please wait while we check for available backups..." })
8332
8330
  ] }),
8333
- /* @__PURE__ */ jsx36("div", { className: "flex items-center justify-center p-4", children: /* @__PURE__ */ jsx36("span", { className: "block w-full text-center text-sm text-[var(--l-pass-fg-muted)]", children: "Checking for backups..." }) })
8331
+ /* @__PURE__ */ jsx37("div", { className: "flex items-center justify-center p-4", children: /* @__PURE__ */ jsx37("span", { className: "block w-full text-center text-sm text-[var(--l-pass-fg-muted)]", children: "Checking for backups..." }) })
8334
8332
  ] });
8335
8333
  }
8336
8334
  if (hasServerBackup === false) {
8337
8335
  return /* @__PURE__ */ jsxs27("div", { className: "w-full flex flex-col p-4", children: [
8338
- /* @__PURE__ */ jsx36("div", { className: "w-full flex flex-col gap-1", children: /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2", children: [
8339
- /* @__PURE__ */ jsx36(AlertCircle2, { className: "h-5 w-5 text-[var(--l-pass-error)]" }),
8340
- /* @__PURE__ */ jsx36("span", { className: "text-xl leading-5 font-semibold", children: "No Keyshare Found" })
8336
+ /* @__PURE__ */ jsx37("div", { className: "w-full flex flex-col gap-1", children: /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2", children: [
8337
+ /* @__PURE__ */ jsx37(AlertCircle2, { className: "h-5 w-5 text-[var(--l-pass-error)]" }),
8338
+ /* @__PURE__ */ jsx37("span", { className: "text-xl leading-5 font-semibold", children: "No Keyshare Found" })
8341
8339
  ] }) }),
8342
8340
  /* @__PURE__ */ jsxs27("div", { className: "w-full flex flex-col gap-2", children: [
8343
- /* @__PURE__ */ jsxs27("div", { className: "p-2 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-error)] border border-[var(--l-pass-error)]", children: [
8344
- /* @__PURE__ */ jsx36("span", { className: "block font-medium text-sm text-[var(--l-pass-error)]", children: "Account Recovery Needed" }),
8345
- /* @__PURE__ */ jsx36("span", { className: "block w-full text-xs leading-relaxed", children: "This device doesn't have access to your wallet keyshare, and no backup was found in the Vault. To access your wallet: use the original device where you created the account, create a backup from that device first, then try restoring on this device." })
8341
+ /* @__PURE__ */ jsxs27("div", { className: "p-2 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-error)]", children: [
8342
+ /* @__PURE__ */ jsx37("span", { className: "block font-medium text-sm text-[var(--l-pass-error)]", children: "Account Recovery Needed" }),
8343
+ /* @__PURE__ */ jsx37("span", { className: "block w-full text-xs leading-relaxed", children: "This device doesn't have access to your wallet keyshare, and no backup was found in the Vault. To access your wallet: use the original device where you created the account, create a backup from that device first, then try restoring on this device." })
8346
8344
  ] }),
8347
- /* @__PURE__ */ jsxs27("div", { className: "p-2 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-warning)] border border-[var(--l-pass-warning)]", children: [
8348
- /* @__PURE__ */ jsx36("strong", { className: "text-xs text-[var(--l-pass-warning)]", children: "Alternative:" }),
8349
- /* @__PURE__ */ jsx36("span", { className: "text-xs", children: "Try uploading a backup file if you have one saved locally, or create a new account with a different email." })
8345
+ /* @__PURE__ */ jsxs27("div", { className: "p-2 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-warning)]", children: [
8346
+ /* @__PURE__ */ jsx37("strong", { className: "text-xs text-[var(--l-pass-warning)]", children: "Alternative:" }),
8347
+ /* @__PURE__ */ jsx37("span", { className: "text-xs", children: "Try uploading a backup file if you have one saved locally, or create a new account with a different email." })
8350
8348
  ] }),
8351
8349
  /* @__PURE__ */ jsxs27("div", { className: "p-2 rounded border border-[var(--l-pass-bd)]", children: [
8352
8350
  /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2", children: [
8353
- /* @__PURE__ */ jsx36(Upload, { className: "h-5 w-5 text-[var(--l-pass-info)]" }),
8354
- /* @__PURE__ */ jsx36("span", { className: "text-sm leading-5 font-medium", children: "Try Backup File" })
8351
+ /* @__PURE__ */ jsx37(Upload, { className: "h-5 w-5 text-[var(--l-pass-info)]" }),
8352
+ /* @__PURE__ */ jsx37("span", { className: "text-sm leading-5 font-medium", children: "Try Backup File" })
8355
8353
  ] }),
8356
8354
  /* @__PURE__ */ jsxs27("div", { className: "space-y-2", children: [
8357
- /* @__PURE__ */ jsx36("label", { className: "block w-full cursor-pointer", children: /* @__PURE__ */ jsx36(
8355
+ /* @__PURE__ */ jsx37("label", { className: "block w-full cursor-pointer", children: /* @__PURE__ */ jsx37(
8358
8356
  "input",
8359
8357
  {
8360
8358
  type: "file",
@@ -8368,13 +8366,13 @@ var KeyshareRestoreMenu = () => {
8368
8366
  )
8369
8367
  }
8370
8368
  ) }),
8371
- !restoreFile && /* @__PURE__ */ jsx36("p", { className: "text-xs", children: "No file chosen" }),
8369
+ !restoreFile && /* @__PURE__ */ jsx37("p", { className: "text-xs", children: "No file chosen" }),
8372
8370
  restoreFile && /* @__PURE__ */ jsxs27(Fragment5, { children: [
8373
8371
  /* @__PURE__ */ jsxs27("div", { className: "text-xs p-2 rounded-[var(--l-pass-el-bdrs)]", children: [
8374
8372
  "Selected: ",
8375
8373
  restoreFile.name
8376
8374
  ] }),
8377
- /* @__PURE__ */ jsx36(
8375
+ /* @__PURE__ */ jsx37(
8378
8376
  Button,
8379
8377
  {
8380
8378
  onClick: () => restoreFromFile(),
@@ -8387,9 +8385,9 @@ var KeyshareRestoreMenu = () => {
8387
8385
  ] })
8388
8386
  ] }),
8389
8387
  restoreFile && /* @__PURE__ */ jsxs27("div", { className: "space-y-2", children: [
8390
- /* @__PURE__ */ jsx36("div", { className: "text-xs font-medium", children: "Decryption Method:" }),
8388
+ /* @__PURE__ */ jsx37("div", { className: "text-xs font-medium", children: "Decryption Method:" }),
8391
8389
  /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2", children: [
8392
- /* @__PURE__ */ jsx36(
8390
+ /* @__PURE__ */ jsx37(
8393
8391
  Checkbox,
8394
8392
  {
8395
8393
  name: "use-restore-password-checkbox",
@@ -8398,17 +8396,17 @@ var KeyshareRestoreMenu = () => {
8398
8396
  onCheckedChange: (checked) => setUseCustomPassword(!!checked)
8399
8397
  }
8400
8398
  ),
8401
- /* @__PURE__ */ jsx36("label", { htmlFor: "use-restore-password", className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Use custom password instead of passkey" })
8399
+ /* @__PURE__ */ jsx37("label", { htmlFor: "use-restore-password", className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Use custom password instead of passkey" })
8402
8400
  ] }),
8403
- !useCustomPassword && /* @__PURE__ */ jsxs27("div", { className: "w-full rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-info)] h-12 px-4 py-2 flex items-center gap-2 border border-[var(--l-pass-info)] text-[var(--l-pass-info)]", children: [
8404
- /* @__PURE__ */ jsx36("span", { className: "block flex-shrink-0 w-6 h-6 p-1", children: /* @__PURE__ */ jsx36(Key4, { className: "h-4 w-4 text-[var(--l-pass-info)]" }) }),
8405
- /* @__PURE__ */ jsx36("span", { className: "text-sm", children: "Your passkey will be used to decrypt the backup securely" })
8401
+ !useCustomPassword && /* @__PURE__ */ jsxs27("div", { className: "w-full rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-info)] h-12 px-4 py-2 flex items-center gap-2 text-[var(--l-pass-info)]", children: [
8402
+ /* @__PURE__ */ jsx37("span", { className: "block flex-shrink-0 w-6 h-6 p-1", children: /* @__PURE__ */ jsx37(Key6, { className: "h-4 w-4 text-[var(--l-pass-info)]" }) }),
8403
+ /* @__PURE__ */ jsx37("span", { className: "text-sm", children: "Your passkey will be used to decrypt the backup securely" })
8406
8404
  ] }),
8407
8405
  useCustomPassword && /* @__PURE__ */ jsxs27("div", { className: "relative", children: [
8408
- /* @__PURE__ */ jsx36(
8406
+ /* @__PURE__ */ jsx37(
8409
8407
  Input,
8410
8408
  {
8411
- Icon: Key4,
8409
+ Icon: Key6,
8412
8410
  type: showPassword ? "text" : "password",
8413
8411
  placeholder: "Enter backup decryption password",
8414
8412
  value: restorePassword,
@@ -8416,7 +8414,7 @@ var KeyshareRestoreMenu = () => {
8416
8414
  className: "pr-10"
8417
8415
  }
8418
8416
  ),
8419
- /* @__PURE__ */ jsx36(
8417
+ /* @__PURE__ */ jsx37(
8420
8418
  Button,
8421
8419
  {
8422
8420
  variant: "ghost",
@@ -8425,7 +8423,7 @@ var KeyshareRestoreMenu = () => {
8425
8423
  onClick: () => setShowPassword(!showPassword),
8426
8424
  style: { transform: "translateY(-50%)" },
8427
8425
  className: "absolute right-2 top-1/2 z-10",
8428
- children: showPassword ? /* @__PURE__ */ jsx36(EyeOff2, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx36(Eye2, { className: "h-4 w-4" })
8426
+ children: showPassword ? /* @__PURE__ */ jsx37(EyeOff2, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx37(Eye2, { className: "h-4 w-4" })
8429
8427
  }
8430
8428
  )
8431
8429
  ] })
@@ -8434,12 +8432,12 @@ var KeyshareRestoreMenu = () => {
8434
8432
  "div",
8435
8433
  {
8436
8434
  className: cn(
8437
- "w-full flex items-center gap-2 p-2 rounded-[var(--l-pass-el-bdrs)] border text-xs",
8438
- "bg-[var(--l-pass-bg-error)] border-[var(--l-pass-error)] text-[var(--l-pass-error)]"
8435
+ "w-full flex items-center gap-2 p-2 rounded-[var(--l-pass-el-bdrs)] text-xs",
8436
+ "bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)]"
8439
8437
  ),
8440
8438
  children: [
8441
- /* @__PURE__ */ jsx36(AlertCircle2, { className: "h-4 w-4 flex-shrink-0" }),
8442
- /* @__PURE__ */ jsx36("span", { children: error })
8439
+ /* @__PURE__ */ jsx37(AlertCircle2, { className: "h-4 w-4 flex-shrink-0" }),
8440
+ /* @__PURE__ */ jsx37("span", { children: error })
8443
8441
  ]
8444
8442
  }
8445
8443
  ),
@@ -8447,12 +8445,12 @@ var KeyshareRestoreMenu = () => {
8447
8445
  "div",
8448
8446
  {
8449
8447
  className: cn(
8450
- "w-full flex items-center gap-2 p-2 rounded-[var(--l-pass-el-bdrs)] border text-xs",
8451
- "bg-[var(--l-pass-bg-success)] border-[var(--l-pass-success)] text-[var(--l-pass-success)]"
8448
+ "w-full flex items-center gap-2 p-2 rounded-[var(--l-pass-el-bdrs)] text-xs",
8449
+ "bg-[var(--l-pass-bg-success)] text-[var(--l-pass-success)]"
8452
8450
  ),
8453
8451
  children: [
8454
- /* @__PURE__ */ jsx36(CheckCircle23, { className: "h-4 w-4 flex-shrink-0" }),
8455
- /* @__PURE__ */ jsx36("span", { children: success })
8452
+ /* @__PURE__ */ jsx37(CheckCircle23, { className: "h-4 w-4 flex-shrink-0" }),
8453
+ /* @__PURE__ */ jsx37("span", { children: success })
8456
8454
  ]
8457
8455
  }
8458
8456
  )
@@ -8461,22 +8459,22 @@ var KeyshareRestoreMenu = () => {
8461
8459
  }
8462
8460
  return /* @__PURE__ */ jsxs27("div", { className: "w-full flex flex-col p-4", children: [
8463
8461
  /* @__PURE__ */ jsxs27("div", { className: "w-full flex flex-col gap-1", children: [
8464
- /* @__PURE__ */ jsx36("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsx36("span", { className: "text-xl leading-5 font-semibold", children: "Restore Account Access" }) }),
8465
- /* @__PURE__ */ jsx36("span", { className: "text-sm", children: "Your account was found in the Vault" })
8462
+ /* @__PURE__ */ jsx37("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ jsx37("span", { className: "text-xl leading-5 font-semibold", children: "Restore Account Access" }) }),
8463
+ /* @__PURE__ */ jsx37("span", { className: "text-sm", children: "Your account was found in the Vault" })
8466
8464
  ] }),
8467
8465
  /* @__PURE__ */ jsxs27("div", { className: "flex flex-col gap-4 p-0", children: [
8468
- error && !error.includes("No backup found") && /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2 p-2 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-error)] border border-[var(--l-pass-error)] text-[var(--l-pass-error)] text-xs", children: [
8469
- /* @__PURE__ */ jsx36(AlertCircle2, { className: "h-4 w-4 flex-shrink-0" }),
8470
- /* @__PURE__ */ jsx36("span", { children: error })
8466
+ error && !error.includes("No backup found") && /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2 p-2 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)] text-xs", children: [
8467
+ /* @__PURE__ */ jsx37(AlertCircle2, { className: "h-4 w-4 flex-shrink-0" }),
8468
+ /* @__PURE__ */ jsx37("span", { children: error })
8471
8469
  ] }),
8472
- success && /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2 p-2 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-success)] border border-[var(--l-pass-success)] text-[var(--l-pass-success)] text-xs", children: [
8473
- /* @__PURE__ */ jsx36(CheckCircle23, { className: "h-4 w-4 flex-shrink-0" }),
8474
- /* @__PURE__ */ jsx36("span", { children: success })
8470
+ success && /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2 p-2 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-success)] text-[var(--l-pass-success)] text-xs", children: [
8471
+ /* @__PURE__ */ jsx37(CheckCircle23, { className: "h-4 w-4 flex-shrink-0" }),
8472
+ /* @__PURE__ */ jsx37("span", { children: success })
8475
8473
  ] }),
8476
8474
  /* @__PURE__ */ jsxs27("div", { className: "w-full flex flex-col gap-2", children: [
8477
- /* @__PURE__ */ jsx36("div", { className: "text-xs font-medium text-[var(--l-pass-fg-muted)]", children: "Decryption Method:" }),
8475
+ /* @__PURE__ */ jsx37("div", { className: "text-xs font-medium text-[var(--l-pass-fg-muted)]", children: "Decryption Method:" }),
8478
8476
  /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2", children: [
8479
- /* @__PURE__ */ jsx36(
8477
+ /* @__PURE__ */ jsx37(
8480
8478
  Checkbox,
8481
8479
  {
8482
8480
  name: "use-restore-password-checkbox",
@@ -8485,17 +8483,17 @@ var KeyshareRestoreMenu = () => {
8485
8483
  onCheckedChange: (checked) => setUseCustomPassword(!!checked)
8486
8484
  }
8487
8485
  ),
8488
- /* @__PURE__ */ jsx36("label", { htmlFor: "use-restore-password", className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Use custom password instead of passkey" })
8486
+ /* @__PURE__ */ jsx37("label", { htmlFor: "use-restore-password", className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Use custom password instead of passkey" })
8489
8487
  ] }),
8490
- !useCustomPassword && /* @__PURE__ */ jsxs27("div", { className: "w-full rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-info)] h-12 px-4 py-2 flex items-center gap-2 border border-[var(--l-pass-info)] text-[var(--l-pass-info)]", children: [
8491
- /* @__PURE__ */ jsx36("span", { className: "block flex-shrink-0 w-6 h-6 p-1", children: /* @__PURE__ */ jsx36(Key4, { className: "h-4 w-4 text-[var(--l-pass-info)]" }) }),
8492
- /* @__PURE__ */ jsx36("span", { className: "text-sm", children: "Passkey will be used to decrypt the backup" })
8488
+ !useCustomPassword && /* @__PURE__ */ jsxs27("div", { className: "w-full rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-info)] h-12 px-4 py-2 flex items-center gap-2 text-[var(--l-pass-info)]", children: [
8489
+ /* @__PURE__ */ jsx37("span", { className: "block flex-shrink-0 w-6 h-6 p-1", children: /* @__PURE__ */ jsx37(Key6, { className: "h-4 w-4 text-[var(--l-pass-info)]" }) }),
8490
+ /* @__PURE__ */ jsx37("span", { className: "text-sm", children: "Passkey will be used to decrypt the backup" })
8493
8491
  ] }),
8494
8492
  useCustomPassword && /* @__PURE__ */ jsxs27("div", { className: "relative", children: [
8495
- /* @__PURE__ */ jsx36(
8493
+ /* @__PURE__ */ jsx37(
8496
8494
  Input,
8497
8495
  {
8498
- Icon: Key4,
8496
+ Icon: Key6,
8499
8497
  type: showPassword ? "text" : "password",
8500
8498
  placeholder: "Enter backup decryption password",
8501
8499
  value: restorePassword,
@@ -8503,7 +8501,7 @@ var KeyshareRestoreMenu = () => {
8503
8501
  className: "pr-10"
8504
8502
  }
8505
8503
  ),
8506
- /* @__PURE__ */ jsx36(
8504
+ /* @__PURE__ */ jsx37(
8507
8505
  Button,
8508
8506
  {
8509
8507
  variant: "ghost",
@@ -8512,19 +8510,19 @@ var KeyshareRestoreMenu = () => {
8512
8510
  onClick: () => setShowPassword(!showPassword),
8513
8511
  style: { transform: "translateY(-50%)" },
8514
8512
  className: "absolute right-2 top-1/2 z-10",
8515
- children: showPassword ? /* @__PURE__ */ jsx36(EyeOff2, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx36(Eye2, { className: "h-4 w-4" })
8513
+ children: showPassword ? /* @__PURE__ */ jsx37(EyeOff2, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx37(Eye2, { className: "h-4 w-4" })
8516
8514
  }
8517
8515
  )
8518
8516
  ] })
8519
8517
  ] }),
8520
8518
  /* @__PURE__ */ jsxs27("div", { className: "w-full flex flex-col gap-2", children: [
8521
- /* @__PURE__ */ jsx36("div", { className: "text-xs font-medium text-[var(--l-pass-fg-muted)]", children: "Choose Backup Method:" }),
8519
+ /* @__PURE__ */ jsx37("div", { className: "text-xs font-medium text-[var(--l-pass-fg-muted)]", children: "Choose Backup Method:" }),
8522
8520
  /* @__PURE__ */ jsxs27("div", { className: "p-2 rounded-[var(--l-pass-el-bdrs)] border border-[var(--l-pass-bd)] bg-[var(--l-pass-secondary)]", children: [
8523
8521
  /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2 mb-2", children: [
8524
- /* @__PURE__ */ jsx36(Server2, { className: "h-4 w-4 text-[var(--l-pass-info)]" }),
8525
- /* @__PURE__ */ jsx36("div", { className: "text-sm font-medium text-[var(--l-pass-fg)]", children: "Server Backup" })
8522
+ /* @__PURE__ */ jsx37(Server2, { className: "h-4 w-4 text-[var(--l-pass-info)]" }),
8523
+ /* @__PURE__ */ jsx37("div", { className: "text-sm font-medium text-[var(--l-pass-fg)]", children: "Server Backup" })
8526
8524
  ] }),
8527
- /* @__PURE__ */ jsx36(
8525
+ /* @__PURE__ */ jsx37(
8528
8526
  Button,
8529
8527
  {
8530
8528
  onClick: () => restoreFromServer2(),
@@ -8536,11 +8534,11 @@ var KeyshareRestoreMenu = () => {
8536
8534
  ] }),
8537
8535
  /* @__PURE__ */ jsxs27("div", { className: "p-2 rounded-[var(--l-pass-el-bdrs)] border border-[var(--l-pass-bd)] bg-[var(--l-pass-secondary)]", children: [
8538
8536
  /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2 mb-2", children: [
8539
- /* @__PURE__ */ jsx36(Upload, { className: "h-4 w-4 text-[var(--l-pass-info)]" }),
8540
- /* @__PURE__ */ jsx36("div", { className: "text-sm font-medium text-[var(--l-pass-fg)]", children: "Backup File" })
8537
+ /* @__PURE__ */ jsx37(Upload, { className: "h-4 w-4 text-[var(--l-pass-info)]" }),
8538
+ /* @__PURE__ */ jsx37("div", { className: "text-sm font-medium text-[var(--l-pass-fg)]", children: "Backup File" })
8541
8539
  ] }),
8542
8540
  /* @__PURE__ */ jsxs27("div", { className: "space-y-2", children: [
8543
- /* @__PURE__ */ jsx36("label", { className: "block w-full cursor-pointer text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx36(
8541
+ /* @__PURE__ */ jsx37("label", { className: "block w-full cursor-pointer text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx37(
8544
8542
  "input",
8545
8543
  {
8546
8544
  type: "file",
@@ -8555,8 +8553,8 @@ var KeyshareRestoreMenu = () => {
8555
8553
  }
8556
8554
  ) }),
8557
8555
  restoreFile && /* @__PURE__ */ jsxs27(Fragment5, { children: [
8558
- /* @__PURE__ */ jsx36("div", { className: "text-xs p-2 rounded text-[var(--l-pass-fg)]", children: restoreFile.name }),
8559
- /* @__PURE__ */ jsx36(
8556
+ /* @__PURE__ */ jsx37("div", { className: "text-xs p-2 rounded text-[var(--l-pass-fg)]", children: restoreFile.name }),
8557
+ /* @__PURE__ */ jsx37(
8560
8558
  Button,
8561
8559
  {
8562
8560
  onClick: () => restoreFromFile(),
@@ -8747,7 +8745,7 @@ function useSumsubIframe({ iframeUrl }) {
8747
8745
  }
8748
8746
 
8749
8747
  // src/internal/components/KYC/SumsubIframe.tsx
8750
- import { Fragment as Fragment6, jsx as jsx37, jsxs as jsxs28 } from "react/jsx-runtime";
8748
+ import { Fragment as Fragment6, jsx as jsx38, jsxs as jsxs28 } from "react/jsx-runtime";
8751
8749
  var MAX_IFRAME_HEIGHT = 650;
8752
8750
  var SumsubIframe = () => {
8753
8751
  const { config } = useLumiaPassportConfig();
@@ -8755,11 +8753,11 @@ var SumsubIframe = () => {
8755
8753
  const { iframeRef, isLoading, error, height, status } = useSumsubIframe({ iframeUrl });
8756
8754
  return /* @__PURE__ */ jsxs28(Fragment6, { children: [
8757
8755
  isLoading && /* @__PURE__ */ jsxs28("div", { className: "rounded-[10px] p-6 text-center", children: [
8758
- /* @__PURE__ */ jsx37(LoaderIcon3, { className: "w-5 h-5 animate-spin mx-auto" }),
8759
- /* @__PURE__ */ jsx37("p", { className: "text-sm text-[var(--l-pass-text-secondary)] mt-2", children: status || "Loading KYC verification..." })
8756
+ /* @__PURE__ */ jsx38(LoaderIcon3, { className: "w-5 h-5 animate-spin mx-auto" }),
8757
+ /* @__PURE__ */ jsx38("p", { className: "text-sm text-[var(--l-pass-text-secondary)] mt-2", children: status || "Loading KYC verification..." })
8760
8758
  ] }),
8761
- error && /* @__PURE__ */ jsx37("div", { className: "rounded-[10px] p-4 text-center bg-[var(--l-pass-bg-error)] border border-[var(--l-pass-error)]", children: /* @__PURE__ */ jsx37("div", { className: "text-sm text-[var(--l-pass-error)]", children: error }) }),
8762
- /* @__PURE__ */ jsx37("div", { className: "w-full h-full relative", children: /* @__PURE__ */ jsx37(
8759
+ error && /* @__PURE__ */ jsx38("div", { className: "rounded-[10px] p-4 text-center bg-[var(--l-pass-bg-error)] border border-[var(--l-pass-error)]", children: /* @__PURE__ */ jsx38("div", { className: "text-sm text-[var(--l-pass-error)]", children: error }) }),
8760
+ /* @__PURE__ */ jsx38("div", { className: "w-full h-full relative", children: /* @__PURE__ */ jsx38(
8763
8761
  "iframe",
8764
8762
  {
8765
8763
  ref: iframeRef,
@@ -8779,46 +8777,46 @@ var SumsubIframe = () => {
8779
8777
  };
8780
8778
 
8781
8779
  // src/internal/components/KYC/KycContent.tsx
8782
- import { jsx as jsx38 } from "react/jsx-runtime";
8780
+ import { jsx as jsx39 } from "react/jsx-runtime";
8783
8781
  var KycContent = () => {
8784
8782
  const { config } = useLumiaPassportConfig();
8785
8783
  const provider = config.kyc?.provider;
8786
8784
  switch (provider) {
8787
8785
  case "sumsub":
8788
- return /* @__PURE__ */ jsx38(SumsubIframe, {});
8786
+ return /* @__PURE__ */ jsx39(SumsubIframe, {});
8789
8787
  default:
8790
- return /* @__PURE__ */ jsx38("div", { className: "rounded-xl p-4 text-center bg-[var(--l-pass-secondary)]", children: /* @__PURE__ */ jsx38("div", { className: "text-sm", children: provider ? `KYC provider "${provider}" coming soon\u2026` : "KYC verification coming soon\u2026" }) });
8788
+ return /* @__PURE__ */ jsx39("div", { className: "rounded-xl p-4 text-center bg-[var(--l-pass-secondary)]", children: /* @__PURE__ */ jsx39("div", { className: "text-sm", children: provider ? `KYC provider "${provider}" coming soon\u2026` : "KYC verification coming soon\u2026" }) });
8791
8789
  }
8792
8790
  };
8793
8791
 
8794
8792
  // src/internal/components/KYC/KycMenu.tsx
8795
8793
  import { ArrowLeft as ArrowLeft6 } from "lucide-react";
8796
- import { jsx as jsx39, jsxs as jsxs29 } from "react/jsx-runtime";
8794
+ import { jsx as jsx40, jsxs as jsxs29 } from "react/jsx-runtime";
8797
8795
  function KycMenu() {
8798
8796
  const setPage = useLayoutDataStore((st) => st.setPage);
8799
8797
  return /* @__PURE__ */ jsxs29("div", { className: "w-full p-4 flex flex-col", children: [
8800
- /* @__PURE__ */ jsx39("div", { className: "w-full", children: /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-2", children: [
8801
- /* @__PURE__ */ jsx39(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx39(ArrowLeft6, { className: "h-4 w-4" }) }),
8802
- /* @__PURE__ */ jsx39("span", { className: "text-xl font-semibold", children: "KYC" })
8798
+ /* @__PURE__ */ jsx40("div", { className: "w-full", children: /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-2", children: [
8799
+ /* @__PURE__ */ jsx40(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx40(ArrowLeft6, { className: "h-4 w-4" }) }),
8800
+ /* @__PURE__ */ jsx40("span", { className: "text-xl font-semibold", children: "KYC" })
8803
8801
  ] }) }),
8804
- /* @__PURE__ */ jsx39("div", { className: "w-full", children: /* @__PURE__ */ jsx39(KycContent, {}) })
8802
+ /* @__PURE__ */ jsx40("div", { className: "w-full", children: /* @__PURE__ */ jsx40(KycContent, {}) })
8805
8803
  ] });
8806
8804
  }
8807
8805
 
8808
8806
  // src/internal/components/MainMenu/MainMenu.tsx
8809
- import { ChevronLeft, ChevronRight as ChevronRight2, Wallet2 } from "lucide-react";
8807
+ import { ChevronLeft, ChevronRight as ChevronRight2, Wallet2 as Wallet23 } from "lucide-react";
8810
8808
  import { useEffect as useEffect15 } from "react";
8811
8809
 
8812
8810
  // src/internal/components/MainMenu/BackupWarning.tsx
8813
8811
  import { AnimatePresence as AnimatePresence2, motion as motion2 } from "framer-motion";
8814
- import { ShieldCheck } from "lucide-react";
8815
- import { jsx as jsx40, jsxs as jsxs30 } from "react/jsx-runtime";
8812
+ import { DatabaseBackup } from "lucide-react";
8813
+ import { jsx as jsx41, jsxs as jsxs30 } from "react/jsx-runtime";
8816
8814
  function BackupWarning() {
8817
8815
  const { config } = useLumiaPassportConfig();
8818
8816
  const setPage = useLayoutDataStore((st) => st.setPage);
8819
8817
  const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
8820
8818
  const isShown = config.warnings?.backupWarning && !hasServerVault;
8821
- return /* @__PURE__ */ jsx40(AnimatePresence2, { mode: "wait", initial: false, children: isShown ? /* @__PURE__ */ jsx40(
8819
+ return /* @__PURE__ */ jsx41(AnimatePresence2, { mode: "wait", initial: false, children: isShown ? /* @__PURE__ */ jsx41(
8822
8820
  motion2.div,
8823
8821
  {
8824
8822
  initial: { opacity: 0, height: 0 },
@@ -8826,65 +8824,21 @@ function BackupWarning() {
8826
8824
  exit: { opacity: 0, height: 0 },
8827
8825
  transition: Y_ANIMATION_SETUP,
8828
8826
  children: /* @__PURE__ */ jsxs30(
8829
- "div",
8827
+ Highlight,
8830
8828
  {
8831
- className: cn(
8832
- "animate-glow-warning text-[var(--l-pass-error)]",
8833
- "rounded-[var(--l-pass-el-bdrs)] items-center text-center",
8834
- "flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]",
8835
- "bg-[var(--l-pass-bg-error)]"
8836
- // 'border border-[var(--l-pass-error)]'
8837
- ),
8829
+ type: "error",
8830
+ className: "animate-glow-warning flex items-center flex-col gap-[var(--l-pass-gap)] text-center",
8838
8831
  children: [
8839
- /* @__PURE__ */ jsx40("span", { className: "text-lg font-bold", children: "BACKUP NOT CREATED" }),
8840
- /* @__PURE__ */ jsxs30("span", { className: "text-sm font-medium", children: [
8841
- /* @__PURE__ */ jsx40("span", { children: "Your wallet will be " }),
8842
- /* @__PURE__ */ jsx40("strong", { children: "PERMANENTLY LOST" }),
8843
- /* @__PURE__ */ jsx40("span", { children: " if browser data is cleared" })
8832
+ /* @__PURE__ */ jsx41("span", { className: "text-lg font-bold", children: "BACKUP NOT CREATED" }),
8833
+ /* @__PURE__ */ jsxs30("span", { className: "font-medium", children: [
8834
+ /* @__PURE__ */ jsx41("span", { children: "Your wallet will be " }),
8835
+ /* @__PURE__ */ jsx41("strong", { children: "PERMANENTLY LOST" }),
8836
+ /* @__PURE__ */ jsx41("span", { children: " if browser data is cleared" })
8844
8837
  ] }),
8845
- /* @__PURE__ */ jsx40("span", { className: "text-sm", children: "\u26A0\uFE0F Lumia cannot recover your wallet without a backup!" }),
8846
- /* @__PURE__ */ jsxs30(Button, { size: "large", onClick: () => setPage("keysare-backup" /* KEYSARE_BACKUP */), children: [
8847
- /* @__PURE__ */ jsx40(ShieldCheck, { className: "w-4 h-4" }),
8848
- /* @__PURE__ */ jsx40("span", { children: "CREATE BACKUP NOW" })
8849
- ] })
8850
- ]
8851
- }
8852
- )
8853
- }
8854
- ) : null });
8855
- }
8856
-
8857
- // src/internal/components/MainMenu/EmailNotConnectedWarning.tsx
8858
- import { AnimatePresence as AnimatePresence3, motion as motion3 } from "framer-motion";
8859
- import { ShieldCheck as ShieldCheck2 } from "lucide-react";
8860
- init_auth();
8861
- import { jsx as jsx41, jsxs as jsxs31 } from "react/jsx-runtime";
8862
- function EmailNotConnectedWarning() {
8863
- const setPage = useLayoutDataStore((state) => state.setPage);
8864
- const providers = jwtTokenManager2.getProviders();
8865
- const hasEmail = providers.includes("email");
8866
- const { config } = useLumiaPassportConfig();
8867
- const isShown = config.warnings?.emailNotConnectedWarning && !hasEmail;
8868
- return /* @__PURE__ */ jsx41(AnimatePresence3, { mode: "wait", initial: false, children: isShown ? /* @__PURE__ */ jsx41(
8869
- motion3.div,
8870
- {
8871
- initial: { opacity: 0, height: 0 },
8872
- animate: { opacity: 1, height: "auto" },
8873
- exit: { opacity: 0, height: 0 },
8874
- transition: Y_ANIMATION_SETUP,
8875
- children: /* @__PURE__ */ jsxs31(
8876
- "div",
8877
- {
8878
- className: cn(
8879
- "p-4 rounded-[var(--l-pass-el-bdrs)] flex flex-col gap-2 items-center text-center bg-[var(--l-pass-bg-info)]"
8880
- // 'border border-[var(--l-pass-info)]'
8881
- ),
8882
- children: [
8883
- /* @__PURE__ */ jsx41("span", { className: "text-lg font-bold text-[var(--l-pass-info)]", children: "EMAIL IS NOT CONNECTED" }),
8884
- /* @__PURE__ */ jsx41("span", { className: "text-sm font-medium text-[var(--l-pass-info)]", children: "Connect your email for easier account recovery and additional security." }),
8885
- /* @__PURE__ */ jsxs31(Button, { size: "large", onClick: () => setPage("manage-wallet" /* MANAGE_WALLET */), children: [
8886
- /* @__PURE__ */ jsx41(ShieldCheck2, { className: "w-3 h-3 inline mr-1" }),
8887
- /* @__PURE__ */ jsx41("span", { children: "CONNECT EMAIL" })
8838
+ /* @__PURE__ */ jsx41("span", { children: "Lumia cannot recover your wallet without a backup!" }),
8839
+ /* @__PURE__ */ jsxs30(Button, { size: "medium", onClick: () => setPage("keysare-backup" /* KEYSARE_BACKUP */), children: [
8840
+ /* @__PURE__ */ jsx41(DatabaseBackup, { className: "w-4 h-4" }),
8841
+ /* @__PURE__ */ jsx41("span", { children: "CREATE BACKUP NOW" })
8888
8842
  ] })
8889
8843
  ]
8890
8844
  }
@@ -8894,115 +8848,71 @@ function EmailNotConnectedWarning() {
8894
8848
  }
8895
8849
 
8896
8850
  // src/internal/components/MainMenu/MainMenu.tsx
8897
- import { jsx as jsx42, jsxs as jsxs32 } from "react/jsx-runtime";
8851
+ import { jsx as jsx42, jsxs as jsxs31 } from "react/jsx-runtime";
8852
+ var MAIN_MENU_BUTTONS = [
8853
+ { id: "send" /* SEND */, label: "Send", icon: ChevronRight2 },
8854
+ { id: "receive" /* RECEIVE */, label: "Receive", icon: ChevronLeft },
8855
+ { id: "buy" /* BUY */, label: "Buy", icon: DollarIcon },
8856
+ { id: "assets" /* ASSETS */, label: "Portfolio", icon: Wallet23 }
8857
+ ];
8898
8858
  function MainMenu() {
8899
8859
  const address = useLumiaPassportSession((st) => st.address);
8900
8860
  const setPage = useLayoutDataStore((st) => st.setPage);
8901
8861
  const setMainPageHeight = useLayoutDataStore((st) => st.setMainPageHeight);
8902
8862
  useEffect15(() => setMainPageHeight(DEFAULT_MAIN_MENU_HEIGHT), [setMainPageHeight]);
8903
- return /* @__PURE__ */ jsxs32("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
8904
- /* @__PURE__ */ jsxs32("div", { className: "grid grid-cols-4 gap-[var(--l-pass-gap)] py-2", children: [
8905
- /* @__PURE__ */ jsxs32(
8906
- Button,
8907
- {
8908
- className: "flex-col",
8909
- disabled: !address,
8910
- variant: "ghost",
8911
- size: "large",
8912
- onClick: () => setPage("send" /* SEND */),
8913
- children: [
8914
- /* @__PURE__ */ jsx42(ChevronRight2, { className: "w-8 h-8" }),
8915
- /* @__PURE__ */ jsx42("span", { className: "text-xs font-semibold", children: "Send" })
8916
- ]
8917
- }
8918
- ),
8919
- /* @__PURE__ */ jsxs32(
8920
- Button,
8921
- {
8922
- className: "flex-col",
8923
- disabled: !address,
8924
- variant: "ghost",
8925
- size: "large",
8926
- onClick: () => setPage("receive" /* RECEIVE */),
8927
- children: [
8928
- /* @__PURE__ */ jsx42(ChevronLeft, { className: "w-8 h-8" }),
8929
- /* @__PURE__ */ jsx42("span", { className: "text-xs font-semibold", children: "Receive" })
8930
- ]
8931
- }
8932
- ),
8933
- /* @__PURE__ */ jsxs32(
8934
- Button,
8935
- {
8936
- className: "flex-col",
8937
- disabled: !address,
8938
- variant: "ghost",
8939
- size: "large",
8940
- onClick: () => setPage("buy" /* BUY */),
8941
- children: [
8942
- /* @__PURE__ */ jsx42(DollarIcon, { className: "w-8 h-8" }),
8943
- /* @__PURE__ */ jsx42("span", { className: "text-xs font-semibold", children: "Buy" })
8944
- ]
8945
- }
8946
- ),
8947
- /* @__PURE__ */ jsxs32(
8948
- Button,
8949
- {
8950
- className: "flex-col",
8951
- disabled: !address,
8952
- variant: "ghost",
8953
- size: "large",
8954
- onClick: () => setPage("assets" /* ASSETS */),
8955
- children: [
8956
- /* @__PURE__ */ jsx42(Wallet2, { className: "w-8 h-8" }),
8957
- /* @__PURE__ */ jsx42("span", { className: "text-xs font-semibold", children: "Portfolio" })
8958
- ]
8959
- }
8960
- )
8961
- ] }),
8962
- !!address && /* @__PURE__ */ jsx42(BackupWarning, {}),
8963
- !!address && /* @__PURE__ */ jsx42(EmailNotConnectedWarning, {})
8863
+ return /* @__PURE__ */ jsxs31("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
8864
+ /* @__PURE__ */ jsx42("div", { className: "grid grid-cols-4 gap-[var(--l-pass-gap)]", children: MAIN_MENU_BUTTONS.map(({ id, label, icon: Icon }) => /* @__PURE__ */ jsxs31(
8865
+ Button,
8866
+ {
8867
+ size: "large",
8868
+ variant: "ghost",
8869
+ disabled: !address,
8870
+ className: "flex-col h-fit py-1",
8871
+ onClick: () => setPage(id),
8872
+ children: [
8873
+ /* @__PURE__ */ jsx42(Icon, { className: "w-8 h-8" }),
8874
+ /* @__PURE__ */ jsx42("span", { className: "text-xs font-semibold", children: label })
8875
+ ]
8876
+ },
8877
+ id
8878
+ )) }),
8879
+ !!address && /* @__PURE__ */ jsx42(BackupWarning, {})
8964
8880
  ] });
8965
8881
  }
8966
8882
 
8967
8883
  // src/internal/components/ManageWalletMenu/ManageWallet.tsx
8968
- import { AnimatePresence as AnimatePresence4, motion as motion4 } from "framer-motion";
8969
- import { AlertTriangle as AlertTriangle3, ArrowLeft as ArrowLeft7, Loader as Loader6, Plus } from "lucide-react";
8884
+ import { fromPairs } from "lodash-es";
8885
+ import { AlertTriangle as AlertTriangle3, ArrowLeft as ArrowLeft7, Loader as Loader7 } from "lucide-react";
8970
8886
  import { useMemo as useMemo2 } from "react";
8971
8887
 
8972
- // src/internal/components/ManageWalletMenu/hooks/useProvidersList.ts
8973
- import { useQuery as useQuery4 } from "@tanstack/react-query";
8974
- init_common();
8975
- var PROVIDERS_QUERY_KEY = "lumia-passport-providers-query";
8976
- function useProvidersList() {
8977
- const walletAddress = useLumiaPassportSession().address;
8978
- return useQuery4({
8979
- retry: false,
8980
- enabled: !!walletAddress,
8981
- queryKey: [PROVIDERS_QUERY_KEY, walletAddress],
8982
- queryFn: getLinkedProviders
8983
- });
8984
- }
8888
+ // src/internal/components/ManageWalletMenu/AddProvider.tsx
8889
+ import { useQueryClient as useQueryClient4 } from "@tanstack/react-query";
8890
+ init_passkey2();
8985
8891
 
8986
- // src/internal/components/ManageWalletMenu/ProviderCard.tsx
8987
- init_types();
8988
- import { CheckCircle, Clock, Link as LinkIcon2, Trash2 } from "lucide-react";
8892
+ // src/internal/components/ManageWalletMenu/EmailForm.tsx
8893
+ init_lumiaPassport();
8894
+ init_projectId();
8895
+ import { useMutation as useMutation7 } from "@tanstack/react-query";
8896
+ import { ChevronRight as ChevronRight3, Loader as Loader6, Mail as Mail4 } from "lucide-react";
8989
8897
 
8990
8898
  // src/internal/components/ManageWalletMenu/hooks/useStore.ts
8991
8899
  import { create as create4 } from "zustand";
8992
8900
  var useManageWalletStore = create4((set) => ({
8901
+ emailStep: "input",
8993
8902
  email: "",
8994
8903
  emailCode: "",
8995
- emailCodeSent: false,
8996
- emailCodeExpiresIn: 300,
8904
+ emailCodeSentError: "",
8905
+ emailCodeExpiresIn: 0,
8997
8906
  isWalletLinking: false,
8998
8907
  linkIsLoading: false,
8999
8908
  linkError: "",
9000
8909
  verificationError: "",
9001
8910
  providerType: null,
9002
8911
  confirmUnlink: null,
8912
+ setEmailStep: (emailStep) => set({ emailStep }),
9003
8913
  setEmail: (email) => set({ email }),
9004
8914
  setEmailCode: (emailCode) => set({ emailCode }),
9005
- setEmailCodeSent: (emailCodeSent) => set({ emailCodeSent }),
8915
+ setEmailCodeSentError: (emailCodeSentError) => set({ emailCodeSentError }),
9006
8916
  setEmailCodeExpiresIn: (emailCodeExpiresIn) => set({ emailCodeExpiresIn }),
9007
8917
  setIsWalletLinking: (isWalletLinking) => set({ isWalletLinking }),
9008
8918
  setLinkIsLoading: (linkIsLoading) => set({ linkIsLoading }),
@@ -9012,138 +8922,362 @@ var useManageWalletStore = create4((set) => ({
9012
8922
  setConfirmUnlink: (confirmUnlink) => set({ confirmUnlink })
9013
8923
  }));
9014
8924
 
9015
- // src/internal/components/ManageWalletMenu/ProviderCard.tsx
9016
- import { jsx as jsx43, jsxs as jsxs33 } from "react/jsx-runtime";
9017
- function ProviderCard(props) {
9018
- const setPage = useLayoutDataStore((st) => st.setPage);
9019
- const setConfirmUnlink = useManageWalletStore((st) => st.setConfirmUnlink);
9020
- const { data: providers = [] } = useProvidersList();
9021
- const canUnlink = (p) => {
9022
- const verified = providers.filter((x) => x.verified);
9023
- if (verified.length <= 1 && p.verified) return false;
9024
- return true;
9025
- };
9026
- const info = getProviderDisplayInfo(props.provider);
9027
- const allowUnlink = canUnlink(props);
9028
- const IconComponent = info.icon;
9029
- return /* @__PURE__ */ jsxs33(
9030
- "div",
9031
- {
9032
- className: "w-full flex flex-col gap-2 border rounded-[var(--l-pass-el-bdrs)] p-3 border-[var(--l-pass-bd)] bg-[var(--l-pass-secondary)]",
9033
- children: [
9034
- /* @__PURE__ */ jsxs33("div", { className: "w-full flex items-center gap-2 justify-between", children: [
9035
- /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
9036
- /* @__PURE__ */ jsx43(IconComponent, { className: "w-5 h-5" }),
9037
- /* @__PURE__ */ jsx43("span", { className: "text-sm font-medium", children: ` ${info.name}` })
9038
- ] }),
9039
- /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
9040
- props.verified ? /* @__PURE__ */ jsx43(CheckCircle, { className: `w-4 h-4 text-[var(--l-pass-success)]` }) : /* @__PURE__ */ jsx43(Clock, { className: "w-4 h-4 text-[var(--l-pass-warning)]" }),
9041
- allowUnlink && /* @__PURE__ */ jsx43(
9042
- Button,
9043
- {
9044
- variant: "ghost",
9045
- size: "icon",
9046
- title: "Remove provider",
9047
- className: "w-5 h-5",
9048
- onClick: () => {
9049
- setConfirmUnlink({ provider: props.provider, providerName: info.name, externalId: props.externalId });
9050
- setPage("unlink-provider" /* UNLINK_PROVIDER */);
9051
- },
9052
- children: /* @__PURE__ */ jsx43(Trash2, { className: "w-4 h-4 text-[var(--l-pass-error)]" })
9053
- }
9054
- )
9055
- ] })
9056
- ] }),
9057
- /* @__PURE__ */ jsxs33("div", { className: "flex flex-col gap-1 text-xs text-[var(--l-pass-fg-muted)]", children: [
9058
- /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
9059
- /* @__PURE__ */ jsx43(LinkIcon2, { className: "w-3 h-3" }),
9060
- /* @__PURE__ */ jsx43("span", { children: `Linked: ${formatDate(props.linkedAt)}` })
9061
- ] }),
9062
- props.lastUsedAt && /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
9063
- /* @__PURE__ */ jsx43(Clock, { className: "w-3 h-3" }),
9064
- /* @__PURE__ */ jsx43("span", { children: `Last used: ${formatDate(props.lastUsedAt)}` })
9065
- ] }),
9066
- props.externalId && /* @__PURE__ */ jsx43("span", { className: "text-[10px] font-mono break-all", children: /* @__PURE__ */ jsx43("span", { children: `ID: ${props.externalId}` }) })
9067
- ] })
9068
- ]
8925
+ // src/internal/components/ManageWalletMenu/EmailForm.tsx
8926
+ import { jsx as jsx43, jsxs as jsxs32 } from "react/jsx-runtime";
8927
+ function EmailForm() {
8928
+ const { config, callbacks } = useLumiaPassportConfig();
8929
+ const isLoading = useLumiaPassportSession((st) => st.isLoading);
8930
+ const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
8931
+ const { email, setEmail, setEmailCodeSentError, setEmailCodeExpiresIn, setEmailStep } = useManageWalletStore();
8932
+ const { mutate: onSendVerificationCode } = useMutation7({
8933
+ mutationFn: async () => {
8934
+ if (!email) return;
8935
+ setIsLoading(true);
8936
+ setEmailCodeSentError("");
8937
+ try {
8938
+ const response = await fetch(addProjectIdToUrl(`${getServiceUrls().tssUrl}/api/auth/email/send-code`), {
8939
+ method: "POST",
8940
+ headers: {
8941
+ "Content-Type": "application/json"
8942
+ },
8943
+ credentials: "include",
8944
+ body: JSON.stringify({
8945
+ email,
8946
+ purpose: "login"
8947
+ })
8948
+ });
8949
+ const data = await response.json();
8950
+ if (response.ok) {
8951
+ setEmailCodeExpiresIn(data?.expiresIn || 300);
8952
+ setEmailStep("verify");
8953
+ } else {
8954
+ if (response.status === 429) {
8955
+ const retryAfter = data.retryAfter || 60;
8956
+ setEmailCodeSentError(
8957
+ `Code already sent recently. Please wait ${retryAfter} seconds before requesting another.`
8958
+ );
8959
+ } else if (response.status === 400) {
8960
+ setEmailCodeSentError(data.message || "Invalid email address");
8961
+ } else {
8962
+ setEmailCodeSentError(data.message || "Failed to send verification code");
8963
+ }
8964
+ }
8965
+ } catch (error) {
8966
+ const errorMessage = "Network error. Please check your connection.";
8967
+ setEmailCodeSentError(errorMessage);
8968
+ try {
8969
+ callbacks?.onLumiaPassportError?.({
8970
+ error: error instanceof Error ? error : new Error(errorMessage),
8971
+ message: errorMessage
8972
+ });
8973
+ } catch {
8974
+ }
8975
+ } finally {
8976
+ setIsLoading(false);
8977
+ }
8978
+ }
8979
+ });
8980
+ return /* @__PURE__ */ jsxs32("div", { className: "w-full flex gap-[10px] items-center", children: [
8981
+ /* @__PURE__ */ jsx43(
8982
+ Input,
8983
+ {
8984
+ name: "signin-email",
8985
+ Icon: Mail4,
8986
+ type: "email",
8987
+ autoComplete: "off",
8988
+ placeholder: config.email.placeholder,
8989
+ value: email,
8990
+ onChange: (e) => setEmail(e.target.value),
8991
+ className: "flex-1 w-full"
8992
+ }
8993
+ ),
8994
+ /* @__PURE__ */ jsx43(
8995
+ Button,
8996
+ {
8997
+ className: "w-12 h-12 flex-none",
8998
+ variant: "default",
8999
+ size: "large",
9000
+ disabled: !email || isLoading,
9001
+ onClick: () => onSendVerificationCode(),
9002
+ children: isLoading ? /* @__PURE__ */ jsx43(Loader6, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx43(ChevronRight3, { className: "w-4 h-4" })
9003
+ }
9004
+ )
9005
+ ] });
9006
+ }
9007
+
9008
+ // src/internal/components/ManageWalletMenu/hooks/useProvidersList.ts
9009
+ import { useQuery as useQuery4 } from "@tanstack/react-query";
9010
+ init_common();
9011
+ var PROVIDERS_QUERY_KEY = "lumia-passport-providers-query";
9012
+ function useProvidersList() {
9013
+ const walletAddress = useLumiaPassportSession().address;
9014
+ return useQuery4({
9015
+ retry: false,
9016
+ enabled: !!walletAddress,
9017
+ queryKey: [PROVIDERS_QUERY_KEY, walletAddress],
9018
+ queryFn: getLinkedProviders
9019
+ });
9020
+ }
9021
+
9022
+ // src/internal/components/ManageWalletMenu/hooks/useSendVerificationCode.ts
9023
+ init_email();
9024
+ import { useMutation as useMutation8 } from "@tanstack/react-query";
9025
+ function useSendVerificationCode() {
9026
+ const { setVerificationError, setLinkIsLoading, setEmailCodeSentError, setEmailCodeExpiresIn } = useManageWalletStore();
9027
+ return useMutation8({
9028
+ mutationFn: async (email) => {
9029
+ if (!email) {
9030
+ throw new Error("Email is required");
9031
+ }
9032
+ setVerificationError("");
9033
+ setLinkIsLoading(true);
9034
+ await sendEmailLinkCode(email);
9069
9035
  },
9070
- `${props.provider}-${props.externalId}`
9071
- );
9036
+ onError: (error) => {
9037
+ console.error("Failed to send verification code", error.message);
9038
+ setEmailCodeSentError(error?.message || "Failed to send verification code");
9039
+ setLinkIsLoading(false);
9040
+ },
9041
+ onSuccess: () => {
9042
+ setEmailCodeExpiresIn(300);
9043
+ console.log("Verification code sent");
9044
+ setLinkIsLoading(false);
9045
+ }
9046
+ });
9072
9047
  }
9073
9048
 
9074
- // src/internal/components/ManageWalletMenu/ManageWallet.tsx
9075
- import { jsx as jsx44, jsxs as jsxs34 } from "react/jsx-runtime";
9076
- var MOTION_DIV_KEYS = {
9077
- LOADING: "manage-wallet-loading-providers",
9078
- ERROR: "manage-wallet-error-of-providers",
9079
- CONTENT: "manage-wallet-providers-list"
9080
- };
9081
- function ManageWalletMenu() {
9049
+ // src/internal/components/ManageWalletMenu/hooks/useVerifyCode.ts
9050
+ import { useMutation as useMutation9, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
9051
+ init_email();
9052
+ function useVerifyCode() {
9053
+ const { callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
9054
+ const qc = useQueryClient3();
9055
+ const walletAddress = useLumiaPassportSession((st) => st.address);
9056
+ const setIsLoading = useLumiaPassportSession((st) => st.setIsLoading);
9057
+ const {
9058
+ email,
9059
+ emailCode,
9060
+ setEmail,
9061
+ setEmailStep,
9062
+ setEmailCode,
9063
+ setProviderType,
9064
+ setLinkIsLoading,
9065
+ setVerificationError,
9066
+ setEmailCodeSentError
9067
+ } = useManageWalletStore();
9068
+ return useMutation9({
9069
+ mutationFn: async (codeToVerify) => {
9070
+ const code = codeToVerify ?? emailCode;
9071
+ if (!code) {
9072
+ setEmailCodeSentError("Please enter the verification code");
9073
+ return;
9074
+ }
9075
+ setIsLoading(true);
9076
+ setLinkIsLoading(true);
9077
+ setVerificationError("");
9078
+ setEmailCodeSentError("");
9079
+ return await verifyEmailLinkCode(email, code);
9080
+ },
9081
+ onSuccess: async () => {
9082
+ await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, walletAddress] });
9083
+ setProviderType(null);
9084
+ setEmail("");
9085
+ setEmailCode("");
9086
+ setVerificationError("");
9087
+ setEmailCodeSentError("");
9088
+ setEmailStep("input");
9089
+ try {
9090
+ callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, walletAddress]) });
9091
+ notifyProvidersUpdate?.();
9092
+ } catch {
9093
+ }
9094
+ setIsLoading(false);
9095
+ setLinkIsLoading(false);
9096
+ },
9097
+ onError: (error) => {
9098
+ setVerificationError(error?.message || "Failed to verify and link email");
9099
+ setIsLoading(false);
9100
+ setLinkIsLoading(false);
9101
+ }
9102
+ });
9103
+ }
9104
+
9105
+ // src/internal/components/ManageWalletMenu/AddProvider.tsx
9106
+ import { Fragment as Fragment7, jsx as jsx44, jsxs as jsxs33 } from "react/jsx-runtime";
9107
+ function normalizePasskeyLinkError(msg) {
9108
+ const lower = msg.toLowerCase();
9109
+ if (lower.includes("already registered") || lower.includes("credential") && lower.includes("exists")) {
9110
+ return "This authenticator already has a credential for this site. Try a different device or security key.";
9111
+ }
9112
+ if (lower.includes("not allowed") || lower.includes("user cancelled")) {
9113
+ return "Operation cancelled. No changes were made.";
9114
+ }
9115
+ return msg;
9116
+ }
9117
+ function AddProvider() {
9118
+ const qc = useQueryClient4();
9119
+ const walletAddress = useLumiaPassportSession().address;
9120
+ const { callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
9121
+ const {
9122
+ linkIsLoading,
9123
+ providerType,
9124
+ email,
9125
+ emailStep,
9126
+ emailCodeExpiresIn,
9127
+ setProviderType,
9128
+ setLinkError,
9129
+ setLinkIsLoading
9130
+ } = useManageWalletStore();
9082
9131
  const setPage = useLayoutDataStore((st) => st.setPage);
9083
- const { data: providers = [], isLoading: isProvidersLoading, error: providersError } = useProvidersList();
9084
- const motionDivKey = useMemo2(() => {
9085
- if (isProvidersLoading) return MOTION_DIV_KEYS.LOADING;
9086
- if (providersError) return MOTION_DIV_KEYS.ERROR;
9087
- return MOTION_DIV_KEYS.CONTENT;
9088
- }, [isProvidersLoading, providersError]);
9089
- return /* @__PURE__ */ jsxs34("div", { className: "p-4 flex flex-col gap-4", children: [
9090
- /* @__PURE__ */ jsx44("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsxs34("div", { className: "flex items-center gap-2", children: [
9091
- /* @__PURE__ */ jsx44(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx44(ArrowLeft7, { className: "h-4 w-4" }) }),
9092
- /* @__PURE__ */ jsx44("span", { className: "text-xl font-semibold", children: "Manage Wallet Authentication" })
9093
- ] }) }),
9094
- /* @__PURE__ */ jsx44(AnimatePresence4, { mode: "wait", initial: false, children: /* @__PURE__ */ jsxs34(
9095
- motion4.div,
9096
- {
9097
- initial: { opacity: 0, height: MAX_LIST_HEIGHT },
9098
- animate: { opacity: 1, height: "auto" },
9099
- exit: { opacity: 0, height: MAX_LIST_HEIGHT },
9100
- transition: Y_ANIMATION_SETUP,
9101
- className: "list-scrollbar-y",
9102
- children: [
9103
- providersError && /* @__PURE__ */ jsxs34(
9104
- "div",
9105
- {
9106
- className: cn(
9107
- "bg-[var(--l-pass-bg-error)] border border-[var(--l-pass-error)]",
9108
- "p-4 rounded text-sm flex items-start gap-2 break-words whitespace-pre-wrap text-[var(--l-pass-error)]"
9109
- ),
9110
- children: [
9111
- /* @__PURE__ */ jsx44(AlertTriangle3, { className: "w-4 h-4 mt-0.5 shrink-0" }),
9112
- /* @__PURE__ */ jsx44("span", { className: "block", children: providersError.message })
9113
- ]
9132
+ const { mutate: onResendCode, isPending: isCodeSending } = useSendVerificationCode();
9133
+ const { mutate: onVerifyCode, isPending: isCodeVerifying } = useVerifyCode();
9134
+ const isLoading = linkIsLoading || isCodeSending || isCodeVerifying;
9135
+ if (!providerType) return null;
9136
+ return /* @__PURE__ */ jsxs33(Fragment7, { children: [
9137
+ providerType === "email" && emailStep === "input" && /* @__PURE__ */ jsxs33("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
9138
+ /* @__PURE__ */ jsx44("div", { className: "w-full flex flex-col gap-1 text-center", children: /* @__PURE__ */ jsx44("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Provide Email to connect" }) }),
9139
+ /* @__PURE__ */ jsx44(EmailForm, {})
9140
+ ] }),
9141
+ providerType === "email" && emailStep === "verify" && /* @__PURE__ */ jsxs33("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
9142
+ /* @__PURE__ */ jsxs33("div", { className: "w-full flex flex-col gap-1 text-center", children: [
9143
+ /* @__PURE__ */ jsx44("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "We sent a verification code to:" }),
9144
+ /* @__PURE__ */ jsx44("strong", { className: "text-xs", children: email })
9145
+ ] }),
9146
+ /* @__PURE__ */ jsx44(
9147
+ VerificationCodeInput,
9148
+ {
9149
+ onVerifyCode,
9150
+ onResendCode: () => onResendCode(email),
9151
+ isLoading,
9152
+ expiresIn: emailCodeExpiresIn
9153
+ }
9154
+ )
9155
+ ] }),
9156
+ providerType === "passkey" && /* @__PURE__ */ jsxs33("div", { className: "flex flex-col gap-[var(--l-pass-gap)]", children: [
9157
+ /* @__PURE__ */ jsxs33(Highlight, { children: [
9158
+ /* @__PURE__ */ jsx44("span", { className: "block mb-1", children: "Link a passkey to your account using WebAuth. Your device may let you choose an existing passkey" }),
9159
+ /* @__PURE__ */ jsx44("span", { className: "block", children: "Otherwise a new one will be created" })
9160
+ ] }),
9161
+ /* @__PURE__ */ jsxs33(
9162
+ Button,
9163
+ {
9164
+ className: "w-full",
9165
+ size: "medium",
9166
+ disabled: isLoading,
9167
+ onClick: async () => {
9168
+ setLinkError("");
9169
+ setLinkIsLoading(true);
9170
+ try {
9171
+ await linkPasskeyWithWebAuthn({
9172
+ authenticatorSelection: {
9173
+ authenticatorAttachment: "platform",
9174
+ residentKey: "preferred",
9175
+ userVerification: "preferred"
9176
+ }
9177
+ });
9178
+ await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, walletAddress] });
9179
+ try {
9180
+ callbacks?.onLumiaPassportUpdate?.({
9181
+ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, walletAddress])
9182
+ });
9183
+ notifyProvidersUpdate?.();
9184
+ } catch {
9185
+ }
9186
+ setPage("manage-wallet" /* MANAGE_WALLET */);
9187
+ setProviderType(null);
9188
+ } catch (e) {
9189
+ const msg = e?.message || "Failed to link passkey";
9190
+ setLinkError(normalizePasskeyLinkError(msg));
9191
+ } finally {
9192
+ setLinkIsLoading(false);
9114
9193
  }
9115
- ),
9116
- isProvidersLoading && /* @__PURE__ */ jsx44(
9117
- "div",
9118
- {
9119
- className: "flex items-center justify-center p-4 text-[var(--l-pass-fg-muted)]",
9120
- children: /* @__PURE__ */ jsx44(Loader6, { className: "w-5 h-5 mr-2 animate-spin" })
9194
+ },
9195
+ children: [
9196
+ /* @__PURE__ */ jsx44(PasskeyAddIcon, { className: "w-4 h-4" }),
9197
+ linkIsLoading ? "Linking\u2026" : "Create on This Device"
9198
+ ]
9199
+ }
9200
+ ),
9201
+ /* @__PURE__ */ jsxs33(
9202
+ Button,
9203
+ {
9204
+ className: "w-full",
9205
+ variant: "outline",
9206
+ size: "medium",
9207
+ disabled: isLoading,
9208
+ onClick: async () => {
9209
+ setLinkError("");
9210
+ setLinkIsLoading(true);
9211
+ try {
9212
+ await linkPasskeyWithWebAuthn({
9213
+ authenticatorSelection: {
9214
+ authenticatorAttachment: "cross-platform",
9215
+ residentKey: "preferred",
9216
+ userVerification: "preferred"
9217
+ }
9218
+ });
9219
+ await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, walletAddress] });
9220
+ try {
9221
+ callbacks?.onLumiaPassportUpdate?.({
9222
+ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, walletAddress])
9223
+ });
9224
+ notifyProvidersUpdate?.();
9225
+ } catch {
9226
+ }
9227
+ setPage("manage-wallet" /* MANAGE_WALLET */);
9228
+ setProviderType(null);
9229
+ } catch (e) {
9230
+ const msg = e?.message || "Failed to link passkey";
9231
+ setLinkError(normalizePasskeyLinkError(msg));
9232
+ } finally {
9233
+ setLinkIsLoading(false);
9121
9234
  }
9122
- ),
9123
- !providersError && !isProvidersLoading && /* @__PURE__ */ jsx44("div", { className: "w-full flex flex-col gap-2", children: providers.map((p) => /* @__PURE__ */ jsx44(ProviderCard, { ...p }, `${p.provider}-${p.externalId}`)) })
9124
- ]
9125
- },
9126
- motionDivKey
9127
- ) }),
9128
- /* @__PURE__ */ jsxs34(Button, { variant: "default", size: "large", className: "w-full", onClick: () => setPage("add-provider" /* ADD_PROVIDER */), children: [
9129
- /* @__PURE__ */ jsx44(Plus, { className: "w-5 h-5" }),
9130
- "Add Provider"
9131
- ] })
9235
+ },
9236
+ children: [
9237
+ /* @__PURE__ */ jsx44(PasskeyAddIcon, { className: "w-4 h-4" }),
9238
+ "Create on Security Key"
9239
+ ]
9240
+ }
9241
+ )
9242
+ ] }),
9243
+ providerType !== null && providerType !== "email" && providerType !== "passkey" && providerType !== "telegram" && providerType !== "wallet" && /* @__PURE__ */ jsx44(Highlight, { children: linkIsLoading ? `Linking with ${providerType.charAt(0).toUpperCase() + providerType.slice(1)}\u2026 Follow the popup to approve the connection.` : `Launching ${providerType.charAt(0).toUpperCase() + providerType.slice(1)} authentication\u2026` })
9132
9244
  ] });
9133
9245
  }
9134
9246
 
9135
- // src/internal/components/ManageWalletMenu/AddProviderMenu/AddProviderMenu.tsx
9136
- import { useQueryClient as useQueryClient5 } from "@tanstack/react-query";
9137
- import { ArrowLeft as ArrowLeft8, Key as Key6 } from "lucide-react";
9138
- init_email();
9139
- init_passkey2();
9247
+ // src/internal/components/ManageWalletMenu/EmailNotConnectedWarning.tsx
9248
+ init_auth();
9249
+ import { AnimatePresence as AnimatePresence3, motion as motion3 } from "framer-motion";
9250
+ import { Mail as Mail5 } from "lucide-react";
9251
+ import { jsx as jsx45, jsxs as jsxs34 } from "react/jsx-runtime";
9252
+ function EmailNotConnectedWarning() {
9253
+ const providers = jwtTokenManager2.getProviders();
9254
+ const hasEmail = providers.includes("email");
9255
+ const { config } = useLumiaPassportConfig();
9256
+ const isShown = config.warnings?.emailNotConnectedWarning && !hasEmail;
9257
+ return /* @__PURE__ */ jsx45(AnimatePresence3, { mode: "wait", initial: false, children: isShown ? /* @__PURE__ */ jsx45(
9258
+ motion3.div,
9259
+ {
9260
+ initial: { opacity: 0, height: 0 },
9261
+ animate: { opacity: 1, height: "auto" },
9262
+ exit: { opacity: 0, height: 0 },
9263
+ transition: Y_ANIMATION_SETUP,
9264
+ children: /* @__PURE__ */ jsxs34(Highlight, { className: "flex flex-col gap-[var(--l-pass-gap)] items-center text-center", children: [
9265
+ /* @__PURE__ */ jsxs34("span", { className: "flex items-center gap-[var(--l-pass-gap)] text-lg font-bold", children: [
9266
+ /* @__PURE__ */ jsx45(Mail5, { className: "w-5 h-5" }),
9267
+ "CONNECT EMAIL"
9268
+ ] }),
9269
+ /* @__PURE__ */ jsx45("span", { className: "font-medium", children: "Connect your email for easier account recovery and additional security." })
9270
+ ] })
9271
+ }
9272
+ ) : null });
9273
+ }
9140
9274
 
9141
9275
  // src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts
9142
- import { useQueryClient as useQueryClient3 } from "@tanstack/react-query";
9276
+ import { useQueryClient as useQueryClient5 } from "@tanstack/react-query";
9143
9277
  import React11, { useEffect as useEffect16 } from "react";
9144
9278
  init_auth();
9145
9279
  function useLinkSocial() {
9146
- const qc = useQueryClient3();
9280
+ const qc = useQueryClient5();
9147
9281
  const walletAddress = useLumiaPassportSession().address;
9148
9282
  const { config, callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
9149
9283
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -9214,19 +9348,19 @@ function useLinkSocial() {
9214
9348
  }
9215
9349
 
9216
9350
  // src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts
9217
- import { useQueryClient as useQueryClient4 } from "@tanstack/react-query";
9351
+ import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
9218
9352
  import { useCallback as useCallback9, useEffect as useEffect17, useState as useState7 } from "react";
9219
9353
  init_telegram2();
9220
9354
  function useLinkTelegram() {
9221
- const qc = useQueryClient4();
9222
- const walletAddress = useLumiaPassportSession().address;
9223
9355
  const { config, callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
9224
- const { providerType, linkIsLoading, setLinkIsLoading, setProviderType } = useManageWalletStore();
9225
- const { setPage, setLayoutError } = useLayoutDataStore();
9356
+ const qc = useQueryClient6();
9357
+ const walletAddress = useLumiaPassportSession((st) => st.address);
9358
+ const { providerType, linkIsLoading, setLinkIsLoading, setProviderType, setLinkError } = useManageWalletStore();
9359
+ const setPage = useLayoutDataStore((st) => st.setPage);
9226
9360
  const handleLinkTelegram = useCallback9(async () => {
9227
9361
  try {
9228
9362
  setLinkIsLoading(true);
9229
- setLayoutError("");
9363
+ setLinkError("");
9230
9364
  const telegramProvider = config.social?.providers?.find(
9231
9365
  (p) => (p.id || "").toLowerCase() === "telegram" && p.enabled
9232
9366
  );
@@ -9259,7 +9393,7 @@ function useLinkTelegram() {
9259
9393
  setProviderType(null);
9260
9394
  } catch (e) {
9261
9395
  console.error("[ManageWallet] Failed to link Telegram:", e);
9262
- setLayoutError(e?.message || "Failed to link Telegram");
9396
+ setLinkError(e?.message || "Failed to link Telegram");
9263
9397
  setProviderType(null);
9264
9398
  } finally {
9265
9399
  setLinkIsLoading(false);
@@ -9279,336 +9413,211 @@ function useLinkTelegram() {
9279
9413
  }, [providerType]);
9280
9414
  }
9281
9415
 
9282
- // src/internal/components/ManageWalletMenu/AddProviderMenu/AvailableProviders.tsx
9283
- import { Key as Key5, Loader as Loader7, Wallet } from "lucide-react";
9284
- import { Fragment as Fragment7, memo } from "react";
9285
-
9286
- // src/internal/components/ManageWalletMenu/AddProviderMenu/useSendVerificationCode.ts
9287
- init_email();
9288
- import { useMutation as useMutation7 } from "@tanstack/react-query";
9289
- function useSendVerificationCode() {
9290
- const setLayoutError = useLayoutDataStore((st) => st.setLayoutError);
9291
- const { setVerificationError, setLinkIsLoading, setEmailCodeSent, setEmailCodeExpiresIn } = useManageWalletStore();
9292
- return useMutation7({
9293
- mutationFn: async (email) => {
9294
- if (!email) {
9295
- throw new Error("Email is required");
9296
- }
9297
- setLayoutError("");
9298
- setVerificationError("");
9299
- setLinkIsLoading(true);
9300
- await sendEmailLinkCode(email);
9301
- setEmailCodeSent(true);
9302
- setEmailCodeExpiresIn(300);
9303
- },
9304
- onError: (error) => {
9305
- console.error("Failed to send verification code", error.message);
9306
- setLayoutError(error?.message || "Failed to send verification code");
9307
- setLinkIsLoading(false);
9308
- },
9309
- onSuccess: () => {
9310
- console.log("Verification code sent");
9311
- setLinkIsLoading(false);
9312
- }
9313
- });
9314
- }
9315
-
9316
- // src/internal/components/ManageWalletMenu/AddProviderMenu/AvailableProviders.tsx
9317
- import { jsx as jsx45, jsxs as jsxs35 } from "react/jsx-runtime";
9318
- var EXISTING_PROVIDERS_METHODS = ["passkey", "email", "wallet", "social"];
9319
- var AvalableAuthProviders = memo(() => {
9320
- const config = useLumiaPassportConfig().config;
9321
- const { email, setEmail, setProviderType } = useManageWalletStore();
9322
- const { data: providers, isLoading: isProvidersLoading } = useProvidersList();
9323
- const { mutate: sendVerificationCode } = useSendVerificationCode();
9324
- const renderItems = EXISTING_PROVIDERS_METHODS.map((methodKey) => {
9325
- switch (methodKey) {
9326
- case "social":
9327
- const isSocialEnabled = !!config.social?.enabled && !!config.social?.providers?.length;
9328
- return null;
9329
- case "passkey":
9330
- const isPasskeyUsed = providers.some((p) => p.provider === "passkey");
9331
- const showPasskey = !isPasskeyUsed && !!config.passkey?.enabled;
9332
- if (!showPasskey) return null;
9333
- return {
9334
- key: "passkey",
9335
- component: /* @__PURE__ */ jsxs35(Button, { onClick: () => setProviderType("passkey"), className: "w-full", size: "large", children: [
9336
- /* @__PURE__ */ jsx45(Key5, { className: "w-4 h-4 mr-2" }),
9337
- "Link with Passkey"
9338
- ] })
9339
- };
9340
- case "wallet":
9341
- if (!config.wallet?.enabled) return null;
9342
- return {
9343
- key: "wallet",
9344
- component: /* @__PURE__ */ jsxs35(
9345
- Button,
9346
- {
9347
- className: "w-full",
9348
- size: "large",
9349
- onClick: () => {
9350
- alert("WIP");
9351
- },
9352
- children: [
9353
- /* @__PURE__ */ jsx45(Wallet, { className: "w-4 h-4 mr-2" }),
9354
- "Connect External Wallet"
9355
- ]
9356
- }
9357
- )
9358
- };
9359
- case "email":
9360
- const isEmailUsed = providers.some((p) => p.provider === "email");
9361
- const showEmail = !isEmailUsed && !!config.email?.enabled;
9362
- if (!showEmail) return null;
9363
- return {
9364
- key: "email",
9365
- component: /* @__PURE__ */ jsxs35("div", { className: "space-y-2", children: [
9366
- /* @__PURE__ */ jsx45(
9367
- Input,
9368
- {
9369
- type: "email",
9370
- placeholder: config.email.placeholder || "Enter your email",
9371
- value: email,
9372
- onChange: (e) => setEmail(e.target.value),
9373
- className: "h-12"
9374
- }
9375
- ),
9376
- /* @__PURE__ */ jsx45(
9377
- Button,
9378
- {
9379
- disabled: !email,
9380
- className: "w-full",
9381
- size: "large",
9382
- onClick: () => {
9383
- setProviderType("email");
9384
- sendVerificationCode(email);
9385
- },
9386
- children: "Continue"
9387
- }
9388
- )
9389
- ] })
9390
- };
9391
- default:
9392
- return null;
9393
- }
9394
- }).filter(Boolean);
9395
- return /* @__PURE__ */ jsxs35("div", { className: "w-full flex flex-col", children: [
9396
- isProvidersLoading && /* @__PURE__ */ jsx45("div", { className: "w-full p-6", children: /* @__PURE__ */ jsx45(Loader7, { className: "w-5 h-5 mr-2 animate-spin" }) }),
9397
- !isProvidersLoading && renderItems.map((r, rIdx) => /* @__PURE__ */ jsxs35(Fragment7, { children: [
9398
- r.component,
9399
- rIdx === renderItems.length - 1 ? null : /* @__PURE__ */ jsx45("div", { className: "w-full py-2", children: /* @__PURE__ */ jsx45("span", { className: "block w-full text-center text-sm text-[var(--l-pass-fg-muted)]", children: "Or" }) })
9400
- ] }, r.key))
9416
+ // src/internal/components/ManageWalletMenu/ProviderCard.tsx
9417
+ init_types();
9418
+ import { CheckCircle, Clock, Trash2 } from "lucide-react";
9419
+ import { jsx as jsx46, jsxs as jsxs35 } from "react/jsx-runtime";
9420
+ function ProviderCard(props) {
9421
+ const setPage = useLayoutDataStore((st) => st.setPage);
9422
+ const setConfirmUnlink = useManageWalletStore((st) => st.setConfirmUnlink);
9423
+ const { data: providers = [] } = useProvidersList();
9424
+ const canUnlink = (p) => {
9425
+ const verified = providers.filter((x) => x.verified);
9426
+ if (verified.length <= 1 && p.verified) return false;
9427
+ return true;
9428
+ };
9429
+ const info = getProviderDisplayInfo(props.provider);
9430
+ const allowUnlink = canUnlink(props);
9431
+ const IconComponent = info.icon;
9432
+ return /* @__PURE__ */ jsxs35("div", { className: "w-full flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
9433
+ /* @__PURE__ */ jsx46("div", { className: "w-12 h-12 flex items-center justify-center flex-none border border-[var(--l-pass-bd)] rounded-full", children: /* @__PURE__ */ jsx46(IconComponent, { className: "w-5 h-5" }) }),
9434
+ /* @__PURE__ */ jsxs35("div", { className: "flex flex-col gap-1 flex-1", children: [
9435
+ /* @__PURE__ */ jsx46("span", { className: "block w-full text-sm font-medium", children: info.name }),
9436
+ props.externalId && /* @__PURE__ */ jsx46(
9437
+ "span",
9438
+ {
9439
+ style: { maxWidth: 144 },
9440
+ className: "block w-full text-[10px] font-mono whitespace-nowrap text-ellipsis overflow-hidden",
9441
+ children: props.externalId
9442
+ }
9443
+ )
9444
+ ] }),
9445
+ /* @__PURE__ */ jsxs35("div", { className: "w-fit flex items-center gap-[var(--l-pass-gap)] flex-none", children: [
9446
+ props.verified ? /* @__PURE__ */ jsx46(CheckCircle, { className: `w-4 h-4 text-[var(--l-pass-bg-success)]` }) : /* @__PURE__ */ jsx46(Clock, { className: "w-4 h-4 text-[var(--l-pass-bg-warning)]" }),
9447
+ allowUnlink && /* @__PURE__ */ jsx46(
9448
+ Button,
9449
+ {
9450
+ variant: "ghost",
9451
+ size: "icon",
9452
+ title: "Remove provider",
9453
+ className: "w-5 h-5",
9454
+ onClick: () => {
9455
+ setConfirmUnlink({ provider: props.provider, providerName: info.name, externalId: props.externalId });
9456
+ setPage("unlink-provider" /* UNLINK_PROVIDER */);
9457
+ },
9458
+ children: /* @__PURE__ */ jsx46(Trash2, { className: "w-4 h-4 text-[var(--l-pass-bg-error)]" })
9459
+ }
9460
+ )
9461
+ ] })
9401
9462
  ] });
9402
- });
9463
+ }
9403
9464
 
9404
- // src/internal/components/ManageWalletMenu/AddProviderMenu/AddProviderMenu.tsx
9405
- import { jsx as jsx46, jsxs as jsxs36 } from "react/jsx-runtime";
9406
- function normalizePasskeyLinkError(msg) {
9407
- const lower = msg.toLowerCase();
9408
- if (lower.includes("already registered") || lower.includes("credential") && lower.includes("exists")) {
9409
- return "This authenticator already has a credential for this site. Try a different device or security key.";
9410
- }
9411
- if (lower.includes("not allowed") || lower.includes("user cancelled")) {
9412
- return "Operation cancelled. No changes were made.";
9413
- }
9414
- return msg;
9465
+ // src/internal/components/ManageWalletMenu/ManageWallet.tsx
9466
+ import { jsx as jsx47, jsxs as jsxs36 } from "react/jsx-runtime";
9467
+ var POSSIBLE_PROVIDERS = [
9468
+ "email",
9469
+ // 'google',
9470
+ "twitter",
9471
+ "telegram",
9472
+ // 'discord',
9473
+ "passkey",
9474
+ "wallet"
9475
+ ];
9476
+ function getConfiguredProviders(config) {
9477
+ return POSSIBLE_PROVIDERS.reduce(
9478
+ (acc, p) => {
9479
+ const isEnabled = config[p]?.enabled;
9480
+ const isSocial = ["twitter", "telegram", "discord", "google"].includes(p);
9481
+ if (!isSocial) acc[p] = isEnabled;
9482
+ config?.social?.providers.filter((sp) => !!sp.enabled).forEach((sp) => {
9483
+ if (sp.id === "X" || sp.id === "x") {
9484
+ acc["twitter"] = true;
9485
+ } else {
9486
+ acc[sp.id.toLowerCase()] = true;
9487
+ }
9488
+ });
9489
+ return acc;
9490
+ },
9491
+ fromPairs(POSSIBLE_PROVIDERS.map((p) => [p, false]))
9492
+ );
9415
9493
  }
9416
- function AddProviderMenu() {
9417
- const qc = useQueryClient5();
9418
- const walletAddress = useLumiaPassportSession().address;
9419
- const { callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
9494
+ function ManageWalletMenu() {
9495
+ const { config } = useLumiaPassportConfig();
9496
+ const setPage = useLayoutDataStore((st) => st.setPage);
9420
9497
  const {
9421
- linkError,
9422
- linkIsLoading,
9423
9498
  providerType,
9424
- email,
9425
- emailCode,
9426
- emailCodeSent,
9427
- emailCodeExpiresIn,
9499
+ linkError,
9428
9500
  verificationError,
9429
- setVerificationError,
9430
- setEmailCodeSent,
9431
- setEmailCode,
9432
- setEmail,
9501
+ emailCodeSentError,
9433
9502
  setProviderType,
9503
+ setEmail,
9504
+ setEmailStep,
9505
+ setEmailCodeSentError,
9506
+ setEmailCodeExpiresIn,
9507
+ setEmailCode,
9434
9508
  setLinkError,
9435
- setLinkIsLoading
9509
+ setVerificationError
9436
9510
  } = useManageWalletStore();
9437
- const { setPage, setLayoutError } = useLayoutDataStore();
9438
- const { mutate: sendVerificationCode } = useSendVerificationCode();
9439
- const handleVerifyCode = async (codeToVerify) => {
9440
- const code = codeToVerify ?? emailCode;
9441
- if (!code) {
9442
- setLayoutError("Please enter the verification code");
9443
- return;
9444
- }
9445
- setLayoutError("");
9446
- setVerificationError("");
9447
- setLinkIsLoading(true);
9448
- try {
9449
- await verifyEmailLinkCode(email, code);
9450
- await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, walletAddress] });
9451
- try {
9452
- callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, walletAddress]) });
9453
- notifyProvidersUpdate?.();
9454
- } catch {
9511
+ const configuredProviders = getConfiguredProviders(config);
9512
+ const { data: providers = [], isFetching: isProvidersLoading, error: providersError } = useProvidersList();
9513
+ const renderProviders = useMemo2(() => {
9514
+ const usedProviders = fromPairs(providers.map((p) => [p.provider, true]));
9515
+ const used = [];
9516
+ const unused = [];
9517
+ POSSIBLE_PROVIDERS.forEach((provider, providerIdx) => {
9518
+ if (!configuredProviders[provider]) return null;
9519
+ const Icon = PROVIDERS_META2[provider].icon;
9520
+ if (usedProviders[provider]) {
9521
+ used.push(
9522
+ /* @__PURE__ */ jsx47(ProviderCard, { ...providers.find((p) => p.provider === provider) }, `${provider}-${providerIdx}`)
9523
+ );
9524
+ } else {
9525
+ unused.push(
9526
+ /* @__PURE__ */ jsxs36(
9527
+ Button,
9528
+ {
9529
+ variant: "default",
9530
+ size: "medium",
9531
+ className: "w-full",
9532
+ onClick: () => {
9533
+ switch (provider) {
9534
+ case "email":
9535
+ setEmail("");
9536
+ setEmailCode("");
9537
+ setEmailCodeSentError("");
9538
+ setEmailCodeExpiresIn(0);
9539
+ setEmailStep("input");
9540
+ setProviderType(provider);
9541
+ break;
9542
+ case "twitter":
9543
+ setProviderType("social");
9544
+ break;
9545
+ default:
9546
+ setProviderType(provider);
9547
+ break;
9548
+ }
9549
+ },
9550
+ children: [
9551
+ /* @__PURE__ */ jsx47(Icon, { className: "w-4 h-4" }),
9552
+ `Add ${provider.toUpperCase()}`
9553
+ ]
9554
+ },
9555
+ `${provider}-${providerIdx}`
9556
+ )
9557
+ );
9455
9558
  }
9456
- setProviderType(null);
9457
- setEmail("");
9458
- setEmailCode("");
9459
- setEmailCodeSent(false);
9460
- setPage("manage-wallet" /* MANAGE_WALLET */);
9461
- } catch (e) {
9462
- setVerificationError(e?.message || "Failed to verify and link email");
9463
- } finally {
9464
- setLinkIsLoading(false);
9465
- }
9466
- };
9559
+ });
9560
+ return [...used, ...unused];
9561
+ }, [providers, configuredProviders]);
9467
9562
  useLinkTelegram();
9468
9563
  useLinkSocial();
9469
- return /* @__PURE__ */ jsxs36("div", { className: "p-5", children: [
9470
- /* @__PURE__ */ jsxs36("div", { className: "flex items-center gap-2 mb-3", children: [
9471
- /* @__PURE__ */ jsx46(
9564
+ const showCurrentProviders = !isProvidersLoading && !providersError && (providerType !== "email" && providerType !== "passkey" || providerType === null);
9565
+ const showExtraProvidersUi = !isProvidersLoading && !providersError && (providerType === "email" || providerType === "passkey");
9566
+ const combinedError = emailCodeSentError || linkError || verificationError || null;
9567
+ return /* @__PURE__ */ jsxs36("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
9568
+ /* @__PURE__ */ jsxs36("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
9569
+ /* @__PURE__ */ jsx47(
9472
9570
  Button,
9473
9571
  {
9474
9572
  variant: "ghost",
9475
9573
  size: "icon",
9476
9574
  title: "Back",
9477
9575
  onClick: () => {
9478
- if (providerType) {
9479
- setProviderType(null);
9480
- setEmailCodeSent(false);
9576
+ if (providerType === "email") {
9481
9577
  setEmail("");
9482
9578
  setEmailCode("");
9483
- setLinkError("");
9484
- } else {
9485
- setPage("manage-wallet" /* MANAGE_WALLET */);
9579
+ setEmailStep("input");
9580
+ setEmailCodeSentError("");
9581
+ setEmailCodeExpiresIn(0);
9582
+ setVerificationError("");
9486
9583
  }
9584
+ setLinkError("");
9585
+ if (!providerType) setPage("settings" /* SETTINGS */);
9586
+ setProviderType(null);
9487
9587
  },
9488
- children: /* @__PURE__ */ jsx46(ArrowLeft8, { className: "h-4 w-4" })
9588
+ children: /* @__PURE__ */ jsx47(ArrowLeft7, { className: "h-4 w-4" })
9489
9589
  }
9490
9590
  ),
9491
- /* @__PURE__ */ jsx46("span", { className: "text-xl font-semibold", children: "Add Authentication Provider" })
9591
+ /* @__PURE__ */ jsx47("span", { className: "text-xl font-semibold", children: "Profiles" })
9492
9592
  ] }),
9493
- !providerType && /* @__PURE__ */ jsx46(AvalableAuthProviders, {}),
9494
- !!providerType?.length && /* @__PURE__ */ jsxs36("div", { className: "mt-3 space-y-3", children: [
9495
- providerType === "email" && emailCodeSent && /* @__PURE__ */ jsxs36("div", { className: "space-y-2", children: [
9496
- /* @__PURE__ */ jsx46("div", { className: "p-3 rounded text-sm bg-green-50 border border-green-200 text-green-700", children: `Verification code sent to ${email}` }),
9497
- /* @__PURE__ */ jsx46(
9498
- VerificationCodeInput,
9499
- {
9500
- onVerifyCode: handleVerifyCode,
9501
- onResendCode: () => sendVerificationCode(email),
9502
- isLoading: linkIsLoading,
9503
- expiresIn: emailCodeExpiresIn,
9504
- error: verificationError
9505
- }
9506
- )
9507
- ] }),
9508
- providerType === "passkey" && /* @__PURE__ */ jsxs36("div", { className: "space-y-3", children: [
9509
- /* @__PURE__ */ jsx46("div", { className: "p-3 rounded-xl text-sm bg-blue-50 border border-blue-200 text-blue-700", children: "Link a passkey to your account using WebAuth. Your device may let you choose an existing passkey; otherwise a new one will be created." }),
9510
- /* @__PURE__ */ jsxs36(
9511
- Button,
9512
- {
9513
- className: "w-full",
9514
- size: "large",
9515
- disabled: linkIsLoading,
9516
- onClick: async () => {
9517
- setLinkError("");
9518
- setLinkIsLoading(true);
9519
- try {
9520
- await linkPasskeyWithWebAuthn({
9521
- authenticatorSelection: {
9522
- authenticatorAttachment: "platform",
9523
- residentKey: "preferred",
9524
- userVerification: "preferred"
9525
- }
9526
- });
9527
- await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, walletAddress] });
9528
- try {
9529
- callbacks?.onLumiaPassportUpdate?.({
9530
- providers: qc.getQueryData([PROVIDERS_QUERY_KEY, walletAddress])
9531
- });
9532
- notifyProvidersUpdate?.();
9533
- } catch {
9534
- }
9535
- setPage("manage-wallet" /* MANAGE_WALLET */);
9536
- setProviderType(null);
9537
- } catch (e) {
9538
- const msg = e?.message || "Failed to link passkey";
9539
- setLinkError(normalizePasskeyLinkError(msg));
9540
- } finally {
9541
- setLinkIsLoading(false);
9542
- }
9543
- },
9544
- children: [
9545
- /* @__PURE__ */ jsx46(Key6, { className: "w-4 h-4" }),
9546
- linkIsLoading ? "Linking\u2026" : "Create on This Device"
9547
- ]
9548
- }
9549
- ),
9550
- /* @__PURE__ */ jsxs36(
9551
- Button,
9552
- {
9553
- className: "w-full",
9554
- variant: "outline",
9555
- size: "large",
9556
- disabled: linkIsLoading,
9557
- onClick: async () => {
9558
- setLinkError("");
9559
- setLinkIsLoading(true);
9560
- try {
9561
- await linkPasskeyWithWebAuthn({
9562
- authenticatorSelection: {
9563
- authenticatorAttachment: "cross-platform",
9564
- residentKey: "preferred",
9565
- userVerification: "preferred"
9566
- }
9567
- });
9568
- await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, walletAddress] });
9569
- try {
9570
- callbacks?.onLumiaPassportUpdate?.({
9571
- providers: qc.getQueryData([PROVIDERS_QUERY_KEY, walletAddress])
9572
- });
9573
- notifyProvidersUpdate?.();
9574
- } catch {
9575
- }
9576
- setPage("manage-wallet" /* MANAGE_WALLET */);
9577
- setProviderType(null);
9578
- } catch (e) {
9579
- const msg = e?.message || "Failed to link passkey";
9580
- setLinkError(normalizePasskeyLinkError(msg));
9581
- } finally {
9582
- setLinkIsLoading(false);
9583
- }
9584
- },
9585
- children: [
9586
- /* @__PURE__ */ jsx46(Key6, { className: "w-4 h-4" }),
9587
- "Create on Security Key"
9588
- ]
9589
- }
9590
- ),
9591
- linkError && /* @__PURE__ */ jsx46("div", { className: "p-3 rounded text-sm break-words whitespace-pre-wrap bg-red-50 border border-red-200 text-red-700", children: linkError })
9593
+ /* @__PURE__ */ jsxs36(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
9594
+ providersError && /* @__PURE__ */ jsxs36(Highlight, { type: "error", className: "flex items-start gap-[var(--l-pass-gap)] break-words whitespace-pre-wrap", children: [
9595
+ /* @__PURE__ */ jsx47(AlertTriangle3, { className: "w-4 h-4 shrink-0" }),
9596
+ /* @__PURE__ */ jsx47("span", { className: "block", children: providersError.message })
9592
9597
  ] }),
9593
- providerType && providerType !== "email" && providerType !== "passkey" && providerType !== "telegram" && providerType !== "wallet" && /* @__PURE__ */ jsx46("div", { className: "p-3 rounded-xl text-sm bg-blue-50 border border-blue-200 text-blue-700", children: linkIsLoading ? `Linking with ${providerType.charAt(0).toUpperCase() + providerType.slice(1)}\u2026 Follow the popup to approve the connection.` : `Launching ${providerType.charAt(0).toUpperCase() + providerType.slice(1)} authentication\u2026` })
9598
+ isProvidersLoading && /* @__PURE__ */ jsx47("div", { className: "flex items-center justify-center p-4 text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx47(Loader7, { className: "w-5 h-5 animate-spin" }) }),
9599
+ /* @__PURE__ */ jsx47(EmailNotConnectedWarning, {}),
9600
+ showCurrentProviders && renderProviders.map((node) => node),
9601
+ showExtraProvidersUi && /* @__PURE__ */ jsx47(AddProvider, {}),
9602
+ combinedError && /* @__PURE__ */ jsx47(Highlight, { type: "error", children: /* @__PURE__ */ jsx47("span", { children: combinedError }) })
9594
9603
  ] })
9595
9604
  ] });
9596
9605
  }
9597
9606
 
9598
9607
  // src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx
9599
- import { useMutation as useMutation9, useQueryClient as useQueryClient6 } from "@tanstack/react-query";
9608
+ import { useMutation as useMutation10, useQueryClient as useQueryClient7 } from "@tanstack/react-query";
9600
9609
  import { Key as Key7, Loader as Loader8 } from "lucide-react";
9601
9610
  import { useState as useState8 } from "react";
9602
9611
  init_auth();
9603
- import { jsx as jsx47, jsxs as jsxs37 } from "react/jsx-runtime";
9612
+ import { jsx as jsx48, jsxs as jsxs37 } from "react/jsx-runtime";
9604
9613
  function UnlinkProviderMenu() {
9605
- const qc = useQueryClient6();
9614
+ const qc = useQueryClient7();
9606
9615
  const walletAddress = useLumiaPassportSession().address;
9607
9616
  const { callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
9608
- const { setPage, setLayoutError } = useLayoutDataStore();
9609
- const { confirmUnlink, setConfirmUnlink } = useManageWalletStore();
9617
+ const setPage = useLayoutDataStore((st) => st.setPage);
9618
+ const { confirmUnlink, setConfirmUnlink, setLinkError } = useManageWalletStore();
9610
9619
  const [confirmInput, setConfirmInput] = useState8("");
9611
- const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = useMutation9({
9620
+ const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = useMutation10({
9612
9621
  mutationFn: async () => {
9613
9622
  if (!confirmUnlink) {
9614
9623
  throw new Error("No provider to unlink");
@@ -9627,16 +9636,16 @@ function UnlinkProviderMenu() {
9627
9636
  setPage("manage-wallet" /* MANAGE_WALLET */);
9628
9637
  },
9629
9638
  onError: (error) => {
9630
- setLayoutError(error?.message || "Failed to unlink provider");
9639
+ setLinkError(error?.message || "Failed to unlink provider");
9631
9640
  setPage("manage-wallet" /* MANAGE_WALLET */);
9632
9641
  }
9633
9642
  });
9634
9643
  return /* @__PURE__ */ jsxs37("div", { className: "w-full p-5 flex flex-col gap-4", children: [
9635
- /* @__PURE__ */ jsx47("div", { className: "text-xl font-semibold text-[var(--l-pass-error)]", children: "This action cannot be undone." }),
9644
+ /* @__PURE__ */ jsx48("div", { className: "text-xl font-semibold text-[var(--l-pass-error)]", children: "This action cannot be undone." }),
9636
9645
  confirmUnlink && /* @__PURE__ */ jsxs37("div", { className: "w-full flex flex-col gap-2", children: [
9637
- /* @__PURE__ */ jsx47("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Type the provider ID to confirm removal:" }),
9638
- /* @__PURE__ */ jsx47("div", { className: "text-sm font-mono break-all", children: confirmUnlink.externalId }),
9639
- /* @__PURE__ */ jsx47(
9646
+ /* @__PURE__ */ jsx48("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Type the provider ID to confirm removal:" }),
9647
+ /* @__PURE__ */ jsx48("div", { className: "text-sm font-mono break-all", children: confirmUnlink.externalId }),
9648
+ /* @__PURE__ */ jsx48(
9640
9649
  Input,
9641
9650
  {
9642
9651
  Icon: Key7,
@@ -9647,7 +9656,7 @@ function UnlinkProviderMenu() {
9647
9656
  )
9648
9657
  ] }),
9649
9658
  /* @__PURE__ */ jsxs37("div", { className: "w-full flex justify-between gap-2", children: [
9650
- /* @__PURE__ */ jsx47(
9659
+ /* @__PURE__ */ jsx48(
9651
9660
  Button,
9652
9661
  {
9653
9662
  size: "large",
@@ -9670,7 +9679,7 @@ function UnlinkProviderMenu() {
9670
9679
  disabled: !!isProviderUnlinking || !confirmUnlink || confirmInput !== confirmUnlink.externalId,
9671
9680
  className: "w-full flex-1",
9672
9681
  children: [
9673
- isProviderUnlinking && /* @__PURE__ */ jsx47(Loader8, { className: "animate-spin h-4 w-4" }),
9682
+ isProviderUnlinking && /* @__PURE__ */ jsx48(Loader8, { className: "animate-spin h-4 w-4" }),
9674
9683
  isProviderUnlinking ? "Removing\u2026" : "Remove"
9675
9684
  ]
9676
9685
  }
@@ -9684,7 +9693,7 @@ init_auth();
9684
9693
  init_keyshare();
9685
9694
  import {
9686
9695
  AlertTriangle as AlertTriangle4,
9687
- ArrowLeft as ArrowLeft9,
9696
+ ArrowLeft as ArrowLeft8,
9688
9697
  CheckCircle2 as CheckCircle24,
9689
9698
  Cloud as Cloud2,
9690
9699
  HardDrive,
@@ -9697,7 +9706,7 @@ import {
9697
9706
  } from "lucide-react";
9698
9707
  import { useCallback as useCallback10, useEffect as useEffect18, useState as useState9 } from "react";
9699
9708
  init_vaultClient();
9700
- import { jsx as jsx48, jsxs as jsxs38 } from "react/jsx-runtime";
9709
+ import { jsx as jsx49, jsxs as jsxs38 } from "react/jsx-runtime";
9701
9710
  function SecurityMenu() {
9702
9711
  const page = useLayoutDataStore((st) => st.page);
9703
9712
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -9762,18 +9771,18 @@ function SecurityMenu() {
9762
9771
  return null;
9763
9772
  };
9764
9773
  return /* @__PURE__ */ jsxs38("div", { className: "w-full p-4 flex flex-col gap-4", children: [
9765
- /* @__PURE__ */ jsx48("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-2", children: [
9766
- /* @__PURE__ */ jsx48(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx48(ArrowLeft9, { className: "h-4 w-4" }) }),
9774
+ /* @__PURE__ */ jsx49("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-2", children: [
9775
+ /* @__PURE__ */ jsx49(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx49(ArrowLeft8, { className: "h-4 w-4" }) }),
9767
9776
  /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-2 font-semibold", children: [
9768
- /* @__PURE__ */ jsx48("span", { className: "text-xl font-semibold", children: "Keyshare Status" }),
9769
- /* @__PURE__ */ jsx48(Button, { variant: "ghost", size: "icon", title: "Refresh", onClick: fetchRecovery, children: isRefreshing ? /* @__PURE__ */ jsx48(Loader9, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx48(RefreshCw, { className: "h-4 w-4" }) })
9777
+ /* @__PURE__ */ jsx49("span", { className: "text-xl font-semibold", children: "Keyshare Status" }),
9778
+ /* @__PURE__ */ jsx49(Button, { variant: "ghost", size: "icon", title: "Refresh", onClick: fetchRecovery, children: isRefreshing ? /* @__PURE__ */ jsx49(Loader9, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx49(RefreshCw, { className: "h-4 w-4" }) })
9770
9779
  ] })
9771
9780
  ] }) }),
9772
9781
  /* @__PURE__ */ jsxs38("div", { className: "grid grid-cols-3 gap-4", children: [
9773
9782
  /* @__PURE__ */ jsxs38("div", { className: "space-y-2 text-center", children: [
9774
9783
  /* @__PURE__ */ jsxs38("div", { className: "flex items-center justify-center gap-2", children: [
9775
- /* @__PURE__ */ jsx48(Cloud2, { className: "h-4 w-4" }),
9776
- /* @__PURE__ */ jsx48("span", { className: "text-sm font-medium", children: "Server" })
9784
+ /* @__PURE__ */ jsx49(Cloud2, { className: "h-4 w-4" }),
9785
+ /* @__PURE__ */ jsx49("span", { className: "text-sm font-medium", children: "Server" })
9777
9786
  ] }),
9778
9787
  /* @__PURE__ */ jsxs38(
9779
9788
  "span",
@@ -9783,7 +9792,7 @@ function SecurityMenu() {
9783
9792
  serverHasKeyshare ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
9784
9793
  ),
9785
9794
  children: [
9786
- serverHasKeyshare ? /* @__PURE__ */ jsx48(CheckCircle24, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx48(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
9795
+ serverHasKeyshare ? /* @__PURE__ */ jsx49(CheckCircle24, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx49(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
9787
9796
  serverHasKeyshare ? "Ready" : "Missing"
9788
9797
  ]
9789
9798
  }
@@ -9791,8 +9800,8 @@ function SecurityMenu() {
9791
9800
  ] }),
9792
9801
  /* @__PURE__ */ jsxs38("div", { className: "space-y-2 text-center", children: [
9793
9802
  /* @__PURE__ */ jsxs38("div", { className: "flex items-center justify-center gap-2", children: [
9794
- /* @__PURE__ */ jsx48(Laptop, { className: "h-4 w-4" }),
9795
- /* @__PURE__ */ jsx48("span", { className: "text-sm font-medium", children: "Local" })
9803
+ /* @__PURE__ */ jsx49(Laptop, { className: "h-4 w-4" }),
9804
+ /* @__PURE__ */ jsx49("span", { className: "text-sm font-medium", children: "Local" })
9796
9805
  ] }),
9797
9806
  /* @__PURE__ */ jsxs38(
9798
9807
  "span",
@@ -9802,7 +9811,7 @@ function SecurityMenu() {
9802
9811
  localInfo?.hasKeyshare ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
9803
9812
  ),
9804
9813
  children: [
9805
- localInfo?.hasKeyshare ? /* @__PURE__ */ jsx48(CheckCircle24, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx48(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
9814
+ localInfo?.hasKeyshare ? /* @__PURE__ */ jsx49(CheckCircle24, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx49(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
9806
9815
  localInfo?.hasKeyshare ? "Ready" : "Missing"
9807
9816
  ]
9808
9817
  }
@@ -9810,8 +9819,8 @@ function SecurityMenu() {
9810
9819
  ] }),
9811
9820
  /* @__PURE__ */ jsxs38("div", { className: "space-y-2 text-center", children: [
9812
9821
  /* @__PURE__ */ jsxs38("div", { className: "flex items-center justify-center gap-2", children: [
9813
- /* @__PURE__ */ jsx48(Shield, { className: "h-4 w-4" }),
9814
- /* @__PURE__ */ jsx48("span", { className: "text-sm font-medium", children: "Vault" })
9822
+ /* @__PURE__ */ jsx49(Shield, { className: "h-4 w-4" }),
9823
+ /* @__PURE__ */ jsx49("span", { className: "text-sm font-medium", children: "Vault" })
9815
9824
  ] }),
9816
9825
  /* @__PURE__ */ jsxs38(
9817
9826
  "span",
@@ -9821,7 +9830,7 @@ function SecurityMenu() {
9821
9830
  hasServerBackup ? "bg-[var(--l-pass-success)]" : "bg-[var(--l-pass-warning)]"
9822
9831
  ),
9823
9832
  children: [
9824
- hasServerBackup ? /* @__PURE__ */ jsx48(CheckCircle24, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx48(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
9833
+ hasServerBackup ? /* @__PURE__ */ jsx49(CheckCircle24, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ jsx49(AlertTriangle4, { className: "h-4 w-4 mr-1" }),
9825
9834
  hasServerBackup ? "Ready" : "None"
9826
9835
  ]
9827
9836
  }
@@ -9831,42 +9840,42 @@ function SecurityMenu() {
9831
9840
  /* @__PURE__ */ jsxs38(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-4", children: [
9832
9841
  localInfo?.hasKeyshare && /* @__PURE__ */ jsxs38("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
9833
9842
  localInfo.ownerAddress && /* @__PURE__ */ jsxs38("div", { children: [
9834
- /* @__PURE__ */ jsx48("span", { children: "Owner: " }),
9835
- /* @__PURE__ */ jsx48("span", { className: "font-mono break-all", children: localInfo.ownerAddress })
9843
+ /* @__PURE__ */ jsx49("span", { children: "Owner: " }),
9844
+ /* @__PURE__ */ jsx49("span", { className: "font-mono break-all", children: localInfo.ownerAddress })
9836
9845
  ] }),
9837
9846
  typeof localInfo.keyshareSize === "number" && /* @__PURE__ */ jsxs38("div", { children: [
9838
- /* @__PURE__ */ jsx48("span", { children: "Size: " }),
9839
- /* @__PURE__ */ jsx48("span", { className: "font-mono", children: `${Math.round((localInfo.keyshareSize || 0) / 1024)}KB` })
9847
+ /* @__PURE__ */ jsx49("span", { children: "Size: " }),
9848
+ /* @__PURE__ */ jsx49("span", { className: "font-mono", children: `${Math.round((localInfo.keyshareSize || 0) / 1024)}KB` })
9840
9849
  ] }),
9841
9850
  localInfo.sessionId && /* @__PURE__ */ jsxs38("div", { children: [
9842
- /* @__PURE__ */ jsx48("span", { children: "Session: " }),
9843
- /* @__PURE__ */ jsx48("span", { className: "font-mono break-all", children: localInfo.sessionId })
9851
+ /* @__PURE__ */ jsx49("span", { children: "Session: " }),
9852
+ /* @__PURE__ */ jsx49("span", { className: "font-mono break-all", children: localInfo.sessionId })
9844
9853
  ] })
9845
9854
  ] }),
9846
9855
  /* @__PURE__ */ jsxs38("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
9847
9856
  backup.server.enabled && backup.server.lastBackup && /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-1", children: [
9848
- /* @__PURE__ */ jsx48(Server3, { className: "h-2.5 w-2.5" }),
9857
+ /* @__PURE__ */ jsx49(Server3, { className: "h-2.5 w-2.5" }),
9849
9858
  /* @__PURE__ */ jsxs38("span", { children: [
9850
9859
  "Server: ",
9851
9860
  new Date(backup.server.lastBackup).toLocaleString()
9852
9861
  ] })
9853
9862
  ] }),
9854
9863
  !backup.server.lastBackup && recoveryCreatedAt && /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-1", children: [
9855
- /* @__PURE__ */ jsx48(Server3, { className: "h-2.5 w-2.5" }),
9864
+ /* @__PURE__ */ jsx49(Server3, { className: "h-2.5 w-2.5" }),
9856
9865
  /* @__PURE__ */ jsxs38("span", { children: [
9857
9866
  "Server: ",
9858
9867
  new Date(recoveryCreatedAt).toLocaleString()
9859
9868
  ] })
9860
9869
  ] }),
9861
9870
  backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-1", children: [
9862
- /* @__PURE__ */ jsx48(Cloud2, { className: "h-2.5 w-2.5" }),
9871
+ /* @__PURE__ */ jsx49(Cloud2, { className: "h-2.5 w-2.5" }),
9863
9872
  /* @__PURE__ */ jsxs38("span", { children: [
9864
9873
  "Cloud: ",
9865
9874
  new Date(backup.cloud.lastBackup).toLocaleString()
9866
9875
  ] })
9867
9876
  ] }),
9868
9877
  backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-1", children: [
9869
- /* @__PURE__ */ jsx48(HardDrive, { className: "h-2.5 w-2.5" }),
9878
+ /* @__PURE__ */ jsx49(HardDrive, { className: "h-2.5 w-2.5" }),
9870
9879
  /* @__PURE__ */ jsxs38("span", { children: [
9871
9880
  "Local: ",
9872
9881
  new Date(backup.local.lastBackup).toLocaleString()
@@ -9874,7 +9883,7 @@ function SecurityMenu() {
9874
9883
  ] })
9875
9884
  ] }),
9876
9885
  (recoveryCreatedAt || recoveryBrowser || recoveryUa || recoveryDeviceId || recoveryDeviceName) && /* @__PURE__ */ jsxs38("div", { className: "space-y-0.5 text-[10px] leading-tight text-[var(--l-pass-fg-muted)]", children: [
9877
- /* @__PURE__ */ jsx48("div", { className: "font-medium text-sm text-[var(--l-pass-primary)]", children: "Device Information:" }),
9886
+ /* @__PURE__ */ jsx49("div", { className: "font-medium text-sm text-[var(--l-pass-primary)]", children: "Device Information:" }),
9878
9887
  recoveryCreatedAt && /* @__PURE__ */ jsxs38("div", { children: [
9879
9888
  "Created: ",
9880
9889
  new Date(recoveryCreatedAt).toLocaleString(),
@@ -9898,24 +9907,24 @@ function SecurityMenu() {
9898
9907
  ] }),
9899
9908
  recoveryDeviceId && /* @__PURE__ */ jsxs38("div", { children: [
9900
9909
  "Device ID: ",
9901
- /* @__PURE__ */ jsx48("span", { className: "font-mono break-all", children: recoveryDeviceId })
9910
+ /* @__PURE__ */ jsx49("span", { className: "font-mono break-all", children: recoveryDeviceId })
9902
9911
  ] })
9903
9912
  ] }),
9904
9913
  trustedApps.length > 0 && /* @__PURE__ */ jsxs38("div", { className: "w-full space-y-2", children: [
9905
- /* @__PURE__ */ jsx48("div", { className: "font-medium text-sm text-[var(--l-pass-primary)]", children: `Trusted Applications (${trustedApps.length}):` }),
9906
- /* @__PURE__ */ jsx48("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ jsxs38(
9914
+ /* @__PURE__ */ jsx49("div", { className: "font-medium text-sm text-[var(--l-pass-primary)]", children: `Trusted Applications (${trustedApps.length}):` }),
9915
+ /* @__PURE__ */ jsx49("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ jsxs38(
9907
9916
  "div",
9908
9917
  {
9909
9918
  className: "text-[10px] leading-tight p-2 rounded flex items-start justify-between gap-2 bg-[var(--l-pass-secondary)]",
9910
9919
  children: [
9911
9920
  /* @__PURE__ */ jsxs38("div", { className: "flex-1 min-w-0", children: [
9912
- /* @__PURE__ */ jsx48("div", { className: "font-medium", children: new URL(app.origin).hostname }),
9921
+ /* @__PURE__ */ jsx49("div", { className: "font-medium", children: new URL(app.origin).hostname }),
9913
9922
  /* @__PURE__ */ jsxs38("div", { className: "text-[var(--l-pass-fg-muted)]", children: [
9914
9923
  "Trusted: ",
9915
9924
  new Date(app.trustedAt).toLocaleDateString()
9916
9925
  ] })
9917
9926
  ] }),
9918
- /* @__PURE__ */ jsx48(
9927
+ /* @__PURE__ */ jsx49(
9919
9928
  Button,
9920
9929
  {
9921
9930
  variant: "ghost",
@@ -9927,7 +9936,7 @@ function SecurityMenu() {
9927
9936
  origin: app.origin,
9928
9937
  hostname: new URL(app.origin).hostname
9929
9938
  }),
9930
- children: /* @__PURE__ */ jsx48(Trash22, { className: "h-3 w-3" })
9939
+ children: /* @__PURE__ */ jsx49(Trash22, { className: "h-3 w-3" })
9931
9940
  }
9932
9941
  )
9933
9942
  ]
@@ -9940,7 +9949,7 @@ function SecurityMenu() {
9940
9949
  }
9941
9950
 
9942
9951
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
9943
- import { AlertCircle as AlertCircle3, ArrowLeft as ArrowLeft10, CheckCircle2 as CheckCircle25, Loader as Loader10, Wallet as Wallet3 } from "lucide-react";
9952
+ import { AlertCircle as AlertCircle3, ArrowLeft as ArrowLeft9, CheckCircle2 as CheckCircle25, Loader as Loader10, Wallet } from "lucide-react";
9944
9953
  import { useEffect as useEffect19, useState as useState11 } from "react";
9945
9954
  import { isAddress as isAddress2 } from "viem";
9946
9955
  import { useBalance as useBalance2 } from "wagmi";
@@ -10168,7 +10177,7 @@ function useTokenBalance(tokenAddress, userAddress) {
10168
10177
 
10169
10178
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
10170
10179
  init_base();
10171
- import { jsx as jsx49, jsxs as jsxs39 } from "react/jsx-runtime";
10180
+ import { Fragment as Fragment8, jsx as jsx50, jsxs as jsxs39 } from "react/jsx-runtime";
10172
10181
  function SendLumiaMenu() {
10173
10182
  const page = useLayoutDataStore((st) => st.page);
10174
10183
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -10241,120 +10250,118 @@ function SendLumiaMenu() {
10241
10250
  const maxAmount = Math.max(0, balance - 1e-3);
10242
10251
  setAmount(maxAmount.toFixed(6));
10243
10252
  };
10244
- return /* @__PURE__ */ jsxs39("div", { className: "w-full p-4 flex flex-col gap-4", children: [
10245
- /* @__PURE__ */ jsx49("div", { className: "w-full", children: /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-2", children: [
10246
- txStep === "input" && /* @__PURE__ */ jsx49(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx49(ArrowLeft10, { className: "h-4 w-4" }) }),
10247
- /* @__PURE__ */ jsx49("span", { className: "text-xl font-semibold", children: "Send LUMIA" })
10248
- ] }) }),
10249
- /* @__PURE__ */ jsxs39("div", { className: "w-full", children: [
10250
- txStep === "input" && /* @__PURE__ */ jsxs39("div", { className: "w-full flex flex-col gap-4", children: [
10251
- /* @__PURE__ */ jsxs39("div", { className: "w-full flex flex-col gap-2", children: [
10252
- /* @__PURE__ */ jsx49("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient Address" }),
10253
- /* @__PURE__ */ jsx49(
10253
+ return /* @__PURE__ */ jsxs39("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10254
+ /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10255
+ txStep === "input" && /* @__PURE__ */ jsx50(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx50(ArrowLeft9, { className: "h-4 w-4" }) }),
10256
+ /* @__PURE__ */ jsx50("span", { className: "text-xl font-semibold", children: "Send LUMIA" })
10257
+ ] }),
10258
+ txStep === "input" && /* @__PURE__ */ jsxs39(Fragment8, { children: [
10259
+ /* @__PURE__ */ jsxs39("div", { className: "w-full flex flex-col gap-2", children: [
10260
+ /* @__PURE__ */ jsx50("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient Address" }),
10261
+ /* @__PURE__ */ jsx50(
10262
+ Input,
10263
+ {
10264
+ Icon: Wallet,
10265
+ type: "text",
10266
+ value: recipient,
10267
+ onChange: (e) => setRecipient(e.target.value),
10268
+ placeholder: "0x..."
10269
+ }
10270
+ )
10271
+ ] }),
10272
+ /* @__PURE__ */ jsxs39("div", { className: "w-full flex flex-col gap-2", children: [
10273
+ /* @__PURE__ */ jsxs39("div", { className: "flex justify-between items-center", children: [
10274
+ /* @__PURE__ */ jsx50("span", { className: "block text-sm font-medium text-[var(--l-pass-fg-muted)]", children: "Amount" }),
10275
+ /* @__PURE__ */ jsxs39("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
10276
+ "Balance: ",
10277
+ balance.toFixed(4),
10278
+ " LUMIA"
10279
+ ] })
10280
+ ] }),
10281
+ /* @__PURE__ */ jsxs39("div", { className: "w-full relative", children: [
10282
+ /* @__PURE__ */ jsx50(
10254
10283
  Input,
10255
10284
  {
10256
- Icon: Wallet3,
10257
- type: "text",
10258
- value: recipient,
10259
- onChange: (e) => setRecipient(e.target.value),
10260
- placeholder: "0x..."
10285
+ Icon: LumiaIcon,
10286
+ type: "number",
10287
+ value: amount,
10288
+ onChange: (e) => setAmount(e.target.value),
10289
+ placeholder: "0.0",
10290
+ step: "0.000001"
10291
+ }
10292
+ ),
10293
+ /* @__PURE__ */ jsx50(
10294
+ Button,
10295
+ {
10296
+ onClick: handleMaxAmount,
10297
+ variant: "ghost",
10298
+ size: "medium",
10299
+ style: { transform: "translateY(-50%)" },
10300
+ className: "absolute right-2 top-1/2",
10301
+ children: "MAX"
10261
10302
  }
10262
10303
  )
10263
- ] }),
10264
- /* @__PURE__ */ jsxs39("div", { className: "w-full flex flex-col gap-2", children: [
10265
- /* @__PURE__ */ jsxs39("div", { className: "flex justify-between items-center", children: [
10266
- /* @__PURE__ */ jsx49("span", { className: "block text-sm font-medium text-[var(--l-pass-fg-muted)]", children: "Amount" }),
10267
- /* @__PURE__ */ jsxs39("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
10268
- "Balance: ",
10269
- balance.toFixed(4),
10304
+ ] })
10305
+ ] }),
10306
+ (validationError || error) && /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)] rounded-[var(--l-pass-el-bdrs)]", children: [
10307
+ /* @__PURE__ */ jsx50(AlertCircle3, { className: "h-4 w-4" }),
10308
+ /* @__PURE__ */ jsx50("span", { className: "text-sm", children: validationError || error })
10309
+ ] }),
10310
+ /* @__PURE__ */ jsx50(Button, { onClick: handleSend, disabled: isLoading, className: "w-full", size: "large", children: "Continue" })
10311
+ ] }),
10312
+ txStep === "confirm" && /* @__PURE__ */ jsxs39(Fragment8, { children: [
10313
+ /* @__PURE__ */ jsxs39("div", { className: "bg-gray-50 rounded-lg p-4", children: [
10314
+ /* @__PURE__ */ jsx50("h3", { className: "font-medium mb-3", children: "Transaction Details" }),
10315
+ /* @__PURE__ */ jsxs39("div", { className: "space-y-2 text-sm", children: [
10316
+ /* @__PURE__ */ jsxs39("div", { className: "flex justify-between", children: [
10317
+ /* @__PURE__ */ jsx50("span", { children: "To:" }),
10318
+ /* @__PURE__ */ jsx50("span", { className: `font-mono`, children: `${recipient.slice(0, 6)}...${recipient.slice(-4)}` })
10319
+ ] }),
10320
+ /* @__PURE__ */ jsxs39("div", { className: "flex justify-between", children: [
10321
+ /* @__PURE__ */ jsx50("span", { children: "Amount:" }),
10322
+ /* @__PURE__ */ jsxs39("span", { className: `font-semibold`, children: [
10323
+ amount,
10270
10324
  " LUMIA"
10271
10325
  ] })
10272
10326
  ] }),
10273
- /* @__PURE__ */ jsxs39("div", { className: "w-full relative", children: [
10274
- /* @__PURE__ */ jsx49(
10275
- Input,
10276
- {
10277
- Icon: LumiaIcon,
10278
- type: "number",
10279
- value: amount,
10280
- onChange: (e) => setAmount(e.target.value),
10281
- placeholder: "0.0",
10282
- step: "0.000001"
10283
- }
10284
- ),
10285
- /* @__PURE__ */ jsx49(
10286
- Button,
10287
- {
10288
- onClick: handleMaxAmount,
10289
- variant: "ghost",
10290
- size: "medium",
10291
- style: { transform: "translateY(-50%)" },
10292
- className: "absolute right-2 top-1/2",
10293
- children: "MAX"
10294
- }
10295
- )
10296
- ] })
10297
- ] }),
10298
- (validationError || error) && /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)] rounded-[var(--l-pass-el-bdrs)] border border-[var(--l-pass-error)]", children: [
10299
- /* @__PURE__ */ jsx49(AlertCircle3, { className: "h-4 w-4" }),
10300
- /* @__PURE__ */ jsx49("span", { className: "text-sm", children: validationError || error })
10301
- ] }),
10302
- /* @__PURE__ */ jsx49(Button, { onClick: handleSend, disabled: isLoading, className: "w-full", size: "large", children: "Continue" })
10303
- ] }),
10304
- txStep === "confirm" && /* @__PURE__ */ jsxs39("div", { className: "space-y-4", children: [
10305
- /* @__PURE__ */ jsxs39("div", { className: "bg-gray-50 rounded-lg p-4", children: [
10306
- /* @__PURE__ */ jsx49("h3", { className: "font-medium mb-3", children: "Transaction Details" }),
10307
- /* @__PURE__ */ jsxs39("div", { className: "space-y-2 text-sm", children: [
10308
- /* @__PURE__ */ jsxs39("div", { className: "flex justify-between", children: [
10309
- /* @__PURE__ */ jsx49("span", { children: "To:" }),
10310
- /* @__PURE__ */ jsx49("span", { className: `font-mono`, children: `${recipient.slice(0, 6)}...${recipient.slice(-4)}` })
10311
- ] }),
10312
- /* @__PURE__ */ jsxs39("div", { className: "flex justify-between", children: [
10313
- /* @__PURE__ */ jsx49("span", { children: "Amount:" }),
10314
- /* @__PURE__ */ jsxs39("span", { className: `font-semibold`, children: [
10315
- amount,
10316
- " LUMIA"
10317
- ] })
10318
- ] }),
10319
- /* @__PURE__ */ jsxs39("div", { className: "flex justify-between", children: [
10320
- /* @__PURE__ */ jsx49("span", { children: "Network:" }),
10321
- /* @__PURE__ */ jsx49("span", { children: "Lumia Beam" })
10322
- ] })
10323
- ] })
10324
- ] }),
10325
- /* @__PURE__ */ jsxs39("div", { className: "flex gap-2", children: [
10326
- /* @__PURE__ */ jsx49(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
10327
- /* @__PURE__ */ jsxs39(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
10328
- isLoading && /* @__PURE__ */ jsx49(Loader10, { className: "h-4 w-4 animate-spin" }),
10329
- "Confirm"
10327
+ /* @__PURE__ */ jsxs39("div", { className: "flex justify-between", children: [
10328
+ /* @__PURE__ */ jsx50("span", { children: "Network:" }),
10329
+ /* @__PURE__ */ jsx50("span", { children: "Lumia Beam" })
10330
10330
  ] })
10331
10331
  ] })
10332
10332
  ] }),
10333
- txStep === "pending" && /* @__PURE__ */ jsxs39("div", { className: "py-8 text-center space-y-4", children: [
10334
- /* @__PURE__ */ jsx49(Loader10, { className: "h-12 w-12 animate-spin mx-auto" }),
10335
- /* @__PURE__ */ jsxs39("div", { children: [
10336
- /* @__PURE__ */ jsx49("span", { className: "block font-medium", children: "Transaction Pending" }),
10337
- /* @__PURE__ */ jsx49("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
10333
+ /* @__PURE__ */ jsxs39("div", { className: "flex gap-2", children: [
10334
+ /* @__PURE__ */ jsx50(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
10335
+ /* @__PURE__ */ jsxs39(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
10336
+ isLoading && /* @__PURE__ */ jsx50(Loader10, { className: "h-4 w-4 animate-spin" }),
10337
+ "Confirm"
10338
10338
  ] })
10339
- ] }),
10340
- txStep === "success" && userOpHash && /* @__PURE__ */ jsxs39("div", { className: "space-y-6", children: [
10341
- /* @__PURE__ */ jsxs39("div", { className: "text-center py-4", children: [
10342
- /* @__PURE__ */ jsx49(CheckCircle25, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
10343
- /* @__PURE__ */ jsx49("p", { className: "font-medium", children: "Transaction Sent!" }),
10344
- /* @__PURE__ */ jsx49("p", { className: "text-sm mt-1", children: "Your transaction is being processed" })
10345
- ] }),
10346
- /* @__PURE__ */ jsx49(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "Done" })
10347
10339
  ] })
10340
+ ] }),
10341
+ txStep === "pending" && /* @__PURE__ */ jsxs39("div", { className: "py-8 text-center space-y-4", children: [
10342
+ /* @__PURE__ */ jsx50(Loader10, { className: "h-12 w-12 animate-spin mx-auto" }),
10343
+ /* @__PURE__ */ jsxs39("div", { children: [
10344
+ /* @__PURE__ */ jsx50("span", { className: "block font-medium", children: "Transaction Pending" }),
10345
+ /* @__PURE__ */ jsx50("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
10346
+ ] })
10347
+ ] }),
10348
+ txStep === "success" && userOpHash && /* @__PURE__ */ jsxs39(Fragment8, { children: [
10349
+ /* @__PURE__ */ jsxs39("div", { className: "text-center py-4", children: [
10350
+ /* @__PURE__ */ jsx50(CheckCircle25, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
10351
+ /* @__PURE__ */ jsx50("p", { className: "font-medium", children: "Transaction Sent!" }),
10352
+ /* @__PURE__ */ jsx50("p", { className: "text-sm mt-1", children: "Your transaction is being processed" })
10353
+ ] }),
10354
+ /* @__PURE__ */ jsx50(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "Done" })
10348
10355
  ] })
10349
10356
  ] });
10350
10357
  }
10351
10358
 
10352
10359
  // src/internal/components/SendRecieveMenu/ReceiveLumiaMenu.tsx
10353
- import { ArrowLeft as ArrowLeft11, CheckCircle2 as CheckCircle26, Copy as Copy2 } from "lucide-react";
10360
+ import { ArrowLeft as ArrowLeft10, CheckCircle2 as CheckCircle26, Copy as Copy2, Loader as Loader11 } from "lucide-react";
10354
10361
  import QRCode from "qrcode";
10355
10362
  import { useEffect as useEffect20, useState as useState12 } from "react";
10356
10363
  init_clients();
10357
- import { Fragment as Fragment8, jsx as jsx50, jsxs as jsxs40 } from "react/jsx-runtime";
10364
+ import { Fragment as Fragment9, jsx as jsx51, jsxs as jsxs40 } from "react/jsx-runtime";
10358
10365
  function ReceiveLumiaMenu() {
10359
10366
  const page = useLayoutDataStore((st) => st.page);
10360
10367
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -10385,69 +10392,102 @@ function ReceiveLumiaMenu() {
10385
10392
  console.error("Failed to copy address:", error);
10386
10393
  }
10387
10394
  };
10388
- return /* @__PURE__ */ jsxs40(
10389
- "div",
10395
+ return /* @__PURE__ */ jsxs40("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10396
+ /* @__PURE__ */ jsxs40("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
10397
+ /* @__PURE__ */ jsx51(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx51(ArrowLeft10, { className: "h-4 w-4" }) }),
10398
+ /* @__PURE__ */ jsx51("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
10399
+ ] }),
10400
+ /* @__PURE__ */ jsxs40(Highlight, { className: "text-center", type: "warning", children: [
10401
+ /* @__PURE__ */ jsx51("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
10402
+ /* @__PURE__ */ jsx51("span", { className: "block w-full", children: "Ensure sender is on the same network" })
10403
+ ] }),
10404
+ /* @__PURE__ */ jsx51("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ jsx51("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ jsx51(Loader11, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
10405
+ /* @__PURE__ */ jsxs40(Highlight, { type: "info", children: [
10406
+ /* @__PURE__ */ jsx51("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
10407
+ /* @__PURE__ */ jsx51(Button, { onClick: handleCopy, className: "w-full", size: "medium", children: copied ? /* @__PURE__ */ jsxs40(Fragment9, { children: [
10408
+ /* @__PURE__ */ jsx51(CheckCircle26, { className: "h-4 w-4" }),
10409
+ /* @__PURE__ */ jsx51("span", { children: "Copied!" })
10410
+ ] }) : /* @__PURE__ */ jsxs40(Fragment9, { children: [
10411
+ /* @__PURE__ */ jsx51(Copy2, { className: "h-4 w-4" }),
10412
+ /* @__PURE__ */ jsx51("span", { children: "Copy Address" })
10413
+ ] }) })
10414
+ ] }),
10415
+ /* @__PURE__ */ jsx51("div", { className: "text-center text-xs text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ jsx51("span", { className: "block", children: "Share this address to receive LUMIA tokens." }) })
10416
+ ] });
10417
+ }
10418
+
10419
+ // src/internal/components/SettingsMenu/SettingsMenu.tsx
10420
+ import { ArrowLeft as ArrowLeft11 } from "lucide-react";
10421
+
10422
+ // src/internal/components/SettingsMenu/constants.ts
10423
+ import { ArrowLeftRight, DatabaseBackup as DatabaseBackup2, LockKeyhole, UsersRound } from "lucide-react";
10424
+
10425
+ // src/internal/assets/KycIcon.tsx
10426
+ import { jsx as jsx52 } from "react/jsx-runtime";
10427
+ function KycIcon(props) {
10428
+ const { width = "24", height = "24", ...rest } = props;
10429
+ return /* @__PURE__ */ jsx52("svg", { ...rest, width, height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx52(
10430
+ "path",
10390
10431
  {
10391
- className: "w-full p-4 flex flex-col gap-4",
10392
- style: { minHeight: "566px" },
10393
- children: [
10394
- /* @__PURE__ */ jsx50("div", { className: "w-full", children: /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-2", children: [
10395
- /* @__PURE__ */ jsx50(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx50(ArrowLeft11, { className: "h-4 w-4" }) }),
10396
- /* @__PURE__ */ jsx50("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
10397
- ] }) }),
10398
- /* @__PURE__ */ jsxs40("div", { className: "flex flex-col gap-4", children: [
10399
- /* @__PURE__ */ jsxs40("div", { className: "rounded-[var(--l-pass-el-bdrs)] border border-[var(--l-pass-bd)] bg-[var(--l-pass-secondary)] p-2 text-center font-medium text-sm", children: [
10400
- /* @__PURE__ */ jsx50("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
10401
- /* @__PURE__ */ jsx50("span", { className: "block w-full text-[var(--l-pass-info)]", children: "Ensure sender is on the same network" })
10402
- ] }),
10403
- qrCodeUrl && /* @__PURE__ */ jsx50("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx50("div", { className: `p-2 rounded-[var(--l-pass-el-bdrs)] border border-[var(--l-pass-bd)]`, children: /* @__PURE__ */ jsx50("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) }) }),
10404
- /* @__PURE__ */ jsxs40("div", { className: "rounded-[var(--l-pass-el-bdrs)] border border-[var(--l-pass-bd)] p-2 bg-[var(--l-pass-secondary)]", children: [
10405
- /* @__PURE__ */ jsx50("span", { className: "block flex-1 font-mono text-xs p-2 break-all", children: address }),
10406
- /* @__PURE__ */ jsx50(Button, { onClick: handleCopy, className: "w-full mt-2", size: "large", children: copied ? /* @__PURE__ */ jsxs40(Fragment8, { children: [
10407
- /* @__PURE__ */ jsx50(CheckCircle26, { className: "h-4 w-4" }),
10408
- /* @__PURE__ */ jsx50("span", { children: "Copied!" })
10409
- ] }) : /* @__PURE__ */ jsxs40(Fragment8, { children: [
10410
- /* @__PURE__ */ jsx50(Copy2, { className: "h-4 w-4" }),
10411
- /* @__PURE__ */ jsx50("span", { children: "Copy Address" })
10412
- ] }) })
10413
- ] }),
10414
- /* @__PURE__ */ jsxs40("div", { className: "text-center text-sm", children: [
10415
- /* @__PURE__ */ jsx50("span", { className: "block", children: "Share this address to receive LUMIA tokens." }),
10416
- /* @__PURE__ */ jsxs40("span", { className: "block mt-1", children: [
10417
- `Only send LUMIA tokens to this address on`,
10418
- /* @__PURE__ */ jsx50("br", {}),
10419
- /* @__PURE__ */ jsx50("strong", { className: "text-[var(--l-pass-info)]", children: `${lumiaBeam.name} network` })
10420
- ] })
10421
- ] })
10422
- ] })
10423
- ]
10432
+ 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",
10433
+ fill: "currentColor"
10424
10434
  }
10425
- );
10435
+ ) });
10426
10436
  }
10427
10437
 
10438
+ // src/internal/components/SettingsMenu/constants.ts
10439
+ var NAV_BUTTONS = [
10440
+ { id: "transactions" /* TRANSACTIONS */, name: "Transactions", Icon: ArrowLeftRight },
10441
+ { id: "kyc" /* KYC */, name: "KYC", Icon: KycIcon },
10442
+ { id: "manage-wallet" /* MANAGE_WALLET */, name: "Profiles", Icon: UsersRound },
10443
+ { id: "security" /* SECURITY */, name: "Security", Icon: LockKeyhole },
10444
+ { id: "keysare-backup" /* KEYSARE_BACKUP */, name: "Backup", Icon: DatabaseBackup2 }
10445
+ ];
10446
+
10428
10447
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
10429
- import { ArrowLeft as ArrowLeft12 } from "lucide-react";
10430
- import { jsx as jsx51, jsxs as jsxs41 } from "react/jsx-runtime";
10448
+ import { jsx as jsx53, jsxs as jsxs41 } from "react/jsx-runtime";
10431
10449
  function SettingsMenu() {
10450
+ const address = useLumiaPassportSession((st) => st.address);
10432
10451
  const setPage = useLayoutDataStore((st) => st.setPage);
10452
+ const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
10453
+ const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
10454
+ const highlightedKeys = settingsNotifications.map((n) => n.target);
10433
10455
  return /* @__PURE__ */ jsxs41("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10434
- /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-2", children: [
10435
- /* @__PURE__ */ jsx51(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx51(ArrowLeft12, { className: "h-4 w-4" }) }),
10436
- /* @__PURE__ */ jsx51("span", { className: "text-xl font-semibold", children: "Wallet Details" })
10456
+ /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
10457
+ /* @__PURE__ */ jsx53(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx53(ArrowLeft11, { className: "h-4 w-4" }) }),
10458
+ /* @__PURE__ */ jsx53("span", { className: "text-xl font-semibold", children: "Wallet Details" })
10437
10459
  ] }),
10438
- /* @__PURE__ */ jsx51("div", { children: "TODO OPTIONS" })
10460
+ /* @__PURE__ */ jsx53("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon, onClick }) => /* @__PURE__ */ jsxs41(
10461
+ Button,
10462
+ {
10463
+ variant: "outline",
10464
+ size: "large",
10465
+ onClick,
10466
+ disabled: !address,
10467
+ className: cn(
10468
+ //
10469
+ "w-full items-center justify-start",
10470
+ highlightedKeys.includes(id) && "animate-glow-warning"
10471
+ ),
10472
+ children: [
10473
+ /* @__PURE__ */ jsx53(Icon, { className: "w-4 h-4" }),
10474
+ /* @__PURE__ */ jsx53("span", { children: name })
10475
+ ]
10476
+ },
10477
+ id
10478
+ )) })
10439
10479
  ] });
10440
10480
  }
10441
10481
 
10442
10482
  // src/internal/components/TermsOfService.tsx
10443
- import { jsx as jsx52 } from "react/jsx-runtime";
10483
+ import { jsx as jsx54 } from "react/jsx-runtime";
10444
10484
  function TermsOfService() {
10445
- return /* @__PURE__ */ jsx52("div", { className: "w-full p-4 flex flex-col gap-4", children: /* @__PURE__ */ jsx52("span", { className: "prose text-sm", children: "By using Lumia Passport you agree to our terms." }) });
10485
+ return /* @__PURE__ */ jsx54("div", { className: "w-full p-4 flex flex-col gap-4", children: /* @__PURE__ */ jsx54("span", { className: "prose text-sm", children: "By using Lumia Passport you agree to our terms." }) });
10446
10486
  }
10447
10487
 
10448
10488
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
10449
- import { useQuery as useQuery5, useQueryClient as useQueryClient7 } from "@tanstack/react-query";
10450
- import { Activity, ArrowLeft as ArrowLeft13, Loader as Loader11, RefreshCw as RefreshCw2, XCircle as XCircle2 } from "lucide-react";
10489
+ import { useQuery as useQuery5, useQueryClient as useQueryClient8 } from "@tanstack/react-query";
10490
+ import { Activity, ArrowLeft as ArrowLeft12, Loader as Loader12, RefreshCw as RefreshCw2, XCircle as XCircle2 } from "lucide-react";
10451
10491
  import { useCallback as useCallback12, useState as useState13 } from "react";
10452
10492
 
10453
10493
  // src/internal/components/TransactionsMenu/api.ts
@@ -10786,15 +10826,15 @@ var formatTimestamp = (timestampMs) => {
10786
10826
  };
10787
10827
 
10788
10828
  // src/internal/components/TransactionsMenu/TransactionsGroup.tsx
10789
- import { jsx as jsx53, jsxs as jsxs42 } from "react/jsx-runtime";
10790
- var getStatusIcon = (status) => status === "ok" ? /* @__PURE__ */ jsx53(CheckCircle27, { className: "w-4 h-4 text-[var(--l-pass-success)]" }) : /* @__PURE__ */ jsx53(XCircle, { className: "w-4 h-4 text-[var(--l-pass-error)]" });
10791
- var getTransactionIcon = (direction) => direction === "in" ? /* @__PURE__ */ jsx53(ArrowDownRight, { className: "w-4 h-4 text-[var(--l-pass-success)]" }) : /* @__PURE__ */ jsx53(ArrowUpRight, { className: "w-4 h-4 text-[var(--l-pass-info)]" });
10829
+ import { jsx as jsx55, jsxs as jsxs42 } from "react/jsx-runtime";
10830
+ var getStatusIcon = (status) => status === "ok" ? /* @__PURE__ */ jsx55(CheckCircle27, { className: "w-4 h-4 text-[var(--l-pass-success)]" }) : /* @__PURE__ */ jsx55(XCircle, { className: "w-4 h-4 text-[var(--l-pass-error)]" });
10831
+ var getTransactionIcon = (direction) => direction === "in" ? /* @__PURE__ */ jsx55(ArrowDownRight, { className: "w-4 h-4 text-[var(--l-pass-success)]" }) : /* @__PURE__ */ jsx55(ArrowUpRight, { className: "w-4 h-4 text-[var(--l-pass-info)]" });
10792
10832
  function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
10793
10833
  const internalSymbol = internal.assetSymbol || assetSymbol;
10794
10834
  const internalDecimals = internal.decimals ?? assetDecimals;
10795
10835
  return /* @__PURE__ */ jsxs42("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
10796
10836
  /* @__PURE__ */ jsxs42("div", { className: "flex gap-2 items-center justify-between", children: [
10797
- /* @__PURE__ */ jsx53("span", { className: "text-[var(--l-pass-fg-muted)]", children: internal.method || "CALL" }),
10837
+ /* @__PURE__ */ jsx55("span", { className: "text-[var(--l-pass-fg-muted)]", children: internal.method || "CALL" }),
10798
10838
  /* @__PURE__ */ jsxs42("span", { children: [
10799
10839
  formatValue(internal.value, internalDecimals),
10800
10840
  " ",
@@ -10802,8 +10842,8 @@ function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
10802
10842
  ] })
10803
10843
  ] }),
10804
10844
  /* @__PURE__ */ jsxs42("div", { className: "flex gap-2 items-center justify-between", children: [
10805
- /* @__PURE__ */ jsx53("span", { children: internal.direction === "in" ? "From" : "To" }),
10806
- /* @__PURE__ */ jsx53("span", { className: "font-mono", children: internal.counterpartyName || formatAddress2(internal.counterparty) })
10845
+ /* @__PURE__ */ jsx55("span", { children: internal.direction === "in" ? "From" : "To" }),
10846
+ /* @__PURE__ */ jsx55("span", { className: "font-mono", children: internal.counterpartyName || formatAddress2(internal.counterparty) })
10807
10847
  ] })
10808
10848
  ] });
10809
10849
  }
@@ -10826,31 +10866,31 @@ function TransactionsGroup(props) {
10826
10866
  /* @__PURE__ */ jsxs42("div", { className: "flex items-center justify-between gap-2", children: [
10827
10867
  /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-2", children: [
10828
10868
  getTransactionIcon(parent.direction),
10829
- /* @__PURE__ */ jsx53("span", { className: "font-medium", children: isIncoming ? "Received" : "Sent" }),
10869
+ /* @__PURE__ */ jsx55("span", { className: "font-medium", children: isIncoming ? "Received" : "Sent" }),
10830
10870
  getStatusIcon(parent.status)
10831
10871
  ] }),
10832
- parent.badgeLabel && /* @__PURE__ */ jsx53(
10872
+ parent.badgeLabel && /* @__PURE__ */ jsx55(
10833
10873
  "span",
10834
10874
  {
10835
10875
  className: cn(
10836
10876
  "text-xs uppercase tracking-wide text-[var(--l-pass-info)] px-2 py-1 rounded-full",
10837
- "bg-[var(--l-pass-bg-info)] border border-[var(--l-pass-info)]"
10877
+ "bg-[var(--l-pass-bg-info)]"
10838
10878
  ),
10839
10879
  children: parent.badgeLabel
10840
10880
  }
10841
10881
  )
10842
10882
  ] }),
10843
- /* @__PURE__ */ jsx53("span", { className: "block w-full leading-4 mb-1 text-xs text-[var(--l-pass-fg-muted)]", children: formatTimestamp(group.timestampMs) }),
10883
+ /* @__PURE__ */ jsx55("span", { className: "block w-full leading-4 mb-1 text-xs text-[var(--l-pass-fg-muted)]", children: formatTimestamp(group.timestampMs) }),
10844
10884
  /* @__PURE__ */ jsxs42("div", { className: "flex flex-col gap-0 text-sm", children: [
10845
10885
  /* @__PURE__ */ jsxs42("div", { className: "flex justify-between", children: [
10846
- /* @__PURE__ */ jsx53("span", { className: "text-xs leading-5 text-[var(--l-pass-fg-muted)]", children: isIncoming ? "From:" : "To:" }),
10886
+ /* @__PURE__ */ jsx55("span", { className: "text-xs leading-5 text-[var(--l-pass-fg-muted)]", children: isIncoming ? "From:" : "To:" }),
10847
10887
  /* @__PURE__ */ jsxs42("span", { className: "font-mono", children: [
10848
10888
  parent.counterpartyName || formatAddress2(parent.counterparty),
10849
- parent.counterpartyIsContract && /* @__PURE__ */ jsx53("span", { className: "text-xs text-[var(--l-pass-info)] ml-1", children: "(Contract)" })
10889
+ parent.counterpartyIsContract && /* @__PURE__ */ jsx55("span", { className: "text-xs text-[var(--l-pass-info)] ml-1", children: "(Contract)" })
10850
10890
  ] })
10851
10891
  ] }),
10852
10892
  /* @__PURE__ */ jsxs42("div", { className: "flex justify-between", children: [
10853
- /* @__PURE__ */ jsx53("span", { className: "text-xs leading-5 text-[var(--l-pass-fg-muted)]", children: "Value:" }),
10893
+ /* @__PURE__ */ jsx55("span", { className: "text-xs leading-5 text-[var(--l-pass-fg-muted)]", children: "Value:" }),
10854
10894
  /* @__PURE__ */ jsxs42("span", { className: "font-semibold", children: [
10855
10895
  formatValue(parent.value, assetDecimals),
10856
10896
  " ",
@@ -10858,12 +10898,12 @@ function TransactionsGroup(props) {
10858
10898
  ] })
10859
10899
  ] }),
10860
10900
  /* @__PURE__ */ jsxs42("div", { className: "flex justify-between", children: [
10861
- /* @__PURE__ */ jsx53("span", { className: "text-xs leading-5 text-[var(--l-pass-fg-muted)]", children: "Block:" }),
10862
- /* @__PURE__ */ jsx53("span", { className: "font-mono", children: parent.blockNumber ? `#${parent.blockNumber}` : "-" })
10901
+ /* @__PURE__ */ jsx55("span", { className: "text-xs leading-5 text-[var(--l-pass-fg-muted)]", children: "Block:" }),
10902
+ /* @__PURE__ */ jsx55("span", { className: "font-mono", children: parent.blockNumber ? `#${parent.blockNumber}` : "-" })
10863
10903
  ] }),
10864
10904
  parent.method && /* @__PURE__ */ jsxs42("div", { className: "flex justify-between", children: [
10865
- /* @__PURE__ */ jsx53("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Method:" }),
10866
- /* @__PURE__ */ jsx53("span", { className: "text-[var(--l-pass-info)] text-xs", children: parent.method })
10905
+ /* @__PURE__ */ jsx55("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Method:" }),
10906
+ /* @__PURE__ */ jsx55("span", { className: "text-[var(--l-pass-info)] text-xs", children: parent.method })
10867
10907
  ] })
10868
10908
  ] }),
10869
10909
  internalsToRender.length > 0 && /* @__PURE__ */ jsxs42(
@@ -10885,11 +10925,11 @@ function TransactionsGroup(props) {
10885
10925
  internalsToRender.length,
10886
10926
  ")"
10887
10927
  ] }),
10888
- /* @__PURE__ */ jsx53("span", { children: expanded ? "Hide" : "Show" })
10928
+ /* @__PURE__ */ jsx55("span", { children: expanded ? "Hide" : "Show" })
10889
10929
  ]
10890
10930
  }
10891
10931
  ),
10892
- expanded && /* @__PURE__ */ jsx53("div", { className: "px-3 pb-3 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ jsx53(
10932
+ expanded && /* @__PURE__ */ jsx55("div", { className: "px-3 pb-3 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ jsx55(
10893
10933
  InternalTransaction,
10894
10934
  {
10895
10935
  internal,
@@ -10907,9 +10947,9 @@ function TransactionsGroup(props) {
10907
10947
  }
10908
10948
 
10909
10949
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
10910
- import { jsx as jsx54, jsxs as jsxs43 } from "react/jsx-runtime";
10950
+ import { jsx as jsx56, jsxs as jsxs43 } from "react/jsx-runtime";
10911
10951
  function TransactionsMenu() {
10912
- const qc = useQueryClient7();
10952
+ const qc = useQueryClient8();
10913
10953
  const address = useLumiaPassportSession((st) => st.address);
10914
10954
  const page = useLayoutDataStore((st) => st.page);
10915
10955
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -10931,10 +10971,10 @@ function TransactionsMenu() {
10931
10971
  );
10932
10972
  const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
10933
10973
  return /* @__PURE__ */ jsxs43("div", { className: "w-full p-4 flex flex-col gap-4", children: [
10934
- /* @__PURE__ */ jsx54("div", { className: "w-full", children: /* @__PURE__ */ jsxs43("div", { className: "flex items-center gap-2", children: [
10935
- /* @__PURE__ */ jsx54(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx54(ArrowLeft13, { className: "h-4 w-4" }) }),
10936
- /* @__PURE__ */ jsx54("span", { className: "text-xl font-semibold", children: "Transaction History" }),
10937
- /* @__PURE__ */ jsx54(
10974
+ /* @__PURE__ */ jsx56("div", { className: "w-full", children: /* @__PURE__ */ jsxs43("div", { className: "flex items-center gap-2", children: [
10975
+ /* @__PURE__ */ jsx56(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx56(ArrowLeft12, { className: "h-4 w-4" }) }),
10976
+ /* @__PURE__ */ jsx56("span", { className: "text-xl font-semibold", children: "Transaction History" }),
10977
+ /* @__PURE__ */ jsx56(
10938
10978
  Button,
10939
10979
  {
10940
10980
  variant: "ghost",
@@ -10942,35 +10982,35 @@ function TransactionsMenu() {
10942
10982
  onClick: refreshTxHistory,
10943
10983
  disabled: isTxHistoryFetching,
10944
10984
  title: "Refresh transactions",
10945
- children: isTxHistoryFetching ? /* @__PURE__ */ jsx54(Loader11, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx54(RefreshCw2, { className: "h-4 w-4" })
10985
+ children: isTxHistoryFetching ? /* @__PURE__ */ jsx56(Loader12, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx56(RefreshCw2, { className: "h-4 w-4" })
10946
10986
  }
10947
10987
  )
10948
10988
  ] }) }),
10949
10989
  /* @__PURE__ */ jsxs43("div", { className: "max-h-[60vh] overflow-y-auto", children: [
10950
- isTxHistoryLoading && /* @__PURE__ */ jsx54("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx54(Loader11, { className: "h-5 w-5 animate-spin" }) }),
10990
+ isTxHistoryLoading && /* @__PURE__ */ jsx56("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx56(Loader12, { className: "h-5 w-5 animate-spin" }) }),
10951
10991
  !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs43(
10952
10992
  "div",
10953
10993
  {
10954
10994
  className: cn(
10955
10995
  "flex flex-col items-center justify-center p-4",
10956
- "border border-[var(--l-pass-error)] rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-error)]",
10996
+ "rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-error)]",
10957
10997
  "text-[var(--l-pass-error)]"
10958
10998
  ),
10959
10999
  children: [
10960
- /* @__PURE__ */ jsx54(XCircle2, { className: "w-12 h-12 mb-2" }),
10961
- /* @__PURE__ */ jsx54("span", { className: "block w-full text-center text-sm", children: txHistoryResolvedError })
11000
+ /* @__PURE__ */ jsx56(XCircle2, { className: "w-12 h-12 mb-2" }),
11001
+ /* @__PURE__ */ jsx56("span", { className: "block w-full text-center text-sm", children: txHistoryResolvedError })
10962
11002
  ]
10963
11003
  }
10964
11004
  ),
10965
11005
  !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsxs43("div", { className: "flex flex-col gap-2 items-center justify-center p-4 text-[var(--l-pass-fg-muted)]", children: [
10966
- /* @__PURE__ */ jsx54(Activity, { className: "w-12 h-12" }),
11006
+ /* @__PURE__ */ jsx56(Activity, { className: "w-12 h-12" }),
10967
11007
  /* @__PURE__ */ jsxs43("span", { className: "block w-full text-center", children: [
10968
- /* @__PURE__ */ jsx54("span", { children: "No transactions found" }),
10969
- /* @__PURE__ */ jsx54("br", {}),
10970
- /* @__PURE__ */ jsx54("span", { className: "text-xs mt-2", children: "Smart account transactions will appear here" })
11008
+ /* @__PURE__ */ jsx56("span", { children: "No transactions found" }),
11009
+ /* @__PURE__ */ jsx56("br", {}),
11010
+ /* @__PURE__ */ jsx56("span", { className: "text-xs mt-2", children: "Smart account transactions will appear here" })
10971
11011
  ] })
10972
11012
  ] }),
10973
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx54("div", { className: "w-full flex flex-col gap-2", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx54(
11013
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx56("div", { className: "w-full flex flex-col gap-2", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx56(
10974
11014
  TransactionsGroup,
10975
11015
  {
10976
11016
  group,
@@ -10984,13 +11024,13 @@ function TransactionsMenu() {
10984
11024
  }
10985
11025
 
10986
11026
  // src/internal/components/ViewAssetsMenu/ViewAssetsMenu.tsx
10987
- import { ArrowLeft as ArrowLeft14, Gem, Loader as Loader12, RefreshCw as RefreshCw3 } from "lucide-react";
11027
+ import { ArrowLeft as ArrowLeft13, Gem, Loader as Loader13, RefreshCw as RefreshCw3 } from "lucide-react";
10988
11028
 
10989
11029
  // src/internal/components/ViewAssetsMenu/AssetItem.tsx
10990
11030
  init_base();
10991
11031
  import { Check as Check2, Copy as Copy3, ExternalLink } from "lucide-react";
10992
11032
  import React14 from "react";
10993
- import { jsx as jsx55, jsxs as jsxs44 } from "react/jsx-runtime";
11033
+ import { jsx as jsx57, jsxs as jsxs44 } from "react/jsx-runtime";
10994
11034
  var openInExplorer2 = (address) => {
10995
11035
  window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
10996
11036
  };
@@ -11009,80 +11049,80 @@ function AssetItem(props) {
11009
11049
  return /* @__PURE__ */ jsxs44("div", { className: "w-full border border-[var(--l-pass-bd)] bg-[var(--l-pass-secondary)] hover:bg-[var(--l-pass-secondary-h)] rounded-xl p-3 transition-colors", children: [
11010
11050
  /* @__PURE__ */ jsxs44("div", { className: "flex items-center justify-between mb-2", children: [
11011
11051
  /* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-3", children: [
11012
- /* @__PURE__ */ jsx55("div", { className: "w-10 h-10 bg-[var(--l-pass-primary)] rounded-full flex items-center justify-center", children: /* @__PURE__ */ jsx55("span", { className: "text-white font-bold text-sm", children: asset.symbol.charAt(0) }) }),
11052
+ /* @__PURE__ */ jsx57("div", { className: "w-10 h-10 bg-[var(--l-pass-primary)] rounded-full flex items-center justify-center", children: /* @__PURE__ */ jsx57("span", { className: "text-white font-bold text-sm", children: asset.symbol.charAt(0) }) }),
11013
11053
  /* @__PURE__ */ jsxs44("div", { children: [
11014
- /* @__PURE__ */ jsx55("div", { className: "font-medium", children: asset.name }),
11015
- /* @__PURE__ */ jsx55("div", { className: "text-sm", children: asset.symbol })
11054
+ /* @__PURE__ */ jsx57("div", { className: "font-medium", children: asset.name }),
11055
+ /* @__PURE__ */ jsx57("div", { className: "text-sm", children: asset.symbol })
11016
11056
  ] })
11017
11057
  ] }),
11018
11058
  /* @__PURE__ */ jsxs44("div", { className: "text-right", children: [
11019
- /* @__PURE__ */ jsx55("div", { className: "font-mono", children: asset.formattedBalance }),
11020
- /* @__PURE__ */ jsx55("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: asset.symbol })
11059
+ /* @__PURE__ */ jsx57("div", { className: "font-mono", children: asset.formattedBalance }),
11060
+ /* @__PURE__ */ jsx57("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: asset.symbol })
11021
11061
  ] })
11022
11062
  ] }),
11023
11063
  asset.address && /* @__PURE__ */ jsxs44("div", { className: "w-full space-y-2 mt-3 pt-3 border-t border-[var(--l-pass-bd)]", children: [
11024
11064
  /* @__PURE__ */ jsxs44("div", { className: "w-full flex items-center justify-between text-sm", children: [
11025
- /* @__PURE__ */ jsx55("span", { children: "Contract Address:" }),
11065
+ /* @__PURE__ */ jsx57("span", { children: "Contract Address:" }),
11026
11066
  /* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-2", children: [
11027
- /* @__PURE__ */ jsx55("span", { className: `font-mono text-xs`, children: `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` }),
11028
- /* @__PURE__ */ jsx55(
11067
+ /* @__PURE__ */ jsx57("span", { className: `font-mono text-xs`, children: `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` }),
11068
+ /* @__PURE__ */ jsx57(
11029
11069
  Button,
11030
11070
  {
11031
11071
  variant: "ghost",
11032
11072
  size: "icon",
11033
11073
  title: "Copy address",
11034
11074
  onClick: () => handleCopy(asset.address, "address"),
11035
- children: copied === "address" ? /* @__PURE__ */ jsx55(Check2, { className: "w-3 h-3 text-[var(--l-pass-success)]" }) : /* @__PURE__ */ jsx55(Copy3, { className: "w-3 h-3" })
11075
+ children: copied === "address" ? /* @__PURE__ */ jsx57(Check2, { className: "w-3 h-3 text-[var(--l-pass-success)]" }) : /* @__PURE__ */ jsx57(Copy3, { className: "w-3 h-3" })
11036
11076
  }
11037
11077
  ),
11038
- /* @__PURE__ */ jsx55(
11078
+ /* @__PURE__ */ jsx57(
11039
11079
  Button,
11040
11080
  {
11041
11081
  variant: "ghost",
11042
11082
  size: "icon",
11043
11083
  onClick: () => openInExplorer2(asset.address),
11044
11084
  title: "View in explorer",
11045
- children: /* @__PURE__ */ jsx55(ExternalLink, { className: "w-3 h-3" })
11085
+ children: /* @__PURE__ */ jsx57(ExternalLink, { className: "w-3 h-3" })
11046
11086
  }
11047
11087
  )
11048
11088
  ] })
11049
11089
  ] }),
11050
11090
  asset.decimals && /* @__PURE__ */ jsxs44("div", { className: "w-full flex items-center justify-between text-sm", children: [
11051
- /* @__PURE__ */ jsx55("span", { children: "Decimals:" }),
11052
- /* @__PURE__ */ jsx55("span", { children: asset.decimals })
11091
+ /* @__PURE__ */ jsx57("span", { children: "Decimals:" }),
11092
+ /* @__PURE__ */ jsx57("span", { children: asset.decimals })
11053
11093
  ] })
11054
11094
  ] }),
11055
- asset.type === "native" && address && /* @__PURE__ */ jsx55("div", { className: "mt-3 pt-3 border-t border-[var(--l-pass-bd)]", children: /* @__PURE__ */ jsxs44("div", { className: "flex items-center justify-between text-sm", children: [
11056
- /* @__PURE__ */ jsx55("span", { children: "Your Address:" }),
11095
+ asset.type === "native" && address && /* @__PURE__ */ jsx57("div", { className: "mt-3 pt-3 border-t border-[var(--l-pass-bd)]", children: /* @__PURE__ */ jsxs44("div", { className: "flex items-center justify-between text-sm", children: [
11096
+ /* @__PURE__ */ jsx57("span", { children: "Your Address:" }),
11057
11097
  /* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-2", children: [
11058
- /* @__PURE__ */ jsx55("span", { className: "font-mono text-xs", children: `${address.slice(0, 6)}...${address.slice(-4)}` }),
11059
- /* @__PURE__ */ jsx55(
11098
+ /* @__PURE__ */ jsx57("span", { className: "font-mono text-xs", children: `${address.slice(0, 6)}...${address.slice(-4)}` }),
11099
+ /* @__PURE__ */ jsx57(
11060
11100
  Button,
11061
11101
  {
11062
11102
  variant: "ghost",
11063
11103
  size: "icon",
11064
11104
  onClick: () => handleCopy(address, "wallet"),
11065
11105
  title: "Copy wallet address",
11066
- children: copied === "wallet" ? /* @__PURE__ */ jsx55(Check2, { className: "w-3 h-3 text-[var(--l-pass-success)]" }) : /* @__PURE__ */ jsx55(Copy3, { className: "w-3 h-3" })
11106
+ children: copied === "wallet" ? /* @__PURE__ */ jsx57(Check2, { className: "w-3 h-3 text-[var(--l-pass-success)]" }) : /* @__PURE__ */ jsx57(Copy3, { className: "w-3 h-3" })
11067
11107
  }
11068
11108
  ),
11069
- /* @__PURE__ */ jsx55(Button, { variant: "ghost", size: "icon", onClick: () => openInExplorer2(address), title: "View in explorer", children: /* @__PURE__ */ jsx55(ExternalLink, { className: "w-3 h-3" }) })
11109
+ /* @__PURE__ */ jsx57(Button, { variant: "ghost", size: "icon", onClick: () => openInExplorer2(address), title: "View in explorer", children: /* @__PURE__ */ jsx57(ExternalLink, { className: "w-3 h-3" }) })
11070
11110
  ] })
11071
11111
  ] }) })
11072
11112
  ] });
11073
11113
  }
11074
11114
 
11075
11115
  // src/internal/components/ViewAssetsMenu/ViewAssetsMenu.tsx
11076
- import { jsx as jsx56, jsxs as jsxs45 } from "react/jsx-runtime";
11116
+ import { jsx as jsx58, jsxs as jsxs45 } from "react/jsx-runtime";
11077
11117
  function ViewAssetsMenu() {
11078
11118
  const setPage = useLayoutDataStore((st) => st.setPage);
11079
11119
  const { address } = useLumiaPassportSession();
11080
11120
  const { assets, refreshBalances, isLoading } = useAssets(address);
11081
11121
  return /* @__PURE__ */ jsxs45("div", { className: "w-full p-4 flex flex-col gap-4", children: [
11082
- /* @__PURE__ */ jsx56("div", { className: "w-full", children: /* @__PURE__ */ jsxs45("div", { className: "flex items-center gap-2", children: [
11083
- /* @__PURE__ */ jsx56(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx56(ArrowLeft14, { className: "h-4 w-4" }) }),
11084
- /* @__PURE__ */ jsx56("span", { className: "text-xl font-semibold", children: "Your Assets" }),
11085
- /* @__PURE__ */ jsx56(Button, { title: "Refresh balances", variant: "ghost", size: "icon", onClick: refreshBalances, disabled: isLoading, children: isLoading ? /* @__PURE__ */ jsx56(Loader12, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx56(RefreshCw3, { className: "h-4 w-4" }) })
11122
+ /* @__PURE__ */ jsx58("div", { className: "w-full", children: /* @__PURE__ */ jsxs45("div", { className: "flex items-center gap-2", children: [
11123
+ /* @__PURE__ */ jsx58(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx58(ArrowLeft13, { className: "h-4 w-4" }) }),
11124
+ /* @__PURE__ */ jsx58("span", { className: "text-xl font-semibold", children: "Your Assets" }),
11125
+ /* @__PURE__ */ jsx58(Button, { title: "Refresh balances", variant: "ghost", size: "icon", onClick: refreshBalances, disabled: isLoading, children: isLoading ? /* @__PURE__ */ jsx58(Loader13, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx58(RefreshCw3, { className: "h-4 w-4" }) })
11086
11126
  ] }) }),
11087
11127
  /* @__PURE__ */ jsxs45(Expandable, { isExpanded: true, contentClassName: "w-full max-h-[60dvh] overflow-y-auto", children: [
11088
11128
  !isLoading && assets.length > 0 && /* @__PURE__ */ jsxs45("div", { className: "w-full text-sm text-[var(--l-pass-muted)] mb-4", children: [
@@ -11092,14 +11132,14 @@ function ViewAssetsMenu() {
11092
11132
  assets.length !== 1 ? "s" : ""
11093
11133
  ] }),
11094
11134
  isLoading && /* @__PURE__ */ jsxs45("div", { className: "w-full flex items-center justify-center gap-2 p-4", children: [
11095
- /* @__PURE__ */ jsx56(Loader12, { className: "h-5 w-5 mr-2 animate-spin" }),
11096
- /* @__PURE__ */ jsx56("span", { className: "text-[var(--l-pass-muted)]", children: "Loading assets..." })
11135
+ /* @__PURE__ */ jsx58(Loader13, { className: "h-5 w-5 mr-2 animate-spin" }),
11136
+ /* @__PURE__ */ jsx58("span", { className: "text-[var(--l-pass-muted)]", children: "Loading assets..." })
11097
11137
  ] }),
11098
11138
  !isLoading && assets.length === 0 && /* @__PURE__ */ jsxs45("div", { className: "w-full flex flex-col items-center justify-center py-8 text-[var(--l-pass-muted)]", children: [
11099
- /* @__PURE__ */ jsx56(Gem, { className: "w-12 h-12 mb-2" }),
11100
- /* @__PURE__ */ jsx56("p", { children: "No assets found" })
11139
+ /* @__PURE__ */ jsx58(Gem, { className: "w-12 h-12 mb-2" }),
11140
+ /* @__PURE__ */ jsx58("p", { children: "No assets found" })
11101
11141
  ] }),
11102
- !isLoading && assets.length > 0 && /* @__PURE__ */ jsx56("div", { className: "w-full flex flex-col gap-2", children: assets.map((asset, index) => /* @__PURE__ */ jsx56(AssetItem, { address, asset }, `${asset.type}-${asset.address || "native"}-${index}`)) })
11142
+ !isLoading && assets.length > 0 && /* @__PURE__ */ jsx58("div", { className: "w-full flex flex-col gap-2", children: assets.map((asset, index) => /* @__PURE__ */ jsx58(AssetItem, { address, asset }, `${asset.type}-${asset.address || "native"}-${index}`)) })
11103
11143
  ] })
11104
11144
  ] });
11105
11145
  }
@@ -11190,12 +11230,6 @@ var PAGE_MAP = {
11190
11230
  description: "Restore your wallet from backup",
11191
11231
  component: KeyshareRestoreMenu
11192
11232
  },
11193
- ["add-provider" /* ADD_PROVIDER */]: {
11194
- key: "add-provider" /* ADD_PROVIDER */,
11195
- title: "Add Provider",
11196
- description: "Add a new authentication provider",
11197
- component: AddProviderMenu
11198
- },
11199
11233
  ["unlink-provider" /* UNLINK_PROVIDER */]: {
11200
11234
  key: "unlink-provider" /* UNLINK_PROVIDER */,
11201
11235
  title: "Remove Provider",
@@ -11205,7 +11239,7 @@ var PAGE_MAP = {
11205
11239
  };
11206
11240
 
11207
11241
  // src/internal/hooks/usePageMapper.tsx
11208
- import { jsx as jsx57 } from "react/jsx-runtime";
11242
+ import { jsx as jsx59 } from "react/jsx-runtime";
11209
11243
  var CLEAR_DIALOG_TIMEOUT = MAIN_DIALOG_ANIMATION_SPEED + 5;
11210
11244
  function usePageMapper() {
11211
11245
  const page = useLayoutDataStore((st) => st.page);
@@ -11235,7 +11269,7 @@ function usePageMapper() {
11235
11269
  const PageContentComponent = pageItem.component;
11236
11270
  setDialogTitle(pageItem.title);
11237
11271
  setDialogDescription(pageItem.description);
11238
- setDialogContent(/* @__PURE__ */ jsx57(PageContentComponent, {}));
11272
+ setDialogContent(/* @__PURE__ */ jsx59(PageContentComponent, {}));
11239
11273
  setIsDialogOpen(true);
11240
11274
  },
11241
11275
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
@@ -11252,15 +11286,47 @@ function usePageMapper() {
11252
11286
  }, [protectedRoutes, page, closeDialog, openDialog]);
11253
11287
  }
11254
11288
 
11255
- // src/internal/hooks/useWalletStatus.ts
11289
+ // src/internal/hooks/useSettingsNotifications.ts
11290
+ init_auth();
11256
11291
  import { useEffect as useEffect22 } from "react";
11292
+ var EMAIL_NOT_CONNECTED_NOTIFICATION = {
11293
+ id: "email-not-connected",
11294
+ target: "manage-wallet" /* MANAGE_WALLET */,
11295
+ message: "Email is not connected"
11296
+ };
11297
+ var BACKUP_IS_NOT_CREATED_NOTIFICATION = {
11298
+ id: "backup-is-not-created",
11299
+ target: "keysare-backup" /* KEYSARE_BACKUP */,
11300
+ message: "Backup is not created"
11301
+ };
11302
+ function useSettingsNotifications() {
11303
+ const hasServerVault = useLumiaPassportSession((st) => st.hasServerVault);
11304
+ const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
11305
+ const providers = jwtTokenManager2.getProviders();
11306
+ const hasEmail = providers.includes("email");
11307
+ useEffect22(() => {
11308
+ setSettingsNotifications({
11309
+ ...BACKUP_IS_NOT_CREATED_NOTIFICATION,
11310
+ status: hasServerVault ? "resolved" : "active"
11311
+ });
11312
+ }, [hasServerVault, setSettingsNotifications]);
11313
+ useEffect22(() => {
11314
+ setSettingsNotifications({
11315
+ ...EMAIL_NOT_CONNECTED_NOTIFICATION,
11316
+ status: hasEmail ? "resolved" : "active"
11317
+ });
11318
+ }, [hasEmail, setSettingsNotifications]);
11319
+ }
11320
+
11321
+ // src/internal/hooks/useWalletStatus.ts
11322
+ import { useEffect as useEffect23 } from "react";
11257
11323
  init_auth();
11258
11324
  function useWalletStatus() {
11259
11325
  const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
11260
11326
  const address = useLumiaPassportSession((st) => st.address);
11261
11327
  const session = useLumiaPassportSession((st) => st.session);
11262
11328
  const { config, callbacks } = useLumiaPassportConfig();
11263
- useEffect22(() => {
11329
+ useEffect23(() => {
11264
11330
  if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
11265
11331
  const userId = jwtTokenManager2.getUserId();
11266
11332
  const hasKeyshare = jwtTokenManager2.getHasKeyshare();
@@ -11280,7 +11346,7 @@ function useWalletStatus() {
11280
11346
  }
11281
11347
 
11282
11348
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
11283
- import { jsx as jsx58, jsxs as jsxs46 } from "react/jsx-runtime";
11349
+ import { jsx as jsx60, jsxs as jsxs46 } from "react/jsx-runtime";
11284
11350
  function LumiaPassportDialog() {
11285
11351
  const className = useLumiaPassportConfig()?.config?.ui?.dialogClassName;
11286
11352
  const session = useLumiaPassportSession((st) => st.session);
@@ -11288,13 +11354,14 @@ function LumiaPassportDialog() {
11288
11354
  const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
11289
11355
  const setPage = useLayoutDataStore((st) => st.setPage);
11290
11356
  const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
11291
- useEffect23(() => setIsSettings(!!session), [session, setIsSettings]);
11357
+ useEffect24(() => setIsSettings(!!session), [session, setIsSettings]);
11292
11358
  usePageMapper();
11293
11359
  useAutoConnect();
11294
11360
  useCheckVaultStatus();
11295
11361
  useBackupStatusChanges();
11362
+ useSettingsNotifications();
11296
11363
  useWalletStatus();
11297
- return /* @__PURE__ */ jsx58(
11364
+ return /* @__PURE__ */ jsx60(
11298
11365
  Dialog,
11299
11366
  {
11300
11367
  open: isDialogOpen,
@@ -11303,11 +11370,11 @@ function LumiaPassportDialog() {
11303
11370
  if (!open) setPage(null);
11304
11371
  },
11305
11372
  children: /* @__PURE__ */ jsxs46(DialogContent, { colorMode, hideClose: isDialogForced, className, children: [
11306
- /* @__PURE__ */ jsx58(VisuallyHidden, { children: /* @__PURE__ */ jsx58(DialogTitle, { children: dialogTitle }) }),
11307
- /* @__PURE__ */ jsx58(DialogDescription, { className: "sr-only", children: dialogDescription }),
11308
- !!session && /* @__PURE__ */ jsx58(Header, {}),
11309
- /* @__PURE__ */ jsx58(AnimatePresence5, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx58(
11310
- motion5.div,
11373
+ /* @__PURE__ */ jsx60(VisuallyHidden, { children: /* @__PURE__ */ jsx60(DialogTitle, { children: dialogTitle }) }),
11374
+ /* @__PURE__ */ jsx60(DialogDescription, { className: "sr-only", children: dialogDescription }),
11375
+ !!session && /* @__PURE__ */ jsx60(Header, {}),
11376
+ /* @__PURE__ */ jsx60(AnimatePresence4, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx60(
11377
+ motion4.div,
11311
11378
  {
11312
11379
  initial: { opacity: 0, height: mainPageHeight },
11313
11380
  animate: { opacity: 1, height: "auto" },
@@ -11318,20 +11385,20 @@ function LumiaPassportDialog() {
11318
11385
  },
11319
11386
  page || "empty"
11320
11387
  ) }),
11321
- /* @__PURE__ */ jsx58(Footer, {})
11388
+ /* @__PURE__ */ jsx60(Footer, {})
11322
11389
  ] })
11323
11390
  }
11324
11391
  );
11325
11392
  }
11326
11393
 
11327
11394
  // src/internal/components/LumiaPriceSSE.tsx
11328
- import { useEffect as useEffect25 } from "react";
11395
+ import { useEffect as useEffect26 } from "react";
11329
11396
  import { useBalance as useBalance3 } from "wagmi";
11330
11397
  init_base();
11331
11398
 
11332
11399
  // src/internal/hooks/useLumiaPriceSSE.ts
11333
- import { useMutation as useMutation10 } from "@tanstack/react-query";
11334
- import { useEffect as useEffect24 } from "react";
11400
+ import { useMutation as useMutation11 } from "@tanstack/react-query";
11401
+ import { useEffect as useEffect25 } from "react";
11335
11402
 
11336
11403
  // src/internal/lib/LumiaPriceSSEService.ts
11337
11404
  var FALLBACK3 = "https://fallback.lumia.passport.io";
@@ -11457,7 +11524,7 @@ async function sseConnectMutation() {
11457
11524
 
11458
11525
  // src/internal/hooks/useLumiaPriceSSE.ts
11459
11526
  function useLumiaPriceSSE(enabled, updateCurrentPrice) {
11460
- const { mutate: connectSSE } = useMutation10({
11527
+ const { mutate: connectSSE } = useMutation11({
11461
11528
  mutationFn: sseConnectMutation,
11462
11529
  onSuccess: () => {
11463
11530
  lumiaPriceSSE.addListener(updateCurrentPrice);
@@ -11466,7 +11533,7 @@ function useLumiaPriceSSE(enabled, updateCurrentPrice) {
11466
11533
  console.error("Lumia Price SSE connection error:", err);
11467
11534
  }
11468
11535
  });
11469
- useEffect24(() => {
11536
+ useEffect25(() => {
11470
11537
  const isConnected = lumiaPriceSSE.getConnectionStatus();
11471
11538
  console.log("[LUMIA PRICE SSE MANAGER] SSE status:", { enabled, isConnected });
11472
11539
  if (!enabled) {
@@ -11497,7 +11564,7 @@ function LumiaPriceSSE() {
11497
11564
  });
11498
11565
  const { lumiaRate, setLumiaRate, setUsdBalance, setBalance } = useLayoutDataStore();
11499
11566
  useLumiaPriceSSE(!!address, (update) => setLumiaRate(update.price || 1));
11500
- useEffect25(() => {
11567
+ useEffect26(() => {
11501
11568
  const usdBalance = Number(balance?.formatted || 0) * lumiaRate;
11502
11569
  setUsdBalance(usdBalance);
11503
11570
  setBalance(balance);
@@ -11549,12 +11616,12 @@ var TssManagerWithRef = React15.forwardRef((props, ref) => {
11549
11616
 
11550
11617
  // src/internal/components/WalletConnectHandler.tsx
11551
11618
  import { useConnectModal } from "@rainbow-me/rainbowkit";
11552
- import { useQueryClient as useQueryClient8 } from "@tanstack/react-query";
11553
- import React16, { useCallback as useCallback15, useEffect as useEffect26 } from "react";
11619
+ import { useQueryClient as useQueryClient9 } from "@tanstack/react-query";
11620
+ import React16, { useCallback as useCallback15, useEffect as useEffect27 } from "react";
11554
11621
  import { useAccount, useDisconnect, useSignMessage } from "wagmi";
11555
11622
  init_wallet();
11556
11623
  function WalletConnectHandler() {
11557
- const qc = useQueryClient8();
11624
+ const qc = useQueryClient9();
11558
11625
  const { callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
11559
11626
  const setPage = useLayoutDataStore((st) => st.setPage);
11560
11627
  const { isWalletLinking, setLinkError, setIsWalletLinking, setLinkIsLoading, setProviderType } = useManageWalletStore();
@@ -11586,7 +11653,7 @@ function WalletConnectHandler() {
11586
11653
  const { signMessageAsync } = useSignMessage();
11587
11654
  const [hasStartedLinking, setHasStartedLinking] = React16.useState(false);
11588
11655
  const timeoutRef = React16.useRef();
11589
- useEffect26(() => {
11656
+ useEffect27(() => {
11590
11657
  if (isWalletLinking && !hasStartedLinking) {
11591
11658
  setHasStartedLinking(true);
11592
11659
  if (isConnected) {
@@ -11618,7 +11685,7 @@ function WalletConnectHandler() {
11618
11685
  }
11619
11686
  }
11620
11687
  }, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect]);
11621
- useEffect26(() => {
11688
+ useEffect27(() => {
11622
11689
  if (isConnected && address && isWalletLinking && hasStartedLinking) {
11623
11690
  handleWalletSign();
11624
11691
  }
@@ -11679,7 +11746,7 @@ function WalletConnectHandler() {
11679
11746
  }
11680
11747
 
11681
11748
  // src/context/LumiaPassportSessionContext.tsx
11682
- import { jsx as jsx59, jsxs as jsxs47 } from "react/jsx-runtime";
11749
+ import { jsx as jsx61, jsxs as jsxs47 } from "react/jsx-runtime";
11683
11750
  var useLumiaPassportSession = create5((set) => ({
11684
11751
  isLoading: false,
11685
11752
  usePaymaster: true,
@@ -11705,17 +11772,17 @@ var useLumiaPassportSession = create5((set) => ({
11705
11772
  function LumiaPassportSessionProvider({ children }) {
11706
11773
  const { config } = useLumiaPassportConfig();
11707
11774
  console.log("[PASSPORT PROVIDER RENDER]: should be as less as possible");
11708
- return /* @__PURE__ */ jsxs47(Fragment9, { children: [
11775
+ return /* @__PURE__ */ jsxs47(Fragment10, { children: [
11709
11776
  children,
11710
- config.wallet?.enabled && /* @__PURE__ */ jsx59(WalletConnectHandler, {}),
11711
- /* @__PURE__ */ jsx59(LumiaPriceSSE, {}),
11712
- /* @__PURE__ */ jsx59(
11777
+ config.wallet?.enabled && /* @__PURE__ */ jsx61(WalletConnectHandler, {}),
11778
+ /* @__PURE__ */ jsx61(LumiaPriceSSE, {}),
11779
+ /* @__PURE__ */ jsx61(
11713
11780
  TssManagerWithRef,
11714
11781
  {
11715
11782
  mpcPin: void 0
11716
11783
  }
11717
11784
  ),
11718
- /* @__PURE__ */ jsx59(LumiaPassportDialog, {})
11785
+ /* @__PURE__ */ jsx61(LumiaPassportDialog, {})
11719
11786
  ] });
11720
11787
  }
11721
11788
 
@@ -11750,13 +11817,13 @@ var wagmiConfig = createConfig({
11750
11817
  });
11751
11818
 
11752
11819
  // src/context/WagmiContext.tsx
11753
- import { jsx as jsx60 } from "react/jsx-runtime";
11820
+ import { jsx as jsx62 } from "react/jsx-runtime";
11754
11821
  var LumiaWagmiProvider = ({ children }) => {
11755
- return /* @__PURE__ */ jsx60(WagmiProvider, { config: wagmiConfig, children });
11822
+ return /* @__PURE__ */ jsx62(WagmiProvider, { config: wagmiConfig, children });
11756
11823
  };
11757
11824
 
11758
11825
  // src/context/LumiaPassportContext.tsx
11759
- import { jsx as jsx61 } from "react/jsx-runtime";
11826
+ import { jsx as jsx63 } from "react/jsx-runtime";
11760
11827
  var LumiaPassportContext = createContext(void 0);
11761
11828
  function LumiaPassportProvider(props) {
11762
11829
  const { children, projectId, initialConfig = {}, callbacks } = props;
@@ -11847,7 +11914,7 @@ function LumiaPassportProvider(props) {
11847
11914
  return next;
11848
11915
  });
11849
11916
  }, []);
11850
- useEffect27(() => {
11917
+ useEffect28(() => {
11851
11918
  if (typeof window === "undefined") return;
11852
11919
  if (!config.projectId) return;
11853
11920
  const iframeUrl = getIframeUrl();
@@ -11880,7 +11947,7 @@ function LumiaPassportProvider(props) {
11880
11947
  console.error("[LumiaPassport] Error setting up iframe manager:", error);
11881
11948
  }
11882
11949
  }, [config.projectId, config.features?.mpcSecurity]);
11883
- return /* @__PURE__ */ jsx61(LumiaWagmiProvider, { children: /* @__PURE__ */ jsx61(
11950
+ return /* @__PURE__ */ jsx63(LumiaWagmiProvider, { children: /* @__PURE__ */ jsx63(
11884
11951
  LumiaPassportContext.Provider,
11885
11952
  {
11886
11953
  value: { config, updateConfig, callbacks, providersVersion, notifyProvidersUpdate },
@@ -11895,10 +11962,10 @@ var useLumiaPassportConfig = () => {
11895
11962
  };
11896
11963
 
11897
11964
  // src/components/ConnectWalletButton.tsx
11898
- import { Cloud as Cloud3, Laptop as Laptop2, Loader as Loader13, Shield as Shield2 } from "lucide-react";
11899
- import { useEffect as useEffect28, useMemo as useMemo3 } from "react";
11965
+ import { Cloud as Cloud3, Laptop as Laptop2, Loader as Loader14, Shield as Shield2 } from "lucide-react";
11966
+ import { useEffect as useEffect29, useMemo as useMemo3 } from "react";
11900
11967
  init_auth();
11901
- import { Fragment as Fragment10, jsx as jsx62, jsxs as jsxs48 } from "react/jsx-runtime";
11968
+ import { Fragment as Fragment11, jsx as jsx64, jsxs as jsxs48 } from "react/jsx-runtime";
11902
11969
  function getFormattedStatus(label, status, showStatus) {
11903
11970
  const isStatus = showStatus && status && status !== "idle" && status !== "ready";
11904
11971
  if (!isStatus) return label;
@@ -11917,7 +11984,7 @@ function ConnectWalletButton(props) {
11917
11984
  const colorMode = useLayoutStore((st) => st.colorMode);
11918
11985
  const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
11919
11986
  const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
11920
- useEffect28(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
11987
+ useEffect29(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
11921
11988
  const avatar = jwtTokenManager2.getAvatar();
11922
11989
  const displayName = jwtTokenManager2.getDisplayName();
11923
11990
  const indicators = useMemo3(() => {
@@ -11928,16 +11995,16 @@ function ConnectWalletButton(props) {
11928
11995
  return { server, local, backup: hasServerVault };
11929
11996
  }, [session, address, hasServerVault]);
11930
11997
  const isConnecting = connectButtonLabel !== label || isLoading;
11931
- return /* @__PURE__ */ jsx62("div", { "data-lumia-passport-mode": colorMode, className: cn("lumia-scope w-fit h-fit", className), children: !address ? (
11998
+ return /* @__PURE__ */ jsx64("div", { "data-lumia-passport-mode": colorMode, className: cn("lumia-scope w-fit h-fit", className), children: !address ? (
11932
11999
  /** external Buttons can be provided */
11933
- /* @__PURE__ */ jsx62(Fragment10, { children: ConnectButton ? /* @__PURE__ */ jsxs48(
12000
+ /* @__PURE__ */ jsx64(Fragment11, { children: ConnectButton ? /* @__PURE__ */ jsxs48(
11934
12001
  ConnectButton,
11935
12002
  {
11936
12003
  type: "button",
11937
12004
  disabled: isConnecting,
11938
12005
  onClick: () => setPage("auth" /* AUTH */),
11939
12006
  children: [
11940
- isConnecting && /* @__PURE__ */ jsx62(Loader13, { className: "w-4 h-4 animate-spin" }),
12007
+ isConnecting && /* @__PURE__ */ jsx64(Loader14, { className: "w-4 h-4 animate-spin" }),
11941
12008
  connectButtonLabel
11942
12009
  ]
11943
12010
  }
@@ -11955,7 +12022,7 @@ function ConnectWalletButton(props) {
11955
12022
  "disabled:hover:bg-[var(--l-pass-bg)] disabled:active:bg-[var(--l-pass-bg)]"
11956
12023
  ),
11957
12024
  children: [
11958
- isConnecting && /* @__PURE__ */ jsx62(Loader13, { className: "w-4 h-4 animate-spin" }),
12025
+ isConnecting && /* @__PURE__ */ jsx64(Loader14, { className: "w-4 h-4 animate-spin" }),
11959
12026
  connectButtonLabel.toUpperCase()
11960
12027
  ]
11961
12028
  }
@@ -11971,21 +12038,21 @@ function ConnectWalletButton(props) {
11971
12038
  "rounded-[var(--l-pass-el-bdrs)] p-2 max-w-sm min-w-[256px]"
11972
12039
  ),
11973
12040
  children: [
11974
- /* @__PURE__ */ jsx62("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center flex-shrink-0", children: avatar ? /* @__PURE__ */ jsx62(
12041
+ /* @__PURE__ */ jsx64("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center flex-shrink-0", children: avatar ? /* @__PURE__ */ jsx64(
11975
12042
  "img",
11976
12043
  {
11977
12044
  src: avatar,
11978
12045
  alt: "User avatar",
11979
12046
  className: "w-full h-full object-cover"
11980
12047
  }
11981
- ) : /* @__PURE__ */ jsx62(LumiaIcon, { width: 48, height: 48 }) }),
12048
+ ) : /* @__PURE__ */ jsx64(LumiaIcon, { width: 48, height: 48 }) }),
11982
12049
  /* @__PURE__ */ jsxs48("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
11983
- /* @__PURE__ */ jsx62("div", { className: "font-semibold text-base truncate max-w-[144px]", children: displayName }),
11984
- /* @__PURE__ */ jsx62(UsdBalance, { className: "font-semibold text-base text-[var(--l-pass-fg-muted)]" })
12050
+ /* @__PURE__ */ jsx64("div", { className: "font-semibold text-base truncate max-w-[144px]", children: displayName }),
12051
+ /* @__PURE__ */ jsx64(UsdBalance, { className: "font-semibold text-base text-[var(--l-pass-fg-muted)]" })
11985
12052
  ] }),
11986
12053
  /* @__PURE__ */ jsxs48("div", { className: "flex items-center space-x-1", children: [
11987
12054
  /* @__PURE__ */ jsxs48("div", { className: "group relative", children: [
11988
- /* @__PURE__ */ jsx62(
12055
+ /* @__PURE__ */ jsx64(
11989
12056
  Cloud3,
11990
12057
  {
11991
12058
  className: `w-3 h-3 ${indicators.server ? "text-[var(--l-pass-success)]" : "text-[var(--l-pass-warning)]"}`
@@ -12007,7 +12074,7 @@ function ConnectWalletButton(props) {
12007
12074
  )
12008
12075
  ] }),
12009
12076
  /* @__PURE__ */ jsxs48("div", { className: "group relative", children: [
12010
- /* @__PURE__ */ jsx62(
12077
+ /* @__PURE__ */ jsx64(
12011
12078
  Laptop2,
12012
12079
  {
12013
12080
  className: `w-3 h-3 ${indicators.local ? "text-[var(--l-pass-success)]" : "text-[var(--l-pass-warning)]"}`
@@ -12029,7 +12096,7 @@ function ConnectWalletButton(props) {
12029
12096
  )
12030
12097
  ] }),
12031
12098
  /* @__PURE__ */ jsxs48("div", { className: "group relative", children: [
12032
- /* @__PURE__ */ jsx62(
12099
+ /* @__PURE__ */ jsx64(
12033
12100
  Shield2,
12034
12101
  {
12035
12102
  className: `w-3 h-3 ${indicators.backup ? "text-[var(--l-pass-success)]" : "text-[var(--l-pass-warning)]"}`
@@ -12095,7 +12162,7 @@ function useLumiaPassportOpen() {
12095
12162
  }
12096
12163
 
12097
12164
  // src/hooks/useLumiaPassportColorMode.ts
12098
- import { useCallback as useCallback18, useEffect as useEffect29 } from "react";
12165
+ import { useCallback as useCallback18, useEffect as useEffect30 } from "react";
12099
12166
  function useLumiaPassportColorMode() {
12100
12167
  const preferedColorMode = useLumiaPassportConfig().config?.preferedColorMode;
12101
12168
  const colorMode = useLayoutStore((st) => st.colorMode);
@@ -12107,7 +12174,7 @@ function useLumiaPassportColorMode() {
12107
12174
  },
12108
12175
  [handleStoreColorMode]
12109
12176
  );
12110
- useEffect29(() => {
12177
+ useEffect30(() => {
12111
12178
  let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
12112
12179
  if (!targetColorMode && !preferedColorMode) {
12113
12180
  const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
@@ -12125,23 +12192,23 @@ function useLumiaPassportColorMode() {
12125
12192
 
12126
12193
  // src/components/ThemeToggle.tsx
12127
12194
  import { Moon, Sun } from "lucide-react";
12128
- import { jsx as jsx63 } from "react/jsx-runtime";
12195
+ import { jsx as jsx65 } from "react/jsx-runtime";
12129
12196
  function ThemeToggle(props) {
12130
12197
  const { colorMode, setColorMode } = useLumiaPassportColorMode();
12131
- return /* @__PURE__ */ jsx63(
12198
+ return /* @__PURE__ */ jsx65(
12132
12199
  "div",
12133
12200
  {
12134
12201
  className: "lumia-scope",
12135
12202
  "data-lumia-passport-mode": colorMode,
12136
12203
  style: { width: "fit-content", height: "fit-content" },
12137
- children: /* @__PURE__ */ jsx63(
12204
+ children: /* @__PURE__ */ jsx65(
12138
12205
  Button,
12139
12206
  {
12140
12207
  ...props,
12141
12208
  variant: "ghost",
12142
12209
  onClick: () => setColorMode(colorMode === "light" ? "dark" : "light"),
12143
12210
  title: `Current theme: ${colorMode}. Click to switch.`,
12144
- children: colorMode === "dark" ? /* @__PURE__ */ jsx63(Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx63(Moon, { className: "w-4 h-4" })
12211
+ children: colorMode === "dark" ? /* @__PURE__ */ jsx65(Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx65(Moon, { className: "w-4 h-4" })
12145
12212
  }
12146
12213
  )
12147
12214
  }
@@ -12299,7 +12366,7 @@ var rainbowTheme = {
12299
12366
  };
12300
12367
 
12301
12368
  // src/context/RainbowKitContext.tsx
12302
- import { Fragment as Fragment11, jsx as jsx64 } from "react/jsx-runtime";
12369
+ import { Fragment as Fragment12, jsx as jsx66 } from "react/jsx-runtime";
12303
12370
  var LumiaRainbowKitProvider = ({ children }) => {
12304
12371
  const { config } = useLumiaPassportConfig();
12305
12372
  const isDark = useLayoutStore((st) => st.colorMode === "dark");
@@ -12328,9 +12395,9 @@ var LumiaRainbowKitProvider = ({ children }) => {
12328
12395
  );
12329
12396
  const isWalletEnabled = config.wallet?.enabled ?? false;
12330
12397
  if (!isWalletEnabled) {
12331
- return /* @__PURE__ */ jsx64(Fragment11, { children });
12398
+ return /* @__PURE__ */ jsx66(Fragment12, { children });
12332
12399
  }
12333
- return /* @__PURE__ */ jsx64(WagmiProvider2, { config: rainbowConfig2, children: /* @__PURE__ */ jsx64(RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
12400
+ return /* @__PURE__ */ jsx66(WagmiProvider2, { config: rainbowConfig2, children: /* @__PURE__ */ jsx66(RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
12334
12401
  };
12335
12402
 
12336
12403
  // src/internal/components/UserOpStatus.tsx
@@ -12348,7 +12415,7 @@ function cn2(...inputs) {
12348
12415
  }
12349
12416
 
12350
12417
  // src/internal/components/ui/badge.tsx
12351
- import { jsx as jsx65 } from "react/jsx-runtime";
12418
+ import { jsx as jsx67 } from "react/jsx-runtime";
12352
12419
  var badgeVariants = cva2(
12353
12420
  "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
12354
12421
  {
@@ -12368,13 +12435,13 @@ var badgeVariants = cva2(
12368
12435
  }
12369
12436
  );
12370
12437
  function Badge({ className, variant, ...props }) {
12371
- return /* @__PURE__ */ jsx65("div", { className: cn2(badgeVariants({ variant }), className), ...props });
12438
+ return /* @__PURE__ */ jsx67("div", { className: cn2(badgeVariants({ variant }), className), ...props });
12372
12439
  }
12373
12440
 
12374
12441
  // src/internal/components/Address.tsx
12375
12442
  import * as React19 from "react";
12376
12443
  import { Copy as Copy4, ExternalLink as ExternalLink2 } from "lucide-react";
12377
- import { jsx as jsx66, jsxs as jsxs49 } from "react/jsx-runtime";
12444
+ import { jsx as jsx68, jsxs as jsxs49 } from "react/jsx-runtime";
12378
12445
  function toExplorerAddressUrl(address, chain) {
12379
12446
  const base2 = chain?.blockExplorers?.default?.url;
12380
12447
  if (!base2) return null;
@@ -12396,11 +12463,11 @@ var Address = ({
12396
12463
  const addr = address || "";
12397
12464
  const explorer = toExplorerAddressUrl(addr, chain || void 0);
12398
12465
  const [copied, setCopied] = React19.useState(false);
12399
- if (!addr) return /* @__PURE__ */ jsx66("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
12466
+ if (!addr) return /* @__PURE__ */ jsx68("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
12400
12467
  return /* @__PURE__ */ jsxs49("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
12401
- label && /* @__PURE__ */ jsx66("span", { className: "text-sm font-medium", children: label }),
12402
- /* @__PURE__ */ jsx66("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
12403
- showCopy && /* @__PURE__ */ jsx66(
12468
+ label && /* @__PURE__ */ jsx68("span", { className: "text-sm font-medium", children: label }),
12469
+ /* @__PURE__ */ jsx68("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
12470
+ showCopy && /* @__PURE__ */ jsx68(
12404
12471
  Button,
12405
12472
  {
12406
12473
  variant: "ghost",
@@ -12414,10 +12481,10 @@ var Address = ({
12414
12481
  } catch {
12415
12482
  }
12416
12483
  },
12417
- children: /* @__PURE__ */ jsx66(Copy4, { className: "h-4 w-4" })
12484
+ children: /* @__PURE__ */ jsx68(Copy4, { className: "h-4 w-4" })
12418
12485
  }
12419
12486
  ),
12420
- showExplorer && explorer && /* @__PURE__ */ jsx66(
12487
+ showExplorer && explorer && /* @__PURE__ */ jsx68(
12421
12488
  "a",
12422
12489
  {
12423
12490
  href: explorer,
@@ -12425,7 +12492,7 @@ var Address = ({
12425
12492
  rel: "noreferrer noopener",
12426
12493
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
12427
12494
  title: "Open in explorer",
12428
- children: /* @__PURE__ */ jsx66(ExternalLink2, { className: "h-4 w-4" })
12495
+ children: /* @__PURE__ */ jsx68(ExternalLink2, { className: "h-4 w-4" })
12429
12496
  }
12430
12497
  )
12431
12498
  ] });
@@ -12433,7 +12500,7 @@ var Address = ({
12433
12500
 
12434
12501
  // src/internal/components/UserOpStatus.tsx
12435
12502
  init_base();
12436
- import { jsx as jsx67, jsxs as jsxs50 } from "react/jsx-runtime";
12503
+ import { jsx as jsx69, jsxs as jsxs50 } from "react/jsx-runtime";
12437
12504
  var UserOpStatus = ({
12438
12505
  userOpHash,
12439
12506
  chain,
@@ -12567,30 +12634,30 @@ var UserOpStatus = ({
12567
12634
  if (receipt) {
12568
12635
  const ok = !!receipt.success;
12569
12636
  return /* @__PURE__ */ jsxs50(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
12570
- ok ? /* @__PURE__ */ jsx67(CheckCircle28, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx67(AlertCircle4, { className: "h-3 w-3" }),
12637
+ ok ? /* @__PURE__ */ jsx69(CheckCircle28, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx69(AlertCircle4, { className: "h-3 w-3" }),
12571
12638
  ok ? "Included" : "Failed"
12572
12639
  ] });
12573
12640
  }
12574
12641
  if (rejected) {
12575
12642
  return /* @__PURE__ */ jsxs50(Badge, { variant: "destructive", className: "gap-1", children: [
12576
- /* @__PURE__ */ jsx67(AlertCircle4, { className: "h-3 w-3" }),
12643
+ /* @__PURE__ */ jsx69(AlertCircle4, { className: "h-3 w-3" }),
12577
12644
  " Rejected by bundler"
12578
12645
  ] });
12579
12646
  }
12580
12647
  if (timedOut) {
12581
12648
  return /* @__PURE__ */ jsxs50(Badge, { variant: "warning", className: "gap-1", children: [
12582
- /* @__PURE__ */ jsx67(AlertCircle4, { className: "h-3 w-3" }),
12649
+ /* @__PURE__ */ jsx69(AlertCircle4, { className: "h-3 w-3" }),
12583
12650
  " Timeout - may be rejected"
12584
12651
  ] });
12585
12652
  }
12586
12653
  if (mempool) {
12587
12654
  return /* @__PURE__ */ jsxs50(Badge, { variant: "outline", className: "gap-1", children: [
12588
- /* @__PURE__ */ jsx67(Clock2, { className: "h-3 w-3" }),
12655
+ /* @__PURE__ */ jsx69(Clock2, { className: "h-3 w-3" }),
12589
12656
  " Pending in bundler"
12590
12657
  ] });
12591
12658
  }
12592
12659
  return /* @__PURE__ */ jsxs50(Badge, { variant: "secondary", className: "gap-1", children: [
12593
- /* @__PURE__ */ jsx67(Clock2, { className: "h-3 w-3" }),
12660
+ /* @__PURE__ */ jsx69(Clock2, { className: "h-3 w-3" }),
12594
12661
  " Waiting"
12595
12662
  ] });
12596
12663
  };
@@ -12603,17 +12670,17 @@ var UserOpStatus = ({
12603
12670
  /* @__PURE__ */ jsxs50("div", { className: "flex items-center justify-between mb-3", children: [
12604
12671
  /* @__PURE__ */ jsxs50("div", { className: "flex items-center gap-2", children: [
12605
12672
  stateBadge(),
12606
- /* @__PURE__ */ jsx67("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
12673
+ /* @__PURE__ */ jsx69("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
12607
12674
  ] }),
12608
12675
  /* @__PURE__ */ jsxs50(Button, { variant: "ghost", size: "sm", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
12609
- /* @__PURE__ */ jsx67(RefreshCw4, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
12610
- /* @__PURE__ */ jsx67("span", { className: "text-xs", children: "Refresh" })
12676
+ /* @__PURE__ */ jsx69(RefreshCw4, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
12677
+ /* @__PURE__ */ jsx69("span", { className: "text-xs", children: "Refresh" })
12611
12678
  ] })
12612
12679
  ] }),
12613
12680
  /* @__PURE__ */ jsxs50("div", { className: "flex items-center gap-2 mb-2", children: [
12614
- /* @__PURE__ */ jsx67("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
12615
- /* @__PURE__ */ jsx67("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
12616
- /* @__PURE__ */ jsx67(
12681
+ /* @__PURE__ */ jsx69("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
12682
+ /* @__PURE__ */ jsx69("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
12683
+ /* @__PURE__ */ jsx69(
12617
12684
  Button,
12618
12685
  {
12619
12686
  variant: "ghost",
@@ -12625,14 +12692,14 @@ var UserOpStatus = ({
12625
12692
  } catch {
12626
12693
  }
12627
12694
  },
12628
- children: /* @__PURE__ */ jsx67(Copy5, { className: "h-3.5 w-3.5" })
12695
+ children: /* @__PURE__ */ jsx69(Copy5, { className: "h-3.5 w-3.5" })
12629
12696
  }
12630
12697
  )
12631
12698
  ] }),
12632
12699
  receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ jsxs50("div", { className: "flex items-center gap-2 mb-3", children: [
12633
- /* @__PURE__ */ jsx67("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
12634
- /* @__PURE__ */ jsx67("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
12635
- /* @__PURE__ */ jsx67(
12700
+ /* @__PURE__ */ jsx69("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
12701
+ /* @__PURE__ */ jsx69("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
12702
+ /* @__PURE__ */ jsx69(
12636
12703
  Button,
12637
12704
  {
12638
12705
  variant: "ghost",
@@ -12644,10 +12711,10 @@ var UserOpStatus = ({
12644
12711
  } catch {
12645
12712
  }
12646
12713
  },
12647
- children: /* @__PURE__ */ jsx67(Copy5, { className: "h-3.5 w-3.5" })
12714
+ children: /* @__PURE__ */ jsx69(Copy5, { className: "h-3.5 w-3.5" })
12648
12715
  }
12649
12716
  ),
12650
- chain?.blockExplorers?.default?.url && /* @__PURE__ */ jsx67(
12717
+ chain?.blockExplorers?.default?.url && /* @__PURE__ */ jsx69(
12651
12718
  "a",
12652
12719
  {
12653
12720
  href: `${chain.blockExplorers.default.url}/tx/${receipt.receipt.transactionHash}`,
@@ -12655,7 +12722,7 @@ var UserOpStatus = ({
12655
12722
  rel: "noreferrer noopener",
12656
12723
  className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
12657
12724
  title: "Open in explorer",
12658
- children: /* @__PURE__ */ jsx67(ExternalLink3, { className: "h-3.5 w-3.5" })
12725
+ children: /* @__PURE__ */ jsx69(ExternalLink3, { className: "h-3.5 w-3.5" })
12659
12726
  }
12660
12727
  )
12661
12728
  ] }),
@@ -12668,7 +12735,7 @@ var UserOpStatus = ({
12668
12735
  " \u2022 Success ",
12669
12736
  String(!!receipt.success)
12670
12737
  ] }),
12671
- /* @__PURE__ */ jsx67("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ jsxs50("span", { className: "ml-2", children: [
12738
+ /* @__PURE__ */ jsx69("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ jsxs50("span", { className: "ml-2", children: [
12672
12739
  "\u2022 Polling for ",
12673
12740
  Math.round((Date.now() - startTimeRef.current) / 1e3),
12674
12741
  "s"
@@ -12676,24 +12743,24 @@ var UserOpStatus = ({
12676
12743
  mempool && /* @__PURE__ */ jsxs50("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
12677
12744
  /* @__PURE__ */ jsxs50("div", { children: [
12678
12745
  "Seen by bundler at ",
12679
- /* @__PURE__ */ jsx67(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
12746
+ /* @__PURE__ */ jsx69(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
12680
12747
  ] }),
12681
12748
  /* @__PURE__ */ jsxs50("div", { children: [
12682
12749
  "sender ",
12683
- /* @__PURE__ */ jsx67(Address, { address: mempool.sender, chain, truncate: false })
12750
+ /* @__PURE__ */ jsx69(Address, { address: mempool.sender, chain, truncate: false })
12684
12751
  ] })
12685
12752
  ] }),
12686
12753
  error && /* @__PURE__ */ jsxs50("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
12687
- /* @__PURE__ */ jsx67(AlertCircle4, { className: "h-4 w-4" }),
12754
+ /* @__PURE__ */ jsx69(AlertCircle4, { className: "h-4 w-4" }),
12688
12755
  " ",
12689
12756
  error
12690
12757
  ] }),
12691
12758
  rejected && /* @__PURE__ */ jsxs50("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
12692
- /* @__PURE__ */ jsx67(AlertCircle4, { className: "h-4 w-4" }),
12759
+ /* @__PURE__ */ jsx69(AlertCircle4, { className: "h-4 w-4" }),
12693
12760
  "UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
12694
12761
  ] }),
12695
12762
  timedOut && /* @__PURE__ */ jsxs50("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
12696
- /* @__PURE__ */ jsx67(AlertCircle4, { className: "h-4 w-4" }),
12763
+ /* @__PURE__ */ jsx69(AlertCircle4, { className: "h-4 w-4" }),
12697
12764
  "Stopped polling after ",
12698
12765
  Math.round(maxPollTimeMs / 1e3),
12699
12766
  "s. UserOperation may have been rejected by the bundler."
@@ -12706,7 +12773,7 @@ var UserOpStatus = ({
12706
12773
  // src/internal/components/Hash.tsx
12707
12774
  import * as React21 from "react";
12708
12775
  import { Copy as Copy6, ExternalLink as ExternalLink4 } from "lucide-react";
12709
- import { jsx as jsx68, jsxs as jsxs51 } from "react/jsx-runtime";
12776
+ import { jsx as jsx70, jsxs as jsxs51 } from "react/jsx-runtime";
12710
12777
  function toExplorerUrl(kind, value, chain) {
12711
12778
  const base2 = chain?.blockExplorers?.default?.url;
12712
12779
  if (!base2) return null;
@@ -12730,11 +12797,11 @@ var Hash = ({
12730
12797
  const value = hash || "";
12731
12798
  const explorer = toExplorerUrl(kind, value, chain || void 0);
12732
12799
  const [copied, setCopied] = React21.useState(false);
12733
- if (!value) return /* @__PURE__ */ jsx68("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
12800
+ if (!value) return /* @__PURE__ */ jsx70("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
12734
12801
  return /* @__PURE__ */ jsxs51("div", { className: cn2("flex items-center gap-2", className), children: [
12735
- label && /* @__PURE__ */ jsx68("span", { className: "text-sm font-medium", children: label }),
12736
- /* @__PURE__ */ jsx68("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
12737
- showCopy && /* @__PURE__ */ jsx68(
12802
+ label && /* @__PURE__ */ jsx70("span", { className: "text-sm font-medium", children: label }),
12803
+ /* @__PURE__ */ jsx70("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
12804
+ showCopy && /* @__PURE__ */ jsx70(
12738
12805
  Button,
12739
12806
  {
12740
12807
  variant: "ghost",
@@ -12748,10 +12815,10 @@ var Hash = ({
12748
12815
  } catch {
12749
12816
  }
12750
12817
  },
12751
- children: /* @__PURE__ */ jsx68(Copy6, { className: "h-4 w-4" })
12818
+ children: /* @__PURE__ */ jsx70(Copy6, { className: "h-4 w-4" })
12752
12819
  }
12753
12820
  ),
12754
- showExplorer && explorer && /* @__PURE__ */ jsx68(
12821
+ showExplorer && explorer && /* @__PURE__ */ jsx70(
12755
12822
  "a",
12756
12823
  {
12757
12824
  href: explorer,
@@ -12759,7 +12826,7 @@ var Hash = ({
12759
12826
  rel: "noreferrer noopener",
12760
12827
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
12761
12828
  title: "Open in explorer",
12762
- children: /* @__PURE__ */ jsx68(ExternalLink4, { className: "h-4 w-4" })
12829
+ children: /* @__PURE__ */ jsx70(ExternalLink4, { className: "h-4 w-4" })
12763
12830
  }
12764
12831
  )
12765
12832
  ] });
@@ -12767,13 +12834,13 @@ var Hash = ({
12767
12834
 
12768
12835
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
12769
12836
  init_base();
12770
- import { useEffect as useEffect31, useState as useState18 } from "react";
12771
- import { jsx as jsx69, jsxs as jsxs52 } from "react/jsx-runtime";
12837
+ import { useEffect as useEffect32, useState as useState18 } from "react";
12838
+ import { jsx as jsx71, jsxs as jsxs52 } from "react/jsx-runtime";
12772
12839
  var TransactionsList = ({ address, itemsCount = 10 }) => {
12773
12840
  const [transactions, setTransactions] = useState18([]);
12774
12841
  const [loading, setLoading] = useState18(true);
12775
12842
  const [error, setError] = useState18(null);
12776
- useEffect31(() => {
12843
+ useEffect32(() => {
12777
12844
  const fetchTransactions = async () => {
12778
12845
  try {
12779
12846
  setLoading(true);
@@ -12811,7 +12878,7 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
12811
12878
  const formatAddress3 = (addr) => {
12812
12879
  return `${addr.slice(0, 6)}...${addr.slice(-4)}`;
12813
12880
  };
12814
- const formatDate2 = (timestamp) => {
12881
+ const formatDate3 = (timestamp) => {
12815
12882
  return new Date(timestamp).toLocaleString();
12816
12883
  };
12817
12884
  const openTransaction = (txHash) => {
@@ -12820,20 +12887,20 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
12820
12887
  };
12821
12888
  if (loading) {
12822
12889
  return /* @__PURE__ */ jsxs52("div", { className: "p-4 text-center", children: [
12823
- /* @__PURE__ */ jsx69("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
12824
- /* @__PURE__ */ jsx69("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
12890
+ /* @__PURE__ */ jsx71("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
12891
+ /* @__PURE__ */ jsx71("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
12825
12892
  ] });
12826
12893
  }
12827
12894
  if (error) {
12828
12895
  return /* @__PURE__ */ jsxs52("div", { className: "p-4 text-center", children: [
12829
- /* @__PURE__ */ jsx69("p", { className: "text-red-600 text-sm", children: error }),
12830
- /* @__PURE__ */ jsx69("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
12896
+ /* @__PURE__ */ jsx71("p", { className: "text-red-600 text-sm", children: error }),
12897
+ /* @__PURE__ */ jsx71("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
12831
12898
  ] });
12832
12899
  }
12833
12900
  if (transactions.length === 0) {
12834
- return /* @__PURE__ */ jsx69("div", { className: "p-4 text-center", children: /* @__PURE__ */ jsx69("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
12901
+ return /* @__PURE__ */ jsx71("div", { className: "p-4 text-center", children: /* @__PURE__ */ jsx71("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
12835
12902
  }
12836
- return /* @__PURE__ */ jsx69("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ jsx69("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ jsxs52(
12903
+ return /* @__PURE__ */ jsx71("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ jsx71("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ jsxs52(
12837
12904
  "div",
12838
12905
  {
12839
12906
  className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
@@ -12842,8 +12909,8 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
12842
12909
  /* @__PURE__ */ jsxs52("div", { className: "flex justify-between items-start mb-2", children: [
12843
12910
  /* @__PURE__ */ jsxs52("div", { className: "flex-1", children: [
12844
12911
  /* @__PURE__ */ jsxs52("div", { className: "flex items-center space-x-2 mb-1", children: [
12845
- /* @__PURE__ */ jsx69("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
12846
- /* @__PURE__ */ jsx69(
12912
+ /* @__PURE__ */ jsx71("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
12913
+ /* @__PURE__ */ jsx71(
12847
12914
  "span",
12848
12915
  {
12849
12916
  className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`,
@@ -12853,21 +12920,21 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
12853
12920
  ] }),
12854
12921
  /* @__PURE__ */ jsxs52("div", { className: "text-sm space-y-1", children: [
12855
12922
  /* @__PURE__ */ jsxs52("div", { children: [
12856
- /* @__PURE__ */ jsx69("span", { className: "text-gray-600", children: "From:" }),
12923
+ /* @__PURE__ */ jsx71("span", { className: "text-gray-600", children: "From:" }),
12857
12924
  /* @__PURE__ */ jsxs52("span", { className: "font-mono ml-1", children: [
12858
12925
  formatAddress3(tx.from.hash),
12859
- tx.from.is_contract && /* @__PURE__ */ jsx69("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
12926
+ tx.from.is_contract && /* @__PURE__ */ jsx71("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
12860
12927
  ] })
12861
12928
  ] }),
12862
12929
  /* @__PURE__ */ jsxs52("div", { children: [
12863
- /* @__PURE__ */ jsx69("span", { className: "text-gray-600", children: "To:" }),
12930
+ /* @__PURE__ */ jsx71("span", { className: "text-gray-600", children: "To:" }),
12864
12931
  /* @__PURE__ */ jsxs52("span", { className: "font-mono ml-1", children: [
12865
12932
  formatAddress3(tx.to.hash),
12866
- tx.to.is_contract && /* @__PURE__ */ jsx69("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
12933
+ tx.to.is_contract && /* @__PURE__ */ jsx71("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
12867
12934
  ] })
12868
12935
  ] }),
12869
12936
  /* @__PURE__ */ jsxs52("div", { children: [
12870
- /* @__PURE__ */ jsx69("span", { className: "text-gray-600", children: "Value:" }),
12937
+ /* @__PURE__ */ jsx71("span", { className: "text-gray-600", children: "Value:" }),
12871
12938
  /* @__PURE__ */ jsxs52("span", { className: "font-semibold ml-1", children: [
12872
12939
  formatValue2(tx.value),
12873
12940
  " LUMIA"
@@ -12876,15 +12943,15 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
12876
12943
  ] })
12877
12944
  ] }),
12878
12945
  /* @__PURE__ */ jsxs52("div", { className: "text-right text-xs text-gray-500", children: [
12879
- /* @__PURE__ */ jsx69("div", { children: formatDate2(tx.timestamp) }),
12946
+ /* @__PURE__ */ jsx71("div", { children: formatDate3(tx.timestamp) }),
12880
12947
  /* @__PURE__ */ jsxs52("div", { className: "mt-1", children: [
12881
12948
  "Gas: ",
12882
12949
  parseInt(tx.gas_used).toLocaleString()
12883
12950
  ] }),
12884
- tx.method && /* @__PURE__ */ jsx69("div", { className: "mt-1 text-blue-600", children: tx.method })
12951
+ tx.method && /* @__PURE__ */ jsx71("div", { className: "mt-1 text-blue-600", children: tx.method })
12885
12952
  ] })
12886
12953
  ] }),
12887
- tx.transaction_types.length > 0 && /* @__PURE__ */ jsx69("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ jsx69("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
12954
+ tx.transaction_types.length > 0 && /* @__PURE__ */ jsx71("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ jsx71("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
12888
12955
  ]
12889
12956
  },
12890
12957
  tx.hash
@@ -13227,10 +13294,10 @@ function useSmartAccountTransactions() {
13227
13294
  }
13228
13295
 
13229
13296
  // src/modules/linkedProfiles.ts
13297
+ import * as React24 from "react";
13298
+ init_auth();
13230
13299
  init_common();
13231
13300
  init_types();
13232
- init_auth();
13233
- import * as React24 from "react";
13234
13301
  function useLumiaPassportLinkedProfiles() {
13235
13302
  const { providersVersion } = useLumiaPassportConfig();
13236
13303
  const [profiles, setProfiles] = React24.useState([]);
@@ -13247,8 +13314,8 @@ function useLumiaPassportLinkedProfiles() {
13247
13314
  return {
13248
13315
  ...p,
13249
13316
  displayName: info.name,
13250
- icon: info.icon,
13251
- color: info.color
13317
+ icon: info.icon
13318
+ // color: info.color,
13252
13319
  };
13253
13320
  });
13254
13321
  setProfiles(enriched);