@lumiapassport/ui-kit 1.12.5 → 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 *{font-family:Inter,system-ui,-apple-system,sans-serif;font-optical-sizing:auto;margin:0;box-sizing:border-box}.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.5",
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: [
@@ -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
  );
@@ -9248,367 +9382,242 @@ function useLinkTelegram() {
9248
9382
  throw new Error("No user data received from Telegram");
9249
9383
  }
9250
9384
  console.log("[ManageWallet] Linking Telegram with data:", user);
9251
- await linkTelegram(user);
9252
- await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, walletAddress] });
9253
- try {
9254
- callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, walletAddress]) });
9255
- notifyProvidersUpdate?.();
9256
- } catch {
9257
- }
9258
- setPage("manage-wallet" /* MANAGE_WALLET */);
9259
- setProviderType(null);
9260
- } catch (e) {
9261
- console.error("[ManageWallet] Failed to link Telegram:", e);
9262
- setLayoutError(e?.message || "Failed to link Telegram");
9263
- setProviderType(null);
9264
- } finally {
9265
- setLinkIsLoading(false);
9266
- }
9267
- }, [config.social?.providers, callbacks]);
9268
- const [telegramLinkStarted, setTelegramLinkStarted] = useState7(false);
9269
- useEffect17(() => {
9270
- if (providerType === "telegram" && !linkIsLoading && !telegramLinkStarted) {
9271
- setTelegramLinkStarted(true);
9272
- handleLinkTelegram();
9273
- }
9274
- }, [providerType, handleLinkTelegram, linkIsLoading, telegramLinkStarted]);
9275
- useEffect17(() => {
9276
- if (providerType !== "telegram") {
9277
- setTelegramLinkStarted(false);
9278
- }
9279
- }, [providerType]);
9280
- }
9281
-
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))
9401
- ] });
9402
- });
9403
-
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;
9415
- }
9416
- function AddProviderMenu() {
9417
- const qc = useQueryClient5();
9418
- const walletAddress = useLumiaPassportSession().address;
9419
- const { callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
9420
- const {
9421
- linkError,
9422
- linkIsLoading,
9423
- providerType,
9424
- email,
9425
- emailCode,
9426
- emailCodeSent,
9427
- emailCodeExpiresIn,
9428
- verificationError,
9429
- setVerificationError,
9430
- setEmailCodeSent,
9431
- setEmailCode,
9432
- setEmail,
9433
- setProviderType,
9434
- setLinkError,
9435
- setLinkIsLoading
9436
- } = 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);
9385
+ await linkTelegram(user);
9450
9386
  await qc.invalidateQueries({ queryKey: [PROVIDERS_QUERY_KEY, walletAddress] });
9451
9387
  try {
9452
9388
  callbacks?.onLumiaPassportUpdate?.({ providers: qc.getQueryData([PROVIDERS_QUERY_KEY, walletAddress]) });
9453
9389
  notifyProvidersUpdate?.();
9454
9390
  } catch {
9455
9391
  }
9456
- setProviderType(null);
9457
- setEmail("");
9458
- setEmailCode("");
9459
- setEmailCodeSent(false);
9460
9392
  setPage("manage-wallet" /* MANAGE_WALLET */);
9393
+ setProviderType(null);
9461
9394
  } catch (e) {
9462
- setVerificationError(e?.message || "Failed to verify and link email");
9395
+ console.error("[ManageWallet] Failed to link Telegram:", e);
9396
+ setLinkError(e?.message || "Failed to link Telegram");
9397
+ setProviderType(null);
9463
9398
  } finally {
9464
9399
  setLinkIsLoading(false);
9465
9400
  }
9401
+ }, [config.social?.providers, callbacks]);
9402
+ const [telegramLinkStarted, setTelegramLinkStarted] = useState7(false);
9403
+ useEffect17(() => {
9404
+ if (providerType === "telegram" && !linkIsLoading && !telegramLinkStarted) {
9405
+ setTelegramLinkStarted(true);
9406
+ handleLinkTelegram();
9407
+ }
9408
+ }, [providerType, handleLinkTelegram, linkIsLoading, telegramLinkStarted]);
9409
+ useEffect17(() => {
9410
+ if (providerType !== "telegram") {
9411
+ setTelegramLinkStarted(false);
9412
+ }
9413
+ }, [providerType]);
9414
+ }
9415
+
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;
9466
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
+ ] })
9462
+ ] });
9463
+ }
9464
+
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
+ );
9493
+ }
9494
+ function ManageWalletMenu() {
9495
+ const { config } = useLumiaPassportConfig();
9496
+ const setPage = useLayoutDataStore((st) => st.setPage);
9497
+ const {
9498
+ providerType,
9499
+ linkError,
9500
+ verificationError,
9501
+ emailCodeSentError,
9502
+ setProviderType,
9503
+ setEmail,
9504
+ setEmailStep,
9505
+ setEmailCodeSentError,
9506
+ setEmailCodeExpiresIn,
9507
+ setEmailCode,
9508
+ setLinkError,
9509
+ setVerificationError
9510
+ } = useManageWalletStore();
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
+ );
9558
+ }
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,83 +10392,86 @@ function ReceiveLumiaMenu() {
10385
10392
  console.error("Failed to copy address:", error);
10386
10393
  }
10387
10394
  };
10388
- return /* @__PURE__ */ jsxs40(
10389
- "div",
10390
- {
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
- ]
10424
- }
10425
- );
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
+ ] });
10426
10417
  }
10427
10418
 
10428
10419
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
10429
- import { ArrowLeft as ArrowLeft12 } from "lucide-react";
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",
10431
+ {
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"
10434
+ }
10435
+ ) });
10436
+ }
10430
10437
 
10431
10438
  // src/internal/components/SettingsMenu/constants.ts
10432
- import { Activity, CreditCard, Gem, Lock as Lock2, Shield as Shield2, ShieldCheck as ShieldCheck3 } from "lucide-react";
10433
10439
  var NAV_BUTTONS = [
10434
- { id: "kyc" /* KYC */, name: "KYC", Icon: ShieldCheck3 },
10435
- { id: "transactions" /* TRANSACTIONS */, name: "Transactions", Icon: Activity },
10436
- { id: "assets" /* ASSETS */, name: "Assets", Icon: Gem },
10437
- { id: "manage-wallet" /* MANAGE_WALLET */, name: "Wallet", Icon: CreditCard },
10438
- { id: "security" /* SECURITY */, name: "Security", Icon: Lock2 },
10439
- { id: "keysare-backup" /* KEYSARE_BACKUP */, name: "Keyshare", Icon: Shield2 }
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 }
10440
10445
  ];
10441
10446
 
10442
10447
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
10443
- import { jsx as jsx51, jsxs as jsxs41 } from "react/jsx-runtime";
10448
+ import { jsx as jsx53, jsxs as jsxs41 } from "react/jsx-runtime";
10444
10449
  function SettingsMenu() {
10450
+ const address = useLumiaPassportSession((st) => st.address);
10445
10451
  const setPage = useLayoutDataStore((st) => st.setPage);
10452
+ const settingsNotifications = useLayoutDataStore((st) => st.settingsNotifications);
10446
10453
  const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
10447
- const isAvailable = useLumiaPassportSession((st) => !!st.address);
10454
+ const highlightedKeys = settingsNotifications.map((n) => n.target);
10448
10455
  return /* @__PURE__ */ jsxs41("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
10449
- /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-2", children: [
10450
- /* @__PURE__ */ jsx51(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx51(ArrowLeft12, { className: "h-4 w-4" }) }),
10451
- /* @__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" })
10452
10459
  ] }),
10453
- /* @__PURE__ */ jsx51("div", { className: "w-full flex gap-2 flex-wrap justify-between", children: navItems.map(({ id, name, Icon, onClick }) => /* @__PURE__ */ jsxs41(
10460
+ /* @__PURE__ */ jsx53("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon, onClick }) => /* @__PURE__ */ jsxs41(
10454
10461
  Button,
10455
10462
  {
10456
10463
  variant: "outline",
10457
10464
  size: "large",
10458
10465
  onClick,
10459
- disabled: !isAvailable,
10460
- style: { maxWidth: "calc(50% - 0.5rem)" },
10461
- className: "w-full items-center",
10466
+ disabled: !address,
10467
+ className: cn(
10468
+ //
10469
+ "w-full items-center justify-start",
10470
+ highlightedKeys.includes(id) && "animate-glow-warning"
10471
+ ),
10462
10472
  children: [
10463
- /* @__PURE__ */ jsx51(Icon, { className: "w-5 h-5" }),
10464
- /* @__PURE__ */ jsx51("span", { children: name })
10473
+ /* @__PURE__ */ jsx53(Icon, { className: "w-4 h-4" }),
10474
+ /* @__PURE__ */ jsx53("span", { children: name })
10465
10475
  ]
10466
10476
  },
10467
10477
  id
@@ -10470,14 +10480,14 @@ function SettingsMenu() {
10470
10480
  }
10471
10481
 
10472
10482
  // src/internal/components/TermsOfService.tsx
10473
- import { jsx as jsx52 } from "react/jsx-runtime";
10483
+ import { jsx as jsx54 } from "react/jsx-runtime";
10474
10484
  function TermsOfService() {
10475
- 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." }) });
10476
10486
  }
10477
10487
 
10478
10488
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
10479
- import { useQuery as useQuery5, useQueryClient as useQueryClient7 } from "@tanstack/react-query";
10480
- import { Activity as Activity2, 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";
10481
10491
  import { useCallback as useCallback12, useState as useState13 } from "react";
10482
10492
 
10483
10493
  // src/internal/components/TransactionsMenu/api.ts
@@ -10816,15 +10826,15 @@ var formatTimestamp = (timestampMs) => {
10816
10826
  };
10817
10827
 
10818
10828
  // src/internal/components/TransactionsMenu/TransactionsGroup.tsx
10819
- import { jsx as jsx53, jsxs as jsxs42 } from "react/jsx-runtime";
10820
- 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)]" });
10821
- 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)]" });
10822
10832
  function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
10823
10833
  const internalSymbol = internal.assetSymbol || assetSymbol;
10824
10834
  const internalDecimals = internal.decimals ?? assetDecimals;
10825
10835
  return /* @__PURE__ */ jsxs42("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
10826
10836
  /* @__PURE__ */ jsxs42("div", { className: "flex gap-2 items-center justify-between", children: [
10827
- /* @__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" }),
10828
10838
  /* @__PURE__ */ jsxs42("span", { children: [
10829
10839
  formatValue(internal.value, internalDecimals),
10830
10840
  " ",
@@ -10832,8 +10842,8 @@ function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
10832
10842
  ] })
10833
10843
  ] }),
10834
10844
  /* @__PURE__ */ jsxs42("div", { className: "flex gap-2 items-center justify-between", children: [
10835
- /* @__PURE__ */ jsx53("span", { children: internal.direction === "in" ? "From" : "To" }),
10836
- /* @__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) })
10837
10847
  ] })
10838
10848
  ] });
10839
10849
  }
@@ -10856,31 +10866,31 @@ function TransactionsGroup(props) {
10856
10866
  /* @__PURE__ */ jsxs42("div", { className: "flex items-center justify-between gap-2", children: [
10857
10867
  /* @__PURE__ */ jsxs42("div", { className: "flex items-center gap-2", children: [
10858
10868
  getTransactionIcon(parent.direction),
10859
- /* @__PURE__ */ jsx53("span", { className: "font-medium", children: isIncoming ? "Received" : "Sent" }),
10869
+ /* @__PURE__ */ jsx55("span", { className: "font-medium", children: isIncoming ? "Received" : "Sent" }),
10860
10870
  getStatusIcon(parent.status)
10861
10871
  ] }),
10862
- parent.badgeLabel && /* @__PURE__ */ jsx53(
10872
+ parent.badgeLabel && /* @__PURE__ */ jsx55(
10863
10873
  "span",
10864
10874
  {
10865
10875
  className: cn(
10866
10876
  "text-xs uppercase tracking-wide text-[var(--l-pass-info)] px-2 py-1 rounded-full",
10867
- "bg-[var(--l-pass-bg-info)] border border-[var(--l-pass-info)]"
10877
+ "bg-[var(--l-pass-bg-info)]"
10868
10878
  ),
10869
10879
  children: parent.badgeLabel
10870
10880
  }
10871
10881
  )
10872
10882
  ] }),
10873
- /* @__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) }),
10874
10884
  /* @__PURE__ */ jsxs42("div", { className: "flex flex-col gap-0 text-sm", children: [
10875
10885
  /* @__PURE__ */ jsxs42("div", { className: "flex justify-between", children: [
10876
- /* @__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:" }),
10877
10887
  /* @__PURE__ */ jsxs42("span", { className: "font-mono", children: [
10878
10888
  parent.counterpartyName || formatAddress2(parent.counterparty),
10879
- 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)" })
10880
10890
  ] })
10881
10891
  ] }),
10882
10892
  /* @__PURE__ */ jsxs42("div", { className: "flex justify-between", children: [
10883
- /* @__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:" }),
10884
10894
  /* @__PURE__ */ jsxs42("span", { className: "font-semibold", children: [
10885
10895
  formatValue(parent.value, assetDecimals),
10886
10896
  " ",
@@ -10888,12 +10898,12 @@ function TransactionsGroup(props) {
10888
10898
  ] })
10889
10899
  ] }),
10890
10900
  /* @__PURE__ */ jsxs42("div", { className: "flex justify-between", children: [
10891
- /* @__PURE__ */ jsx53("span", { className: "text-xs leading-5 text-[var(--l-pass-fg-muted)]", children: "Block:" }),
10892
- /* @__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}` : "-" })
10893
10903
  ] }),
10894
10904
  parent.method && /* @__PURE__ */ jsxs42("div", { className: "flex justify-between", children: [
10895
- /* @__PURE__ */ jsx53("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Method:" }),
10896
- /* @__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 })
10897
10907
  ] })
10898
10908
  ] }),
10899
10909
  internalsToRender.length > 0 && /* @__PURE__ */ jsxs42(
@@ -10915,11 +10925,11 @@ function TransactionsGroup(props) {
10915
10925
  internalsToRender.length,
10916
10926
  ")"
10917
10927
  ] }),
10918
- /* @__PURE__ */ jsx53("span", { children: expanded ? "Hide" : "Show" })
10928
+ /* @__PURE__ */ jsx55("span", { children: expanded ? "Hide" : "Show" })
10919
10929
  ]
10920
10930
  }
10921
10931
  ),
10922
- 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(
10923
10933
  InternalTransaction,
10924
10934
  {
10925
10935
  internal,
@@ -10937,9 +10947,9 @@ function TransactionsGroup(props) {
10937
10947
  }
10938
10948
 
10939
10949
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
10940
- import { jsx as jsx54, jsxs as jsxs43 } from "react/jsx-runtime";
10950
+ import { jsx as jsx56, jsxs as jsxs43 } from "react/jsx-runtime";
10941
10951
  function TransactionsMenu() {
10942
- const qc = useQueryClient7();
10952
+ const qc = useQueryClient8();
10943
10953
  const address = useLumiaPassportSession((st) => st.address);
10944
10954
  const page = useLayoutDataStore((st) => st.page);
10945
10955
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -10961,10 +10971,10 @@ function TransactionsMenu() {
10961
10971
  );
10962
10972
  const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
10963
10973
  return /* @__PURE__ */ jsxs43("div", { className: "w-full p-4 flex flex-col gap-4", children: [
10964
- /* @__PURE__ */ jsx54("div", { className: "w-full", children: /* @__PURE__ */ jsxs43("div", { className: "flex items-center gap-2", children: [
10965
- /* @__PURE__ */ jsx54(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx54(ArrowLeft13, { className: "h-4 w-4" }) }),
10966
- /* @__PURE__ */ jsx54("span", { className: "text-xl font-semibold", children: "Transaction History" }),
10967
- /* @__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(
10968
10978
  Button,
10969
10979
  {
10970
10980
  variant: "ghost",
@@ -10972,35 +10982,35 @@ function TransactionsMenu() {
10972
10982
  onClick: refreshTxHistory,
10973
10983
  disabled: isTxHistoryFetching,
10974
10984
  title: "Refresh transactions",
10975
- 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" })
10976
10986
  }
10977
10987
  )
10978
10988
  ] }) }),
10979
10989
  /* @__PURE__ */ jsxs43("div", { className: "max-h-[60vh] overflow-y-auto", children: [
10980
- 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" }) }),
10981
10991
  !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs43(
10982
10992
  "div",
10983
10993
  {
10984
10994
  className: cn(
10985
10995
  "flex flex-col items-center justify-center p-4",
10986
- "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)]",
10987
10997
  "text-[var(--l-pass-error)]"
10988
10998
  ),
10989
10999
  children: [
10990
- /* @__PURE__ */ jsx54(XCircle2, { className: "w-12 h-12 mb-2" }),
10991
- /* @__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 })
10992
11002
  ]
10993
11003
  }
10994
11004
  ),
10995
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: [
10996
- /* @__PURE__ */ jsx54(Activity2, { className: "w-12 h-12" }),
11006
+ /* @__PURE__ */ jsx56(Activity, { className: "w-12 h-12" }),
10997
11007
  /* @__PURE__ */ jsxs43("span", { className: "block w-full text-center", children: [
10998
- /* @__PURE__ */ jsx54("span", { children: "No transactions found" }),
10999
- /* @__PURE__ */ jsx54("br", {}),
11000
- /* @__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" })
11001
11011
  ] })
11002
11012
  ] }),
11003
- !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(
11004
11014
  TransactionsGroup,
11005
11015
  {
11006
11016
  group,
@@ -11014,13 +11024,13 @@ function TransactionsMenu() {
11014
11024
  }
11015
11025
 
11016
11026
  // src/internal/components/ViewAssetsMenu/ViewAssetsMenu.tsx
11017
- import { ArrowLeft as ArrowLeft14, Gem as Gem2, Loader as Loader12, RefreshCw as RefreshCw3 } from "lucide-react";
11027
+ import { ArrowLeft as ArrowLeft13, Gem, Loader as Loader13, RefreshCw as RefreshCw3 } from "lucide-react";
11018
11028
 
11019
11029
  // src/internal/components/ViewAssetsMenu/AssetItem.tsx
11020
11030
  init_base();
11021
11031
  import { Check as Check2, Copy as Copy3, ExternalLink } from "lucide-react";
11022
11032
  import React14 from "react";
11023
- import { jsx as jsx55, jsxs as jsxs44 } from "react/jsx-runtime";
11033
+ import { jsx as jsx57, jsxs as jsxs44 } from "react/jsx-runtime";
11024
11034
  var openInExplorer2 = (address) => {
11025
11035
  window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
11026
11036
  };
@@ -11039,80 +11049,80 @@ function AssetItem(props) {
11039
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: [
11040
11050
  /* @__PURE__ */ jsxs44("div", { className: "flex items-center justify-between mb-2", children: [
11041
11051
  /* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-3", children: [
11042
- /* @__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) }) }),
11043
11053
  /* @__PURE__ */ jsxs44("div", { children: [
11044
- /* @__PURE__ */ jsx55("div", { className: "font-medium", children: asset.name }),
11045
- /* @__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 })
11046
11056
  ] })
11047
11057
  ] }),
11048
11058
  /* @__PURE__ */ jsxs44("div", { className: "text-right", children: [
11049
- /* @__PURE__ */ jsx55("div", { className: "font-mono", children: asset.formattedBalance }),
11050
- /* @__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 })
11051
11061
  ] })
11052
11062
  ] }),
11053
11063
  asset.address && /* @__PURE__ */ jsxs44("div", { className: "w-full space-y-2 mt-3 pt-3 border-t border-[var(--l-pass-bd)]", children: [
11054
11064
  /* @__PURE__ */ jsxs44("div", { className: "w-full flex items-center justify-between text-sm", children: [
11055
- /* @__PURE__ */ jsx55("span", { children: "Contract Address:" }),
11065
+ /* @__PURE__ */ jsx57("span", { children: "Contract Address:" }),
11056
11066
  /* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-2", children: [
11057
- /* @__PURE__ */ jsx55("span", { className: `font-mono text-xs`, children: `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` }),
11058
- /* @__PURE__ */ jsx55(
11067
+ /* @__PURE__ */ jsx57("span", { className: `font-mono text-xs`, children: `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` }),
11068
+ /* @__PURE__ */ jsx57(
11059
11069
  Button,
11060
11070
  {
11061
11071
  variant: "ghost",
11062
11072
  size: "icon",
11063
11073
  title: "Copy address",
11064
11074
  onClick: () => handleCopy(asset.address, "address"),
11065
- 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" })
11066
11076
  }
11067
11077
  ),
11068
- /* @__PURE__ */ jsx55(
11078
+ /* @__PURE__ */ jsx57(
11069
11079
  Button,
11070
11080
  {
11071
11081
  variant: "ghost",
11072
11082
  size: "icon",
11073
11083
  onClick: () => openInExplorer2(asset.address),
11074
11084
  title: "View in explorer",
11075
- children: /* @__PURE__ */ jsx55(ExternalLink, { className: "w-3 h-3" })
11085
+ children: /* @__PURE__ */ jsx57(ExternalLink, { className: "w-3 h-3" })
11076
11086
  }
11077
11087
  )
11078
11088
  ] })
11079
11089
  ] }),
11080
11090
  asset.decimals && /* @__PURE__ */ jsxs44("div", { className: "w-full flex items-center justify-between text-sm", children: [
11081
- /* @__PURE__ */ jsx55("span", { children: "Decimals:" }),
11082
- /* @__PURE__ */ jsx55("span", { children: asset.decimals })
11091
+ /* @__PURE__ */ jsx57("span", { children: "Decimals:" }),
11092
+ /* @__PURE__ */ jsx57("span", { children: asset.decimals })
11083
11093
  ] })
11084
11094
  ] }),
11085
- 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: [
11086
- /* @__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:" }),
11087
11097
  /* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-2", children: [
11088
- /* @__PURE__ */ jsx55("span", { className: "font-mono text-xs", children: `${address.slice(0, 6)}...${address.slice(-4)}` }),
11089
- /* @__PURE__ */ jsx55(
11098
+ /* @__PURE__ */ jsx57("span", { className: "font-mono text-xs", children: `${address.slice(0, 6)}...${address.slice(-4)}` }),
11099
+ /* @__PURE__ */ jsx57(
11090
11100
  Button,
11091
11101
  {
11092
11102
  variant: "ghost",
11093
11103
  size: "icon",
11094
11104
  onClick: () => handleCopy(address, "wallet"),
11095
11105
  title: "Copy wallet address",
11096
- 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" })
11097
11107
  }
11098
11108
  ),
11099
- /* @__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" }) })
11100
11110
  ] })
11101
11111
  ] }) })
11102
11112
  ] });
11103
11113
  }
11104
11114
 
11105
11115
  // src/internal/components/ViewAssetsMenu/ViewAssetsMenu.tsx
11106
- import { jsx as jsx56, jsxs as jsxs45 } from "react/jsx-runtime";
11116
+ import { jsx as jsx58, jsxs as jsxs45 } from "react/jsx-runtime";
11107
11117
  function ViewAssetsMenu() {
11108
11118
  const setPage = useLayoutDataStore((st) => st.setPage);
11109
11119
  const { address } = useLumiaPassportSession();
11110
11120
  const { assets, refreshBalances, isLoading } = useAssets(address);
11111
11121
  return /* @__PURE__ */ jsxs45("div", { className: "w-full p-4 flex flex-col gap-4", children: [
11112
- /* @__PURE__ */ jsx56("div", { className: "w-full", children: /* @__PURE__ */ jsxs45("div", { className: "flex items-center gap-2", children: [
11113
- /* @__PURE__ */ jsx56(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx56(ArrowLeft14, { className: "h-4 w-4" }) }),
11114
- /* @__PURE__ */ jsx56("span", { className: "text-xl font-semibold", children: "Your Assets" }),
11115
- /* @__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" }) })
11116
11126
  ] }) }),
11117
11127
  /* @__PURE__ */ jsxs45(Expandable, { isExpanded: true, contentClassName: "w-full max-h-[60dvh] overflow-y-auto", children: [
11118
11128
  !isLoading && assets.length > 0 && /* @__PURE__ */ jsxs45("div", { className: "w-full text-sm text-[var(--l-pass-muted)] mb-4", children: [
@@ -11122,14 +11132,14 @@ function ViewAssetsMenu() {
11122
11132
  assets.length !== 1 ? "s" : ""
11123
11133
  ] }),
11124
11134
  isLoading && /* @__PURE__ */ jsxs45("div", { className: "w-full flex items-center justify-center gap-2 p-4", children: [
11125
- /* @__PURE__ */ jsx56(Loader12, { className: "h-5 w-5 mr-2 animate-spin" }),
11126
- /* @__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..." })
11127
11137
  ] }),
11128
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: [
11129
- /* @__PURE__ */ jsx56(Gem2, { className: "w-12 h-12 mb-2" }),
11130
- /* @__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" })
11131
11141
  ] }),
11132
- !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}`)) })
11133
11143
  ] })
11134
11144
  ] });
11135
11145
  }
@@ -11220,12 +11230,6 @@ var PAGE_MAP = {
11220
11230
  description: "Restore your wallet from backup",
11221
11231
  component: KeyshareRestoreMenu
11222
11232
  },
11223
- ["add-provider" /* ADD_PROVIDER */]: {
11224
- key: "add-provider" /* ADD_PROVIDER */,
11225
- title: "Add Provider",
11226
- description: "Add a new authentication provider",
11227
- component: AddProviderMenu
11228
- },
11229
11233
  ["unlink-provider" /* UNLINK_PROVIDER */]: {
11230
11234
  key: "unlink-provider" /* UNLINK_PROVIDER */,
11231
11235
  title: "Remove Provider",
@@ -11235,7 +11239,7 @@ var PAGE_MAP = {
11235
11239
  };
11236
11240
 
11237
11241
  // src/internal/hooks/usePageMapper.tsx
11238
- import { jsx as jsx57 } from "react/jsx-runtime";
11242
+ import { jsx as jsx59 } from "react/jsx-runtime";
11239
11243
  var CLEAR_DIALOG_TIMEOUT = MAIN_DIALOG_ANIMATION_SPEED + 5;
11240
11244
  function usePageMapper() {
11241
11245
  const page = useLayoutDataStore((st) => st.page);
@@ -11265,7 +11269,7 @@ function usePageMapper() {
11265
11269
  const PageContentComponent = pageItem.component;
11266
11270
  setDialogTitle(pageItem.title);
11267
11271
  setDialogDescription(pageItem.description);
11268
- setDialogContent(/* @__PURE__ */ jsx57(PageContentComponent, {}));
11272
+ setDialogContent(/* @__PURE__ */ jsx59(PageContentComponent, {}));
11269
11273
  setIsDialogOpen(true);
11270
11274
  },
11271
11275
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
@@ -11282,15 +11286,47 @@ function usePageMapper() {
11282
11286
  }, [protectedRoutes, page, closeDialog, openDialog]);
11283
11287
  }
11284
11288
 
11285
- // src/internal/hooks/useWalletStatus.ts
11289
+ // src/internal/hooks/useSettingsNotifications.ts
11290
+ init_auth();
11286
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";
11287
11323
  init_auth();
11288
11324
  function useWalletStatus() {
11289
11325
  const isIframeReady = useLumiaPassportSession((st) => st.isIframeReady);
11290
11326
  const address = useLumiaPassportSession((st) => st.address);
11291
11327
  const session = useLumiaPassportSession((st) => st.session);
11292
11328
  const { config, callbacks } = useLumiaPassportConfig();
11293
- useEffect22(() => {
11329
+ useEffect23(() => {
11294
11330
  if (!isIframeReady || !config.projectId || !callbacks?.onWalletReady) return;
11295
11331
  const userId = jwtTokenManager2.getUserId();
11296
11332
  const hasKeyshare = jwtTokenManager2.getHasKeyshare();
@@ -11310,7 +11346,7 @@ function useWalletStatus() {
11310
11346
  }
11311
11347
 
11312
11348
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
11313
- import { jsx as jsx58, jsxs as jsxs46 } from "react/jsx-runtime";
11349
+ import { jsx as jsx60, jsxs as jsxs46 } from "react/jsx-runtime";
11314
11350
  function LumiaPassportDialog() {
11315
11351
  const className = useLumiaPassportConfig()?.config?.ui?.dialogClassName;
11316
11352
  const session = useLumiaPassportSession((st) => st.session);
@@ -11318,13 +11354,14 @@ function LumiaPassportDialog() {
11318
11354
  const mainPageHeight = useLayoutDataStore((st) => st.mainPageHeight);
11319
11355
  const setPage = useLayoutDataStore((st) => st.setPage);
11320
11356
  const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
11321
- useEffect23(() => setIsSettings(!!session), [session, setIsSettings]);
11357
+ useEffect24(() => setIsSettings(!!session), [session, setIsSettings]);
11322
11358
  usePageMapper();
11323
11359
  useAutoConnect();
11324
11360
  useCheckVaultStatus();
11325
11361
  useBackupStatusChanges();
11362
+ useSettingsNotifications();
11326
11363
  useWalletStatus();
11327
- return /* @__PURE__ */ jsx58(
11364
+ return /* @__PURE__ */ jsx60(
11328
11365
  Dialog,
11329
11366
  {
11330
11367
  open: isDialogOpen,
@@ -11333,11 +11370,11 @@ function LumiaPassportDialog() {
11333
11370
  if (!open) setPage(null);
11334
11371
  },
11335
11372
  children: /* @__PURE__ */ jsxs46(DialogContent, { colorMode, hideClose: isDialogForced, className, children: [
11336
- /* @__PURE__ */ jsx58(VisuallyHidden, { children: /* @__PURE__ */ jsx58(DialogTitle, { children: dialogTitle }) }),
11337
- /* @__PURE__ */ jsx58(DialogDescription, { className: "sr-only", children: dialogDescription }),
11338
- !!session && /* @__PURE__ */ jsx58(Header, {}),
11339
- /* @__PURE__ */ jsx58(AnimatePresence5, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx58(
11340
- 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,
11341
11378
  {
11342
11379
  initial: { opacity: 0, height: mainPageHeight },
11343
11380
  animate: { opacity: 1, height: "auto" },
@@ -11348,20 +11385,20 @@ function LumiaPassportDialog() {
11348
11385
  },
11349
11386
  page || "empty"
11350
11387
  ) }),
11351
- /* @__PURE__ */ jsx58(Footer, {})
11388
+ /* @__PURE__ */ jsx60(Footer, {})
11352
11389
  ] })
11353
11390
  }
11354
11391
  );
11355
11392
  }
11356
11393
 
11357
11394
  // src/internal/components/LumiaPriceSSE.tsx
11358
- import { useEffect as useEffect25 } from "react";
11395
+ import { useEffect as useEffect26 } from "react";
11359
11396
  import { useBalance as useBalance3 } from "wagmi";
11360
11397
  init_base();
11361
11398
 
11362
11399
  // src/internal/hooks/useLumiaPriceSSE.ts
11363
- import { useMutation as useMutation10 } from "@tanstack/react-query";
11364
- import { useEffect as useEffect24 } from "react";
11400
+ import { useMutation as useMutation11 } from "@tanstack/react-query";
11401
+ import { useEffect as useEffect25 } from "react";
11365
11402
 
11366
11403
  // src/internal/lib/LumiaPriceSSEService.ts
11367
11404
  var FALLBACK3 = "https://fallback.lumia.passport.io";
@@ -11487,7 +11524,7 @@ async function sseConnectMutation() {
11487
11524
 
11488
11525
  // src/internal/hooks/useLumiaPriceSSE.ts
11489
11526
  function useLumiaPriceSSE(enabled, updateCurrentPrice) {
11490
- const { mutate: connectSSE } = useMutation10({
11527
+ const { mutate: connectSSE } = useMutation11({
11491
11528
  mutationFn: sseConnectMutation,
11492
11529
  onSuccess: () => {
11493
11530
  lumiaPriceSSE.addListener(updateCurrentPrice);
@@ -11496,7 +11533,7 @@ function useLumiaPriceSSE(enabled, updateCurrentPrice) {
11496
11533
  console.error("Lumia Price SSE connection error:", err);
11497
11534
  }
11498
11535
  });
11499
- useEffect24(() => {
11536
+ useEffect25(() => {
11500
11537
  const isConnected = lumiaPriceSSE.getConnectionStatus();
11501
11538
  console.log("[LUMIA PRICE SSE MANAGER] SSE status:", { enabled, isConnected });
11502
11539
  if (!enabled) {
@@ -11527,7 +11564,7 @@ function LumiaPriceSSE() {
11527
11564
  });
11528
11565
  const { lumiaRate, setLumiaRate, setUsdBalance, setBalance } = useLayoutDataStore();
11529
11566
  useLumiaPriceSSE(!!address, (update) => setLumiaRate(update.price || 1));
11530
- useEffect25(() => {
11567
+ useEffect26(() => {
11531
11568
  const usdBalance = Number(balance?.formatted || 0) * lumiaRate;
11532
11569
  setUsdBalance(usdBalance);
11533
11570
  setBalance(balance);
@@ -11579,12 +11616,12 @@ var TssManagerWithRef = React15.forwardRef((props, ref) => {
11579
11616
 
11580
11617
  // src/internal/components/WalletConnectHandler.tsx
11581
11618
  import { useConnectModal } from "@rainbow-me/rainbowkit";
11582
- import { useQueryClient as useQueryClient8 } from "@tanstack/react-query";
11583
- 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";
11584
11621
  import { useAccount, useDisconnect, useSignMessage } from "wagmi";
11585
11622
  init_wallet();
11586
11623
  function WalletConnectHandler() {
11587
- const qc = useQueryClient8();
11624
+ const qc = useQueryClient9();
11588
11625
  const { callbacks, notifyProvidersUpdate } = useLumiaPassportConfig();
11589
11626
  const setPage = useLayoutDataStore((st) => st.setPage);
11590
11627
  const { isWalletLinking, setLinkError, setIsWalletLinking, setLinkIsLoading, setProviderType } = useManageWalletStore();
@@ -11616,7 +11653,7 @@ function WalletConnectHandler() {
11616
11653
  const { signMessageAsync } = useSignMessage();
11617
11654
  const [hasStartedLinking, setHasStartedLinking] = React16.useState(false);
11618
11655
  const timeoutRef = React16.useRef();
11619
- useEffect26(() => {
11656
+ useEffect27(() => {
11620
11657
  if (isWalletLinking && !hasStartedLinking) {
11621
11658
  setHasStartedLinking(true);
11622
11659
  if (isConnected) {
@@ -11648,7 +11685,7 @@ function WalletConnectHandler() {
11648
11685
  }
11649
11686
  }
11650
11687
  }, [isWalletLinking, hasStartedLinking, isConnected, openConnectModal, disconnect]);
11651
- useEffect26(() => {
11688
+ useEffect27(() => {
11652
11689
  if (isConnected && address && isWalletLinking && hasStartedLinking) {
11653
11690
  handleWalletSign();
11654
11691
  }
@@ -11709,7 +11746,7 @@ function WalletConnectHandler() {
11709
11746
  }
11710
11747
 
11711
11748
  // src/context/LumiaPassportSessionContext.tsx
11712
- import { jsx as jsx59, jsxs as jsxs47 } from "react/jsx-runtime";
11749
+ import { jsx as jsx61, jsxs as jsxs47 } from "react/jsx-runtime";
11713
11750
  var useLumiaPassportSession = create5((set) => ({
11714
11751
  isLoading: false,
11715
11752
  usePaymaster: true,
@@ -11735,17 +11772,17 @@ var useLumiaPassportSession = create5((set) => ({
11735
11772
  function LumiaPassportSessionProvider({ children }) {
11736
11773
  const { config } = useLumiaPassportConfig();
11737
11774
  console.log("[PASSPORT PROVIDER RENDER]: should be as less as possible");
11738
- return /* @__PURE__ */ jsxs47(Fragment9, { children: [
11775
+ return /* @__PURE__ */ jsxs47(Fragment10, { children: [
11739
11776
  children,
11740
- config.wallet?.enabled && /* @__PURE__ */ jsx59(WalletConnectHandler, {}),
11741
- /* @__PURE__ */ jsx59(LumiaPriceSSE, {}),
11742
- /* @__PURE__ */ jsx59(
11777
+ config.wallet?.enabled && /* @__PURE__ */ jsx61(WalletConnectHandler, {}),
11778
+ /* @__PURE__ */ jsx61(LumiaPriceSSE, {}),
11779
+ /* @__PURE__ */ jsx61(
11743
11780
  TssManagerWithRef,
11744
11781
  {
11745
11782
  mpcPin: void 0
11746
11783
  }
11747
11784
  ),
11748
- /* @__PURE__ */ jsx59(LumiaPassportDialog, {})
11785
+ /* @__PURE__ */ jsx61(LumiaPassportDialog, {})
11749
11786
  ] });
11750
11787
  }
11751
11788
 
@@ -11780,13 +11817,13 @@ var wagmiConfig = createConfig({
11780
11817
  });
11781
11818
 
11782
11819
  // src/context/WagmiContext.tsx
11783
- import { jsx as jsx60 } from "react/jsx-runtime";
11820
+ import { jsx as jsx62 } from "react/jsx-runtime";
11784
11821
  var LumiaWagmiProvider = ({ children }) => {
11785
- return /* @__PURE__ */ jsx60(WagmiProvider, { config: wagmiConfig, children });
11822
+ return /* @__PURE__ */ jsx62(WagmiProvider, { config: wagmiConfig, children });
11786
11823
  };
11787
11824
 
11788
11825
  // src/context/LumiaPassportContext.tsx
11789
- import { jsx as jsx61 } from "react/jsx-runtime";
11826
+ import { jsx as jsx63 } from "react/jsx-runtime";
11790
11827
  var LumiaPassportContext = createContext(void 0);
11791
11828
  function LumiaPassportProvider(props) {
11792
11829
  const { children, projectId, initialConfig = {}, callbacks } = props;
@@ -11877,7 +11914,7 @@ function LumiaPassportProvider(props) {
11877
11914
  return next;
11878
11915
  });
11879
11916
  }, []);
11880
- useEffect27(() => {
11917
+ useEffect28(() => {
11881
11918
  if (typeof window === "undefined") return;
11882
11919
  if (!config.projectId) return;
11883
11920
  const iframeUrl = getIframeUrl();
@@ -11910,7 +11947,7 @@ function LumiaPassportProvider(props) {
11910
11947
  console.error("[LumiaPassport] Error setting up iframe manager:", error);
11911
11948
  }
11912
11949
  }, [config.projectId, config.features?.mpcSecurity]);
11913
- return /* @__PURE__ */ jsx61(LumiaWagmiProvider, { children: /* @__PURE__ */ jsx61(
11950
+ return /* @__PURE__ */ jsx63(LumiaWagmiProvider, { children: /* @__PURE__ */ jsx63(
11914
11951
  LumiaPassportContext.Provider,
11915
11952
  {
11916
11953
  value: { config, updateConfig, callbacks, providersVersion, notifyProvidersUpdate },
@@ -11925,10 +11962,10 @@ var useLumiaPassportConfig = () => {
11925
11962
  };
11926
11963
 
11927
11964
  // src/components/ConnectWalletButton.tsx
11928
- import { Cloud as Cloud3, Laptop as Laptop2, Loader as Loader13, Shield as Shield3 } from "lucide-react";
11929
- 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";
11930
11967
  init_auth();
11931
- 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";
11932
11969
  function getFormattedStatus(label, status, showStatus) {
11933
11970
  const isStatus = showStatus && status && status !== "idle" && status !== "ready";
11934
11971
  if (!isStatus) return label;
@@ -11947,7 +11984,7 @@ function ConnectWalletButton(props) {
11947
11984
  const colorMode = useLayoutStore((st) => st.colorMode);
11948
11985
  const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
11949
11986
  const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
11950
- useEffect28(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
11987
+ useEffect29(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
11951
11988
  const avatar = jwtTokenManager2.getAvatar();
11952
11989
  const displayName = jwtTokenManager2.getDisplayName();
11953
11990
  const indicators = useMemo3(() => {
@@ -11958,16 +11995,16 @@ function ConnectWalletButton(props) {
11958
11995
  return { server, local, backup: hasServerVault };
11959
11996
  }, [session, address, hasServerVault]);
11960
11997
  const isConnecting = connectButtonLabel !== label || isLoading;
11961
- 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 ? (
11962
11999
  /** external Buttons can be provided */
11963
- /* @__PURE__ */ jsx62(Fragment10, { children: ConnectButton ? /* @__PURE__ */ jsxs48(
12000
+ /* @__PURE__ */ jsx64(Fragment11, { children: ConnectButton ? /* @__PURE__ */ jsxs48(
11964
12001
  ConnectButton,
11965
12002
  {
11966
12003
  type: "button",
11967
12004
  disabled: isConnecting,
11968
12005
  onClick: () => setPage("auth" /* AUTH */),
11969
12006
  children: [
11970
- isConnecting && /* @__PURE__ */ jsx62(Loader13, { className: "w-4 h-4 animate-spin" }),
12007
+ isConnecting && /* @__PURE__ */ jsx64(Loader14, { className: "w-4 h-4 animate-spin" }),
11971
12008
  connectButtonLabel
11972
12009
  ]
11973
12010
  }
@@ -11985,7 +12022,7 @@ function ConnectWalletButton(props) {
11985
12022
  "disabled:hover:bg-[var(--l-pass-bg)] disabled:active:bg-[var(--l-pass-bg)]"
11986
12023
  ),
11987
12024
  children: [
11988
- isConnecting && /* @__PURE__ */ jsx62(Loader13, { className: "w-4 h-4 animate-spin" }),
12025
+ isConnecting && /* @__PURE__ */ jsx64(Loader14, { className: "w-4 h-4 animate-spin" }),
11989
12026
  connectButtonLabel.toUpperCase()
11990
12027
  ]
11991
12028
  }
@@ -12001,21 +12038,21 @@ function ConnectWalletButton(props) {
12001
12038
  "rounded-[var(--l-pass-el-bdrs)] p-2 max-w-sm min-w-[256px]"
12002
12039
  ),
12003
12040
  children: [
12004
- /* @__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(
12005
12042
  "img",
12006
12043
  {
12007
12044
  src: avatar,
12008
12045
  alt: "User avatar",
12009
12046
  className: "w-full h-full object-cover"
12010
12047
  }
12011
- ) : /* @__PURE__ */ jsx62(LumiaIcon, { width: 48, height: 48 }) }),
12048
+ ) : /* @__PURE__ */ jsx64(LumiaIcon, { width: 48, height: 48 }) }),
12012
12049
  /* @__PURE__ */ jsxs48("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
12013
- /* @__PURE__ */ jsx62("div", { className: "font-semibold text-base truncate max-w-[144px]", children: displayName }),
12014
- /* @__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)]" })
12015
12052
  ] }),
12016
12053
  /* @__PURE__ */ jsxs48("div", { className: "flex items-center space-x-1", children: [
12017
12054
  /* @__PURE__ */ jsxs48("div", { className: "group relative", children: [
12018
- /* @__PURE__ */ jsx62(
12055
+ /* @__PURE__ */ jsx64(
12019
12056
  Cloud3,
12020
12057
  {
12021
12058
  className: `w-3 h-3 ${indicators.server ? "text-[var(--l-pass-success)]" : "text-[var(--l-pass-warning)]"}`
@@ -12037,7 +12074,7 @@ function ConnectWalletButton(props) {
12037
12074
  )
12038
12075
  ] }),
12039
12076
  /* @__PURE__ */ jsxs48("div", { className: "group relative", children: [
12040
- /* @__PURE__ */ jsx62(
12077
+ /* @__PURE__ */ jsx64(
12041
12078
  Laptop2,
12042
12079
  {
12043
12080
  className: `w-3 h-3 ${indicators.local ? "text-[var(--l-pass-success)]" : "text-[var(--l-pass-warning)]"}`
@@ -12059,8 +12096,8 @@ function ConnectWalletButton(props) {
12059
12096
  )
12060
12097
  ] }),
12061
12098
  /* @__PURE__ */ jsxs48("div", { className: "group relative", children: [
12062
- /* @__PURE__ */ jsx62(
12063
- Shield3,
12099
+ /* @__PURE__ */ jsx64(
12100
+ Shield2,
12064
12101
  {
12065
12102
  className: `w-3 h-3 ${indicators.backup ? "text-[var(--l-pass-success)]" : "text-[var(--l-pass-warning)]"}`
12066
12103
  }
@@ -12125,7 +12162,7 @@ function useLumiaPassportOpen() {
12125
12162
  }
12126
12163
 
12127
12164
  // src/hooks/useLumiaPassportColorMode.ts
12128
- import { useCallback as useCallback18, useEffect as useEffect29 } from "react";
12165
+ import { useCallback as useCallback18, useEffect as useEffect30 } from "react";
12129
12166
  function useLumiaPassportColorMode() {
12130
12167
  const preferedColorMode = useLumiaPassportConfig().config?.preferedColorMode;
12131
12168
  const colorMode = useLayoutStore((st) => st.colorMode);
@@ -12137,7 +12174,7 @@ function useLumiaPassportColorMode() {
12137
12174
  },
12138
12175
  [handleStoreColorMode]
12139
12176
  );
12140
- useEffect29(() => {
12177
+ useEffect30(() => {
12141
12178
  let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
12142
12179
  if (!targetColorMode && !preferedColorMode) {
12143
12180
  const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
@@ -12155,23 +12192,23 @@ function useLumiaPassportColorMode() {
12155
12192
 
12156
12193
  // src/components/ThemeToggle.tsx
12157
12194
  import { Moon, Sun } from "lucide-react";
12158
- import { jsx as jsx63 } from "react/jsx-runtime";
12195
+ import { jsx as jsx65 } from "react/jsx-runtime";
12159
12196
  function ThemeToggle(props) {
12160
12197
  const { colorMode, setColorMode } = useLumiaPassportColorMode();
12161
- return /* @__PURE__ */ jsx63(
12198
+ return /* @__PURE__ */ jsx65(
12162
12199
  "div",
12163
12200
  {
12164
12201
  className: "lumia-scope",
12165
12202
  "data-lumia-passport-mode": colorMode,
12166
12203
  style: { width: "fit-content", height: "fit-content" },
12167
- children: /* @__PURE__ */ jsx63(
12204
+ children: /* @__PURE__ */ jsx65(
12168
12205
  Button,
12169
12206
  {
12170
12207
  ...props,
12171
12208
  variant: "ghost",
12172
12209
  onClick: () => setColorMode(colorMode === "light" ? "dark" : "light"),
12173
12210
  title: `Current theme: ${colorMode}. Click to switch.`,
12174
- 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" })
12175
12212
  }
12176
12213
  )
12177
12214
  }
@@ -12329,7 +12366,7 @@ var rainbowTheme = {
12329
12366
  };
12330
12367
 
12331
12368
  // src/context/RainbowKitContext.tsx
12332
- import { Fragment as Fragment11, jsx as jsx64 } from "react/jsx-runtime";
12369
+ import { Fragment as Fragment12, jsx as jsx66 } from "react/jsx-runtime";
12333
12370
  var LumiaRainbowKitProvider = ({ children }) => {
12334
12371
  const { config } = useLumiaPassportConfig();
12335
12372
  const isDark = useLayoutStore((st) => st.colorMode === "dark");
@@ -12358,9 +12395,9 @@ var LumiaRainbowKitProvider = ({ children }) => {
12358
12395
  );
12359
12396
  const isWalletEnabled = config.wallet?.enabled ?? false;
12360
12397
  if (!isWalletEnabled) {
12361
- return /* @__PURE__ */ jsx64(Fragment11, { children });
12398
+ return /* @__PURE__ */ jsx66(Fragment12, { children });
12362
12399
  }
12363
- 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 }) });
12364
12401
  };
12365
12402
 
12366
12403
  // src/internal/components/UserOpStatus.tsx
@@ -12378,7 +12415,7 @@ function cn2(...inputs) {
12378
12415
  }
12379
12416
 
12380
12417
  // src/internal/components/ui/badge.tsx
12381
- import { jsx as jsx65 } from "react/jsx-runtime";
12418
+ import { jsx as jsx67 } from "react/jsx-runtime";
12382
12419
  var badgeVariants = cva2(
12383
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",
12384
12421
  {
@@ -12398,13 +12435,13 @@ var badgeVariants = cva2(
12398
12435
  }
12399
12436
  );
12400
12437
  function Badge({ className, variant, ...props }) {
12401
- return /* @__PURE__ */ jsx65("div", { className: cn2(badgeVariants({ variant }), className), ...props });
12438
+ return /* @__PURE__ */ jsx67("div", { className: cn2(badgeVariants({ variant }), className), ...props });
12402
12439
  }
12403
12440
 
12404
12441
  // src/internal/components/Address.tsx
12405
12442
  import * as React19 from "react";
12406
12443
  import { Copy as Copy4, ExternalLink as ExternalLink2 } from "lucide-react";
12407
- import { jsx as jsx66, jsxs as jsxs49 } from "react/jsx-runtime";
12444
+ import { jsx as jsx68, jsxs as jsxs49 } from "react/jsx-runtime";
12408
12445
  function toExplorerAddressUrl(address, chain) {
12409
12446
  const base2 = chain?.blockExplorers?.default?.url;
12410
12447
  if (!base2) return null;
@@ -12426,11 +12463,11 @@ var Address = ({
12426
12463
  const addr = address || "";
12427
12464
  const explorer = toExplorerAddressUrl(addr, chain || void 0);
12428
12465
  const [copied, setCopied] = React19.useState(false);
12429
- 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" });
12430
12467
  return /* @__PURE__ */ jsxs49("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
12431
- label && /* @__PURE__ */ jsx66("span", { className: "text-sm font-medium", children: label }),
12432
- /* @__PURE__ */ jsx66("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
12433
- 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(
12434
12471
  Button,
12435
12472
  {
12436
12473
  variant: "ghost",
@@ -12444,10 +12481,10 @@ var Address = ({
12444
12481
  } catch {
12445
12482
  }
12446
12483
  },
12447
- children: /* @__PURE__ */ jsx66(Copy4, { className: "h-4 w-4" })
12484
+ children: /* @__PURE__ */ jsx68(Copy4, { className: "h-4 w-4" })
12448
12485
  }
12449
12486
  ),
12450
- showExplorer && explorer && /* @__PURE__ */ jsx66(
12487
+ showExplorer && explorer && /* @__PURE__ */ jsx68(
12451
12488
  "a",
12452
12489
  {
12453
12490
  href: explorer,
@@ -12455,7 +12492,7 @@ var Address = ({
12455
12492
  rel: "noreferrer noopener",
12456
12493
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
12457
12494
  title: "Open in explorer",
12458
- children: /* @__PURE__ */ jsx66(ExternalLink2, { className: "h-4 w-4" })
12495
+ children: /* @__PURE__ */ jsx68(ExternalLink2, { className: "h-4 w-4" })
12459
12496
  }
12460
12497
  )
12461
12498
  ] });
@@ -12463,7 +12500,7 @@ var Address = ({
12463
12500
 
12464
12501
  // src/internal/components/UserOpStatus.tsx
12465
12502
  init_base();
12466
- import { jsx as jsx67, jsxs as jsxs50 } from "react/jsx-runtime";
12503
+ import { jsx as jsx69, jsxs as jsxs50 } from "react/jsx-runtime";
12467
12504
  var UserOpStatus = ({
12468
12505
  userOpHash,
12469
12506
  chain,
@@ -12597,30 +12634,30 @@ var UserOpStatus = ({
12597
12634
  if (receipt) {
12598
12635
  const ok = !!receipt.success;
12599
12636
  return /* @__PURE__ */ jsxs50(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
12600
- 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" }),
12601
12638
  ok ? "Included" : "Failed"
12602
12639
  ] });
12603
12640
  }
12604
12641
  if (rejected) {
12605
12642
  return /* @__PURE__ */ jsxs50(Badge, { variant: "destructive", className: "gap-1", children: [
12606
- /* @__PURE__ */ jsx67(AlertCircle4, { className: "h-3 w-3" }),
12643
+ /* @__PURE__ */ jsx69(AlertCircle4, { className: "h-3 w-3" }),
12607
12644
  " Rejected by bundler"
12608
12645
  ] });
12609
12646
  }
12610
12647
  if (timedOut) {
12611
12648
  return /* @__PURE__ */ jsxs50(Badge, { variant: "warning", className: "gap-1", children: [
12612
- /* @__PURE__ */ jsx67(AlertCircle4, { className: "h-3 w-3" }),
12649
+ /* @__PURE__ */ jsx69(AlertCircle4, { className: "h-3 w-3" }),
12613
12650
  " Timeout - may be rejected"
12614
12651
  ] });
12615
12652
  }
12616
12653
  if (mempool) {
12617
12654
  return /* @__PURE__ */ jsxs50(Badge, { variant: "outline", className: "gap-1", children: [
12618
- /* @__PURE__ */ jsx67(Clock2, { className: "h-3 w-3" }),
12655
+ /* @__PURE__ */ jsx69(Clock2, { className: "h-3 w-3" }),
12619
12656
  " Pending in bundler"
12620
12657
  ] });
12621
12658
  }
12622
12659
  return /* @__PURE__ */ jsxs50(Badge, { variant: "secondary", className: "gap-1", children: [
12623
- /* @__PURE__ */ jsx67(Clock2, { className: "h-3 w-3" }),
12660
+ /* @__PURE__ */ jsx69(Clock2, { className: "h-3 w-3" }),
12624
12661
  " Waiting"
12625
12662
  ] });
12626
12663
  };
@@ -12633,17 +12670,17 @@ var UserOpStatus = ({
12633
12670
  /* @__PURE__ */ jsxs50("div", { className: "flex items-center justify-between mb-3", children: [
12634
12671
  /* @__PURE__ */ jsxs50("div", { className: "flex items-center gap-2", children: [
12635
12672
  stateBadge(),
12636
- /* @__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." })
12637
12674
  ] }),
12638
12675
  /* @__PURE__ */ jsxs50(Button, { variant: "ghost", size: "sm", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
12639
- /* @__PURE__ */ jsx67(RefreshCw4, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
12640
- /* @__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" })
12641
12678
  ] })
12642
12679
  ] }),
12643
12680
  /* @__PURE__ */ jsxs50("div", { className: "flex items-center gap-2 mb-2", children: [
12644
- /* @__PURE__ */ jsx67("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
12645
- /* @__PURE__ */ jsx67("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
12646
- /* @__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(
12647
12684
  Button,
12648
12685
  {
12649
12686
  variant: "ghost",
@@ -12655,14 +12692,14 @@ var UserOpStatus = ({
12655
12692
  } catch {
12656
12693
  }
12657
12694
  },
12658
- children: /* @__PURE__ */ jsx67(Copy5, { className: "h-3.5 w-3.5" })
12695
+ children: /* @__PURE__ */ jsx69(Copy5, { className: "h-3.5 w-3.5" })
12659
12696
  }
12660
12697
  )
12661
12698
  ] }),
12662
12699
  receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ jsxs50("div", { className: "flex items-center gap-2 mb-3", children: [
12663
- /* @__PURE__ */ jsx67("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
12664
- /* @__PURE__ */ jsx67("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
12665
- /* @__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(
12666
12703
  Button,
12667
12704
  {
12668
12705
  variant: "ghost",
@@ -12674,10 +12711,10 @@ var UserOpStatus = ({
12674
12711
  } catch {
12675
12712
  }
12676
12713
  },
12677
- children: /* @__PURE__ */ jsx67(Copy5, { className: "h-3.5 w-3.5" })
12714
+ children: /* @__PURE__ */ jsx69(Copy5, { className: "h-3.5 w-3.5" })
12678
12715
  }
12679
12716
  ),
12680
- chain?.blockExplorers?.default?.url && /* @__PURE__ */ jsx67(
12717
+ chain?.blockExplorers?.default?.url && /* @__PURE__ */ jsx69(
12681
12718
  "a",
12682
12719
  {
12683
12720
  href: `${chain.blockExplorers.default.url}/tx/${receipt.receipt.transactionHash}`,
@@ -12685,7 +12722,7 @@ var UserOpStatus = ({
12685
12722
  rel: "noreferrer noopener",
12686
12723
  className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
12687
12724
  title: "Open in explorer",
12688
- children: /* @__PURE__ */ jsx67(ExternalLink3, { className: "h-3.5 w-3.5" })
12725
+ children: /* @__PURE__ */ jsx69(ExternalLink3, { className: "h-3.5 w-3.5" })
12689
12726
  }
12690
12727
  )
12691
12728
  ] }),
@@ -12698,7 +12735,7 @@ var UserOpStatus = ({
12698
12735
  " \u2022 Success ",
12699
12736
  String(!!receipt.success)
12700
12737
  ] }),
12701
- /* @__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: [
12702
12739
  "\u2022 Polling for ",
12703
12740
  Math.round((Date.now() - startTimeRef.current) / 1e3),
12704
12741
  "s"
@@ -12706,24 +12743,24 @@ var UserOpStatus = ({
12706
12743
  mempool && /* @__PURE__ */ jsxs50("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
12707
12744
  /* @__PURE__ */ jsxs50("div", { children: [
12708
12745
  "Seen by bundler at ",
12709
- /* @__PURE__ */ jsx67(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
12746
+ /* @__PURE__ */ jsx69(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
12710
12747
  ] }),
12711
12748
  /* @__PURE__ */ jsxs50("div", { children: [
12712
12749
  "sender ",
12713
- /* @__PURE__ */ jsx67(Address, { address: mempool.sender, chain, truncate: false })
12750
+ /* @__PURE__ */ jsx69(Address, { address: mempool.sender, chain, truncate: false })
12714
12751
  ] })
12715
12752
  ] }),
12716
12753
  error && /* @__PURE__ */ jsxs50("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
12717
- /* @__PURE__ */ jsx67(AlertCircle4, { className: "h-4 w-4" }),
12754
+ /* @__PURE__ */ jsx69(AlertCircle4, { className: "h-4 w-4" }),
12718
12755
  " ",
12719
12756
  error
12720
12757
  ] }),
12721
12758
  rejected && /* @__PURE__ */ jsxs50("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
12722
- /* @__PURE__ */ jsx67(AlertCircle4, { className: "h-4 w-4" }),
12759
+ /* @__PURE__ */ jsx69(AlertCircle4, { className: "h-4 w-4" }),
12723
12760
  "UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
12724
12761
  ] }),
12725
12762
  timedOut && /* @__PURE__ */ jsxs50("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
12726
- /* @__PURE__ */ jsx67(AlertCircle4, { className: "h-4 w-4" }),
12763
+ /* @__PURE__ */ jsx69(AlertCircle4, { className: "h-4 w-4" }),
12727
12764
  "Stopped polling after ",
12728
12765
  Math.round(maxPollTimeMs / 1e3),
12729
12766
  "s. UserOperation may have been rejected by the bundler."
@@ -12736,7 +12773,7 @@ var UserOpStatus = ({
12736
12773
  // src/internal/components/Hash.tsx
12737
12774
  import * as React21 from "react";
12738
12775
  import { Copy as Copy6, ExternalLink as ExternalLink4 } from "lucide-react";
12739
- import { jsx as jsx68, jsxs as jsxs51 } from "react/jsx-runtime";
12776
+ import { jsx as jsx70, jsxs as jsxs51 } from "react/jsx-runtime";
12740
12777
  function toExplorerUrl(kind, value, chain) {
12741
12778
  const base2 = chain?.blockExplorers?.default?.url;
12742
12779
  if (!base2) return null;
@@ -12760,11 +12797,11 @@ var Hash = ({
12760
12797
  const value = hash || "";
12761
12798
  const explorer = toExplorerUrl(kind, value, chain || void 0);
12762
12799
  const [copied, setCopied] = React21.useState(false);
12763
- 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" });
12764
12801
  return /* @__PURE__ */ jsxs51("div", { className: cn2("flex items-center gap-2", className), children: [
12765
- label && /* @__PURE__ */ jsx68("span", { className: "text-sm font-medium", children: label }),
12766
- /* @__PURE__ */ jsx68("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
12767
- 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(
12768
12805
  Button,
12769
12806
  {
12770
12807
  variant: "ghost",
@@ -12778,10 +12815,10 @@ var Hash = ({
12778
12815
  } catch {
12779
12816
  }
12780
12817
  },
12781
- children: /* @__PURE__ */ jsx68(Copy6, { className: "h-4 w-4" })
12818
+ children: /* @__PURE__ */ jsx70(Copy6, { className: "h-4 w-4" })
12782
12819
  }
12783
12820
  ),
12784
- showExplorer && explorer && /* @__PURE__ */ jsx68(
12821
+ showExplorer && explorer && /* @__PURE__ */ jsx70(
12785
12822
  "a",
12786
12823
  {
12787
12824
  href: explorer,
@@ -12789,7 +12826,7 @@ var Hash = ({
12789
12826
  rel: "noreferrer noopener",
12790
12827
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
12791
12828
  title: "Open in explorer",
12792
- children: /* @__PURE__ */ jsx68(ExternalLink4, { className: "h-4 w-4" })
12829
+ children: /* @__PURE__ */ jsx70(ExternalLink4, { className: "h-4 w-4" })
12793
12830
  }
12794
12831
  )
12795
12832
  ] });
@@ -12797,13 +12834,13 @@ var Hash = ({
12797
12834
 
12798
12835
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
12799
12836
  init_base();
12800
- import { useEffect as useEffect31, useState as useState18 } from "react";
12801
- 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";
12802
12839
  var TransactionsList = ({ address, itemsCount = 10 }) => {
12803
12840
  const [transactions, setTransactions] = useState18([]);
12804
12841
  const [loading, setLoading] = useState18(true);
12805
12842
  const [error, setError] = useState18(null);
12806
- useEffect31(() => {
12843
+ useEffect32(() => {
12807
12844
  const fetchTransactions = async () => {
12808
12845
  try {
12809
12846
  setLoading(true);
@@ -12841,7 +12878,7 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
12841
12878
  const formatAddress3 = (addr) => {
12842
12879
  return `${addr.slice(0, 6)}...${addr.slice(-4)}`;
12843
12880
  };
12844
- const formatDate2 = (timestamp) => {
12881
+ const formatDate3 = (timestamp) => {
12845
12882
  return new Date(timestamp).toLocaleString();
12846
12883
  };
12847
12884
  const openTransaction = (txHash) => {
@@ -12850,20 +12887,20 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
12850
12887
  };
12851
12888
  if (loading) {
12852
12889
  return /* @__PURE__ */ jsxs52("div", { className: "p-4 text-center", children: [
12853
- /* @__PURE__ */ jsx69("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
12854
- /* @__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..." })
12855
12892
  ] });
12856
12893
  }
12857
12894
  if (error) {
12858
12895
  return /* @__PURE__ */ jsxs52("div", { className: "p-4 text-center", children: [
12859
- /* @__PURE__ */ jsx69("p", { className: "text-red-600 text-sm", children: error }),
12860
- /* @__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" })
12861
12898
  ] });
12862
12899
  }
12863
12900
  if (transactions.length === 0) {
12864
- 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" }) });
12865
12902
  }
12866
- 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(
12867
12904
  "div",
12868
12905
  {
12869
12906
  className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
@@ -12872,8 +12909,8 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
12872
12909
  /* @__PURE__ */ jsxs52("div", { className: "flex justify-between items-start mb-2", children: [
12873
12910
  /* @__PURE__ */ jsxs52("div", { className: "flex-1", children: [
12874
12911
  /* @__PURE__ */ jsxs52("div", { className: "flex items-center space-x-2 mb-1", children: [
12875
- /* @__PURE__ */ jsx69("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
12876
- /* @__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(
12877
12914
  "span",
12878
12915
  {
12879
12916
  className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`,
@@ -12883,21 +12920,21 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
12883
12920
  ] }),
12884
12921
  /* @__PURE__ */ jsxs52("div", { className: "text-sm space-y-1", children: [
12885
12922
  /* @__PURE__ */ jsxs52("div", { children: [
12886
- /* @__PURE__ */ jsx69("span", { className: "text-gray-600", children: "From:" }),
12923
+ /* @__PURE__ */ jsx71("span", { className: "text-gray-600", children: "From:" }),
12887
12924
  /* @__PURE__ */ jsxs52("span", { className: "font-mono ml-1", children: [
12888
12925
  formatAddress3(tx.from.hash),
12889
- 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)" })
12890
12927
  ] })
12891
12928
  ] }),
12892
12929
  /* @__PURE__ */ jsxs52("div", { children: [
12893
- /* @__PURE__ */ jsx69("span", { className: "text-gray-600", children: "To:" }),
12930
+ /* @__PURE__ */ jsx71("span", { className: "text-gray-600", children: "To:" }),
12894
12931
  /* @__PURE__ */ jsxs52("span", { className: "font-mono ml-1", children: [
12895
12932
  formatAddress3(tx.to.hash),
12896
- 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)" })
12897
12934
  ] })
12898
12935
  ] }),
12899
12936
  /* @__PURE__ */ jsxs52("div", { children: [
12900
- /* @__PURE__ */ jsx69("span", { className: "text-gray-600", children: "Value:" }),
12937
+ /* @__PURE__ */ jsx71("span", { className: "text-gray-600", children: "Value:" }),
12901
12938
  /* @__PURE__ */ jsxs52("span", { className: "font-semibold ml-1", children: [
12902
12939
  formatValue2(tx.value),
12903
12940
  " LUMIA"
@@ -12906,15 +12943,15 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
12906
12943
  ] })
12907
12944
  ] }),
12908
12945
  /* @__PURE__ */ jsxs52("div", { className: "text-right text-xs text-gray-500", children: [
12909
- /* @__PURE__ */ jsx69("div", { children: formatDate2(tx.timestamp) }),
12946
+ /* @__PURE__ */ jsx71("div", { children: formatDate3(tx.timestamp) }),
12910
12947
  /* @__PURE__ */ jsxs52("div", { className: "mt-1", children: [
12911
12948
  "Gas: ",
12912
12949
  parseInt(tx.gas_used).toLocaleString()
12913
12950
  ] }),
12914
- 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 })
12915
12952
  ] })
12916
12953
  ] }),
12917
- 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)) })
12918
12955
  ]
12919
12956
  },
12920
12957
  tx.hash
@@ -13257,10 +13294,10 @@ function useSmartAccountTransactions() {
13257
13294
  }
13258
13295
 
13259
13296
  // src/modules/linkedProfiles.ts
13297
+ import * as React24 from "react";
13298
+ init_auth();
13260
13299
  init_common();
13261
13300
  init_types();
13262
- init_auth();
13263
- import * as React24 from "react";
13264
13301
  function useLumiaPassportLinkedProfiles() {
13265
13302
  const { providersVersion } = useLumiaPassportConfig();
13266
13303
  const [profiles, setProfiles] = React24.useState([]);
@@ -13277,8 +13314,8 @@ function useLumiaPassportLinkedProfiles() {
13277
13314
  return {
13278
13315
  ...p,
13279
13316
  displayName: info.name,
13280
- icon: info.icon,
13281
- color: info.color
13317
+ icon: info.icon
13318
+ // color: info.color,
13282
13319
  };
13283
13320
  });
13284
13321
  setProfiles(enriched);