@lumiapassport/ui-kit 1.15.13 → 1.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -703,52 +703,72 @@ async function ensureDkgAndGetOwner(userId, _clientSeedHex) {
703
703
  throw error;
704
704
  }
705
705
  }
706
+ function isChannelError(error) {
707
+ const message = error.message.toLowerCase();
708
+ return message.includes("invalid sdk channel") || message.includes("sdk channel not found") || message.includes("sdk channel expired") || // Backward compatibility
709
+ message === "invalid session";
710
+ }
706
711
  async function signDigestWithMpc(userId, digest32, userOpDetails) {
712
+ const MAX_RETRIES = 1;
707
713
  const startTime = performance.now();
708
714
  currentSigningStats = {
709
715
  startTime,
710
716
  rounds: []
711
717
  };
712
- try {
713
- const iframeManager = getIframeManager();
714
- const { jwtTokenManager: jwtTokenManager4 } = await Promise.resolve().then(() => (init_auth(), auth_exports));
715
- const accessToken = jwtTokenManager4.getAccessToken();
716
- if (!accessToken) {
717
- throw new Error("No access token available for signing");
718
- }
719
- const transaction = {
720
- to: userOpDetails?.callTarget || "0x0000000000000000000000000000000000000000",
721
- value: userOpDetails?.value || "0",
722
- data: userOpDetails?.callData || "0x",
723
- digest32,
724
- // Pre-computed digest - DO NOT recompute!
725
- // Additional UserOp fields for display in confirmation modal
726
- userOpDetails
727
- };
728
- const signature = await iframeManager.signTransaction(userId, transaction, accessToken);
729
- const endTime = performance.now();
730
- currentSigningStats.endTime = endTime;
731
- currentSigningStats.totalDurationMs = endTime - startTime;
732
- return signature;
733
- } catch (error) {
734
- (0, import_error_tracking.logSdkError)(
735
- error instanceof Error ? error : new Error("MPC signing failed"),
736
- { userId, hasUserOpDetails: !!userOpDetails },
737
- "iframe-mpc"
738
- );
739
- const endTime = performance.now();
740
- if (currentSigningStats) {
718
+ let lastError;
719
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
720
+ try {
721
+ const iframeManager = getIframeManager();
722
+ const { jwtTokenManager: jwtTokenManager4 } = await Promise.resolve().then(() => (init_auth(), auth_exports));
723
+ const accessToken = jwtTokenManager4.getAccessToken();
724
+ if (!accessToken) {
725
+ throw new Error("No access token available for signing");
726
+ }
727
+ const transaction = {
728
+ to: userOpDetails?.callTarget || "0x0000000000000000000000000000000000000000",
729
+ value: userOpDetails?.value || "0",
730
+ data: userOpDetails?.callData || "0x",
731
+ digest32,
732
+ // Pre-computed digest - DO NOT recompute!
733
+ // Additional UserOp fields for display in confirmation modal
734
+ userOpDetails
735
+ };
736
+ const signature = await iframeManager.signTransaction(userId, transaction, accessToken);
737
+ const endTime = performance.now();
741
738
  currentSigningStats.endTime = endTime;
742
739
  currentSigningStats.totalDurationMs = endTime - startTime;
740
+ return signature;
741
+ } catch (error) {
742
+ lastError = error instanceof Error ? error : new Error("MPC signing failed");
743
+ if (isChannelError(lastError) && attempt < MAX_RETRIES) {
744
+ console.warn(`[MPC] SDK channel error, reconnecting and retrying (attempt ${attempt + 1})...`);
745
+ try {
746
+ await getIframeManager().reconnect();
747
+ continue;
748
+ } catch (reconnectError) {
749
+ console.error("[MPC] Reconnect failed:", reconnectError);
750
+ }
751
+ }
752
+ (0, import_error_tracking.logSdkError)(
753
+ lastError,
754
+ { userId, hasUserOpDetails: !!userOpDetails, attempt },
755
+ "iframe-mpc"
756
+ );
757
+ const endTime = performance.now();
758
+ if (currentSigningStats) {
759
+ currentSigningStats.endTime = endTime;
760
+ currentSigningStats.totalDurationMs = endTime - startTime;
761
+ }
762
+ if (lastError instanceof LumiaPassportError) {
763
+ throw lastError;
764
+ }
765
+ throw new LumiaPassportError(
766
+ lastError.message,
767
+ ErrorCodes.MPC_SIGNING_ERROR
768
+ );
743
769
  }
744
- if (error instanceof LumiaPassportError) {
745
- throw error;
746
- }
747
- throw new LumiaPassportError(
748
- error instanceof Error ? error.message : "MPC signing failed",
749
- ErrorCodes.MPC_SIGNING_ERROR
750
- );
751
770
  }
771
+ throw lastError || new Error("MPC signing failed after retries");
752
772
  }
753
773
  async function signTypedDataWithMpc(userId, digest32, typedData) {
754
774
  const startTime = performance.now();
@@ -1379,7 +1399,7 @@ async function getShareVaultToken(scopes) {
1379
1399
  }
1380
1400
  return {
1381
1401
  token: data.resourceToken,
1382
- expiresAt: Date.now() + data.expiresIn * 1e3
1402
+ expiresAt: Date.now() + (data.expiresIn || 300) * 1e3
1383
1403
  };
1384
1404
  }
1385
1405
  async function getShareRecoveryStats() {
@@ -2620,10 +2640,9 @@ var init_iframe_manager = __esm({
2620
2640
  "src/internal/lib/iframe-manager.ts"() {
2621
2641
  init_errors();
2622
2642
  IframeManager = class {
2623
- // 5 minutes
2624
2643
  constructor(config) {
2625
2644
  this.iframe = null;
2626
- this.sessionToken = null;
2645
+ this.channelToken = null;
2627
2646
  this.isReady = false;
2628
2647
  // Message handling
2629
2648
  this.pendingRequests = /* @__PURE__ */ new Map();
@@ -2640,6 +2659,9 @@ var init_iframe_manager = __esm({
2640
2659
  this.REQUEST_TIMEOUT = 3e5;
2641
2660
  // 5 minutes (for user interactions like consent)
2642
2661
  this.NONCE_EXPIRY = 3e5;
2662
+ // 5 minutes
2663
+ this.HEARTBEAT_INTERVAL = 5 * 60 * 1e3;
2664
+ this.isReconnecting = false;
2643
2665
  this.iframeUrl = config.iframeUrl;
2644
2666
  this.projectId = config.projectId;
2645
2667
  this.debug = config.debug || false;
@@ -2680,6 +2702,8 @@ var init_iframe_manager = __esm({
2680
2702
  await this.readyPromise;
2681
2703
  await this.authenticateSDK();
2682
2704
  await this.primeProviderSessions();
2705
+ this.startHeartbeat();
2706
+ this.setupVisibilityHandler();
2683
2707
  this.log("[IframeManager] \u2705 Iframe ready and authenticated");
2684
2708
  }
2685
2709
  /**
@@ -2689,18 +2713,93 @@ var init_iframe_manager = __esm({
2689
2713
  this.onWalletReadyCallback = callback;
2690
2714
  }
2691
2715
  /**
2692
- * Authenticate SDK with iframe to establish session
2716
+ * Authenticate SDK with iframe to establish secure channel
2693
2717
  */
2694
2718
  async authenticateSDK() {
2695
2719
  const response = await this.sendMessage("SDK_AUTH", {
2696
2720
  projectId: this.projectId
2697
2721
  });
2698
2722
  if (response.type === "LUMIA_PASSPORT_SDK_AUTH_SUCCESS") {
2699
- this.sessionToken = response.sessionToken;
2723
+ this.channelToken = response.sessionToken;
2700
2724
  } else {
2701
- throw new Error("SDK authentication failed");
2725
+ throw new Error("SDK channel authentication failed");
2726
+ }
2727
+ }
2728
+ /**
2729
+ * Start periodic heartbeat to check SDK channel validity
2730
+ */
2731
+ startHeartbeat() {
2732
+ if (this.heartbeatInterval) {
2733
+ clearInterval(this.heartbeatInterval);
2734
+ }
2735
+ this.heartbeatInterval = setInterval(async () => {
2736
+ if (!this.channelToken) return;
2737
+ try {
2738
+ const response = await this.sendMessage("SDK_CHANNEL_HEARTBEAT", {});
2739
+ if (!response.valid) {
2740
+ this.log("[IframeManager] SDK channel invalid, reconnecting...");
2741
+ await this.reconnect();
2742
+ }
2743
+ } catch (error) {
2744
+ this.log("[IframeManager] Heartbeat failed:", error);
2745
+ await this.reconnect();
2746
+ }
2747
+ }, this.HEARTBEAT_INTERVAL);
2748
+ this.log("[IframeManager] Heartbeat started (interval: 5 min)");
2749
+ }
2750
+ /**
2751
+ * Stop heartbeat
2752
+ */
2753
+ stopHeartbeat() {
2754
+ if (this.heartbeatInterval) {
2755
+ clearInterval(this.heartbeatInterval);
2756
+ this.heartbeatInterval = void 0;
2757
+ this.log("[IframeManager] Heartbeat stopped");
2702
2758
  }
2703
2759
  }
2760
+ /**
2761
+ * Reconnect SDK channel after it becomes invalid
2762
+ */
2763
+ async reconnect() {
2764
+ if (this.isReconnecting) {
2765
+ this.log("[IframeManager] Already reconnecting, skipping...");
2766
+ return;
2767
+ }
2768
+ this.isReconnecting = true;
2769
+ this.log("[IframeManager] Reconnecting SDK channel...");
2770
+ try {
2771
+ this.channelToken = null;
2772
+ await this.authenticateSDK();
2773
+ this.log("[IframeManager] \u2705 SDK channel reconnected");
2774
+ } catch (error) {
2775
+ this.log("[IframeManager] \u274C Reconnect failed:", error);
2776
+ throw error;
2777
+ } finally {
2778
+ this.isReconnecting = false;
2779
+ }
2780
+ }
2781
+ /**
2782
+ * Setup visibility change handler to check channel when tab becomes visible
2783
+ */
2784
+ setupVisibilityHandler() {
2785
+ if (typeof document === "undefined") return;
2786
+ document.addEventListener("visibilitychange", async () => {
2787
+ if (document.visibilityState === "visible" && this.channelToken) {
2788
+ this.log("[IframeManager] Tab visible, checking SDK channel...");
2789
+ try {
2790
+ const response = await this.sendMessage("SDK_CHANNEL_HEARTBEAT", {});
2791
+ if (!response.valid) {
2792
+ this.log("[IframeManager] SDK channel expired while tab was hidden");
2793
+ await this.reconnect();
2794
+ }
2795
+ } catch (error) {
2796
+ this.log("[IframeManager] Channel check failed, reconnecting...");
2797
+ await this.reconnect();
2798
+ }
2799
+ }
2800
+ });
2801
+ this.log("[IframeManager] Visibility handler setup");
2802
+ }
2704
2803
  /**
2705
2804
  * Handle incoming postMessage events
2706
2805
  */
@@ -2724,6 +2823,7 @@ var init_iframe_manager = __esm({
2724
2823
  "LUMIA_PASSPORT_TRUSTED_APP_REMOVED",
2725
2824
  "LUMIA_PASSPORT_REQUEST_NEW_TOKEN",
2726
2825
  "LUMIA_PASSPORT_TOKEN_REFRESHED",
2826
+ "LUMIA_PASSPORT_HEARTBEAT_RESPONSE",
2727
2827
  "LUMIA_PASSPORT_RESPONSE",
2728
2828
  "LUMIA_PASSPORT_ERROR"
2729
2829
  ];
@@ -2852,10 +2952,11 @@ var init_iframe_manager = __esm({
2852
2952
  projectId: this.projectId,
2853
2953
  data: {
2854
2954
  ...data,
2855
- sessionToken: this.sessionToken
2955
+ sessionToken: this.channelToken
2956
+ // named sessionToken for backward compatibility with iframe
2856
2957
  }
2857
2958
  };
2858
- if (this.sessionToken) {
2959
+ if (this.channelToken) {
2859
2960
  message.hmac = await this.computeHMAC(message);
2860
2961
  }
2861
2962
  const responsePromise = new Promise((resolve, reject) => {
@@ -2877,7 +2978,7 @@ var init_iframe_manager = __esm({
2877
2978
  return responsePromise;
2878
2979
  }
2879
2980
  /**
2880
- * Compute HMAC for message authentication
2981
+ * Compute HMAC for message authentication using SDK channel token
2881
2982
  */
2882
2983
  async computeHMAC(message) {
2883
2984
  const encoder = new TextEncoder();
@@ -2889,7 +2990,7 @@ var init_iframe_manager = __esm({
2889
2990
  data: JSON.stringify(message.data)
2890
2991
  });
2891
2992
  const data = encoder.encode(payload);
2892
- const key = encoder.encode(this.sessionToken);
2993
+ const key = encoder.encode(this.channelToken);
2893
2994
  const cryptoKey = await crypto.subtle.importKey("raw", key, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
2894
2995
  const signature = await crypto.subtle.sign("HMAC", cryptoKey, data);
2895
2996
  return Array.from(new Uint8Array(signature)).map((b) => b.toString(16).padStart(2, "0")).join("");
@@ -3634,6 +3735,7 @@ var init_iframe_manager = __esm({
3634
3735
  */
3635
3736
  destroy() {
3636
3737
  this.log("[IframeManager] Destroying iframe...");
3738
+ this.stopHeartbeat();
3637
3739
  this.pendingRequests.forEach((pending) => {
3638
3740
  pending.reject(new Error("Iframe manager destroyed"));
3639
3741
  });
@@ -3647,7 +3749,7 @@ var init_iframe_manager = __esm({
3647
3749
  }
3648
3750
  this.iframe = null;
3649
3751
  this.isReady = false;
3650
- this.sessionToken = null;
3752
+ this.channelToken = null;
3651
3753
  this.log("[IframeManager] \u2705 Destroyed");
3652
3754
  }
3653
3755
  /**
@@ -4542,7 +4644,7 @@ __export(index_exports, {
4542
4644
  module.exports = __toCommonJS(index_exports);
4543
4645
 
4544
4646
  // src/styles/built.css
4545
- var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .sticky{position:sticky}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-0{right:0}.lumia-scope .-right-0\\.5{right:-.125rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-0{top:0}.lumia-scope .-top-0\\.5{top:-.125rem}.lumia-scope .-top-1{top:-.25rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .-top-3{top:-.75rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-0{right:0}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .m-4{margin:1rem}.lumia-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .aspect-square{aspect-ratio:1/1}.lumia-scope .size-3{width:.75rem;height:.75rem}.lumia-scope .size-3\\.5{width:.875rem;height:.875rem}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .h-1{height:.25rem}.lumia-scope .h-1\\.5{height:.375rem}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-7{height:1.75rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[100dvh\\]{height:100dvh}.lumia-scope .h-\\[48px\\]{height:48px}.lumia-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-64{max-height:16rem}.lumia-scope .max-h-80{max-height:20rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .max-h-full{max-height:100%}.lumia-scope .w-1{width:.25rem}.lumia-scope .w-1\\.5{width:.375rem}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-72{width:18rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[40px\\]{width:40px}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-4{min-width:1rem}.lumia-scope .min-w-5{min-width:1.25rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[8rem\\]{min-width:8rem}.lumia-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[150px\\]{max-width:150px}.lumia-scope .max-w-\\[160px\\]{max-width:160px}.lumia-scope .max-w-\\[256px\\]{max-width:256px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[80px\\]{max-width:80px}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .rotate-180{--tw-rotate:180deg}.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-help{cursor:help}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lumia-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lumia-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lumia-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-0\\.5{gap:.125rem}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-1\\.5{gap:.375rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-x-hidden{overflow-x:hidden}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-normal{overflow-wrap:normal;word-break:normal}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-border\\)\\]{border-color:var(--l-pass-border)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-accent\\)\\]{background-color:var(--l-pass-accent)}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-muted\\)\\]{background-color:var(--l-pass-bg-muted)}.lumia-scope .bg-\\[var\\(--l-pass-bg-secondary\\)\\]{background-color:var(--l-pass-bg-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-error\\)\\]{background-color:var(--l-pass-error)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-black\\/90{background-color:rgba(0,0,0,.9)}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[2px\\]{padding:2px}.lumia-scope .p-\\[var\\(--l-pass-gap\\)\\]{padding:var(--l-pass-gap)}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-1{padding-left:.25rem;padding-right:.25rem}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-gap\\)\\]{padding-left:var(--l-pass-gap);padding-right:var(--l-pass-gap)}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pl-2{padding-left:.5rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pr-8{padding-right:2rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[14px\\]{font-size:14px}.lumia-scope .text-\\[16px\\]{font-size:16px}.lumia-scope .text-\\[8px\\]{font-size:8px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-normal{font-weight:400}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .lowercase{text-transform:lowercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-8{line-height:2rem}.lumia-scope .leading-\\[8px\\]{line-height:8px}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .tracking-wider{letter-spacing:.05em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-2{text-underline-offset:2px}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .shadow-sm,.lumia-scope .shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .grayscale{--tw-grayscale:grayscale(100%)}.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,384px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#ebebeb);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,var(--l-pass-secondary));--l-pass-success:var(--lumia-passport-success,#000);--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,#000);--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.6));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.6));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.4));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,var(--l-pass-secondary));--l-pass-success:var(--lumia-passport-success,#000);--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,#000);--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.lumia-scope input,.lumia-scope textarea{font-size:16px!important}.lumia-scope .lumia-passport-button{box-shadow:0 4px 20px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.lumia-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.lumia-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}.lumia-scope .file\\:mr-\\[var\\(--l-pass-gap\\)\\]::file-selector-button{margin-right:var(--l-pass-gap)}.lumia-scope .file\\:h-12::file-selector-button{height:3rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.lumia-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg-secondary\\)\\]:hover{background-color:var(--l-pass-bg-secondary)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:bg-transparent:focus{background-color:transparent}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-secondary\\)\\]:hover:disabled{background-color:var(--l-pass-secondary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.lumia-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.lumia-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.lumia-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.lumia-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}.lumia-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--l-pass-gap\\)\\][data-slot=select-value]>*){gap:var(--l-pass-gap)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.lumia-scope .md\\:h-8{height:2rem}.lumia-scope .md\\:w-8{width:2rem}.lumia-scope .md\\:gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\\'size-\\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
4647
+ var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .invisible{visibility:hidden}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .sticky{position:sticky}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-0{right:0}.lumia-scope .-right-0\\.5{right:-.125rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .-right-2{right:-.5rem}.lumia-scope .-top-0{top:0}.lumia-scope .-top-0\\.5{top:-.125rem}.lumia-scope .-top-1{top:-.25rem}.lumia-scope .-top-2{top:-.5rem}.lumia-scope .-top-3{top:-.75rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-0{left:0}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .right-0{right:0}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .right-\\[var\\(--l-pass-pd\\)\\]{right:var(--l-pass-pd)}.lumia-scope .right-full{right:100%}.lumia-scope .top-0{top:0}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[var\\(--l-pass-pd\\)\\]{top:var(--l-pass-pd)}.lumia-scope .top-full{top:100%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[9998\\]{z-index:9998}.lumia-scope .z-\\[9999\\]{z-index:9999}.lumia-scope .-m-px{margin:-1px}.lumia-scope .m-0{margin:0}.lumia-scope .m-4{margin:1rem}.lumia-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .my-auto{margin-top:auto;margin-bottom:auto}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-3{margin-left:.75rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mr-4{margin-right:1rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .aspect-square{aspect-ratio:1/1}.lumia-scope .size-3{width:.75rem;height:.75rem}.lumia-scope .size-3\\.5{width:.875rem;height:.875rem}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .size-5{width:1.25rem;height:1.25rem}.lumia-scope .h-1{height:.25rem}.lumia-scope .h-1\\.5{height:.375rem}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-20{height:5rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-7{height:1.75rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-\\[100dvh\\]{height:100dvh}.lumia-scope .h-\\[48px\\]{height:48px}.lumia-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.lumia-scope .h-fit{height:-moz-fit-content;height:fit-content}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-64{max-height:16rem}.lumia-scope .max-h-80{max-height:20rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[95dvh\\]{max-height:95dvh}.lumia-scope .max-h-full{max-height:100%}.lumia-scope .w-1{width:.25rem}.lumia-scope .w-1\\.5{width:.375rem}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-20{width:5rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-72{width:18rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-\\[100dvw\\]{width:100dvw}.lumia-scope .w-\\[40px\\]{width:40px}.lumia-scope .w-\\[var\\(--l-pass-maw\\)\\]{width:var(--l-pass-maw)}.lumia-scope .w-fit{width:-moz-fit-content;width:fit-content}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-4{min-width:1rem}.lumia-scope .min-w-5{min-width:1.25rem}.lumia-scope .min-w-\\[256px\\]{min-width:256px}.lumia-scope .min-w-\\[8rem\\]{min-width:8rem}.lumia-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[144px\\]{max-width:144px}.lumia-scope .max-w-\\[150px\\]{max-width:150px}.lumia-scope .max-w-\\[160px\\]{max-width:160px}.lumia-scope .max-w-\\[256px\\]{max-width:256px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-\\[80px\\]{max-width:80px}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-none{flex:none}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\]{--tw-translate-x:calc(var(--l-pass-gap)*-1)}.lumia-scope .-translate-x-\\[var\\(--l-pass-gap\\)\\],.lumia-scope .-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .-translate-y-1\\/2,.lumia-scope .rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .rotate-180{--tw-rotate:180deg}.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--l-pass-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--l-pass-bg-warning)}}.lumia-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.lumia-scope .animate-pulse-warning{animation:pulse-warning 2s ease infinite}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-default{cursor:default}.lumia-scope .cursor-help{cursor:help}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .cursor-text{cursor:text}.lumia-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lumia-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lumia-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lumia-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .place-content-center{place-content:center}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-end{align-items:flex-end}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .justify-evenly{justify-content:space-evenly}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-1\\.5{gap:.375rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope .gap-\\[10px\\]{gap:10px}.lumia-scope .gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .overflow-x-hidden{overflow-x:hidden}.lumia-scope .overflow-y-hidden{overflow-y:hidden}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumia-scope .text-ellipsis{text-overflow:ellipsis}.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-normal{overflow-wrap:normal;word-break:normal}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-\\[10px\\]{border-radius:10px}.lumia-scope .rounded-\\[5px\\]{border-radius:5px}.lumia-scope .rounded-\\[var\\(--l-pass-bdrs\\)\\]{border-radius:var(--l-pass-bdrs)}.lumia-scope .rounded-\\[var\\(--l-pass-el-bdrs\\)\\]{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:.5rem}.lumia-scope .rounded-md{border-radius:.375rem}.lumia-scope .rounded-sm{border-radius:.125rem}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-dashed{border-style:dashed}.lumia-scope .border-\\[var\\(--l-pass-bd\\)\\]{border-color:var(--l-pass-bd)}.lumia-scope .border-\\[var\\(--l-pass-border\\)\\]{border-color:var(--l-pass-border)}.lumia-scope .border-\\[var\\(--l-pass-error\\)\\]{border-color:var(--l-pass-error)}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.lumia-scope .border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.lumia-scope .border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.lumia-scope .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.lumia-scope .border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[var\\(--l-pass-accent\\)\\]{background-color:var(--l-pass-accent)}.lumia-scope .bg-\\[var\\(--l-pass-bg\\)\\]{background-color:var(--l-pass-bg)}.lumia-scope .bg-\\[var\\(--l-pass-bg-error\\)\\]{background-color:var(--l-pass-bg-error)}.lumia-scope .bg-\\[var\\(--l-pass-bg-info\\)\\]{background-color:var(--l-pass-bg-info)}.lumia-scope .bg-\\[var\\(--l-pass-bg-muted\\)\\]{background-color:var(--l-pass-bg-muted)}.lumia-scope .bg-\\[var\\(--l-pass-bg-secondary\\)\\]{background-color:var(--l-pass-bg-secondary)}.lumia-scope .bg-\\[var\\(--l-pass-bg-success\\)\\]{background-color:var(--l-pass-bg-success)}.lumia-scope .bg-\\[var\\(--l-pass-bg-warning\\)\\]{background-color:var(--l-pass-bg-warning)}.lumia-scope .bg-\\[var\\(--l-pass-error\\)\\]{background-color:var(--l-pass-error)}.lumia-scope .bg-\\[var\\(--l-pass-fg\\)\\]{background-color:var(--l-pass-fg)}.lumia-scope .bg-\\[var\\(--l-pass-overlay\\)\\]{background-color:var(--l-pass-overlay)}.lumia-scope .bg-\\[var\\(--l-pass-primary\\)\\]{background-color:var(--l-pass-primary)}.lumia-scope .bg-\\[var\\(--l-pass-secondary\\)\\]{background-color:var(--l-pass-secondary)}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-black\\/90{background-color:rgba(0,0,0,.9)}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .p-\\[2px\\]{padding:2px}.lumia-scope .p-\\[var\\(--l-pass-gap\\)\\]{padding:var(--l-pass-gap)}.lumia-scope .p-\\[var\\(--l-pass-pd\\)\\]{padding:var(--l-pass-pd)}.lumia-scope .px-0{padding-left:0;padding-right:0}.lumia-scope .px-1{padding-left:.25rem;padding-right:.25rem}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .px-\\[var\\(--l-pass-gap\\)\\]{padding-left:var(--l-pass-gap);padding-right:var(--l-pass-gap)}.lumia-scope .px-\\[var\\(--l-pass-pd\\)\\]{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.lumia-scope .py-\\[var\\(--l-pass-pd\\)\\]{padding-top:var(--l-pass-pd);padding-bottom:var(--l-pass-pd)}.lumia-scope .pb-2{padding-bottom:.5rem}.lumia-scope .pb-3{padding-bottom:.75rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pb-5{padding-bottom:1.25rem}.lumia-scope .pb-6{padding-bottom:1.5rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pl-2{padding-left:.5rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pr-8{padding-right:2rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .pt-5{padding-top:1.25rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-3xl{font-size:1.875rem;line-height:2.25rem}.lumia-scope .text-4xl{font-size:2.25rem;line-height:2.5rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[14px\\]{font-size:14px}.lumia-scope .text-\\[16px\\]{font-size:16px}.lumia-scope .text-\\[8px\\]{font-size:8px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-normal{font-weight:400}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .uppercase{text-transform:uppercase}.lumia-scope .lowercase{text-transform:lowercase}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-4{line-height:1rem}.lumia-scope .leading-5{line-height:1.25rem}.lumia-scope .leading-6{line-height:1.5rem}.lumia-scope .leading-8{line-height:2rem}.lumia-scope .leading-\\[8px\\]{line-height:8px}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-relaxed{line-height:1.625}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .tracking-wide{letter-spacing:.025em}.lumia-scope .tracking-wider{letter-spacing:.05em}.lumia-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .text-\\[var\\(--l-pass-bg-error\\)\\]{color:var(--l-pass-bg-error)}.lumia-scope .text-\\[var\\(--l-pass-bg-success\\)\\]{color:var(--l-pass-bg-success)}.lumia-scope .text-\\[var\\(--l-pass-bg-warning\\)\\]{color:var(--l-pass-bg-warning)}.lumia-scope .text-\\[var\\(--l-pass-error\\)\\]{color:var(--l-pass-error)}.lumia-scope .text-\\[var\\(--l-pass-fg\\)\\]{color:var(--l-pass-fg)}.lumia-scope .text-\\[var\\(--l-pass-fg-inverted\\)\\]{color:var(--l-pass-fg-inverted)}.lumia-scope .text-\\[var\\(--l-pass-fg-muted\\)\\]{color:var(--l-pass-fg-muted)}.lumia-scope .text-\\[var\\(--l-pass-info\\)\\]{color:var(--l-pass-info)}.lumia-scope .text-\\[var\\(--l-pass-success\\)\\]{color:var(--l-pass-success)}.lumia-scope .text-\\[var\\(--l-pass-text-secondary\\)\\]{color:var(--l-pass-text-secondary)}.lumia-scope .text-\\[var\\(--l-pass-warning\\)\\]{color:var(--l-pass-warning)}.lumia-scope .text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.lumia-scope .text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.lumia-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.lumia-scope .text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-2{text-underline-offset:2px}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .opacity-50{opacity:.5}.lumia-scope .opacity-60{opacity:.6}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .shadow-sm,.lumia-scope .shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.lumia-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.lumia-scope .outline{outline-style:solid}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .grayscale{--tw-grayscale:grayscale(100%)}.lumia-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-none{transition-property:none}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lumia-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lumia-scope{--l-pass-ff:var(--lumia-passport-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--l-pass-maw:var(--lumia-passport-maw,384px);--l-pass-pd:var(--lumia-passport-pd,12px);--l-pass-gap:var(--lumia-passport-gap,10px);--l-pass-bdrs:var(--lumia-passport-bdrs,20px);--l-pass-el-bdrs:var(--lumia-passport-element-bdrs,10px);--l-pass-backdrop-blur:var(--lumia-passport-backdrop-blur,10px)}.lumia-scope[data-lumia-passport-mode=light]{--l-pass-overlay:var(--lumia-passport-overlay,hsla(0,0%,100%,.8));--l-pass-bg:var(--lumia-passport-bg,#fff);--l-pass-fg:var(--lumia-passport-fg,#000);--l-pass-fg-h:var(--lumia-passport-fg-h,rgba(0,0,0,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,rgba(0,0,0,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#fff);--l-pass-fg-muted:var(--lumia-passport-fg-muted,rgba(0,0,0,.6));--l-pass-primary:var(--lumia-passport-primary,#000);--l-pass-primary-h:var(--lumia-passport-primary-h,rgba(0,0,0,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,rgba(0,0,0,.6));--l-pass-secondary:var(--lumia-passport-secondary,#e4e4e4);--l-pass-secondary-h:var(--lumia-passport-secondary-h,hsla(0,0%,89%,.8));--l-pass-secondary-a:var(--lumia-passport-secondary-a,hsla(0,0%,89%,.6));--l-pass-bd:var(--lumia-passport-bd,#ebebeb);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#a9a9a9);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,var(--l-pass-secondary));--l-pass-success:var(--lumia-passport-success,#000);--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,#000);--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope[data-lumia-passport-mode=dark]{--l-pass-overlay:var(--lumia-passport-overlay,rgba(0,0,0,.8));--l-pass-bg:var(--lumia-passport-bg,#1a1a1a);--l-pass-fg:var(--lumia-passport-fg,#fff);--l-pass-fg-h:var(--lumia-passport-fg-h,hsla(0,0%,100%,.6));--l-pass-fg-a:var(--lumia-passport-fg-a,hsla(0,0%,100%,.4));--l-pass-fg-inverted:var(--lumia-passport-fg-inverted,#000);--l-pass-fg-muted:var(--lumia-passport-fg-muted,hsla(0,0%,100%,.6));--l-pass-primary:var(--lumia-passport-primary,#fff);--l-pass-primary-h:var(--lumia-passport-primary-h,hsla(0,0%,100%,.8));--l-pass-primary-a:var(--lumia-passport-primary-a,hsla(0,0%,100%,.6));--l-pass-secondary:var(--lumia-passport-secondary,#2a2a2a);--l-pass-secondary-h:var(--lumia-passport-secondary-h,rgba(42,42,42,.6));--l-pass-secondary-a:var(--lumia-passport-secondary-a,rgba(42,42,42,.4));--l-pass-bd:var(--lumia-passport-bd,#3a3a3a);--l-pass-bd-intense:var(--lumia-passport-bd-intense,#4a4a4a);--l-pass-shadow-c:var(--lumia-passport-shadow-c,rgba(0,0,0,.1));--l-pass-info:var(--lumia-passport-info,var(--l-pass-fg));--l-pass-bg-info:var(--lumia-passport-bg-info,var(--l-pass-secondary));--l-pass-success:var(--lumia-passport-success,#000);--l-pass-bg-success:var(--lumia-passport-bg-success,#21ff51);--l-pass-warning:var(--lumia-passport-warning,#000);--l-pass-bg-warning:var(--lumia-passport-bg-warning,#e9fa00);--l-pass-error:var(--lumia-passport-error,#fff);--l-pass-bg-error:var(--lumia-passport-bg-error,#d6204e)}.lumia-scope,.lumia-scope *{margin:0;box-sizing:border-box;font-family:var(--l-pass-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lumia-scope button,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6,.lumia-scope input,.lumia-scope p,.lumia-scope select,.lumia-scope textarea{font-family:var(--l-pass-ff)!important;margin:0}.lumia-scope button,.lumia-scope input,.lumia-scope select,.lumia-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.lumia-scope input,.lumia-scope textarea{font-size:16px!important}.lumia-scope .lumia-passport-button{box-shadow:0 4px 20px var(--l-pass-shadow-c),inset 0 0 0 1px var(--l-pass-bd);transition:transform .25s ease}.lumia-scope .lumia-passport-button:hover{transform:scale(1.02)}.lumia-scope .lumia-passport-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.lumia-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.lumia-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.lumia-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.lumia-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.lumia-scope .list-scrollbar-y{width:100%;padding-right:var(--l-pass-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--l-pass-scrollbar-mah,300px)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--l-pass-bd)}.lumia-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.lumia-scope .noScrollbars::-webkit-scrollbar{display:none}.lumia-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}.lumia-scope .file\\:mr-\\[var\\(--l-pass-gap\\)\\]::file-selector-button{margin-right:var(--l-pass-gap)}.lumia-scope .file\\:h-12::file-selector-button{height:3rem}.lumia-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.lumia-scope .file\\:rounded-\\[var\\(--l-pass-el-bdrs\\)\\]::file-selector-button{border-radius:var(--l-pass-el-bdrs)}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-\\[var\\(--l-pass-primary\\)\\]::file-selector-button{background-color:var(--l-pass-primary)}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-\\[var\\(--l-pass-pd\\)\\]::file-selector-button{padding-left:var(--l-pass-pd);padding-right:var(--l-pass-pd)}.lumia-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.lumia-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:text-\\[var\\(--l-pass-fg-inverted\\)\\]::file-selector-button{color:var(--l-pass-fg-inverted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::-moz-placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .placeholder\\:text-\\[var\\(--l-pass-fg-muted\\)\\]::placeholder{color:var(--l-pass-fg-muted)}.lumia-scope .focus-within\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus-within{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover{background-color:var(--l-pass-bg)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-bg-secondary\\)\\]:hover{background-color:var(--l-pass-bg-secondary)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-primary-h\\)\\]:hover{background-color:var(--l-pass-primary-h)}.lumia-scope .hover\\:bg-\\[var\\(--l-pass-secondary-h\\)\\]:hover{background-color:var(--l-pass-secondary-h)}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-\\[var\\(--l-pass-fg-h\\)\\]:hover{color:var(--l-pass-fg-h)}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.lumia-scope .focus\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:focus{background-color:var(--l-pass-secondary-a)}.lumia-scope .focus\\:bg-transparent:focus{background-color:transparent}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active{background-color:var(--l-pass-bg)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-primary-a\\)\\]:active{background-color:var(--l-pass-primary-a)}.lumia-scope .active\\:bg-\\[var\\(--l-pass-secondary-a\\)\\]:active{background-color:var(--l-pass-secondary-a)}.lumia-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.lumia-scope .active\\:text-\\[var\\(--l-pass-fg-a\\)\\]:active{color:var(--l-pass-fg-a)}.lumia-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.lumia-scope .disabled\\:cursor-default:disabled{cursor:default}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-bg\\)\\]:hover:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-primary\\)\\]:hover:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:hover\\:bg-\\[var\\(--l-pass-secondary\\)\\]:hover:disabled{background-color:var(--l-pass-secondary)}.lumia-scope .disabled\\:hover\\:text-\\[var\\(--l-pass-fg\\)\\]:hover:disabled{color:var(--l-pass-fg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-bg\\)\\]:active:disabled{background-color:var(--l-pass-bg)}.lumia-scope .disabled\\:active\\:bg-\\[var\\(--l-pass-primary\\)\\]:active:disabled{background-color:var(--l-pass-primary)}.lumia-scope .disabled\\:active\\:text-\\[var\\(--l-pass-fg\\)\\]:active:disabled{color:var(--l-pass-fg)}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.lumia-scope :is(.group:hover .group-hover\\:opacity-60){opacity:.6}.lumia-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.lumia-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.lumia-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.lumia-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.lumia-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.lumia-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.lumia-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.lumia-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--l-pass-bd-intense\\)\\][data-state=checked]{border-color:var(--l-pass-bd-intense)}.lumia-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--l-pass-secondary\\)\\][data-state=checked]{background-color:var(--l-pass-secondary)}.lumia-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--l-pass-fg\\)\\][data-state=checked]{color:var(--l-pass-fg)}.lumia-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.lumia-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--l-pass-gap\\)\\][data-slot=select-value]>*){gap:var(--l-pass-gap)}@media (min-width:640px){.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.lumia-scope .md\\:h-8{height:2rem}.lumia-scope .md\\:w-8{width:2rem}.lumia-scope .md\\:gap-\\[var\\(--l-pass-gap\\)\\]{gap:var(--l-pass-gap)}.lumia-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\\'size-\\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
4546
4648
 
4547
4649
  // src/context/LumiaPassportContext.tsx
4548
4650
  var import_error_tracking4 = require("@lumiapassport/core/internal/error-tracking");
@@ -5570,7 +5672,7 @@ function Header() {
5570
5672
  // package.json
5571
5673
  var package_default = {
5572
5674
  name: "@lumiapassport/ui-kit",
5573
- version: "1.15.13",
5675
+ version: "1.16.1",
5574
5676
  description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
5575
5677
  type: "module",
5576
5678
  main: "./dist/index.cjs",
@@ -9991,6 +10093,7 @@ var useManageWalletStore = (0, import_zustand5.create)((set) => ({
9991
10093
  emailCode: "",
9992
10094
  emailCodeExpiresIn: 0,
9993
10095
  linkIsLoading: false,
10096
+ linkError: null,
9994
10097
  providerType: null,
9995
10098
  confirmUnlink: null,
9996
10099
  setAlert: (alert2) => set({ alert: alert2 }),
@@ -9999,6 +10102,7 @@ var useManageWalletStore = (0, import_zustand5.create)((set) => ({
9999
10102
  setEmailCode: (emailCode) => set({ emailCode }),
10000
10103
  setEmailCodeExpiresIn: (emailCodeExpiresIn) => set({ emailCodeExpiresIn }),
10001
10104
  setLinkIsLoading: (linkIsLoading) => set({ linkIsLoading }),
10105
+ setLinkError: (linkError) => set({ linkError }),
10002
10106
  setProviderType: (providerType) => set({ providerType }),
10003
10107
  setConfirmUnlink: (confirmUnlink) => set({ confirmUnlink })
10004
10108
  }));
@@ -10815,144 +10919,28 @@ function UnlinkProviderMenu() {
10815
10919
  ] });
10816
10920
  }
10817
10921
 
10818
- // src/internal/components/NicknameSettings/NicknameSettings.tsx
10819
- var import_lucide_react36 = require("lucide-react");
10820
-
10821
- // src/internal/hooks/useNicknameInfo.ts
10822
- var import_react_query27 = require("@tanstack/react-query");
10823
- init_nickname();
10824
- init_profile();
10825
- function useNicknameInfo(enabled = true) {
10826
- const query = (0, import_react_query27.useQuery)({
10827
- queryKey: [QUERY_KEYS.nicknameInfo],
10828
- queryFn: getNicknameInfo,
10829
- enabled,
10830
- staleTime: 1e3 * 60 * 5,
10831
- // 5 minutes
10832
- retry: 1
10833
- });
10834
- return {
10835
- data: query.data,
10836
- isLoading: query.isLoading,
10837
- isError: query.isError,
10838
- error: query.error,
10839
- refetch: query.refetch
10840
- };
10841
- }
10842
-
10843
- // src/internal/components/NicknameSettings/NicknameEditForm.tsx
10844
- var import_lucide_react35 = require("lucide-react");
10845
- var import_react41 = require("react");
10846
-
10847
- // src/internal/hooks/useChangeNickname.ts
10848
- var import_react_query28 = require("@tanstack/react-query");
10849
- init_nickname();
10850
- init_profile();
10851
- function useChangeNickname(options) {
10852
- const queryClient3 = (0, import_react_query28.useQueryClient)();
10853
- const mutation = (0, import_react_query28.useMutation)({
10854
- mutationFn: (handle) => changeNickname(handle),
10855
- onSuccess: (result) => {
10856
- queryClient3.invalidateQueries({ queryKey: [QUERY_KEYS.nicknameInfo] });
10857
- queryClient3.invalidateQueries({ queryKey: [QUERY_KEYS.userProfile] });
10858
- options?.onSuccess?.(result);
10859
- },
10860
- onError: (error) => {
10861
- const nicknameError = {
10862
- error: error.error || error.message,
10863
- code: error.code || "UNKNOWN_ERROR",
10864
- daysRemaining: error.daysRemaining,
10865
- canChangeAt: error.canChangeAt
10866
- };
10867
- options?.onError?.(nicknameError);
10868
- }
10869
- });
10870
- return {
10871
- mutate: mutation.mutate,
10872
- mutateAsync: mutation.mutateAsync,
10873
- isLoading: mutation.isPending,
10874
- isError: mutation.isError,
10875
- isSuccess: mutation.isSuccess,
10876
- error: mutation.error ? {
10877
- error: mutation.error.error || mutation.error.message,
10878
- code: mutation.error.code || "UNKNOWN_ERROR",
10879
- daysRemaining: mutation.error.daysRemaining,
10880
- canChangeAt: mutation.error.canChangeAt
10881
- } : null,
10882
- data: mutation.data,
10883
- reset: mutation.reset
10884
- };
10885
- }
10886
-
10887
- // src/internal/hooks/useNicknameAvailability.ts
10922
+ // src/internal/components/NicknameMenu/NicknameMenu.tsx
10888
10923
  var import_react_query29 = require("@tanstack/react-query");
10889
- var import_react40 = require("react");
10924
+ var import_dayjs2 = __toESM(require("dayjs"), 1);
10925
+ var import_lucide_react36 = require("lucide-react");
10926
+ var import_react42 = require("react");
10890
10927
  init_nickname();
10891
10928
  init_profile();
10892
10929
 
10893
- // src/internal/lib/nickname-validation.ts
10894
- var NICKNAME_MIN_LENGTH = 3;
10895
- var NICKNAME_MAX_LENGTH = 20;
10896
- var NICKNAME_PATTERN = /^[a-z0-9_]+$/;
10897
- function validateNickname(handle) {
10898
- const normalized = handle.replace(/^@/, "").toLowerCase().trim();
10899
- if (normalized.length < NICKNAME_MIN_LENGTH) {
10900
- return { valid: false, error: "TOO_SHORT" };
10901
- }
10902
- if (normalized.length > NICKNAME_MAX_LENGTH) {
10903
- return { valid: false, error: "TOO_LONG" };
10904
- }
10905
- if (!NICKNAME_PATTERN.test(normalized)) {
10906
- return { valid: false, error: "INVALID_CHARS" };
10907
- }
10908
- if (normalized.startsWith("_") || normalized.endsWith("_") || normalized.includes("__")) {
10909
- return { valid: false, error: "INVALID_UNDERSCORE" };
10910
- }
10911
- return { valid: true };
10912
- }
10913
- function normalizeNickname(handle) {
10914
- return handle.replace(/^@/, "").toLowerCase().trim();
10930
+ // src/internal/lib/nickname-cooldown.ts
10931
+ function getDaysRemaining(cooldownEndsAt) {
10932
+ if (!cooldownEndsAt) return 0;
10933
+ const endDate = new Date(cooldownEndsAt);
10934
+ const now = /* @__PURE__ */ new Date();
10935
+ if (isNaN(endDate.getTime())) return 0;
10936
+ if (endDate <= now) return 0;
10937
+ const diffMs = endDate.getTime() - now.getTime();
10938
+ const diffDays = Math.ceil(diffMs / (1e3 * 60 * 60 * 24));
10939
+ return Math.max(0, diffDays);
10915
10940
  }
10916
10941
 
10917
- // src/internal/hooks/useNicknameAvailability.ts
10918
- var DEBOUNCE_MS = 300;
10919
- function useNicknameAvailability(handle, enabled = true) {
10920
- const [debouncedHandle, setDebouncedHandle] = (0, import_react40.useState)("");
10921
- const [isDebouncing, setIsDebouncing] = (0, import_react40.useState)(false);
10922
- const normalized = normalizeNickname(handle);
10923
- const validation = validateNickname(handle);
10924
- const isValidForCheck = validation.valid && normalized.length > 0;
10925
- (0, import_react40.useEffect)(() => {
10926
- if (!isValidForCheck || !enabled) {
10927
- setDebouncedHandle("");
10928
- setIsDebouncing(false);
10929
- return;
10930
- }
10931
- setIsDebouncing(true);
10932
- const timer = setTimeout(() => {
10933
- setDebouncedHandle(normalized);
10934
- setIsDebouncing(false);
10935
- }, DEBOUNCE_MS);
10936
- return () => {
10937
- clearTimeout(timer);
10938
- };
10939
- }, [normalized, isValidForCheck, enabled]);
10940
- const query = (0, import_react_query29.useQuery)({
10941
- queryKey: QUERY_KEYS.nicknameAvailability(debouncedHandle),
10942
- queryFn: () => checkNicknameAvailability(debouncedHandle),
10943
- enabled: enabled && isValidForCheck && debouncedHandle.length > 0,
10944
- staleTime: 1e3 * 30,
10945
- // 30 seconds
10946
- retry: 1
10947
- });
10948
- return {
10949
- data: query.data,
10950
- isLoading: query.isLoading,
10951
- isChecking: isDebouncing || query.isFetching,
10952
- isError: query.isError,
10953
- error: query.error
10954
- };
10955
- }
10942
+ // src/internal/components/NicknameMenu/NicknameAvailabilityIndicator.tsx
10943
+ var import_lucide_react34 = require("lucide-react");
10956
10944
 
10957
10945
  // src/internal/lib/nickname-errors.ts
10958
10946
  var NICKNAME_ERROR_MESSAGES = {
@@ -10978,8 +10966,7 @@ function getNicknameErrorMessage(code, params) {
10978
10966
  return message;
10979
10967
  }
10980
10968
 
10981
- // src/internal/components/NicknameSettings/NicknameAvailabilityIndicator.tsx
10982
- var import_lucide_react34 = require("lucide-react");
10969
+ // src/internal/components/NicknameMenu/NicknameAvailabilityIndicator.tsx
10983
10970
  var import_jsx_runtime54 = require("react/jsx-runtime");
10984
10971
  function NicknameAvailabilityIndicator({
10985
10972
  isChecking,
@@ -10990,8 +10977,8 @@ function NicknameAvailabilityIndicator({
10990
10977
  return null;
10991
10978
  }
10992
10979
  if (isChecking) {
10993
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-fg-muted)]", children: [
10994
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react34.Loader, { className: "w-3 h-3 animate-spin" }),
10980
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Highlight, { className: "flex gap-[var(--l-pass-gap)]", children: [
10981
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react34.Loader, { className: "w-4 h-4 animate-spin" }),
10995
10982
  /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { children: "Checking availability..." })
10996
10983
  ] });
10997
10984
  }
@@ -10999,197 +10986,302 @@ function NicknameAvailabilityIndicator({
10999
10986
  return null;
11000
10987
  }
11001
10988
  if (availability.available) {
11002
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-success)]", children: [
11003
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react34.Check, { className: "w-3 h-3" }),
10989
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Highlight, { type: "success", className: "flex gap-[var(--l-pass-gap)]", children: [
10990
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react34.Check, { className: "w-4 h-4" }),
11004
10991
  /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { children: "Nickname is available" })
11005
10992
  ] });
11006
10993
  }
11007
10994
  const reason = availability.reason ? getNicknameErrorMessage(availability.reason) : "This nickname is not available";
11008
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-error)]", children: [
11009
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react34.X, { className: "w-3 h-3" }),
10995
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
10996
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react34.X, { className: "w-4 h-4" }),
11010
10997
  /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { children: reason })
11011
10998
  ] });
11012
10999
  }
11013
11000
 
11014
- // src/internal/components/NicknameSettings/NicknameEditForm.tsx
11001
+ // src/internal/components/NicknameMenu/NicknameEditForm.tsx
11002
+ var import_react_query27 = require("@tanstack/react-query");
11003
+ var import_lucide_react35 = require("lucide-react");
11004
+ var import_react40 = require("react");
11005
+ init_nickname();
11006
+ init_profile();
11007
+
11008
+ // src/internal/lib/nickname-validation.ts
11009
+ var NICKNAME_MIN_LENGTH = 3;
11010
+ var NICKNAME_MAX_LENGTH = 20;
11011
+ var NICKNAME_PATTERN = /^[a-z0-9_]+$/;
11012
+ function validateNickname(handle) {
11013
+ const normalized = handle.replace(/^@/, "").toLowerCase().trim();
11014
+ if (normalized.length < NICKNAME_MIN_LENGTH) {
11015
+ return { valid: false, error: "TOO_SHORT" };
11016
+ }
11017
+ if (normalized.length > NICKNAME_MAX_LENGTH) {
11018
+ return { valid: false, error: "TOO_LONG" };
11019
+ }
11020
+ if (!NICKNAME_PATTERN.test(normalized)) {
11021
+ return { valid: false, error: "INVALID_CHARS" };
11022
+ }
11023
+ if (normalized.startsWith("_") || normalized.endsWith("_") || normalized.includes("__")) {
11024
+ return { valid: false, error: "INVALID_UNDERSCORE" };
11025
+ }
11026
+ return { valid: true };
11027
+ }
11028
+ function normalizeNickname(handle) {
11029
+ return handle.replace(/^@/, "").toLowerCase().trim();
11030
+ }
11031
+
11032
+ // src/internal/components/NicknameMenu/NicknameEditForm.tsx
11015
11033
  var import_jsx_runtime55 = require("react/jsx-runtime");
11016
- function NicknameEditForm({ currentHandle, canChange, onSuccess }) {
11017
- const [inputValue, setInputValue] = (0, import_react41.useState)("");
11018
- const [clientError, setClientError] = (0, import_react41.useState)(null);
11019
- const normalized = normalizeNickname(inputValue);
11020
- const isSameAsCurrentHandle = normalized === currentHandle.toLowerCase();
11021
- const validation = validateNickname(inputValue);
11022
- const shouldCheckAvailability = validation.valid && !isSameAsCurrentHandle && inputValue.length > 0;
11023
- const { data: availability, isChecking } = useNicknameAvailability(inputValue, shouldCheckAvailability);
11024
- const { mutate, isLoading, isError, isSuccess, error, reset } = useChangeNickname({
11034
+ function NicknameEditForm(props) {
11035
+ const {
11036
+ inputValue,
11037
+ setInputValue,
11038
+ isUnavailable,
11039
+ isSameAsCurrentNickname,
11040
+ isAvailabilityChecking,
11041
+ //
11042
+ clientError,
11043
+ setClientError,
11044
+ info
11045
+ } = props;
11046
+ const { handle: currentNickname, canChange } = info || { handle: "", canChange: false };
11047
+ const qc = (0, import_react_query27.useQueryClient)();
11048
+ const [isNicknameCopied, setIsNicknameCopied] = (0, import_react40.useState)(false);
11049
+ const {
11050
+ mutate: changeNickname2,
11051
+ isError: isNicknameChangeError,
11052
+ isPending: isNicknameChanging,
11053
+ isSuccess: isNicknameChangeSuccess,
11054
+ // error: nicknameChangeError,
11055
+ reset
11056
+ } = (0, import_react_query27.useMutation)({
11057
+ mutationFn: (handle) => changeNickname(handle),
11025
11058
  onSuccess: () => {
11026
- setInputValue("");
11027
- setClientError(null);
11028
- onSuccess?.();
11059
+ qc.invalidateQueries({ queryKey: [QUERY_KEYS.nicknameInfo] });
11060
+ qc.invalidateQueries({ queryKey: [QUERY_KEYS.userProfile] });
11061
+ },
11062
+ onError: (error) => {
11063
+ console.error("Nickname change error:", error);
11064
+ const changeNicknameError = error;
11065
+ setClientError(
11066
+ changeNicknameError ? getNicknameErrorMessage(changeNicknameError.code, {
11067
+ days: changeNicknameError.daysRemaining,
11068
+ canChangeAt: changeNicknameError.canChangeAt
11069
+ }) : null
11070
+ );
11029
11071
  }
11030
11072
  });
11031
- const handleInputChange = (0, import_react41.useCallback)(
11073
+ const handleInputChange = (0, import_react40.useCallback)(
11032
11074
  (e) => {
11033
11075
  const value = e.target.value;
11034
11076
  setInputValue(value);
11035
11077
  if (clientError) setClientError(null);
11036
- if (isError || isSuccess) reset();
11037
- if (value.length > 0) {
11038
- const validation2 = validateNickname(value);
11039
- if (!validation2.valid && validation2.error) {
11040
- setClientError(getNicknameErrorMessage(validation2.error));
11041
- }
11078
+ if (isNicknameChangeError || isNicknameChangeSuccess) reset();
11079
+ if (value?.length < 1) return;
11080
+ const validation = validateNickname(value);
11081
+ if (!validation.valid && validation.error) {
11082
+ setClientError(getNicknameErrorMessage(validation.error));
11042
11083
  }
11043
11084
  },
11044
- [clientError, isError, isSuccess, reset]
11085
+ [clientError, isNicknameChangeError, isNicknameChangeSuccess, reset]
11045
11086
  );
11046
- const handleSubmit = (0, import_react41.useCallback)(
11087
+ const handleSubmit = (0, import_react40.useCallback)(
11047
11088
  (e) => {
11089
+ if (!canChange) return;
11048
11090
  e.preventDefault();
11049
- const normalized2 = normalizeNickname(inputValue);
11050
- if (normalized2 === currentHandle.toLowerCase()) {
11091
+ const normalized = normalizeNickname(inputValue);
11092
+ if (normalized === currentNickname.toLowerCase()) {
11051
11093
  setClientError("This is already your nickname");
11052
11094
  return;
11053
11095
  }
11054
- const validation2 = validateNickname(inputValue);
11055
- if (!validation2.valid && validation2.error) {
11056
- setClientError(getNicknameErrorMessage(validation2.error));
11096
+ const validation = validateNickname(inputValue);
11097
+ if (!validation.valid && validation.error) {
11098
+ setClientError(getNicknameErrorMessage(validation.error));
11057
11099
  return;
11058
11100
  }
11059
- mutate(normalized2);
11101
+ changeNickname2(normalized);
11060
11102
  },
11061
- [inputValue, currentHandle, mutate]
11103
+ [inputValue, currentNickname, canChange, changeNickname2]
11062
11104
  );
11063
- const displayError = clientError || (isError && error ? getNicknameErrorMessage(error.code, {
11064
- days: error.daysRemaining,
11065
- canChangeAt: error.canChangeAt
11066
- }) : null);
11067
- const isUnavailable = shouldCheckAvailability && availability && !availability.available;
11068
- const isSubmitDisabled = !canChange || isLoading || isChecking || inputValue.length === 0 || !!clientError || isSameAsCurrentHandle || isUnavailable;
11069
- if (!canChange) {
11070
- return null;
11071
- }
11072
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("form", { onSubmit: handleSubmit, className: "w-full flex flex-col gap-3", children: [
11073
- /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex flex-col gap-1", children: [
11074
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "New nickname" }),
11105
+ const isSubmitDisabled = !canChange || isNicknameChanging || isAvailabilityChecking || inputValue.length === 0 || !!clientError || isSameAsCurrentNickname || isUnavailable;
11106
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_jsx_runtime55.Fragment, { children: [
11107
+ canChange ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("form", { onSubmit: handleSubmit, className: "w-full", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
11075
11108
  /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
11076
11109
  Input,
11077
11110
  {
11111
+ Icon: import_lucide_react35.AtSign,
11078
11112
  value: inputValue,
11079
11113
  onChange: handleInputChange,
11080
11114
  placeholder: "Enter new nickname",
11081
- disabled: isLoading,
11082
- error: displayError || void 0
11115
+ disabled: isNicknameChanging,
11116
+ className: "flex-1"
11083
11117
  }
11084
11118
  ),
11085
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "3-20 characters, letters, numbers, and underscores only" }) }),
11086
- shouldCheckAvailability && !clientError && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(NicknameAvailabilityIndicator, { isChecking, availability })
11119
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Button, { type: "submit", size: "large", disabled: isSubmitDisabled, className: "w-12", children: isNicknameChanging ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react35.Loader, { className: "w-4 h-4 animate-spin" }) : isNicknameChangeSuccess ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react35.Check, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react35.ChevronRight, { className: "w-4 h-4" }) })
11120
+ ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "w-full flex items-center justify-between px-[var(--l-pass-pd)] h-12 bg-[var(--l-pass-secondary)] rounded-[var(--l-pass-el-bdrs)]", children: [
11121
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
11122
+ "span",
11123
+ {
11124
+ className: cn("text-lg font-semibold leading-5 transition-colors duration-200", {
11125
+ "text-[var(--l-pass-fg-muted)]": !currentNickname.length
11126
+ }),
11127
+ children: [
11128
+ !!currentNickname.length && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { children: "@" }),
11129
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { children: currentNickname || "your nickname" })
11130
+ ]
11131
+ }
11132
+ ),
11133
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
11134
+ Button,
11135
+ {
11136
+ variant: "ghost",
11137
+ size: "icon",
11138
+ onClick: () => {
11139
+ if (!!isNicknameCopied) return;
11140
+ navigator.clipboard.writeText(currentNickname);
11141
+ setIsNicknameCopied(true);
11142
+ setTimeout(() => setIsNicknameCopied(false), 2e3);
11143
+ },
11144
+ children: isNicknameCopied ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(PositiveIcon, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react35.Copy, { className: "w-4 h-4" })
11145
+ }
11146
+ )
11087
11147
  ] }),
11088
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Button, { type: "submit", size: "large", disabled: isSubmitDisabled, className: "w-full", children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_jsx_runtime55.Fragment, { children: [
11089
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react35.Loader, { className: "w-4 h-4 mr-2 animate-spin" }),
11090
- "Changing..."
11091
- ] }) : isSuccess ? /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_jsx_runtime55.Fragment, { children: [
11092
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react35.Check, { className: "w-4 h-4 mr-2" }),
11093
- "Nickname changed!"
11094
- ] }) : "Change Nickname" })
11148
+ !!canChange && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: "w-full flex items-center leadding-4 text-[10px]", children: "3-20 characters, letters, numbers, and underscores only" })
11095
11149
  ] });
11096
11150
  }
11097
11151
 
11098
- // src/internal/components/NicknameSettings/NicknameInfoDisplay.tsx
11099
- var import_react42 = require("react");
11100
-
11101
- // src/internal/lib/nickname-cooldown.ts
11102
- function getDaysRemaining(cooldownEndsAt) {
11103
- if (!cooldownEndsAt) return 0;
11104
- const endDate = new Date(cooldownEndsAt);
11105
- const now = /* @__PURE__ */ new Date();
11106
- if (isNaN(endDate.getTime())) return 0;
11107
- if (endDate <= now) return 0;
11108
- const diffMs = endDate.getTime() - now.getTime();
11109
- const diffDays = Math.ceil(diffMs / (1e3 * 60 * 60 * 24));
11110
- return Math.max(0, diffDays);
11111
- }
11112
- function formatCooldownEndDate(cooldownEndsAt) {
11113
- if (!cooldownEndsAt) return "";
11114
- const endDate = new Date(cooldownEndsAt);
11115
- if (isNaN(endDate.getTime())) return "";
11116
- return endDate.toLocaleDateString(void 0, {
11117
- year: "numeric",
11118
- month: "short",
11119
- day: "numeric"
11152
+ // src/internal/components/NicknameMenu/useNickname.ts
11153
+ var import_react_query28 = require("@tanstack/react-query");
11154
+ var import_react41 = require("react");
11155
+ init_nickname();
11156
+ init_profile();
11157
+ var DEBOUNCE_MS = 700;
11158
+ function useNicknameForm(currentNickname) {
11159
+ const [inputValue, setInputValue] = (0, import_react41.useState)("");
11160
+ const normalizedInputValue = normalizeNickname(inputValue);
11161
+ const validation = validateNickname(inputValue);
11162
+ const isValidForCheck = validation.valid && normalizedInputValue.length > 0;
11163
+ (0, import_react41.useEffect)(() => {
11164
+ console.log("[NICKNAME] form setup", currentNickname);
11165
+ setInputValue(currentNickname);
11166
+ }, [currentNickname]);
11167
+ const [queryInputValue, setQueryInputValue] = (0, import_react41.useState)("");
11168
+ const isSameAsCurrentNickname = normalizedInputValue === currentNickname.toLowerCase();
11169
+ const shouldCheckAvailability = validation.valid && !isSameAsCurrentNickname && inputValue.length > 0;
11170
+ (0, import_react41.useEffect)(() => {
11171
+ if (!isValidForCheck || !shouldCheckAvailability) {
11172
+ setQueryInputValue("");
11173
+ return;
11174
+ }
11175
+ const timer = setTimeout(() => {
11176
+ setQueryInputValue(normalizedInputValue);
11177
+ }, DEBOUNCE_MS);
11178
+ return () => {
11179
+ clearTimeout(timer);
11180
+ };
11181
+ }, [normalizedInputValue, isValidForCheck, shouldCheckAvailability]);
11182
+ const query = (0, import_react_query28.useQuery)({
11183
+ retry: 1,
11184
+ enabled: shouldCheckAvailability && isValidForCheck && queryInputValue.length > 0,
11185
+ queryKey: QUERY_KEYS.nicknameAvailability(queryInputValue),
11186
+ queryFn: () => checkNicknameAvailability(queryInputValue),
11187
+ staleTime: 1e3 * 30
11188
+ // 30 seconds stale to not check same InputValue repeatedly
11120
11189
  });
11190
+ return {
11191
+ inputValue,
11192
+ setInputValue,
11193
+ isSameAsCurrentNickname,
11194
+ isUnavailable: shouldCheckAvailability && !query?.data?.available,
11195
+ shouldCheckAvailability,
11196
+ availabilityQuery: query
11197
+ };
11121
11198
  }
11122
11199
 
11123
- // src/internal/components/NicknameSettings/NicknameInfoDisplay.tsx
11200
+ // src/internal/components/NicknameMenu/NicknameMenu.tsx
11124
11201
  var import_jsx_runtime56 = require("react/jsx-runtime");
11125
- function NicknameInfoDisplay({ info }) {
11126
- const daysRemaining = getDaysRemaining(info.cooldownEndsAt);
11127
- const cooldownEndDate = formatCooldownEndDate(info.cooldownEndsAt);
11128
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_react42.Fragment, { children: [
11129
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex flex-col gap-1", children: [
11130
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Your nickname" }),
11131
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "text-lg font-bold text-[var(--l-pass-fg)]", children: info.displayHandle })
11132
- ] }),
11133
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex items-center gap-4 text-xs text-[var(--l-pass-fg-muted)]", children: [
11134
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex flex-col gap-0.5", children: [
11135
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: "Created" }),
11136
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "text-[var(--l-pass-fg)]", children: new Date(info.createdAt).toLocaleDateString(void 0, {
11137
- year: "numeric",
11138
- month: "short",
11139
- day: "numeric"
11140
- }) })
11141
- ] }),
11142
- info.changedAt && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex flex-col gap-0.5", children: [
11143
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: "Last changed" }),
11144
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "text-[var(--l-pass-fg)]", children: new Date(info.changedAt).toLocaleDateString(void 0, {
11145
- year: "numeric",
11146
- month: "short",
11147
- day: "numeric"
11148
- }) })
11149
- ] }),
11150
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex flex-col gap-0.5", children: [
11151
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: "Times changed" }),
11152
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "text-[var(--l-pass-fg)]", children: info.changeCount })
11153
- ] })
11154
- ] }),
11155
- !info.canChange && info.cooldownEndsAt && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-warning)]", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("span", { className: "text-sm text-[var(--l-pass-warning)]", children: [
11156
- "You can change your nickname again on ",
11157
- cooldownEndDate,
11158
- " (",
11159
- daysRemaining,
11160
- " days remaining)"
11161
- ] }) }),
11162
- info.canChange && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-success)]", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "text-sm text-[var(--l-pass-success)]", children: "You can change your nickname" }) })
11163
- ] });
11164
- }
11165
-
11166
- // src/internal/components/NicknameSettings/NicknameSettings.tsx
11167
- var import_jsx_runtime57 = require("react/jsx-runtime");
11168
- function NicknameSettings() {
11202
+ function NicknameMenu() {
11203
+ const address = useLumiaPassportSession((st) => st.address);
11204
+ const [clientError, setClientError] = (0, import_react42.useState)(null);
11169
11205
  const setPage = useLayoutDataStore((st) => st.setPage);
11170
11206
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
11171
- const { data: nicknameInfo, isLoading, isError, error, refetch } = useNicknameInfo();
11172
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
11207
+ const {
11208
+ data: nicknameInfo,
11209
+ isLoading: isNicknameInfoLoading,
11210
+ error: nicknameInfoError
11211
+ } = (0, import_react_query29.useQuery)({
11212
+ retry: 1,
11213
+ enabled: !!address,
11214
+ queryKey: [QUERY_KEYS.nicknameInfo, address],
11215
+ queryFn: getNicknameInfo
11216
+ });
11217
+ const {
11218
+ availabilityQuery,
11219
+ inputValue,
11220
+ isUnavailable,
11221
+ isSameAsCurrentNickname,
11222
+ shouldCheckAvailability,
11223
+ setInputValue
11224
+ } = useNicknameForm(nicknameInfo ? nicknameInfo.handle : "");
11225
+ const { data: availability, isFetching: isAvailabilityChecking } = availabilityQuery;
11226
+ const resolvedError = clientError || nicknameInfoError?.message || null;
11227
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
11173
11228
  "div",
11174
11229
  {
11175
11230
  style: { "--l-pass-scrollbar-mah": `${maxScrollHeight}px` },
11176
11231
  className: "list-scrollbar-y w-full",
11177
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
11178
- /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
11179
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react36.ArrowLeft, { className: "h-4 w-4" }) }),
11180
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "text-xl font-semibold", children: "Nickname" })
11232
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: [
11233
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)] ", children: [
11234
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_lucide_react36.ArrowLeft, { className: "h-4 w-4 flex-none" }) }),
11235
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex gap-[var(--l-pass-gap)] items-center w-fit", children: [
11236
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "text-xl font-semibold", children: "Nickname" }),
11237
+ isNicknameInfoLoading && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_lucide_react36.Loader, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" })
11238
+ ] })
11181
11239
  ] }),
11182
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "w-full p-8 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react36.Loader, { className: "w-5 h-5 animate-spin" }) }),
11183
- nicknameInfo && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(NicknameInfoDisplay, { info: nicknameInfo }),
11184
- nicknameInfo && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
11240
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "text-[10px] text-[var(--l-pass-fg-muted)]", children: "Your nickname" }),
11241
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
11185
11242
  NicknameEditForm,
11186
11243
  {
11187
- currentHandle: nicknameInfo.handle,
11188
- canChange: nicknameInfo.canChange,
11189
- onSuccess: refetch
11244
+ inputValue,
11245
+ setInputValue,
11246
+ info: nicknameInfo,
11247
+ isAvailabilityChecking,
11248
+ isUnavailable,
11249
+ isSameAsCurrentNickname,
11250
+ clientError,
11251
+ setClientError
11190
11252
  }
11191
11253
  ),
11192
- isError && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Highlight, { type: "error", children: error?.message || "Failed to load nickname info" })
11254
+ shouldCheckAvailability && !clientError && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(NicknameAvailabilityIndicator, { isChecking: isAvailabilityChecking, availability }),
11255
+ !nicknameInfo?.canChange && nicknameInfo?.cooldownEndsAt && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Highlight, { type: "warning", className: "flex gap-[var(--l-pass-gap)]", children: [
11256
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_lucide_react36.Info, { className: "w-4 h-4 flex-none" }),
11257
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("span", { children: [
11258
+ "You can change your nickname again on",
11259
+ " ",
11260
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("strong", { children: (0, import_dayjs2.default)(nicknameInfo.cooldownEndsAt).format("MMM D, YYYY") }),
11261
+ " (",
11262
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("span", { children: [
11263
+ getDaysRemaining(nicknameInfo.cooldownEndsAt),
11264
+ " days remained"
11265
+ ] }),
11266
+ ")"
11267
+ ] })
11268
+ ] }),
11269
+ !!nicknameInfo && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)] justify-between text-[10px]", children: [
11270
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("span", { children: [
11271
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: nicknameInfo.changedAt ? "Last changed:" : "Created:" }),
11272
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: " " }),
11273
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("strong", { className: "text-[var(--l-pass-fg)]", children: (0, import_dayjs2.default)(nicknameInfo.changedAt || nicknameInfo.createdAt).format("MMM D, YYYY") })
11274
+ ] }),
11275
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("span", { children: [
11276
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Times changed:" }),
11277
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: " " }),
11278
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("strong", { className: "text-[var(--l-pass-fg)]", children: nicknameInfo.changeCount })
11279
+ ] })
11280
+ ] }),
11281
+ !!resolvedError?.length && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
11282
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_lucide_react36.AlertTriangle, { className: "w-4 h-4 flex-none" }),
11283
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: resolvedError })
11284
+ ] })
11193
11285
  ] })
11194
11286
  }
11195
11287
  );
@@ -11514,7 +11606,7 @@ var import_lucide_react37 = require("lucide-react");
11514
11606
  var import_react44 = require("react");
11515
11607
  var import_viem6 = require("viem");
11516
11608
  init_base();
11517
- var import_jsx_runtime58 = require("react/jsx-runtime");
11609
+ var import_jsx_runtime57 = require("react/jsx-runtime");
11518
11610
  function openInExplorer(address) {
11519
11611
  window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank");
11520
11612
  }
@@ -11568,7 +11660,7 @@ function PortfolioItem(props) {
11568
11660
  const showProjectFiatBalance = isProjectAsset && !!projectAssetBalance?.fiatFormatted;
11569
11661
  const renderBalance = showProjectFiatBalance ? projectAssetBalance?.fiatFormatted || 0 : Number((0, import_viem6.formatUnits)(BigInt(asset?.balance || "0"), asset?.decimals || 18));
11570
11662
  const usdRenderBalance = !!assetRate?.price ? renderBalance * Number(assetRate.price) : 0;
11571
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
11663
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
11572
11664
  "div",
11573
11665
  {
11574
11666
  className: cn(
@@ -11579,7 +11671,7 @@ function PortfolioItem(props) {
11579
11671
  ),
11580
11672
  onClick: () => asset.address ? openInExplorer(asset.address) : void 0,
11581
11673
  children: [
11582
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
11674
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
11583
11675
  "div",
11584
11676
  {
11585
11677
  className: cn(
@@ -11590,7 +11682,7 @@ function PortfolioItem(props) {
11590
11682
  (!asset.logo || logoError) && !nftImage && "bg-[var(--l-pass-fg)]"
11591
11683
  ),
11592
11684
  children: [
11593
- isNft && nftImage && !nftImageError ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
11685
+ isNft && nftImage && !nftImageError ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
11594
11686
  "img",
11595
11687
  {
11596
11688
  src: nftImage,
@@ -11600,8 +11692,8 @@ function PortfolioItem(props) {
11600
11692
  }
11601
11693
  ) : isNft && (!nftImage || nftImageError) ? (
11602
11694
  // NFT placeholder when no image available
11603
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "w-full h-full bg-[var(--l-pass-fg)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react37.Image, { className: "w-5 h-5 text-[var(--l-pass-fg-inverted)]" }) })
11604
- ) : asset.logo && !logoError ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
11695
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "w-full h-full bg-[var(--l-pass-fg)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react37.Image, { className: "w-5 h-5 text-[var(--l-pass-fg-inverted)]" }) })
11696
+ ) : asset.logo && !logoError ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
11605
11697
  "img",
11606
11698
  {
11607
11699
  src: asset.logo,
@@ -11609,22 +11701,22 @@ function PortfolioItem(props) {
11609
11701
  className: "w-full h-full object-cover",
11610
11702
  onError: () => setLogoError(true)
11611
11703
  }
11612
- ) : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-[var(--l-pass-fg-inverted)] font-bold text-sm", children: asset.symbol.charAt(0) }),
11613
- isNft && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react37.Sparkles, { className: "w-2.5 h-2.5 text-[var(--l-pass-fg-inverted)]" }) }),
11614
- isSecurity && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
11704
+ ) : /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "text-[var(--l-pass-fg-inverted)] font-bold text-sm", children: asset.symbol.charAt(0) }),
11705
+ isNft && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react37.Sparkles, { className: "w-2.5 h-2.5 text-[var(--l-pass-fg-inverted)]" }) }),
11706
+ isSecurity && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
11615
11707
  "div",
11616
11708
  {
11617
11709
  className: "absolute -top-1 -right-1 w-4 h-4 rounded-full bg-amber-500 flex items-center justify-center",
11618
11710
  title: "Security Token (ERC-3643)",
11619
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react37.Shield, { className: "w-2.5 h-2.5 text-white" })
11711
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react37.Shield, { className: "w-2.5 h-2.5 text-white" })
11620
11712
  }
11621
11713
  )
11622
11714
  ]
11623
11715
  }
11624
11716
  ),
11625
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "w-full flex-1", children: [
11626
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "w-full flex items-center justify-between text-xs", children: [
11627
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
11717
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "w-full flex-1", children: [
11718
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "w-full flex items-center justify-between text-xs", children: [
11719
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
11628
11720
  "span",
11629
11721
  {
11630
11722
  className: "truncate max-w-[150px]",
@@ -11632,25 +11724,25 @@ function PortfolioItem(props) {
11632
11724
  children: isNft ? asset.nftMetadata?.collectionName || asset.name || (asset.address ? `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` : "Unknown") : asset.name || (asset.address ? `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` : "Unknown")
11633
11725
  }
11634
11726
  ),
11635
- !!usdRenderBalance && !isProjectAsset && !isNft && !isSecurity && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "USD" }),
11636
- !isSecurity && isNft && "type" in asset && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "uppercase text-[10px] px-1 bg-[var(--l-pass-bg-info)] rounded-full", children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" }),
11637
- isSecurity && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "uppercase text-[10px] px-1 bg-[var(--l-pass-bg-warning)] rounded-full", children: "Security Token" })
11727
+ !!usdRenderBalance && !isProjectAsset && !isNft && !isSecurity && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "USD" }),
11728
+ !isSecurity && isNft && "type" in asset && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "uppercase text-[10px] px-1 bg-[var(--l-pass-bg-info)] rounded-full", children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" }),
11729
+ isSecurity && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "uppercase text-[10px] px-1 bg-[var(--l-pass-bg-warning)] rounded-full", children: "Security Token" })
11638
11730
  ] }),
11639
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "w-full flex items-center justify-between font-bold text-lg leading-5", children: isNft ? /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
11640
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "truncate max-w-[160px]", title: asset.nftMetadata?.name || asset.symbol, children: asset.nftMetadata?.name || asset.symbol }),
11641
- "tokenId" in asset && asset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("span", { className: "text-xs text-[var(--l-pass-fg-muted)] font-normal", children: [
11731
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "w-full flex items-center justify-between font-bold text-lg leading-5", children: isNft ? /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
11732
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: "truncate max-w-[160px]", title: asset.nftMetadata?.name || asset.symbol, children: asset.nftMetadata?.name || asset.symbol }),
11733
+ "tokenId" in asset && asset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("span", { className: "text-xs text-[var(--l-pass-fg-muted)] font-normal", children: [
11642
11734
  "#",
11643
11735
  asset.tokenId.length > 8 ? `${asset.tokenId.slice(0, 6)}...` : asset.tokenId
11644
11736
  ] })
11645
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
11646
- /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("span", { children: [
11647
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { children: formatPrice(Number(renderBalance)) }),
11648
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { children: " " + asset.symbol })
11737
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
11738
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("span", { children: [
11739
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: formatPrice(Number(renderBalance)) }),
11740
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: " " + asset.symbol })
11649
11741
  ] }),
11650
- isRateLoading && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react37.Loader, { className: "h-4 w-4 animate-spin" }),
11651
- !isRateLoading && !!usdRenderBalance && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("span", { children: [
11652
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { children: "$" }),
11653
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { children: formatPrice(usdRenderBalance) })
11742
+ isRateLoading && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_lucide_react37.Loader, { className: "h-4 w-4 animate-spin" }),
11743
+ !isRateLoading && !!usdRenderBalance && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("span", { children: [
11744
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: "$" }),
11745
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { children: formatPrice(usdRenderBalance) })
11654
11746
  ] })
11655
11747
  ] }) })
11656
11748
  ] })
@@ -11660,7 +11752,7 @@ function PortfolioItem(props) {
11660
11752
  }
11661
11753
 
11662
11754
  // src/internal/components/PortfolioMenu/PortfolioMenu.tsx
11663
- var import_jsx_runtime59 = require("react/jsx-runtime");
11755
+ var import_jsx_runtime58 = require("react/jsx-runtime");
11664
11756
  function PortfolioMenu() {
11665
11757
  const { assets: projectAssets = [] } = useLumiaPassportConfig().config.current?.projectAssets || {};
11666
11758
  const qc = (0, import_react_query32.useQueryClient)();
@@ -11680,7 +11772,7 @@ function PortfolioMenu() {
11680
11772
  Promise.all(projectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
11681
11773
  refreshBlockscoutBalances();
11682
11774
  }, [qc, projectAssets, refreshBlockscoutBalances]);
11683
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
11775
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
11684
11776
  "div",
11685
11777
  {
11686
11778
  style: {
@@ -11688,11 +11780,11 @@ function PortfolioMenu() {
11688
11780
  "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
11689
11781
  },
11690
11782
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
11691
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11692
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
11693
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react38.ArrowLeft, { className: "h-4 w-4" }) }),
11694
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "text-xl font-semibold", children: "Your Assets" }),
11695
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
11783
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11784
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
11785
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react38.ArrowLeft, { className: "h-4 w-4" }) }),
11786
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-xl font-semibold", children: "Your Assets" }),
11787
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
11696
11788
  Button,
11697
11789
  {
11698
11790
  title: "Refresh balances",
@@ -11700,17 +11792,17 @@ function PortfolioMenu() {
11700
11792
  size: "icon",
11701
11793
  onClick: refreshAllAssetsBalances,
11702
11794
  disabled: isBlockscoutLoading,
11703
- children: isBlockscoutLoading ? /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react38.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react38.RefreshCw, { className: "h-4 w-4" })
11795
+ children: isBlockscoutLoading ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react38.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react38.RefreshCw, { className: "h-4 w-4" })
11704
11796
  }
11705
11797
  )
11706
11798
  ] }),
11707
- isBlockscoutLoading && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react38.Loader, { className: "h-5 w-5 animate-spin" }) }),
11708
- !isBlockscoutLoading && blockscoutAssets?.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Highlight, { type: "info", className: "flex flex-col items-center justify-center gap-[var(--l-pass-gap)]", children: [
11709
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react38.Gem, { className: "w-8 h-8" }),
11710
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "block", children: "No assets found" })
11799
+ isBlockscoutLoading && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "w-full flex items-center justify-center gap-[var(--l-pass-gap)] p-[var(--l-pass-pd)]", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react38.Loader, { className: "h-5 w-5 animate-spin" }) }),
11800
+ !isBlockscoutLoading && blockscoutAssets?.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Highlight, { type: "info", className: "flex flex-col items-center justify-center gap-[var(--l-pass-gap)]", children: [
11801
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react38.Gem, { className: "w-8 h-8" }),
11802
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "block", children: "No assets found" })
11711
11803
  ] }),
11712
- !isBlockscoutLoading && projectAssets?.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(PortfolioItem, { isProjectAsset: true, address, asset }, `project-${asset.symbol}-${index}`)),
11713
- !isBlockscoutLoading && blockscoutAssets?.length > 0 && blockscoutAssets.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
11804
+ !isBlockscoutLoading && projectAssets?.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(PortfolioItem, { isProjectAsset: true, address, asset }, `project-${asset.symbol}-${index}`)),
11805
+ !isBlockscoutLoading && blockscoutAssets?.length > 0 && blockscoutAssets.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
11714
11806
  PortfolioItem,
11715
11807
  {
11716
11808
  address,
@@ -11718,9 +11810,9 @@ function PortfolioMenu() {
11718
11810
  },
11719
11811
  `${asset.type}-${asset.address || "native"}-${asset.tokenId || index}`
11720
11812
  )),
11721
- blockscoutError && !isBlockscoutAvailable && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
11722
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_lucide_react38.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
11723
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "text-xs", children: blockscoutError.message })
11813
+ blockscoutError && !isBlockscoutAvailable && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
11814
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_lucide_react38.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
11815
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { className: "text-xs", children: blockscoutError.message })
11724
11816
  ] })
11725
11817
  ] })
11726
11818
  }
@@ -11729,7 +11821,7 @@ function PortfolioMenu() {
11729
11821
 
11730
11822
  // src/internal/components/SecurityMenu/SecurityMenu.tsx
11731
11823
  var import_react_query33 = require("@tanstack/react-query");
11732
- var import_dayjs3 = __toESM(require("dayjs"), 1);
11824
+ var import_dayjs4 = __toESM(require("dayjs"), 1);
11733
11825
  var import_lucide_react42 = require("lucide-react");
11734
11826
  var import_react46 = require("react");
11735
11827
  init_auth();
@@ -11744,13 +11836,13 @@ var KEYSHARE_RECOVERY_STATS_QUERY = "keyshare-recovery-stats-query";
11744
11836
  var import_lucide_react41 = require("lucide-react");
11745
11837
 
11746
11838
  // src/internal/assets/NegativeIcon.tsx
11747
- var import_jsx_runtime60 = require("react/jsx-runtime");
11839
+ var import_jsx_runtime59 = require("react/jsx-runtime");
11748
11840
  function NegativeIcon(props) {
11749
11841
  const { width = "16", height = "16", ...rest } = props;
11750
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("svg", { ...rest, width, height, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
11751
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("rect", { width: "16", height: "16", rx: "8", fill: "var(--l-pass-bg-error)" }),
11752
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("path", { d: "M10.8048 5.19482L5.19434 10.8055", stroke: "var(--l-pass-fg)", strokeLinecap: "round" }),
11753
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("path", { d: "M5.19421 5.19482L10.8047 10.8055", stroke: "var(--l-pass-fg)", strokeLinecap: "round" })
11842
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("svg", { ...rest, width, height, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
11843
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("rect", { width: "16", height: "16", rx: "8", fill: "var(--l-pass-bg-error)" }),
11844
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("path", { d: "M10.8048 5.19482L5.19434 10.8055", stroke: "var(--l-pass-fg)", strokeLinecap: "round" }),
11845
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("path", { d: "M5.19421 5.19482L10.8047 10.8055", stroke: "var(--l-pass-fg)", strokeLinecap: "round" })
11754
11846
  ] });
11755
11847
  }
11756
11848
 
@@ -11759,13 +11851,13 @@ init_vaultClient();
11759
11851
 
11760
11852
  // src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx
11761
11853
  var import_lucide_react39 = require("lucide-react");
11762
- var import_jsx_runtime61 = require("react/jsx-runtime");
11854
+ var import_jsx_runtime60 = require("react/jsx-runtime");
11763
11855
  function KeyshareStatus(props) {
11764
11856
  const { isLoading, content, icon: Icon2, children } = props;
11765
- if (isLoading) return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react39.Loader, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" });
11766
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "group relative w-full h-full", children: [
11857
+ if (isLoading) return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_lucide_react39.Loader, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" });
11858
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "group relative w-full h-full", children: [
11767
11859
  children,
11768
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11860
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
11769
11861
  "div",
11770
11862
  {
11771
11863
  className: cn(
@@ -11773,10 +11865,10 @@ function KeyshareStatus(props) {
11773
11865
  "rounded-full bg-[var(--l-pass-bg)]"
11774
11866
  // 'border border-[var(--l-pass-bd)]'
11775
11867
  ),
11776
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Icon2, { className: "w-4 h-4" })
11868
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon2, { className: "w-4 h-4" })
11777
11869
  }
11778
11870
  ),
11779
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
11871
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
11780
11872
  "div",
11781
11873
  {
11782
11874
  style: { transform: "translateY(calc(var(--l-pass-gap) * -4))" },
@@ -11794,9 +11886,9 @@ function KeyshareStatus(props) {
11794
11886
  }
11795
11887
 
11796
11888
  // src/internal/components/SecurityMenu/Keyshare/LastBackup.tsx
11797
- var import_dayjs2 = __toESM(require("dayjs"), 1);
11889
+ var import_dayjs3 = __toESM(require("dayjs"), 1);
11798
11890
  var import_lucide_react40 = require("lucide-react");
11799
- var import_jsx_runtime62 = require("react/jsx-runtime");
11891
+ var import_jsx_runtime61 = require("react/jsx-runtime");
11800
11892
  function parseOS(ua) {
11801
11893
  if (!ua) return null;
11802
11894
  if (ua.includes("Mac OS X")) return "macOS";
@@ -11818,105 +11910,105 @@ function LastBackup(props) {
11818
11910
  } = createdRecoveryStats || {};
11819
11911
  const hasBackupData = backup?.server?.enabled && backup.server.lastBackup || !backup.server.lastBackup && recoveryCreatedAt || backup.cloud.enabled && backup.cloud?.lastBackup || backup.local.enabled && backup.local.lastBackup;
11820
11912
  if (!hasBackupData) return null;
11821
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(Highlight, { type: "info", className: "flex flex-col gap-[var(--l-pass-gap)] text-[10px] leading-tight", children: [
11822
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("span", { className: "flex items-center gap-[var(--l-pass-gap)] font-bold text-xs leading-4", children: [
11823
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react40.Server, { className: "w-4 h-4 inline" }),
11824
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { children: "Last Keyshare Vault Backup" })
11913
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Highlight, { type: "info", className: "flex flex-col gap-[var(--l-pass-gap)] text-[10px] leading-tight", children: [
11914
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("span", { className: "flex items-center gap-[var(--l-pass-gap)] font-bold text-xs leading-4", children: [
11915
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react40.Server, { className: "w-4 h-4 inline" }),
11916
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { children: "Last Keyshare Vault Backup" })
11825
11917
  ] }),
11826
- recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
11827
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { children: (0, import_dayjs2.default)(recoveryCreatedAt).format("MMMM DD, YYYY HH:mm") }),
11828
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { children: `${recoveryBrowser || "UNKNOWN"} browser at ${recoveryDeviceName || "UNKNOWN"} device under ${parseOS(recoveryUa) || "UNKNOWN"} OS` })
11918
+ recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
11919
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { children: (0, import_dayjs3.default)(recoveryCreatedAt).format("MMMM DD, YYYY HH:mm") }),
11920
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { children: `${recoveryBrowser || "UNKNOWN"} browser at ${recoveryDeviceName || "UNKNOWN"} device under ${parseOS(recoveryUa) || "UNKNOWN"} OS` })
11829
11921
  ] }),
11830
- backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex items-center gap-1", children: [
11831
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react40.Cloud, { className: "h-3 w-3" }),
11832
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("span", { children: [
11922
+ backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex items-center gap-1", children: [
11923
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react40.Cloud, { className: "h-3 w-3" }),
11924
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("span", { children: [
11833
11925
  "Cloud: ",
11834
- (0, import_dayjs2.default)(backup.cloud.lastBackup).format("MMMM DD, YYYY HH:mm")
11926
+ (0, import_dayjs3.default)(backup.cloud.lastBackup).format("MMMM DD, YYYY HH:mm")
11835
11927
  ] })
11836
11928
  ] }),
11837
- backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex items-center gap-1", children: [
11838
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react40.HardDrive, { className: "h-3 w-3" }),
11839
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("span", { children: [
11929
+ backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex items-center gap-1", children: [
11930
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_lucide_react40.HardDrive, { className: "h-3 w-3" }),
11931
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("span", { children: [
11840
11932
  "Local: ",
11841
- (0, import_dayjs2.default)(backup.local.lastBackup).format("MMMM DD, YYYY HH:mm")
11933
+ (0, import_dayjs3.default)(backup.local.lastBackup).format("MMMM DD, YYYY HH:mm")
11842
11934
  ] })
11843
11935
  ] })
11844
11936
  ] });
11845
11937
  }
11846
11938
 
11847
11939
  // src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx
11848
- var import_jsx_runtime63 = require("react/jsx-runtime");
11940
+ var import_jsx_runtime62 = require("react/jsx-runtime");
11849
11941
  function Keyshare(props) {
11850
11942
  const { userId, serverHasKeyshare, localInfo, hasServerBackup, createdRecoveryStats, isLoading, refresh } = props;
11851
11943
  const backup = userId ? getBackupStatus(userId) : { server: { enabled: false }, cloud: { enabled: false }, local: { enabled: false } };
11852
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
11853
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
11854
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Keyshare Status" }),
11855
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Button, { variant: "ghost", size: "icon", title: "Refresh", disabled: isLoading, onClick: refresh, children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react41.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react41.RefreshCw, { className: "h-4 w-4" }) })
11944
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
11945
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
11946
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: "Keyshare Status" }),
11947
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Button, { variant: "ghost", size: "icon", title: "Refresh", disabled: isLoading, onClick: refresh, children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react41.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react41.RefreshCw, { className: "h-4 w-4" }) })
11856
11948
  ] }),
11857
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "grid grid-cols-3 gap-[var(--l-pass-gap)] px-[var(--l-pass-gap)]", children: [
11858
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
11949
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "grid grid-cols-3 gap-[var(--l-pass-gap)] px-[var(--l-pass-gap)]", children: [
11950
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
11859
11951
  KeyshareStatus,
11860
11952
  {
11861
11953
  content: serverHasKeyshare ? "Your Server Security Key Share is safe and ready" : "Server Security Key Share is missing",
11862
11954
  icon: serverHasKeyshare ? PositiveIcon : NegativeIcon,
11863
- children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
11955
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
11864
11956
  Highlight,
11865
11957
  {
11866
11958
  type: serverHasKeyshare ? "success" : "warning",
11867
11959
  className: "w-full h-full flex flex-col items-center gap-0",
11868
11960
  children: [
11869
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react41.Cloud, { className: "h-6 w-6" }),
11870
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-[10px] font-medium leading-4", children: "Server Share" })
11961
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react41.Cloud, { className: "h-6 w-6" }),
11962
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-[10px] font-medium leading-4", children: "Server Share" })
11871
11963
  ]
11872
11964
  }
11873
11965
  )
11874
11966
  }
11875
11967
  ),
11876
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
11968
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
11877
11969
  KeyshareStatus,
11878
11970
  {
11879
11971
  content: localInfo?.hasKeyshare ? "Your Private Local Security Key Share is safe and ready" : "Private Local Security Key Share is missing",
11880
11972
  icon: localInfo?.hasKeyshare ? PositiveIcon : NegativeIcon,
11881
- children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
11973
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
11882
11974
  Highlight,
11883
11975
  {
11884
11976
  type: localInfo?.hasKeyshare ? "success" : "warning",
11885
11977
  className: "w-full h-full flex flex-col items-center gap-0",
11886
11978
  children: [
11887
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react41.Laptop, { className: "h-6 w-6" }),
11888
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-[10px] font-medium leading-4", children: "Local Share" })
11979
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react41.Laptop, { className: "h-6 w-6" }),
11980
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-[10px] font-medium leading-4", children: "Local Share" })
11889
11981
  ]
11890
11982
  }
11891
11983
  )
11892
11984
  }
11893
11985
  ),
11894
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
11986
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
11895
11987
  KeyshareStatus,
11896
11988
  {
11897
11989
  content: hasServerBackup ? "Security Key Share Vault Backup exists and ready" : "Security Key Share Vault Backup Missing. Create one to ensure your data is safe.",
11898
11990
  icon: hasServerBackup ? PositiveIcon : NegativeIcon,
11899
- children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
11991
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
11900
11992
  Highlight,
11901
11993
  {
11902
11994
  type: hasServerBackup ? "success" : "warning",
11903
11995
  className: "w-full h-full flex flex-col items-center gap-0",
11904
11996
  children: [
11905
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react41.Server, { className: "h-6 w-6" }),
11906
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-[10px] font-medium leading-4", children: "Backup Vault" })
11997
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_lucide_react41.Server, { className: "h-6 w-6" }),
11998
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "text-[10px] font-medium leading-4", children: "Backup Vault" })
11907
11999
  ]
11908
12000
  }
11909
12001
  )
11910
12002
  }
11911
12003
  )
11912
12004
  ] }),
11913
- createdRecoveryStats?.at && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(LastBackup, { backup, createdRecoveryStats }),
11914
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "w-full", style: { borderTop: "1px solid var(--l-pass-bd)" } })
12005
+ createdRecoveryStats?.at && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(LastBackup, { backup, createdRecoveryStats }),
12006
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "w-full", style: { borderTop: "1px solid var(--l-pass-bd)" } })
11915
12007
  ] });
11916
12008
  }
11917
12009
 
11918
12010
  // src/internal/components/SecurityMenu/SecurityMenu.tsx
11919
- var import_jsx_runtime64 = require("react/jsx-runtime");
12011
+ var import_jsx_runtime63 = require("react/jsx-runtime");
11920
12012
  function SecurityMenu() {
11921
12013
  const qc = (0, import_react_query33.useQueryClient)();
11922
12014
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
@@ -11964,7 +12056,7 @@ function SecurityMenu() {
11964
12056
  setIsRemoving(false);
11965
12057
  }
11966
12058
  };
11967
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12059
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
11968
12060
  "div",
11969
12061
  {
11970
12062
  style: {
@@ -11972,9 +12064,9 @@ function SecurityMenu() {
11972
12064
  "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
11973
12065
  },
11974
12066
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
11975
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
11976
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
11977
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12067
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
12068
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12069
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
11978
12070
  Button,
11979
12071
  {
11980
12072
  variant: "ghost",
@@ -11984,13 +12076,13 @@ function SecurityMenu() {
11984
12076
  if (!!appToRemove) setAppToRemove(null);
11985
12077
  else setPage("settings" /* SETTINGS */);
11986
12078
  },
11987
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.ArrowLeft, { className: "h-4 w-4" })
12079
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react42.ArrowLeft, { className: "h-4 w-4" })
11988
12080
  }
11989
12081
  ),
11990
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-xl font-semibold", children: "Security" })
12082
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-xl font-semibold", children: "Security" })
11991
12083
  ] }),
11992
- !appToRemove && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
11993
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12084
+ !appToRemove && /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
12085
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
11994
12086
  Keyshare,
11995
12087
  {
11996
12088
  userId,
@@ -12002,31 +12094,31 @@ function SecurityMenu() {
12002
12094
  refresh: () => qc.invalidateQueries({ queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId] })
12003
12095
  }
12004
12096
  ),
12005
- trustedApps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12006
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "w-full space-y-2", children: [
12007
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "font-medium text-xs text-[var(--l-pass-fg)]", children: `Trusted Applications (${trustedApps.length}):` }),
12008
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
12097
+ trustedApps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
12098
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "w-full space-y-2", children: [
12099
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "font-medium text-xs text-[var(--l-pass-fg)]", children: `Trusted Applications (${trustedApps.length}):` }),
12100
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "w-full space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
12009
12101
  "div",
12010
12102
  {
12011
12103
  className: "text-[10px] leading-tight p-2 rounded-[var(--l-pass-el-bdrs)] flex items-center gap-[var(--l-pass-gap)] bg-[var(--l-pass-bg-info)]",
12012
12104
  children: [
12013
- app.appLogo ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12105
+ app.appLogo ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
12014
12106
  "img",
12015
12107
  {
12016
12108
  src: app.appLogo,
12017
12109
  alt: app.appName,
12018
12110
  className: "w-8 h-8 rounded-[var(--l-pass-el-bdrs)] object-cover flex-shrink-0"
12019
12111
  }
12020
- ) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "w-8 h-8 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-muted)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-sm", children: "\u{1F517}" }) }),
12021
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex-1 min-w-0", children: [
12022
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "font-semibold truncate", children: app.appName || new URL(app.origin).hostname }),
12023
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "text-[var(--l-pass-fg-muted)] truncate", children: new URL(app.origin).hostname }),
12024
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "text-[var(--l-pass-fg-muted)] truncate", children: [
12112
+ ) : /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "w-8 h-8 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-muted)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-sm", children: "\u{1F517}" }) }),
12113
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex-1 min-w-0", children: [
12114
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "font-semibold truncate", children: app.appName || new URL(app.origin).hostname }),
12115
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "text-[var(--l-pass-fg-muted)] truncate", children: new URL(app.origin).hostname }),
12116
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "text-[var(--l-pass-fg-muted)] truncate", children: [
12025
12117
  "Trusted: ",
12026
- (0, import_dayjs3.default)(app.trustedAt).format("MMM D, YYYY HH:mm")
12118
+ (0, import_dayjs4.default)(app.trustedAt).format("MMM D, YYYY HH:mm")
12027
12119
  ] })
12028
12120
  ] }),
12029
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12121
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
12030
12122
  Button,
12031
12123
  {
12032
12124
  variant: "ghost",
@@ -12040,7 +12132,7 @@ function SecurityMenu() {
12040
12132
  appName: app.appName,
12041
12133
  appLogo: app.appLogo
12042
12134
  }),
12043
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.Trash2, { className: "h-4 w-4" })
12135
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react42.Trash2, { className: "h-4 w-4" })
12044
12136
  }
12045
12137
  )
12046
12138
  ]
@@ -12048,37 +12140,37 @@ function SecurityMenu() {
12048
12140
  index
12049
12141
  )) })
12050
12142
  ] }),
12051
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "w-full", style: { borderTop: "1px solid var(--l-pass-bd)" } })
12143
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "w-full", style: { borderTop: "1px solid var(--l-pass-bd)" } })
12052
12144
  ] })
12053
12145
  ] }),
12054
- !!appToRemove && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "w-full", children: [
12055
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "text-center", children: [
12056
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "text-lg font-semibold mb-2", children: "Remove Trusted App?" }),
12057
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center justify-center gap-2 mb-3", children: [
12058
- appToRemove.appLogo ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("img", { src: appToRemove.appLogo, alt: "", className: "w-10 h-10 rounded-md object-cover" }) : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "w-10 h-10 rounded-md bg-[var(--l-pass-bg-muted)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-lg", children: "\u{1F517}" }) }),
12059
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "text-left", children: [
12060
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "font-medium", children: appToRemove.appName || appToRemove.hostname }),
12061
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: appToRemove.hostname })
12146
+ !!appToRemove && /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "w-full", children: [
12147
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "text-center", children: [
12148
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "text-lg font-semibold mb-2", children: "Remove Trusted App?" }),
12149
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex items-center justify-center gap-2 mb-3", children: [
12150
+ appToRemove.appLogo ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("img", { src: appToRemove.appLogo, alt: "", className: "w-10 h-10 rounded-md object-cover" }) : /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "w-10 h-10 rounded-md bg-[var(--l-pass-bg-muted)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-lg", children: "\u{1F517}" }) }),
12151
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "text-left", children: [
12152
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "font-medium", children: appToRemove.appName || appToRemove.hostname }),
12153
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: appToRemove.hostname })
12062
12154
  ] })
12063
12155
  ] }),
12064
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "text-xs text-[var(--l-pass-fg-muted)] text-left space-y-1 mb-4", children: [
12065
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { children: "After removing this application:" }),
12066
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("ul", { className: "list-disc list-inside ml-2 space-y-0.5", children: [
12067
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("li", { children: "All transactions will require confirmation" }),
12068
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("li", { children: 'You can re-add it anytime by checking "Trust this app"' })
12156
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "text-xs text-[var(--l-pass-fg-muted)] text-left space-y-1 mb-4", children: [
12157
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("p", { children: "After removing this application:" }),
12158
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("ul", { className: "list-disc list-inside ml-2 space-y-0.5", children: [
12159
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("li", { children: "All transactions will require confirmation" }),
12160
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("li", { children: 'You can re-add it anytime by checking "Trust this app"' })
12069
12161
  ] })
12070
12162
  ] })
12071
12163
  ] }),
12072
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex gap-2", children: [
12073
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Button, { variant: "outline", className: "flex-1", onClick: () => setAppToRemove(null), disabled: isRemoving, children: "Cancel" }),
12074
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12164
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex gap-2", children: [
12165
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Button, { variant: "outline", className: "flex-1", onClick: () => setAppToRemove(null), disabled: isRemoving, children: "Cancel" }),
12166
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
12075
12167
  Button,
12076
12168
  {
12077
12169
  variant: "default",
12078
12170
  className: "flex-1 bg-[var(--l-pass-error)] hover:bg-[var(--l-pass-error)]/60 active:bg-[var(--l-pass-error)]/40",
12079
12171
  onClick: handleRemoveTrustedApp,
12080
12172
  disabled: isRemoving,
12081
- children: isRemoving ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react42.Loader, { className: "h-4 w-4 animate-spin" }) : "Remove"
12173
+ children: isRemoving ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_lucide_react42.Loader, { className: "h-4 w-4 animate-spin" }) : "Remove"
12082
12174
  }
12083
12175
  )
12084
12176
  ] })
@@ -12465,7 +12557,7 @@ init_base();
12465
12557
  var import_lucide_react43 = require("lucide-react");
12466
12558
  var import_react49 = require("react");
12467
12559
  var import_viem9 = require("viem");
12468
- var import_jsx_runtime65 = require("react/jsx-runtime");
12560
+ var import_jsx_runtime64 = require("react/jsx-runtime");
12469
12561
  function isNftAsset2(asset) {
12470
12562
  return asset.type === "erc721" || asset.type === "erc1155";
12471
12563
  }
@@ -12493,8 +12585,8 @@ function AssetIcon({ asset, size = "sm" }) {
12493
12585
  const nftImage = asset.image || asset.nftMetadata?.image;
12494
12586
  const isSecurity = isSecurityToken2(asset);
12495
12587
  if (isNft && nftImage && !imageError) {
12496
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: cn(sizeClasses, "rounded-[var(--l-pass-el-bdrs)] overflow-hidden relative flex-shrink-0"), children: [
12497
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
12588
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: cn(sizeClasses, "rounded-[var(--l-pass-el-bdrs)] overflow-hidden relative flex-shrink-0"), children: [
12589
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12498
12590
  "img",
12499
12591
  {
12500
12592
  src: nftImage,
@@ -12503,18 +12595,18 @@ function AssetIcon({ asset, size = "sm" }) {
12503
12595
  onError: () => setImageError(true)
12504
12596
  }
12505
12597
  ),
12506
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Sparkles, { className: "w-2 h-2 text-[var(--l-pass-fg-inverted)]" }) })
12598
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react43.Sparkles, { className: "w-2 h-2 text-[var(--l-pass-fg-inverted)]" }) })
12507
12599
  ] });
12508
12600
  }
12509
12601
  if (isNft) {
12510
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: cn(sizeClasses, "rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-fg)] flex items-center justify-center relative flex-shrink-0"), children: [
12511
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Image, { className: cn(size === "sm" ? "w-3 h-3" : "w-5 h-5", "text-[var(--l-pass-fg-inverted)]") }),
12512
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Sparkles, { className: "w-2 h-2 text-[var(--l-pass-fg-inverted)]" }) })
12602
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: cn(sizeClasses, "rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-fg)] flex items-center justify-center relative flex-shrink-0"), children: [
12603
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react43.Image, { className: cn(size === "sm" ? "w-3 h-3" : "w-5 h-5", "text-[var(--l-pass-fg-inverted)]") }),
12604
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-[var(--l-pass-accent)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react43.Sparkles, { className: "w-2 h-2 text-[var(--l-pass-fg-inverted)]" }) })
12513
12605
  ] });
12514
12606
  }
12515
12607
  if (asset.logo && !imageError) {
12516
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: cn(sizeClasses, "rounded-full overflow-hidden relative flex-shrink-0"), children: [
12517
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
12608
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: cn(sizeClasses, "rounded-full overflow-hidden relative flex-shrink-0"), children: [
12609
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12518
12610
  "img",
12519
12611
  {
12520
12612
  src: asset.logo,
@@ -12523,12 +12615,12 @@ function AssetIcon({ asset, size = "sm" }) {
12523
12615
  onError: () => setImageError(true)
12524
12616
  }
12525
12617
  ),
12526
- isSecurity && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-amber-500 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Shield, { className: "w-2 h-2 text-white" }) })
12618
+ isSecurity && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-amber-500 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react43.Shield, { className: "w-2 h-2 text-white" }) })
12527
12619
  ] });
12528
12620
  }
12529
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: cn(sizeClasses, "rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center relative flex-shrink-0"), children: [
12530
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: cn("text-[var(--l-pass-fg-inverted)] font-bold", textSize), children: asset.symbol.charAt(0) }),
12531
- isSecurity && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-amber-500 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.Shield, { className: "w-2 h-2 text-white" }) })
12621
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: cn(sizeClasses, "rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center relative flex-shrink-0"), children: [
12622
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: cn("text-[var(--l-pass-fg-inverted)] font-bold", textSize), children: asset.symbol.charAt(0) }),
12623
+ isSecurity && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "absolute -top-0.5 -right-0.5 w-3 h-3 rounded-full bg-amber-500 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react43.Shield, { className: "w-2 h-2 text-white" }) })
12532
12624
  ] });
12533
12625
  }
12534
12626
  function AssetListItem({ asset, onSelect, isSelected }) {
@@ -12538,7 +12630,7 @@ function AssetListItem({ asset, onSelect, isSelected }) {
12538
12630
  e.stopPropagation();
12539
12631
  onSelect();
12540
12632
  };
12541
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
12633
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
12542
12634
  "button",
12543
12635
  {
12544
12636
  type: "button",
@@ -12549,16 +12641,16 @@ function AssetListItem({ asset, onSelect, isSelected }) {
12549
12641
  ),
12550
12642
  onClick: handleClick,
12551
12643
  children: [
12552
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(AssetIcon, { asset, size: "md" }),
12553
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex-1 min-w-0 text-left", children: [
12554
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "font-semibold text-[var(--l-pass-fg)] truncate", children: isNft ? asset.nftMetadata?.name || asset.name : asset.name }),
12555
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: isNft ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
12644
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(AssetIcon, { asset, size: "md" }),
12645
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex-1 min-w-0 text-left", children: [
12646
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "font-semibold text-[var(--l-pass-fg)] truncate", children: isNft ? asset.nftMetadata?.name || asset.name : asset.name }),
12647
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: isNft ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12556
12648
  asset.symbol,
12557
- asset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "ml-1", children: [
12649
+ asset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("span", { className: "ml-1", children: [
12558
12650
  "#",
12559
12651
  asset.tokenId.length > 6 ? `${asset.tokenId.slice(0, 4)}...` : asset.tokenId
12560
12652
  ] })
12561
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
12653
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12562
12654
  getAssetBalance(asset),
12563
12655
  " ",
12564
12656
  asset.symbol
@@ -12612,8 +12704,8 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12612
12704
  return null;
12613
12705
  }
12614
12706
  const isNft = isNftAsset2(selectedAsset);
12615
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "relative", style: { zIndex: isOpen ? 100 : "auto" }, children: [
12616
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
12707
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "relative", style: { zIndex: isOpen ? 100 : "auto" }, children: [
12708
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
12617
12709
  "button",
12618
12710
  {
12619
12711
  ref: buttonRef,
@@ -12627,13 +12719,13 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12627
12719
  ),
12628
12720
  onClick: handleToggle,
12629
12721
  children: [
12630
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(AssetIcon, { asset: selectedAsset, size: "sm" }),
12631
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm font-semibold text-[var(--l-pass-fg)] max-w-[80px] truncate", children: isNft ? selectedAsset.nftMetadata?.name || selectedAsset.symbol : selectedAsset.symbol }),
12632
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.ChevronDown, { className: cn("w-4 h-4 text-[var(--l-pass-fg-muted)] transition-transform", isOpen && "rotate-180") })
12722
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(AssetIcon, { asset: selectedAsset, size: "sm" }),
12723
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-sm font-semibold text-[var(--l-pass-fg)] max-w-[80px] truncate", children: isNft ? selectedAsset.nftMetadata?.name || selectedAsset.symbol : selectedAsset.symbol }),
12724
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react43.ChevronDown, { className: cn("w-4 h-4 text-[var(--l-pass-fg-muted)] transition-transform", isOpen && "rotate-180") })
12633
12725
  ]
12634
12726
  }
12635
12727
  ),
12636
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
12728
+ isOpen && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
12637
12729
  "div",
12638
12730
  {
12639
12731
  ref: dropdownRef,
@@ -12646,12 +12738,12 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12646
12738
  style: { zIndex: 100 },
12647
12739
  onClick: (e) => e.stopPropagation(),
12648
12740
  children: [
12649
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "sticky top-0 flex items-center justify-between px-3 py-2 bg-[var(--l-pass-bg)] border-b border-[var(--l-pass-bd)]", children: [
12650
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm font-semibold text-[var(--l-pass-fg)]", children: "Select Asset" }),
12651
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { variant: "ghost", size: "icon", onClick: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react43.X, { className: "w-4 h-4" }) })
12741
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "sticky top-0 flex items-center justify-between px-3 py-2 bg-[var(--l-pass-bg)] border-b border-[var(--l-pass-bd)]", children: [
12742
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-sm font-semibold text-[var(--l-pass-fg)]", children: "Select Asset" }),
12743
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Button, { variant: "ghost", size: "icon", onClick: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react43.X, { className: "w-4 h-4" }) })
12652
12744
  ] }),
12653
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "p-2", children: [
12654
- nativeAssets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_jsx_runtime65.Fragment, { children: nativeAssets.map((asset) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
12745
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "p-2", children: [
12746
+ nativeAssets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_jsx_runtime64.Fragment, { children: nativeAssets.map((asset) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12655
12747
  AssetListItem,
12656
12748
  {
12657
12749
  asset,
@@ -12660,9 +12752,9 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12660
12752
  },
12661
12753
  `native-${asset.symbol}`
12662
12754
  )) }),
12663
- tokenAssets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
12664
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "Tokens" }),
12665
- tokenAssets.map((asset) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
12755
+ tokenAssets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12756
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "Tokens" }),
12757
+ tokenAssets.map((asset) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12666
12758
  AssetListItem,
12667
12759
  {
12668
12760
  asset,
@@ -12672,9 +12764,9 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12672
12764
  `token-${asset.address}`
12673
12765
  ))
12674
12766
  ] }),
12675
- securityAssets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
12676
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "Security Tokens" }),
12677
- securityAssets.map((asset) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
12767
+ securityAssets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12768
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "Security Tokens" }),
12769
+ securityAssets.map((asset) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12678
12770
  AssetListItem,
12679
12771
  {
12680
12772
  asset,
@@ -12684,9 +12776,9 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12684
12776
  `security-${asset.address}`
12685
12777
  ))
12686
12778
  ] }),
12687
- nftAssets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
12688
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "NFTs" }),
12689
- nftAssets.map((asset) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
12779
+ nftAssets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
12780
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "px-3 py-1 text-xs text-[var(--l-pass-fg-muted)] uppercase tracking-wider mt-2", children: "NFTs" }),
12781
+ nftAssets.map((asset) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
12690
12782
  AssetListItem,
12691
12783
  {
12692
12784
  asset,
@@ -12696,7 +12788,7 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12696
12788
  `nft-${asset.address}-${asset.tokenId}`
12697
12789
  ))
12698
12790
  ] }),
12699
- transferableAssets.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "p-4 text-center text-sm text-[var(--l-pass-fg-muted)]", children: "No assets available" })
12791
+ transferableAssets.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "p-4 text-center text-sm text-[var(--l-pass-fg-muted)]", children: "No assets available" })
12700
12792
  ] })
12701
12793
  ]
12702
12794
  }
@@ -12705,7 +12797,7 @@ function AssetSelector({ assets, selectedAsset, onSelect, disabled }) {
12705
12797
  }
12706
12798
 
12707
12799
  // src/internal/components/SendRecieveMenu/SendLumiaMenu.tsx
12708
- var import_jsx_runtime66 = require("react/jsx-runtime");
12800
+ var import_jsx_runtime65 = require("react/jsx-runtime");
12709
12801
  function isNftAsset3(asset) {
12710
12802
  if (!asset) return false;
12711
12803
  return asset.type === "erc721" || asset.type === "erc1155";
@@ -12731,8 +12823,8 @@ function formatBalance(balance, decimals = 4) {
12731
12823
  function NftDisplayCard({ asset }) {
12732
12824
  const [imageError, setImageError] = (0, import_react50.useState)(false);
12733
12825
  const nftImage = asset.image || asset.nftMetadata?.image;
12734
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-3 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
12735
- nftImage && !imageError ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
12826
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-3 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
12827
+ nftImage && !imageError ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
12736
12828
  "img",
12737
12829
  {
12738
12830
  src: nftImage,
@@ -12740,19 +12832,19 @@ function NftDisplayCard({ asset }) {
12740
12832
  className: "w-16 h-16 rounded-[var(--l-pass-el-bdrs)] object-cover",
12741
12833
  onError: () => setImageError(true)
12742
12834
  }
12743
- ) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "w-16 h-16 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-fg)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.Image, { className: "w-8 h-8 text-[var(--l-pass-fg-inverted)]" }) }),
12744
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex-1 min-w-0", children: [
12745
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "font-semibold text-[var(--l-pass-fg)] truncate", children: asset.nftMetadata?.name || asset.name }),
12746
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: [
12835
+ ) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "w-16 h-16 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-fg)] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.Image, { className: "w-8 h-8 text-[var(--l-pass-fg-inverted)]" }) }),
12836
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex-1 min-w-0", children: [
12837
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "font-semibold text-[var(--l-pass-fg)] truncate", children: asset.nftMetadata?.name || asset.name }),
12838
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: [
12747
12839
  asset.symbol,
12748
- asset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("span", { className: "ml-1", children: [
12840
+ asset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "ml-1", children: [
12749
12841
  "#",
12750
12842
  asset.tokenId.length > 8 ? `${asset.tokenId.slice(0, 6)}...` : asset.tokenId
12751
12843
  ] })
12752
12844
  ] }),
12753
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "text-xs text-[var(--l-pass-fg-muted)] mt-1 flex items-center gap-1", children: [
12754
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.Sparkles, { className: "w-3 h-3" }),
12755
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" })
12845
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "text-xs text-[var(--l-pass-fg-muted)] mt-1 flex items-center gap-1", children: [
12846
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.Sparkles, { className: "w-3 h-3" }),
12847
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" })
12756
12848
  ] })
12757
12849
  ] })
12758
12850
  ] });
@@ -12938,15 +13030,15 @@ function SendLumiaMenu() {
12938
13030
  if (isNft) return `Send NFT`;
12939
13031
  return `Send ${selectedAsset.symbol}`;
12940
13032
  };
12941
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
12942
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
12943
- txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.ArrowLeft, { className: "h-4 w-4" }) }),
12944
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-xl font-semibold", children: getPageTitle() })
13033
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
13034
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13035
+ txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.ArrowLeft, { className: "h-4 w-4" }) }),
13036
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-xl font-semibold", children: getPageTitle() })
12945
13037
  ] }),
12946
- txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
12947
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "w-full flex flex-col gap-2", children: [
12948
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient" }),
12949
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
13038
+ txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13039
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "w-full flex flex-col gap-2", children: [
13040
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "block text-sm font-medium mb-2 text-[var(--l-pass-fg-muted)]", children: "Recipient" }),
13041
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
12950
13042
  Input,
12951
13043
  {
12952
13044
  Icon: isNicknameInput ? import_lucide_react44.AtSign : import_lucide_react44.Wallet,
@@ -12954,50 +13046,50 @@ function SendLumiaMenu() {
12954
13046
  value: recipient,
12955
13047
  onChange: (e) => setRecipient(e.target.value),
12956
13048
  placeholder: "0x... or @nickname",
12957
- element: isNicknameInput && isResolving ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.Loader, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" }) : null
13049
+ element: isNicknameInput && isResolving ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.Loader, { className: "w-4 h-4 animate-spin text-[var(--l-pass-fg-muted)]" }) : null
12958
13050
  }
12959
13051
  ),
12960
- isNicknameInput && resolvedAddress && !isResolving && nicknameData && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-start gap-3 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
12961
- nicknameData.avatarSvg ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
13052
+ isNicknameInput && resolvedAddress && !isResolving && nicknameData && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-start gap-3 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
13053
+ nicknameData.avatarSvg ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
12962
13054
  "img",
12963
13055
  {
12964
13056
  src: nicknameData.avatarSvg,
12965
13057
  alt: nicknameData.handle,
12966
13058
  className: "w-10 h-10 rounded-full object-cover flex-shrink-0"
12967
13059
  }
12968
- ) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "w-10 h-10 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.AtSign, { className: "w-5 h-5 text-[var(--l-pass-fg-muted)]" }) }),
12969
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex flex-col gap-1 min-w-0", children: [
12970
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-success)]", children: [
12971
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.CheckCircle2, { className: "w-3 h-3 flex-shrink-0" }),
12972
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "font-mono", children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)}` })
13060
+ ) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "w-10 h-10 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.AtSign, { className: "w-5 h-5 text-[var(--l-pass-fg-muted)]" }) }),
13061
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex flex-col gap-1 min-w-0", children: [
13062
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-success)]", children: [
13063
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.CheckCircle2, { className: "w-3 h-3 flex-shrink-0" }),
13064
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "font-mono", children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)}` })
12973
13065
  ] }),
12974
- nicknameData.fingerprint && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: `flex items-center gap-1.5 text-xs ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
12975
- isFingerprintVerified ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.Shield, { className: "w-3 h-3 flex-shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.ShieldAlert, { className: "w-3 h-3 flex-shrink-0" }),
12976
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("span", { children: [
13066
+ nicknameData.fingerprint && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: `flex items-center gap-1.5 text-xs ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
13067
+ isFingerprintVerified ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.Shield, { className: "w-3 h-3 flex-shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.ShieldAlert, { className: "w-3 h-3 flex-shrink-0" }),
13068
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { children: [
12977
13069
  "Fingerprint: ",
12978
13070
  nicknameData.fingerprint
12979
13071
  ] }),
12980
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
13072
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
12981
13073
  ] })
12982
13074
  ] })
12983
13075
  ] }),
12984
- isNicknameInput && isFrozen && !isResolving && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-warning)]", children: [
12985
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.AlertTriangle, { className: "w-3 h-3" }),
12986
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: "This handle is frozen. Proceed with caution." })
13076
+ isNicknameInput && isFrozen && !isResolving && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-warning)]", children: [
13077
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.AlertTriangle, { className: "w-3 h-3" }),
13078
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: "This handle is frozen. Proceed with caution." })
12987
13079
  ] }),
12988
- isNicknameInput && isWalletNotSetup && !isResolving && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
12989
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.AlertCircle, { className: "w-3 h-3" }),
12990
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: "This user has not set up their wallet yet" })
13080
+ isNicknameInput && isWalletNotSetup && !isResolving && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
13081
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.AlertCircle, { className: "w-3 h-3" }),
13082
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: "This user has not set up their wallet yet" })
12991
13083
  ] }),
12992
- isNicknameInput && isNotFound && !isResolving && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
12993
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.AlertCircle, { className: "w-3 h-3" }),
12994
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: "Nickname not found" })
13084
+ isNicknameInput && isNotFound && !isResolving && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-[var(--l-pass-bg-error)]", children: [
13085
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.AlertCircle, { className: "w-3 h-3" }),
13086
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: "Nickname not found" })
12995
13087
  ] })
12996
13088
  ] }),
12997
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "w-full flex flex-col gap-2", children: [
12998
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex justify-between items-center", children: [
12999
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "block text-sm font-medium text-[var(--l-pass-fg-muted)]", children: isNft ? "Asset" : "Amount" }),
13000
- !isNft && selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
13089
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "w-full flex flex-col gap-2", children: [
13090
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between items-center", children: [
13091
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "block text-sm font-medium text-[var(--l-pass-fg-muted)]", children: isNft ? "Asset" : "Amount" }),
13092
+ !isNft && selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "block text-sm text-[var(--l-pass-fg-muted)]", children: [
13001
13093
  "Balance: ",
13002
13094
  formatBalance(balance),
13003
13095
  " ",
@@ -13006,11 +13098,11 @@ function SendLumiaMenu() {
13006
13098
  ] }),
13007
13099
  isNft && selectedAsset ? (
13008
13100
  // NFT display card
13009
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(NftDisplayCard, { asset: selectedAsset })
13101
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(NftDisplayCard, { asset: selectedAsset })
13010
13102
  ) : (
13011
13103
  // Fungible token amount input
13012
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex h-12 w-full rounded-[var(--l-pass-el-bdrs)] items-center gap-[var(--l-pass-gap)] px-[var(--l-pass-pd)] bg-[var(--l-pass-secondary)] hover:bg-[var(--l-pass-secondary-h)] transition-colors duration-200 ease-in-out focus-within:bg-[var(--l-pass-secondary-a)]", children: [
13013
- selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
13104
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex h-12 w-full rounded-[var(--l-pass-el-bdrs)] items-center gap-[var(--l-pass-gap)] px-[var(--l-pass-pd)] bg-[var(--l-pass-secondary)] hover:bg-[var(--l-pass-secondary-h)] transition-colors duration-200 ease-in-out focus-within:bg-[var(--l-pass-secondary-a)]", children: [
13105
+ selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
13014
13106
  AssetSelector,
13015
13107
  {
13016
13108
  assets,
@@ -13019,7 +13111,7 @@ function SendLumiaMenu() {
13019
13111
  disabled: isAssetsLoading
13020
13112
  }
13021
13113
  ),
13022
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
13114
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
13023
13115
  "input",
13024
13116
  {
13025
13117
  type: "number",
@@ -13035,12 +13127,12 @@ function SendLumiaMenu() {
13035
13127
  )
13036
13128
  }
13037
13129
  ),
13038
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { onClick: handleMaxAmount, variant: "ghost", size: "medium", children: "MAX" })
13130
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { onClick: handleMaxAmount, variant: "ghost", size: "medium", children: "MAX" })
13039
13131
  ] })
13040
13132
  ),
13041
- isNft && selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-2 mt-2", children: [
13042
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Change asset:" }),
13043
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
13133
+ isNft && selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-2 mt-2", children: [
13134
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Change asset:" }),
13135
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
13044
13136
  AssetSelector,
13045
13137
  {
13046
13138
  assets,
@@ -13051,71 +13143,71 @@ function SendLumiaMenu() {
13051
13143
  )
13052
13144
  ] })
13053
13145
  ] }),
13054
- isSecurity && effectiveAddress && amount && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: cn(
13146
+ isSecurity && effectiveAddress && amount && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: cn(
13055
13147
  "flex items-center gap-2 p-3 rounded-[var(--l-pass-el-bdrs)]",
13056
13148
  isComplianceLoading && "bg-[var(--l-pass-bg-info)] text-[var(--l-pass-info)]",
13057
13149
  !isComplianceLoading && erc3643CanTransfer && "bg-[var(--l-pass-bg-success)] text-[var(--l-pass-success)]",
13058
13150
  !isComplianceLoading && !erc3643CanTransfer && "bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)]"
13059
- ), children: isComplianceLoading ? /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
13060
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.Loader, { className: "h-4 w-4 animate-spin" }),
13061
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-sm", children: "Checking compliance..." })
13062
- ] }) : erc3643CanTransfer ? /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
13063
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.CheckCircle2, { className: "h-4 w-4" }),
13064
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-sm", children: "Transfer compliant" })
13065
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
13066
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.AlertCircle, { className: "h-4 w-4" }),
13067
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-sm", children: complianceError || "Transfer not allowed" })
13151
+ ), children: isComplianceLoading ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13152
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.Loader, { className: "h-4 w-4 animate-spin" }),
13153
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Checking compliance..." })
13154
+ ] }) : erc3643CanTransfer ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13155
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.CheckCircle2, { className: "h-4 w-4" }),
13156
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: "Transfer compliant" })
13157
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13158
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.AlertCircle, { className: "h-4 w-4" }),
13159
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: complianceError || "Transfer not allowed" })
13068
13160
  ] }) }),
13069
- (validationError || error) && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)] rounded-[var(--l-pass-el-bdrs)]", children: [
13070
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.AlertCircle, { className: "h-4 w-4" }),
13071
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-sm", children: validationError || error })
13161
+ (validationError || error) && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-error)] text-[var(--l-pass-error)] rounded-[var(--l-pass-el-bdrs)]", children: [
13162
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.AlertCircle, { className: "h-4 w-4" }),
13163
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm", children: validationError || error })
13072
13164
  ] }),
13073
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { onClick: handleSend, disabled: isLoading || isComplianceLoading, className: "w-full", size: "large", children: "Continue" })
13165
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { onClick: handleSend, disabled: isLoading || isComplianceLoading, className: "w-full", size: "large", children: "Continue" })
13074
13166
  ] }),
13075
- txStep === "confirm" && effectiveAddress && selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
13076
- isNicknameInput && isFrozen && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-warning)] text-[var(--l-pass-warning)] rounded-[var(--l-pass-el-bdrs)]", children: [
13077
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.AlertTriangle, { className: "h-4 w-4 flex-shrink-0" }),
13078
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-sm font-medium", children: "This handle is frozen. Proceed with caution." })
13167
+ txStep === "confirm" && effectiveAddress && selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13168
+ isNicknameInput && isFrozen && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-warning)] text-[var(--l-pass-warning)] rounded-[var(--l-pass-el-bdrs)]", children: [
13169
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.AlertTriangle, { className: "h-4 w-4 flex-shrink-0" }),
13170
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm font-medium", children: "This handle is frozen. Proceed with caution." })
13079
13171
  ] }),
13080
- isSecurity && erc3643CanTransfer && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-success)] text-[var(--l-pass-success)] rounded-[var(--l-pass-el-bdrs)]", children: [
13081
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.Shield, { className: "h-4 w-4 flex-shrink-0" }),
13082
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-sm font-medium", children: "Security token compliance verified" })
13172
+ isSecurity && erc3643CanTransfer && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-2 p-3 bg-[var(--l-pass-bg-success)] text-[var(--l-pass-success)] rounded-[var(--l-pass-el-bdrs)]", children: [
13173
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.Shield, { className: "h-4 w-4 flex-shrink-0" }),
13174
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-sm font-medium", children: "Security token compliance verified" })
13083
13175
  ] }),
13084
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "bg-[var(--l-pass-bg-secondary)] rounded-[var(--l-pass-el-bdrs)] p-4", children: isNicknameInput && nicknameData ? /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
13085
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-start gap-3 mb-4", children: [
13086
- nicknameData.avatarSvg ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
13176
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "bg-[var(--l-pass-bg-secondary)] rounded-[var(--l-pass-el-bdrs)] p-4", children: isNicknameInput && nicknameData ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13177
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-start gap-3 mb-4", children: [
13178
+ nicknameData.avatarSvg ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
13087
13179
  "img",
13088
13180
  {
13089
13181
  src: nicknameData.avatarSvg,
13090
13182
  alt: nicknameData.handle,
13091
13183
  className: "w-12 h-12 rounded-full object-cover flex-shrink-0"
13092
13184
  }
13093
- ) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.AtSign, { className: "w-6 h-6 text-[var(--l-pass-fg-muted)]" }) }),
13094
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex flex-col gap-1 min-w-0", children: [
13095
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "font-semibold text-lg text-[var(--l-pass-fg)] truncate", children: nicknameData.handle }),
13096
- nicknameData.fingerprint && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: `flex items-center gap-1.5 text-sm ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
13097
- isFingerprintVerified ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.Shield, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.ShieldAlert, { className: "w-4 h-4 flex-shrink-0" }),
13098
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("span", { children: [
13185
+ ) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-bg)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.AtSign, { className: "w-6 h-6 text-[var(--l-pass-fg-muted)]" }) }),
13186
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex flex-col gap-1 min-w-0", children: [
13187
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "font-semibold text-lg text-[var(--l-pass-fg)] truncate", children: nicknameData.handle }),
13188
+ nicknameData.fingerprint && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: `flex items-center gap-1.5 text-sm ${isFingerprintVerified ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-error)]"}`, children: [
13189
+ isFingerprintVerified ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.Shield, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.ShieldAlert, { className: "w-4 h-4 flex-shrink-0" }),
13190
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { children: [
13099
13191
  "Fingerprint: ",
13100
13192
  nicknameData.fingerprint
13101
13193
  ] }),
13102
- isFingerprintVerified && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.CheckCircle2, { className: "w-3 h-3" }),
13103
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-xs", children: isFingerprintVerified ? "Verified" : "FAILED" })
13194
+ isFingerprintVerified && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.CheckCircle2, { className: "w-3 h-3" }),
13195
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-xs", children: isFingerprintVerified ? "Verified" : "FAILED" })
13104
13196
  ] }),
13105
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("span", { className: "font-mono text-xs text-[var(--l-pass-fg-muted)]", children: [
13197
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "font-mono text-xs text-[var(--l-pass-fg-muted)]", children: [
13106
13198
  "Address: ",
13107
13199
  `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-6)}`
13108
13200
  ] })
13109
13201
  ] })
13110
13202
  ] }),
13111
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "border-t border-[var(--l-pass-border)] pt-3 space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
13203
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "border-t border-[var(--l-pass-border)] pt-3 space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
13112
13204
  isNft ? (
13113
13205
  // NFT details
13114
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_jsx_runtime66.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex justify-between items-start", children: [
13115
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "NFT:" }),
13116
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "text-right", children: [
13117
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
13118
- selectedAsset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: [
13206
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_jsx_runtime65.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between items-start", children: [
13207
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "NFT:" }),
13208
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "text-right", children: [
13209
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
13210
+ selectedAsset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: [
13119
13211
  "#",
13120
13212
  selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
13121
13213
  ] })
@@ -13123,34 +13215,34 @@ function SendLumiaMenu() {
13123
13215
  ] }) })
13124
13216
  ) : (
13125
13217
  // Fungible token details
13126
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex justify-between", children: [
13127
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
13128
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("span", { className: "font-semibold", children: [
13218
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between", children: [
13219
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
13220
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "font-semibold", children: [
13129
13221
  amount,
13130
13222
  " ",
13131
13223
  selectedAsset.symbol
13132
13224
  ] })
13133
13225
  ] })
13134
13226
  ),
13135
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex justify-between", children: [
13136
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
13137
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: "Lumia Beam" })
13227
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between", children: [
13228
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
13229
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: "Lumia Beam" })
13138
13230
  ] })
13139
13231
  ] })
13140
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
13141
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h3", { className: "font-medium mb-3 text-[var(--l-pass-fg)]", children: "Transaction Details" }),
13142
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
13143
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex justify-between", children: [
13144
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "To:" }),
13145
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "font-mono text-xs", children: `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-4)}` })
13232
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13233
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("h3", { className: "font-medium mb-3 text-[var(--l-pass-fg)]", children: "Transaction Details" }),
13234
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "space-y-2 text-sm text-[var(--l-pass-fg)]", children: [
13235
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between", children: [
13236
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "To:" }),
13237
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "font-mono text-xs", children: `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-4)}` })
13146
13238
  ] }),
13147
13239
  isNft ? (
13148
13240
  // NFT details
13149
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_jsx_runtime66.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex justify-between items-start", children: [
13150
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "NFT:" }),
13151
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "text-right", children: [
13152
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
13153
- selectedAsset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: [
13241
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_jsx_runtime65.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between items-start", children: [
13242
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "NFT:" }),
13243
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "text-right", children: [
13244
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
13245
+ selectedAsset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "text-xs text-[var(--l-pass-fg-muted)]", children: [
13154
13246
  "#",
13155
13247
  selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
13156
13248
  ] })
@@ -13158,43 +13250,43 @@ function SendLumiaMenu() {
13158
13250
  ] }) })
13159
13251
  ) : (
13160
13252
  // Fungible token details
13161
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex justify-between", children: [
13162
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
13163
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("span", { className: "font-semibold", children: [
13253
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between", children: [
13254
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Amount:" }),
13255
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "font-semibold", children: [
13164
13256
  amount,
13165
13257
  " ",
13166
13258
  selectedAsset.symbol
13167
13259
  ] })
13168
13260
  ] })
13169
13261
  ),
13170
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex justify-between", children: [
13171
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
13172
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: "Lumia Beam" })
13262
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-between", children: [
13263
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: "Network:" }),
13264
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { children: "Lumia Beam" })
13173
13265
  ] })
13174
13266
  ] })
13175
13267
  ] }) }),
13176
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex gap-2", children: [
13177
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
13178
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
13179
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.Loader, { className: "h-4 w-4 animate-spin" }),
13268
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex gap-2", children: [
13269
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { onClick: () => setTxStep("input"), variant: "outline", className: "flex-1", size: "large", children: "Back" }),
13270
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Button, { onClick: handleConfirm, disabled: isLoading, className: "flex-1", size: "large", children: [
13271
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.Loader, { className: "h-4 w-4 animate-spin" }),
13180
13272
  "Confirm"
13181
13273
  ] })
13182
13274
  ] })
13183
13275
  ] }),
13184
- txStep === "pending" && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "py-8 text-center space-y-4", children: [
13185
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.Loader, { className: "h-5 w-5 animate-spin mx-auto" }),
13186
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { children: [
13187
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "block font-medium", children: "Transaction Pending" }),
13188
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
13276
+ txStep === "pending" && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "py-8 text-center space-y-4", children: [
13277
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.Loader, { className: "h-5 w-5 animate-spin mx-auto" }),
13278
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { children: [
13279
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "block font-medium", children: "Transaction Pending" }),
13280
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "block text-sm mt-1", children: "Please wait while we process your transaction" })
13189
13281
  ] })
13190
13282
  ] }),
13191
- txStep === "success" && userOpHash && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
13192
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "text-center py-4", children: [
13193
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react44.CheckCircle2, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
13194
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: "font-medium", children: "Transaction Sent!" }),
13195
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: "text-sm mt-1", children: "Your transaction is being processed" })
13283
+ txStep === "success" && userOpHash && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
13284
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "text-center py-4", children: [
13285
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_lucide_react44.CheckCircle2, { className: "h-12 w-12 text-[var(--l-pass-success)] mx-auto mb-3" }),
13286
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: "font-medium", children: "Transaction Sent!" }),
13287
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: "text-sm mt-1", children: "Your transaction is being processed" })
13196
13288
  ] }),
13197
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "Done" })
13289
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "Done" })
13198
13290
  ] })
13199
13291
  ] });
13200
13292
  }
@@ -13204,7 +13296,7 @@ var import_lucide_react45 = require("lucide-react");
13204
13296
  var import_qrcode = __toESM(require("qrcode"), 1);
13205
13297
  var import_react51 = require("react");
13206
13298
  init_clients();
13207
- var import_jsx_runtime67 = require("react/jsx-runtime");
13299
+ var import_jsx_runtime66 = require("react/jsx-runtime");
13208
13300
  function ReceiveLumiaMenu() {
13209
13301
  const session = useLumiaPassportSession((st) => st.session);
13210
13302
  const address = session?.smartAccountAddress ?? null;
@@ -13256,7 +13348,7 @@ function ReceiveLumiaMenu() {
13256
13348
  console.error("Failed to copy fingerprint:", error);
13257
13349
  }
13258
13350
  }, [fingerprint]);
13259
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
13351
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
13260
13352
  "div",
13261
13353
  {
13262
13354
  style: {
@@ -13265,61 +13357,64 @@ function ReceiveLumiaMenu() {
13265
13357
  },
13266
13358
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
13267
13359
  children: [
13268
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
13269
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react45.ArrowLeft, { className: "h-4 w-4" }) }),
13270
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
13360
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "w-full flex items-center gap-[var(--l-pass-gap)]", children: [
13361
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react45.ArrowLeft, { className: "h-4 w-4" }) }),
13362
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-xl font-semibold", children: "Receive LUMIA" })
13271
13363
  ] }),
13272
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(Highlight, { className: "text-center", type: "warning", children: [
13273
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
13274
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "block w-full", children: "Ensure sender is on the same network" })
13364
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Highlight, { className: "text-center", type: "warning", children: [
13365
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("strong", { className: "block w-full", children: `Network: ${lumiaBeam.name}` }),
13366
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "block w-full", children: "Ensure sender is on the same network" })
13275
13367
  ] }),
13276
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react45.Loader, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
13277
- fingerprint && /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex items-center justify-center gap-2 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
13278
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react45.Shield, { className: "w-4 h-4 text-[var(--l-pass-bg-success)]" }),
13279
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Fingerprint:" }),
13280
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "font-mono text-sm font-semibold text-[var(--l-pass-fg)]", children: fingerprint }),
13281
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "relative group", children: [
13282
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react45.Info, { className: "w-3.5 h-3.5 text-[var(--l-pass-fg-muted)] cursor-help" }),
13283
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-xs bg-[var(--l-pass-bg)] text-[var(--l-pass-fg)] rounded shadow-lg opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none z-10", children: "Share this to verify your identity" })
13368
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "flex items-center justify-center p-[var(--l-pass-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react45.Loader, { className: "w-5 h-5 animate-spin text-[var(--l-pass-fg-muted)]" }) }),
13369
+ fingerprint && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "flex items-center justify-center gap-2 p-3 rounded-[var(--l-pass-el-bdrs)] bg-[var(--l-pass-bg-secondary)]", children: [
13370
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react45.Shield, { className: "w-4 h-4 text-[var(--l-pass-bg-success)]" }),
13371
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "text-sm text-[var(--l-pass-fg-muted)]", children: "Fingerprint:" }),
13372
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "font-mono text-sm font-semibold text-[var(--l-pass-fg)]", children: fingerprint }),
13373
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "relative group", children: [
13374
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react45.Info, { className: "w-3.5 h-3.5 text-[var(--l-pass-fg-muted)] cursor-help" }),
13375
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 text-xs bg-[var(--l-pass-bg)] text-[var(--l-pass-fg)] rounded shadow-lg opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none z-10", children: "Share this to verify your identity" })
13284
13376
  ] }),
13285
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
13377
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
13286
13378
  "button",
13287
13379
  {
13288
13380
  onClick: handleCopyFingerprint,
13289
13381
  className: "p-1 rounded hover:bg-[var(--l-pass-bg)] transition-colors",
13290
13382
  title: "Copy fingerprint",
13291
- children: fingerprintCopied ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react45.CheckCircle2, { className: "w-3.5 h-3.5 text-[var(--l-pass-bg-success)]" }) : /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react45.Copy, { className: "w-3.5 h-3.5 text-[var(--l-pass-fg-muted)]" })
13383
+ children: fingerprintCopied ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react45.CheckCircle2, { className: "w-3.5 h-3.5 text-[var(--l-pass-bg-success)]" }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react45.Copy, { className: "w-3.5 h-3.5 text-[var(--l-pass-fg-muted)]" })
13292
13384
  }
13293
13385
  )
13294
13386
  ] }),
13295
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(Highlight, { type: "info", children: [
13296
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
13297
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Button, { onClick: handleCopy, className: "w-full", size: "large", children: copied ? /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
13298
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react45.CheckCircle2, { className: "h-4 w-4" }),
13299
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { children: "Copied!" })
13300
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
13301
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_lucide_react45.Copy, { className: "h-4 w-4" }),
13302
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { children: "Copy Address" })
13387
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Highlight, { type: "info", children: [
13388
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "block w-full text-center font-mono text-[10px] break-all mb-2", children: address }),
13389
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Button, { onClick: handleCopy, className: "w-full", size: "large", children: copied ? /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
13390
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react45.CheckCircle2, { className: "h-4 w-4" }),
13391
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: "Copied!" })
13392
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
13393
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_lucide_react45.Copy, { className: "h-4 w-4" }),
13394
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: "Copy Address" })
13303
13395
  ] }) })
13304
13396
  ] }),
13305
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "text-center text-xs text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "block", children: "Share this address to receive LUMIA tokens." }) })
13397
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "text-center text-xs text-[var(--l-pass-fg-muted)]", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "block", children: "Share this address to receive LUMIA tokens." }) })
13306
13398
  ]
13307
13399
  }
13308
13400
  );
13309
13401
  }
13310
13402
 
13311
13403
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
13404
+ var import_react_query35 = require("@tanstack/react-query");
13312
13405
  var import_lucide_react47 = require("lucide-react");
13313
13406
  var import_react52 = require("react");
13407
+ init_nickname();
13408
+ init_profile();
13314
13409
 
13315
13410
  // src/internal/components/SettingsMenu/constants.ts
13316
13411
  var import_lucide_react46 = require("lucide-react");
13317
13412
 
13318
13413
  // src/internal/assets/KycIcon.tsx
13319
- var import_jsx_runtime68 = require("react/jsx-runtime");
13414
+ var import_jsx_runtime67 = require("react/jsx-runtime");
13320
13415
  function KycIcon(props) {
13321
13416
  const { width = "24", height = "24", ...rest } = props;
13322
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("svg", { ...rest, width, height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
13417
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("svg", { ...rest, width, height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
13323
13418
  "path",
13324
13419
  {
13325
13420
  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",
@@ -13339,7 +13434,7 @@ var NAV_BUTTONS = [
13339
13434
  ];
13340
13435
 
13341
13436
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
13342
- var import_jsx_runtime69 = require("react/jsx-runtime");
13437
+ var import_jsx_runtime68 = require("react/jsx-runtime");
13343
13438
  function SettingsMenu() {
13344
13439
  const address = useLumiaPassportSession((st) => st.address);
13345
13440
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -13348,9 +13443,15 @@ function SettingsMenu() {
13348
13443
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
13349
13444
  (0, import_react52.useEffect)(() => setMainPageHeight(DEFAULT_SETTINGS_MENU_HEIGHT), [setMainPageHeight]);
13350
13445
  useProvidersList();
13446
+ (0, import_react_query35.useQuery)({
13447
+ retry: 1,
13448
+ enabled: !!address,
13449
+ queryKey: [QUERY_KEYS.nicknameInfo, address],
13450
+ queryFn: getNicknameInfo
13451
+ });
13351
13452
  const navItems = NAV_BUTTONS.map((el) => ({ ...el, onClick: () => setPage(el.id) }));
13352
13453
  const highlightedKeys = settingsNotifications.map((n) => n.target);
13353
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
13454
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
13354
13455
  "div",
13355
13456
  {
13356
13457
  style: {
@@ -13359,11 +13460,11 @@ function SettingsMenu() {
13359
13460
  },
13360
13461
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]",
13361
13462
  children: [
13362
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13363
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react47.ArrowLeft, { className: "h-4 w-4" }) }),
13364
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "text-xl font-semibold", children: "Settings" })
13463
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13464
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_lucide_react47.ArrowLeft, { className: "h-4 w-4" }) }),
13465
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "text-xl font-semibold", children: "Settings" })
13365
13466
  ] }),
13366
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
13467
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: navItems.map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
13367
13468
  Button,
13368
13469
  {
13369
13470
  variant: "outline",
@@ -13376,8 +13477,8 @@ function SettingsMenu() {
13376
13477
  highlightedKeys.includes(id) && "animate-glow-warning"
13377
13478
  ),
13378
13479
  children: [
13379
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Icon2, { className: "w-4 h-4" }),
13380
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { children: name })
13480
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Icon2, { className: "w-4 h-4" }),
13481
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { children: name })
13381
13482
  ]
13382
13483
  },
13383
13484
  id
@@ -13389,33 +13490,33 @@ function SettingsMenu() {
13389
13490
 
13390
13491
  // src/internal/components/TermsOfService.tsx
13391
13492
  var import_lucide_react48 = require("lucide-react");
13392
- var import_jsx_runtime70 = require("react/jsx-runtime");
13493
+ var import_jsx_runtime69 = require("react/jsx-runtime");
13393
13494
  function TermsOfService() {
13394
13495
  const address = useLumiaPassportSession((st) => st.address);
13395
13496
  const setPage = useLayoutDataStore((st) => st.setPage);
13396
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
13397
- /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13398
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
13497
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "w-full p-[var(--l-pass-pd)] flex flex-col gap-[var(--l-pass-gap)]", children: [
13498
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13499
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
13399
13500
  Button,
13400
13501
  {
13401
13502
  variant: "ghost",
13402
13503
  size: "icon",
13403
13504
  title: "Back",
13404
13505
  onClick: () => setPage(!!address ? "settings" /* SETTINGS */ : "auth" /* AUTH */),
13405
- children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react48.ArrowLeft, { className: "h-4 w-4" })
13506
+ children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_lucide_react48.ArrowLeft, { className: "h-4 w-4" })
13406
13507
  }
13407
13508
  ),
13408
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "text-xl font-semibold", children: "Terms of Service" })
13509
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "text-xl font-semibold", children: "Terms of Service" })
13409
13510
  ] }),
13410
- /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(Highlight, { type: "warning", className: "text-center", children: [
13411
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "block text-xs", children: "By using Lumia Passport you agree to our terms." }),
13412
- /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "block text-xs", children: "To be updated..." })
13511
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(Highlight, { type: "warning", className: "text-center", children: [
13512
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "block text-xs", children: "By using Lumia Passport you agree to our terms." }),
13513
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "block text-xs", children: "To be updated..." })
13413
13514
  ] })
13414
13515
  ] });
13415
13516
  }
13416
13517
 
13417
13518
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
13418
- var import_react_query35 = require("@tanstack/react-query");
13519
+ var import_react_query36 = require("@tanstack/react-query");
13419
13520
  var import_lucide_react50 = require("lucide-react");
13420
13521
  var import_react53 = require("react");
13421
13522
 
@@ -13795,22 +13896,22 @@ var formatTimestamp = (timestampMs) => {
13795
13896
  };
13796
13897
 
13797
13898
  // src/internal/components/TransactionsMenu/TransactionsGroup.tsx
13798
- var import_jsx_runtime71 = require("react/jsx-runtime");
13899
+ var import_jsx_runtime70 = require("react/jsx-runtime");
13799
13900
  function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
13800
13901
  const internalSymbol = internal.assetSymbol || assetSymbol;
13801
13902
  const internalDecimals = internal.decimals ?? assetDecimals;
13802
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
13803
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex gap-2 items-center justify-between", children: [
13804
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: internal.method || "CALL" }),
13805
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("span", { children: [
13903
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "border-t border-dashed border-[var(--l-pass-bd)]", children: [
13904
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex gap-2 items-center justify-between", children: [
13905
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "text-[var(--l-pass-fg-muted)]", children: internal.method || "CALL" }),
13906
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("span", { children: [
13806
13907
  formatValue2(internal.value, internalDecimals),
13807
13908
  " ",
13808
13909
  internalSymbol
13809
13910
  ] })
13810
13911
  ] }),
13811
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex gap-2 items-center justify-between", children: [
13812
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { children: internal.direction === "in" ? "From" : "To" }),
13813
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "font-mono", children: internal.counterpartyName || formatAddress2(internal.counterparty) })
13912
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex gap-2 items-center justify-between", children: [
13913
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { children: internal.direction === "in" ? "From" : "To" }),
13914
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "font-mono", children: internal.counterpartyName || formatAddress2(internal.counterparty) })
13814
13915
  ] })
13815
13916
  ] });
13816
13917
  }
@@ -13821,7 +13922,7 @@ function TransactionsGroup(props) {
13821
13922
  const assetSymbol = parent.assetSymbol || "LUMIA";
13822
13923
  const assetDecimals = parent.decimals ?? 18;
13823
13924
  const internalsToRender = group.internals.filter((internal) => parseValue(internal.value) !== 0n);
13824
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
13925
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
13825
13926
  "div",
13826
13927
  {
13827
13928
  onClick: () => openInExplorer2(parent.parentHash),
@@ -13831,28 +13932,28 @@ function TransactionsGroup(props) {
13831
13932
  "bg-transparent hover:bg-[var(--l-pass-secondary-h)] active:bg-[var(--l-pass-secondary-a)]"
13832
13933
  ),
13833
13934
  children: [
13834
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13835
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-center gap-1 flex-0 w-fit", children: [
13836
- parent.direction === "in" ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react49.ChevronLeft, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react49.ChevronRight, { className: "w-4 h-4" }),
13837
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "text-[10px]", children: isIncoming ? "RECEIVED" : "SENT" }),
13838
- parent.status === "ok" ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(PositiveIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(NegativeIcon, {})
13935
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13936
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex items-center gap-1 flex-0 w-fit", children: [
13937
+ parent.direction === "in" ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react49.ChevronLeft, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react49.ChevronRight, { className: "w-4 h-4" }),
13938
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "text-[10px]", children: isIncoming ? "RECEIVED" : "SENT" }),
13939
+ parent.status === "ok" ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(PositiveIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(NegativeIcon, {})
13839
13940
  ] }),
13840
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "block flex-0 font-mono text-[10px] text-[var(--l-pass-fg-muted)]", children: formatTimestamp(group.timestampMs) })
13941
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { className: "block flex-0 font-mono text-[10px] text-[var(--l-pass-fg-muted)]", children: formatTimestamp(group.timestampMs) })
13841
13942
  ] }),
13842
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13843
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex flex-col gap-0", children: [
13844
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("span", { className: "font-bold", children: [
13943
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex items-center justify-between gap-[var(--l-pass-gap)]", children: [
13944
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex flex-col gap-0", children: [
13945
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("span", { className: "font-bold", children: [
13845
13946
  formatValue2(parent.value, assetDecimals),
13846
13947
  " ",
13847
13948
  assetSymbol
13848
13949
  ] }),
13849
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("span", { className: "text-[10px] font-mono text-[var(--l-pass-fg-muted)]", children: [
13950
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("span", { className: "text-[10px] font-mono text-[var(--l-pass-fg-muted)]", children: [
13850
13951
  isIncoming ? "From: " : "To: ",
13851
13952
  parent.counterpartyName || formatAddress2(parent.counterparty)
13852
13953
  ] })
13853
13954
  ] }),
13854
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-center gap-0", children: [
13855
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
13955
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex items-center gap-0", children: [
13956
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
13856
13957
  Button,
13857
13958
  {
13858
13959
  variant: "ghost",
@@ -13861,10 +13962,10 @@ function TransactionsGroup(props) {
13861
13962
  onClick: (e) => {
13862
13963
  e.stopPropagation();
13863
13964
  },
13864
- children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react49.Copy, { className: "w-4 h-4" })
13965
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_lucide_react49.Copy, { className: "w-4 h-4" })
13865
13966
  }
13866
13967
  ),
13867
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
13968
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
13868
13969
  Button,
13869
13970
  {
13870
13971
  variant: "ghost",
@@ -13873,24 +13974,24 @@ function TransactionsGroup(props) {
13873
13974
  onClick: (e) => {
13874
13975
  e.stopPropagation();
13875
13976
  },
13876
- children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(LumiaIcon, { className: "w-4 h-4" })
13977
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(LumiaIcon, { className: "w-4 h-4" })
13877
13978
  }
13878
13979
  )
13879
13980
  ] })
13880
13981
  ] }),
13881
- internalsToRender.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_jsx_runtime71.Fragment, { children: [
13882
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "w-full flex items-center", children: [
13883
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
13884
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "flex-none font-bold px-2 text-xs leading-4 text-[var(--l-pass-fg-muted)]", children: "Internals" }),
13885
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" })
13982
+ internalsToRender.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_jsx_runtime70.Fragment, { children: [
13983
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "w-full flex items-center", children: [
13984
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" }),
13985
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "flex-none font-bold px-2 text-xs leading-4 text-[var(--l-pass-fg-muted)]", children: "Internals" }),
13986
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { style: { borderTop: "1px solid var(--l-pass-bd)" }, className: "flex-1" })
13886
13987
  ] }),
13887
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
13988
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
13888
13989
  "div",
13889
13990
  {
13890
13991
  className: "w-full rounded-[var(--l-pass-el-bdrs)] border border-dashed border-[var(--l-pass-bd)]",
13891
13992
  onClick: (event) => event.stopPropagation(),
13892
13993
  children: [
13893
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
13994
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
13894
13995
  Button,
13895
13996
  {
13896
13997
  variant: "ghost",
@@ -13898,16 +13999,16 @@ function TransactionsGroup(props) {
13898
13999
  className: "w-full justify-between",
13899
14000
  onClick: () => onToggleExpanded(group.id),
13900
14001
  children: [
13901
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("span", { children: [
14002
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("span", { children: [
13902
14003
  "View internal calls (",
13903
14004
  internalsToRender.length,
13904
14005
  ")"
13905
14006
  ] }),
13906
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { children: expanded ? "Hide" : "Show" })
14007
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("span", { children: expanded ? "Hide" : "Show" })
13907
14008
  ]
13908
14009
  }
13909
14010
  ),
13910
- expanded && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "px-2 pb-2 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
14011
+ expanded && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "px-2 pb-2 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
13911
14012
  InternalTransaction,
13912
14013
  {
13913
14014
  internal,
@@ -13926,9 +14027,9 @@ function TransactionsGroup(props) {
13926
14027
  }
13927
14028
 
13928
14029
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
13929
- var import_jsx_runtime72 = require("react/jsx-runtime");
14030
+ var import_jsx_runtime71 = require("react/jsx-runtime");
13930
14031
  function TransactionsMenu() {
13931
- const qc = (0, import_react_query35.useQueryClient)();
14032
+ const qc = (0, import_react_query36.useQueryClient)();
13932
14033
  const address = useLumiaPassportSession((st) => st.address);
13933
14034
  const page = useLayoutDataStore((st) => st.page);
13934
14035
  const setPage = useLayoutDataStore((st) => st.setPage);
@@ -13939,7 +14040,7 @@ function TransactionsMenu() {
13939
14040
  isLoading: isTxHistoryLoading,
13940
14041
  isFetching: isTxHistoryFetching,
13941
14042
  error: txHistoryError
13942
- } = (0, import_react_query35.useQuery)({
14043
+ } = (0, import_react_query36.useQuery)({
13943
14044
  retry: false,
13944
14045
  enabled: !!address && page === "transactions",
13945
14046
  queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, address],
@@ -13950,7 +14051,7 @@ function TransactionsMenu() {
13950
14051
  [qc, address]
13951
14052
  );
13952
14053
  const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
13953
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
14054
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
13954
14055
  "div",
13955
14056
  {
13956
14057
  style: {
@@ -13958,11 +14059,11 @@ function TransactionsMenu() {
13958
14059
  "--l-pass-list-scrollbar-pd-r": "var(--l-pass-pd)"
13959
14060
  },
13960
14061
  className: "list-scrollbar-y w-full p-[var(--l-pass-pd)]",
13961
- children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
13962
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
13963
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react50.ArrowLeft, { className: "h-4 w-4" }) }),
13964
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("span", { className: "text-xl font-semibold", children: "Transaction History" }),
13965
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
14062
+ children: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: [
14063
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
14064
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react50.ArrowLeft, { className: "h-4 w-4" }) }),
14065
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "text-xl font-semibold", children: "Transaction History" }),
14066
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
13966
14067
  Button,
13967
14068
  {
13968
14069
  variant: "ghost",
@@ -13970,17 +14071,17 @@ function TransactionsMenu() {
13970
14071
  onClick: refreshTxHistory,
13971
14072
  disabled: isTxHistoryFetching,
13972
14073
  title: "Refresh transactions",
13973
- children: isTxHistoryFetching ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react50.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react50.RefreshCw, { className: "h-4 w-4" })
14074
+ children: isTxHistoryFetching ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react50.Loader, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react50.RefreshCw, { className: "h-4 w-4" })
13974
14075
  }
13975
14076
  )
13976
14077
  ] }),
13977
- isTxHistoryLoading && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react50.Loader, { className: "h-5 w-5 animate-spin" }) }),
13978
- !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
13979
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react50.XCircle, { className: "w-4 h-4 flex-none" }),
13980
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
14078
+ isTxHistoryLoading && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react50.Loader, { className: "h-5 w-5 animate-spin" }) }),
14079
+ !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--l-pass-gap)]", children: [
14080
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react50.XCircle, { className: "w-4 h-4 flex-none" }),
14081
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
13981
14082
  ] }),
13982
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Highlight, { type: "warning", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("span", { children: "No transactions found." }) }),
13983
- !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
14083
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Highlight, { type: "warning", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { children: "No transactions found." }) }),
14084
+ !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "w-full flex flex-col gap-[var(--l-pass-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
13984
14085
  TransactionsGroup,
13985
14086
  {
13986
14087
  group,
@@ -14090,12 +14191,12 @@ var PAGE_MAP = {
14090
14191
  key: "nickname-settings" /* NICKNAME_SETTINGS */,
14091
14192
  title: "Nickname Settings",
14092
14193
  description: "View and manage your @nickname",
14093
- component: NicknameSettings
14194
+ component: NicknameMenu
14094
14195
  }
14095
14196
  };
14096
14197
 
14097
14198
  // src/internal/hooks/usePageMapper.tsx
14098
- var import_jsx_runtime73 = require("react/jsx-runtime");
14199
+ var import_jsx_runtime72 = require("react/jsx-runtime");
14099
14200
  var CLEAR_DIALOG_TIMEOUT = MAIN_DIALOG_ANIMATION_SPEED + 5;
14100
14201
  function usePageMapper() {
14101
14202
  const page = useLayoutDataStore((st) => st.page);
@@ -14123,7 +14224,7 @@ function usePageMapper() {
14123
14224
  const PageContentComponent = pageItem.component;
14124
14225
  setDialogTitle(pageItem.title);
14125
14226
  setDialogDescription(pageItem.description);
14126
- setDialogContent(/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(PageContentComponent, {}));
14227
+ setDialogContent(/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(PageContentComponent, {}));
14127
14228
  setIsDialogOpen(true);
14128
14229
  },
14129
14230
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
@@ -14141,7 +14242,7 @@ function usePageMapper() {
14141
14242
  }
14142
14243
 
14143
14244
  // src/internal/hooks/useSettingsNotifications.ts
14144
- var import_react_query36 = require("@tanstack/react-query");
14245
+ var import_react_query37 = require("@tanstack/react-query");
14145
14246
  var import_react55 = require("react");
14146
14247
  init_auth();
14147
14248
  init_profile();
@@ -14160,7 +14261,7 @@ function useSettingsNotifications() {
14160
14261
  const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
14161
14262
  const providers = import_auth3.jwtTokenManager.getProviders();
14162
14263
  const hasEmail = providers.includes("email");
14163
- const { data: userProfile = null } = (0, import_react_query36.useQuery)({
14264
+ const { data: userProfile = null } = (0, import_react_query37.useQuery)({
14164
14265
  retry: false,
14165
14266
  enabled: !!address,
14166
14267
  queryKey: [QUERY_KEYS.userProfile, address],
@@ -14212,7 +14313,7 @@ function useWalletStatus() {
14212
14313
  }
14213
14314
 
14214
14315
  // src/internal/components/Dialog/LumiaPassportDialog.tsx
14215
- var import_jsx_runtime74 = require("react/jsx-runtime");
14316
+ var import_jsx_runtime73 = require("react/jsx-runtime");
14216
14317
  function LumiaPassportDialog() {
14217
14318
  const config = useLumiaPassportConfig().config;
14218
14319
  const className = config.current?.ui?.dialogClassName;
@@ -14231,7 +14332,7 @@ function LumiaPassportDialog() {
14231
14332
  useListenIframeAuthEvents();
14232
14333
  useWalletStatus();
14233
14334
  const isHeaderHidden = !session || page === "keysare-backup" /* KEYSARE_BACKUP */ && !hasServerVault;
14234
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
14335
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
14235
14336
  Dialog,
14236
14337
  {
14237
14338
  open: isDialogOpen,
@@ -14239,11 +14340,11 @@ function LumiaPassportDialog() {
14239
14340
  if (isDialogForced) return;
14240
14341
  if (!open) setPage(null);
14241
14342
  },
14242
- children: /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(DialogContent, { colorMode, className, children: [
14243
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(DialogTitle, { children: dialogTitle }) }),
14244
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(DialogDescription, { className: "sr-only", children: dialogDescription }),
14245
- !isHeaderHidden && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Header, {}),
14246
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_framer_motion3.AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
14343
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(DialogContent, { colorMode, className, children: [
14344
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(DialogTitle, { children: dialogTitle }) }),
14345
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(DialogDescription, { className: "sr-only", children: dialogDescription }),
14346
+ !isHeaderHidden && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Header, {}),
14347
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_framer_motion3.AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
14247
14348
  import_framer_motion3.motion.div,
14248
14349
  {
14249
14350
  initial: { opacity: 0, height: mainPageHeight },
@@ -14255,7 +14356,7 @@ function LumiaPassportDialog() {
14255
14356
  },
14256
14357
  page || "empty"
14257
14358
  ) }),
14258
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Footer, {})
14359
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Footer, {})
14259
14360
  ] })
14260
14361
  }
14261
14362
  );
@@ -14305,12 +14406,12 @@ var TssManagerWithRef = import_react58.default.forwardRef((props, ref) => {
14305
14406
 
14306
14407
  // src/internal/components/WalletConnectHandler.tsx
14307
14408
  var import_rainbowkit = require("@rainbow-me/rainbowkit");
14308
- var import_react_query37 = require("@tanstack/react-query");
14409
+ var import_react_query38 = require("@tanstack/react-query");
14309
14410
  var import_react59 = __toESM(require("react"), 1);
14310
14411
  var import_wagmi4 = require("wagmi");
14311
14412
  init_wallet();
14312
14413
  function WalletConnectHandler() {
14313
- const qc = (0, import_react_query37.useQueryClient)();
14414
+ const qc = (0, import_react_query38.useQueryClient)();
14314
14415
  const callbacks = useLumiaPassportConfig().callbacks;
14315
14416
  const passportWalletAddress = useLumiaPassportSession((st) => st.address);
14316
14417
  const { address: walletAddress, isConnected, chain, connector } = (0, import_wagmi4.useAccount)();
@@ -14379,7 +14480,7 @@ function WalletConnectHandler() {
14379
14480
  setHasStartedLinking(false);
14380
14481
  }
14381
14482
  }, [connectModalOpen, hasStartedLinking, isConnected, isWalletLinking]);
14382
- const { mutate: handleWalletSign, isPending: isWalletSigning } = (0, import_react_query37.useMutation)({
14483
+ const { mutate: handleWalletSign, isPending: isWalletSigning } = (0, import_react_query38.useMutation)({
14383
14484
  mutationFn: async (payload) => {
14384
14485
  const { chainId, signingWalletAddress } = payload;
14385
14486
  if (!signingWalletAddress || !chainId) {
@@ -14458,7 +14559,7 @@ function WalletConnectHandler() {
14458
14559
  }
14459
14560
 
14460
14561
  // src/context/LumiaPassportSessionContext.tsx
14461
- var import_jsx_runtime75 = require("react/jsx-runtime");
14562
+ var import_jsx_runtime74 = require("react/jsx-runtime");
14462
14563
  var useLumiaPassportSession = (0, import_zustand6.create)((set) => ({
14463
14564
  isLoading: false,
14464
14565
  usePaymaster: true,
@@ -14484,17 +14585,17 @@ var useLumiaPassportSession = (0, import_zustand6.create)((set) => ({
14484
14585
  }));
14485
14586
  function LumiaPassportSessionProvider({ children }) {
14486
14587
  const config = useLumiaPassportConfig().config;
14487
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_react60.Fragment, { children: [
14588
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_react60.Fragment, { children: [
14488
14589
  children,
14489
- config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(WalletConnectHandler, {}),
14490
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(BalanceFeedProvider, {}),
14491
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
14590
+ config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(WalletConnectHandler, {}),
14591
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(BalanceFeedProvider, {}),
14592
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
14492
14593
  TssManagerWithRef,
14493
14594
  {
14494
14595
  mpcPin: void 0
14495
14596
  }
14496
14597
  ),
14497
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(LumiaPassportDialog, {})
14598
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(LumiaPassportDialog, {})
14498
14599
  ] });
14499
14600
  }
14500
14601
 
@@ -14529,13 +14630,13 @@ var wagmiConfig = (0, import_wagmi5.createConfig)({
14529
14630
  });
14530
14631
 
14531
14632
  // src/context/WagmiContext.tsx
14532
- var import_jsx_runtime76 = require("react/jsx-runtime");
14633
+ var import_jsx_runtime75 = require("react/jsx-runtime");
14533
14634
  var LumiaWagmiProvider = ({ children }) => {
14534
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_wagmi6.WagmiProvider, { config: wagmiConfig, children });
14635
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_wagmi6.WagmiProvider, { config: wagmiConfig, children });
14535
14636
  };
14536
14637
 
14537
14638
  // src/context/LumiaPassportContext.tsx
14538
- var import_jsx_runtime77 = require("react/jsx-runtime");
14639
+ var import_jsx_runtime76 = require("react/jsx-runtime");
14539
14640
  var LumiaPassportContext = (0, import_react61.createContext)(void 0);
14540
14641
  function LumiaPassportProvider(props) {
14541
14642
  const { children, projectId, initialConfig = {}, callbacks } = props;
@@ -14624,7 +14725,7 @@ function LumiaPassportProvider(props) {
14624
14725
  }
14625
14726
  }, [projectId, initialConfig, callbacks, updateConfig, setIsIframeReady, setWalletReadyStatus]);
14626
14727
  const contextValue = (0, import_react61.useMemo)(() => ({ config, updateConfig, callbacks }), [config, updateConfig, callbacks]);
14627
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(LumiaWagmiProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(LumiaPassportContext.Provider, { value: contextValue, children }) });
14728
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(LumiaWagmiProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(LumiaPassportContext.Provider, { value: contextValue, children }) });
14628
14729
  }
14629
14730
  var useLumiaPassportConfig = () => {
14630
14731
  const ctx = (0, import_react61.useContext)(LumiaPassportContext);
@@ -14633,12 +14734,12 @@ var useLumiaPassportConfig = () => {
14633
14734
  };
14634
14735
 
14635
14736
  // src/components/ConnectWalletButton.tsx
14636
- var import_react_query38 = require("@tanstack/react-query");
14737
+ var import_react_query39 = require("@tanstack/react-query");
14637
14738
  var import_lucide_react51 = require("lucide-react");
14638
14739
  var import_react62 = require("react");
14639
14740
  init_auth();
14640
14741
  init_profile();
14641
- var import_jsx_runtime78 = (
14742
+ var import_jsx_runtime77 = (
14642
14743
  /** external Buttons can be provided */
14643
14744
  require("react/jsx-runtime")
14644
14745
  );
@@ -14661,7 +14762,7 @@ function ConnectWalletButton(props) {
14661
14762
  const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useLumiaPassportSession();
14662
14763
  const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
14663
14764
  (0, import_react62.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
14664
- const { data: profile, isLoading: isProfileLoading } = (0, import_react_query38.useQuery)({
14765
+ const { data: profile, isLoading: isProfileLoading } = (0, import_react_query39.useQuery)({
14665
14766
  retry: false,
14666
14767
  enabled: !!address,
14667
14768
  queryKey: [QUERY_KEYS.userProfile, address],
@@ -14677,18 +14778,18 @@ function ConnectWalletButton(props) {
14677
14778
  return { server, local, backup: hasServerVault };
14678
14779
  }, [session, address, hasServerVault]);
14679
14780
  const isConnecting = connectButtonLabel !== label || isLoading;
14680
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { "data-lumia-passport-mode": colorMode, className: cn("lumia-scope w-fit h-fit", className), children: !address ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_jsx_runtime78.Fragment, { children: ConnectButton ? /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
14781
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { "data-lumia-passport-mode": colorMode, className: cn("lumia-scope w-fit h-fit", className), children: !address ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_jsx_runtime77.Fragment, { children: ConnectButton ? /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
14681
14782
  ConnectButton,
14682
14783
  {
14683
14784
  type: "button",
14684
14785
  disabled: isConnecting,
14685
14786
  onClick: () => setPage("auth" /* AUTH */),
14686
14787
  children: [
14687
- isConnecting && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react51.Loader, { className: "w-4 h-4 animate-spin" }),
14788
+ isConnecting && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react51.Loader, { className: "w-4 h-4 animate-spin" }),
14688
14789
  connectButtonLabel
14689
14790
  ]
14690
14791
  }
14691
- ) : /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
14792
+ ) : /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
14692
14793
  Button,
14693
14794
  {
14694
14795
  type: "button",
@@ -14705,11 +14806,11 @@ function ConnectWalletButton(props) {
14705
14806
  "disabled:hover:bg-[var(--l-pass-bg)] disabled:active:bg-[var(--l-pass-bg)]"
14706
14807
  ),
14707
14808
  children: [
14708
- isConnecting && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react51.Loader, { className: "w-4 h-4 animate-spin" }),
14809
+ isConnecting && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react51.Loader, { className: "w-4 h-4 animate-spin" }),
14709
14810
  connectButtonLabel.toUpperCase()
14710
14811
  ]
14711
14812
  }
14712
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
14813
+ ) }) : /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
14713
14814
  "button",
14714
14815
  {
14715
14816
  type: "button",
@@ -14722,23 +14823,23 @@ function ConnectWalletButton(props) {
14722
14823
  "rounded-[var(--l-pass-bdrs)] p-4 max-w-sm min-w-[256px]"
14723
14824
  ),
14724
14825
  children: [
14725
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center flex-shrink-0", children: avatar ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(LumiaIcon, { width: 48, height: 48 }) }),
14726
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
14727
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
14728
- isProfileLoading ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react51.Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--l-pass-fg)]", children: displayName }),
14729
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(KYCStatus, {})
14826
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "w-12 h-12 rounded-full bg-[var(--l-pass-fg)] flex items-center justify-center flex-shrink-0", children: avatar ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(LumiaIcon, { width: 48, height: 48 }) }),
14827
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "text-left flex-1 min-w-0 text-[var(--l-pass-fg)]", children: [
14828
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex items-center gap-[var(--l-pass-gap)]", children: [
14829
+ isProfileLoading ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_lucide_react51.Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--l-pass-fg)]", children: displayName }),
14830
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(KYCStatus, {})
14730
14831
  ] }),
14731
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(BalanceView, {})
14832
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(BalanceView, {})
14732
14833
  ] }),
14733
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex items-center space-x-1", children: [
14734
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "group relative", children: [
14735
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
14834
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex items-center space-x-1", children: [
14835
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "group relative", children: [
14836
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
14736
14837
  import_lucide_react51.Cloud,
14737
14838
  {
14738
14839
  className: `w-3 h-3 ${indicators.server ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
14739
14840
  }
14740
14841
  ),
14741
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
14842
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
14742
14843
  "div",
14743
14844
  {
14744
14845
  className: cn(
@@ -14753,14 +14854,14 @@ function ConnectWalletButton(props) {
14753
14854
  }
14754
14855
  )
14755
14856
  ] }),
14756
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "group relative", children: [
14757
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
14857
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "group relative", children: [
14858
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
14758
14859
  import_lucide_react51.Laptop,
14759
14860
  {
14760
14861
  className: `w-3 h-3 ${indicators.local ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
14761
14862
  }
14762
14863
  ),
14763
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
14864
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
14764
14865
  "div",
14765
14866
  {
14766
14867
  className: cn(
@@ -14775,14 +14876,14 @@ function ConnectWalletButton(props) {
14775
14876
  }
14776
14877
  )
14777
14878
  ] }),
14778
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "group relative", children: [
14779
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
14879
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "group relative", children: [
14880
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
14780
14881
  import_lucide_react51.Shield,
14781
14882
  {
14782
14883
  className: `w-3 h-3 ${indicators.backup ? "text-[var(--l-pass-bg-success)]" : "text-[var(--l-pass-bg-warning)]"}`
14783
14884
  }
14784
14885
  ),
14785
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
14886
+ /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
14786
14887
  "div",
14787
14888
  {
14788
14889
  className: cn(
@@ -14798,7 +14899,7 @@ function ConnectWalletButton(props) {
14798
14899
  )
14799
14900
  ] })
14800
14901
  ] }),
14801
- !!settingsNotifications.length && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
14902
+ !!settingsNotifications.length && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
14802
14903
  "div",
14803
14904
  {
14804
14905
  className: cn(
@@ -14892,23 +14993,23 @@ function useLumiaPassportColorMode() {
14892
14993
 
14893
14994
  // src/components/ThemeToggle.tsx
14894
14995
  var import_lucide_react52 = require("lucide-react");
14895
- var import_jsx_runtime79 = require("react/jsx-runtime");
14996
+ var import_jsx_runtime78 = require("react/jsx-runtime");
14896
14997
  function ThemeToggle(props) {
14897
14998
  const { colorMode, setColorMode } = useLumiaPassportColorMode();
14898
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
14999
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
14899
15000
  "div",
14900
15001
  {
14901
15002
  className: "lumia-scope",
14902
15003
  "data-lumia-passport-mode": colorMode,
14903
15004
  style: { width: "fit-content", height: "fit-content" },
14904
- children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
15005
+ children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
14905
15006
  Button,
14906
15007
  {
14907
15008
  ...props,
14908
15009
  variant: "ghost",
14909
15010
  onClick: () => setColorMode(colorMode === "light" ? "dark" : "light"),
14910
15011
  title: `Current theme: ${colorMode}. Click to switch.`,
14911
- children: colorMode === "dark" ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_lucide_react52.Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_lucide_react52.Moon, { className: "w-4 h-4" })
15012
+ children: colorMode === "dark" ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react52.Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react52.Moon, { className: "w-4 h-4" })
14912
15013
  }
14913
15014
  )
14914
15015
  }
@@ -15145,7 +15246,7 @@ var rainbowTheme = {
15145
15246
 
15146
15247
  // src/context/RainbowKitContext.tsx
15147
15248
  var import_styles = require("@rainbow-me/rainbowkit/styles.css");
15148
- var import_jsx_runtime80 = require("react/jsx-runtime");
15249
+ var import_jsx_runtime79 = require("react/jsx-runtime");
15149
15250
  function LumiaRainbowKitProvider({ children }) {
15150
15251
  const config = useLumiaPassportConfig().config;
15151
15252
  const colorMode = useLayoutStore((st) => st.colorMode);
@@ -15164,8 +15265,8 @@ function LumiaRainbowKitProvider({ children }) {
15164
15265
  },
15165
15266
  [colorMode]
15166
15267
  );
15167
- if (!config.current?.wallet?.enabled) return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_jsx_runtime80.Fragment, { children });
15168
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_wagmi8.WagmiProvider, { config: rainbowConfig2, children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_rainbowkit3.RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
15268
+ if (!config.current?.wallet?.enabled) return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_jsx_runtime79.Fragment, { children });
15269
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_wagmi8.WagmiProvider, { config: rainbowConfig2, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_rainbowkit3.RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
15169
15270
  }
15170
15271
 
15171
15272
  // src/internal/components/UserOpStatus.tsx
@@ -15183,7 +15284,7 @@ function cn2(...inputs) {
15183
15284
  // src/internal/components/Address.tsx
15184
15285
  var import_lucide_react53 = require("lucide-react");
15185
15286
  var React9 = __toESM(require("react"), 1);
15186
- var import_jsx_runtime81 = require("react/jsx-runtime");
15287
+ var import_jsx_runtime80 = require("react/jsx-runtime");
15187
15288
  function toExplorerAddressUrl(address, chain) {
15188
15289
  const base2 = chain?.blockExplorers?.default?.url;
15189
15290
  if (!base2) return null;
@@ -15205,11 +15306,11 @@ var Address = ({
15205
15306
  const addr = address || "";
15206
15307
  const explorer = toExplorerAddressUrl(addr, chain || void 0);
15207
15308
  const [copied, setCopied] = React9.useState(false);
15208
- if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
15209
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
15210
- label && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-sm font-medium", children: label }),
15211
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
15212
- showCopy && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
15309
+ if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
15310
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
15311
+ label && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "text-sm font-medium", children: label }),
15312
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
15313
+ showCopy && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
15213
15314
  Button,
15214
15315
  {
15215
15316
  variant: "ghost",
@@ -15223,10 +15324,10 @@ var Address = ({
15223
15324
  } catch {
15224
15325
  }
15225
15326
  },
15226
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react53.Copy, { className: "h-4 w-4" })
15327
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react53.Copy, { className: "h-4 w-4" })
15227
15328
  }
15228
15329
  ),
15229
- showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
15330
+ showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
15230
15331
  "a",
15231
15332
  {
15232
15333
  href: explorer,
@@ -15234,7 +15335,7 @@ var Address = ({
15234
15335
  rel: "noreferrer noopener",
15235
15336
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
15236
15337
  title: "Open in explorer",
15237
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react53.ExternalLink, { className: "h-4 w-4" })
15338
+ children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_lucide_react53.ExternalLink, { className: "h-4 w-4" })
15238
15339
  }
15239
15340
  )
15240
15341
  ] });
@@ -15242,7 +15343,7 @@ var Address = ({
15242
15343
 
15243
15344
  // src/internal/components/ui/badge.tsx
15244
15345
  var import_class_variance_authority2 = require("class-variance-authority");
15245
- var import_jsx_runtime82 = require("react/jsx-runtime");
15346
+ var import_jsx_runtime81 = require("react/jsx-runtime");
15246
15347
  var badgeVariants = (0, import_class_variance_authority2.cva)(
15247
15348
  "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",
15248
15349
  {
@@ -15262,11 +15363,11 @@ var badgeVariants = (0, import_class_variance_authority2.cva)(
15262
15363
  }
15263
15364
  );
15264
15365
  function Badge({ className, variant, ...props }) {
15265
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: cn2(badgeVariants({ variant }), className), ...props });
15366
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: cn2(badgeVariants({ variant }), className), ...props });
15266
15367
  }
15267
15368
 
15268
15369
  // src/internal/components/UserOpStatus.tsx
15269
- var import_jsx_runtime83 = require("react/jsx-runtime");
15370
+ var import_jsx_runtime82 = require("react/jsx-runtime");
15270
15371
  var UserOpStatus = ({
15271
15372
  userOpHash,
15272
15373
  chain,
@@ -15399,35 +15500,35 @@ var UserOpStatus = ({
15399
15500
  const stateBadge = () => {
15400
15501
  if (receipt) {
15401
15502
  const ok = !!receipt.success;
15402
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
15403
- ok ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.CheckCircle2, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.AlertCircle, { className: "h-3 w-3" }),
15503
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
15504
+ ok ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react54.CheckCircle2, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react54.AlertCircle, { className: "h-3 w-3" }),
15404
15505
  ok ? "Included" : "Failed"
15405
15506
  ] });
15406
15507
  }
15407
15508
  if (rejected) {
15408
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(Badge, { variant: "destructive", className: "gap-1", children: [
15409
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.AlertCircle, { className: "h-3 w-3" }),
15509
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Badge, { variant: "destructive", className: "gap-1", children: [
15510
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react54.AlertCircle, { className: "h-3 w-3" }),
15410
15511
  " Rejected by bundler"
15411
15512
  ] });
15412
15513
  }
15413
15514
  if (timedOut) {
15414
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(Badge, { variant: "warning", className: "gap-1", children: [
15415
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.AlertCircle, { className: "h-3 w-3" }),
15515
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Badge, { variant: "warning", className: "gap-1", children: [
15516
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react54.AlertCircle, { className: "h-3 w-3" }),
15416
15517
  " Timeout - may be rejected"
15417
15518
  ] });
15418
15519
  }
15419
15520
  if (mempool) {
15420
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(Badge, { variant: "outline", className: "gap-1", children: [
15421
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.Clock, { className: "h-3 w-3" }),
15521
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Badge, { variant: "outline", className: "gap-1", children: [
15522
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react54.Clock, { className: "h-3 w-3" }),
15422
15523
  " Pending in bundler"
15423
15524
  ] });
15424
15525
  }
15425
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(Badge, { variant: "secondary", className: "gap-1", children: [
15426
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.Clock, { className: "h-3 w-3" }),
15526
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Badge, { variant: "secondary", className: "gap-1", children: [
15527
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react54.Clock, { className: "h-3 w-3" }),
15427
15528
  " Waiting"
15428
15529
  ] });
15429
15530
  };
15430
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(
15531
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
15431
15532
  "div",
15432
15533
  {
15433
15534
  className: cn2(
@@ -15436,20 +15537,20 @@ var UserOpStatus = ({
15436
15537
  ),
15437
15538
  style: { textAlign: "left", listStyle: "none" },
15438
15539
  children: [
15439
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
15440
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "flex items-center gap-2", children: [
15540
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
15541
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center gap-2", children: [
15441
15542
  stateBadge(),
15442
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
15543
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
15443
15544
  ] }),
15444
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
15445
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.RefreshCw, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
15446
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-xs", children: "Refresh" })
15545
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
15546
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react54.RefreshCw, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
15547
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-xs", children: "Refresh" })
15447
15548
  ] })
15448
15549
  ] }),
15449
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
15450
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
15451
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
15452
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
15550
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
15551
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
15552
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
15553
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
15453
15554
  Button,
15454
15555
  {
15455
15556
  variant: "ghost",
@@ -15461,14 +15562,14 @@ var UserOpStatus = ({
15461
15562
  } catch {
15462
15563
  }
15463
15564
  },
15464
- children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.Copy, { className: "h-3.5 w-3.5" })
15565
+ children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react54.Copy, { className: "h-3.5 w-3.5" })
15465
15566
  }
15466
15567
  )
15467
15568
  ] }),
15468
- receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
15469
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
15470
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
15471
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
15569
+ receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
15570
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
15571
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
15572
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
15472
15573
  Button,
15473
15574
  {
15474
15575
  variant: "ghost",
@@ -15480,10 +15581,10 @@ var UserOpStatus = ({
15480
15581
  } catch {
15481
15582
  }
15482
15583
  },
15483
- children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.Copy, { className: "h-3.5 w-3.5" })
15584
+ children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react54.Copy, { className: "h-3.5 w-3.5" })
15484
15585
  }
15485
15586
  ),
15486
- chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
15587
+ chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
15487
15588
  "a",
15488
15589
  {
15489
15590
  href: `${chain.blockExplorers.default.url}/tx/${receipt.receipt.transactionHash}`,
@@ -15491,11 +15592,11 @@ var UserOpStatus = ({
15491
15592
  rel: "noreferrer noopener",
15492
15593
  className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
15493
15594
  title: "Open in explorer",
15494
- children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.ExternalLink, { className: "h-3.5 w-3.5" })
15595
+ children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react54.ExternalLink, { className: "h-3.5 w-3.5" })
15495
15596
  }
15496
15597
  )
15497
15598
  ] }),
15498
- receipt && /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "text-xs text-muted-foreground mb-3", children: [
15599
+ receipt && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "text-xs text-muted-foreground mb-3", children: [
15499
15600
  "Block ",
15500
15601
  parseInt(receipt.receipt?.blockNumber || "0x0", 16),
15501
15602
  " \u2022 Gas Used",
@@ -15504,32 +15605,32 @@ var UserOpStatus = ({
15504
15605
  " \u2022 Success ",
15505
15606
  String(!!receipt.success)
15506
15607
  ] }),
15507
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("span", { className: "ml-2", children: [
15608
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("span", { className: "ml-2", children: [
15508
15609
  "\u2022 Polling for ",
15509
15610
  Math.round((Date.now() - startTimeRef.current) / 1e3),
15510
15611
  "s"
15511
15612
  ] }) }),
15512
- mempool && /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
15513
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { children: [
15613
+ mempool && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
15614
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { children: [
15514
15615
  "Seen by bundler at ",
15515
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
15616
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
15516
15617
  ] }),
15517
- /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { children: [
15618
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { children: [
15518
15619
  "sender ",
15519
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Address, { address: mempool.sender, chain, truncate: false })
15620
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Address, { address: mempool.sender, chain, truncate: false })
15520
15621
  ] })
15521
15622
  ] }),
15522
- error && /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15523
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.AlertCircle, { className: "h-4 w-4" }),
15623
+ error && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15624
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react54.AlertCircle, { className: "h-4 w-4" }),
15524
15625
  " ",
15525
15626
  error
15526
15627
  ] }),
15527
- rejected && /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15528
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.AlertCircle, { className: "h-4 w-4" }),
15628
+ rejected && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15629
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react54.AlertCircle, { className: "h-4 w-4" }),
15529
15630
  "UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
15530
15631
  ] }),
15531
- timedOut && /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15532
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react54.AlertCircle, { className: "h-4 w-4" }),
15632
+ timedOut && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
15633
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react54.AlertCircle, { className: "h-4 w-4" }),
15533
15634
  "Stopped polling after ",
15534
15635
  Math.round(maxPollTimeMs / 1e3),
15535
15636
  "s. UserOperation may have been rejected by the bundler."
@@ -15542,7 +15643,7 @@ var UserOpStatus = ({
15542
15643
  // src/internal/components/Hash.tsx
15543
15644
  var import_lucide_react55 = require("lucide-react");
15544
15645
  var React11 = __toESM(require("react"), 1);
15545
- var import_jsx_runtime84 = require("react/jsx-runtime");
15646
+ var import_jsx_runtime83 = require("react/jsx-runtime");
15546
15647
  function toExplorerUrl(kind, value, chain) {
15547
15648
  const base2 = chain?.blockExplorers?.default?.url;
15548
15649
  if (!base2) return null;
@@ -15566,11 +15667,11 @@ var Hash = ({
15566
15667
  const value = hash || "";
15567
15668
  const explorer = toExplorerUrl(kind, value, chain || void 0);
15568
15669
  const [copied, setCopied] = React11.useState(false);
15569
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
15570
- return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: cn2("flex items-center gap-2", className), children: [
15571
- label && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-sm font-medium", children: label }),
15572
- /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
15573
- showCopy && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
15670
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
15671
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: cn2("flex items-center gap-2", className), children: [
15672
+ label && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "text-sm font-medium", children: label }),
15673
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
15674
+ showCopy && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
15574
15675
  Button,
15575
15676
  {
15576
15677
  variant: "ghost",
@@ -15584,10 +15685,10 @@ var Hash = ({
15584
15685
  } catch {
15585
15686
  }
15586
15687
  },
15587
- children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react55.Copy, { className: "h-4 w-4" })
15688
+ children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react55.Copy, { className: "h-4 w-4" })
15588
15689
  }
15589
15690
  ),
15590
- showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
15691
+ showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
15591
15692
  "a",
15592
15693
  {
15593
15694
  href: explorer,
@@ -15595,7 +15696,7 @@ var Hash = ({
15595
15696
  rel: "noreferrer noopener",
15596
15697
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
15597
15698
  title: "Open in explorer",
15598
- children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react55.ExternalLink, { className: "h-4 w-4" })
15699
+ children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react55.ExternalLink, { className: "h-4 w-4" })
15599
15700
  }
15600
15701
  )
15601
15702
  ] });
@@ -15604,7 +15705,7 @@ var Hash = ({
15604
15705
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
15605
15706
  var import_react66 = require("react");
15606
15707
  init_base();
15607
- var import_jsx_runtime85 = require("react/jsx-runtime");
15708
+ var import_jsx_runtime84 = require("react/jsx-runtime");
15608
15709
  var TransactionsList = ({ address, itemsCount = 10 }) => {
15609
15710
  const [transactions, setTransactions] = (0, import_react66.useState)([]);
15610
15711
  const [loading, setLoading] = (0, import_react66.useState)(true);
@@ -15655,31 +15756,31 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
15655
15756
  window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
15656
15757
  };
15657
15758
  if (loading) {
15658
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "p-4 text-center", children: [
15659
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
15660
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
15759
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "p-4 text-center", children: [
15760
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
15761
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
15661
15762
  ] });
15662
15763
  }
15663
15764
  if (error) {
15664
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "p-4 text-center", children: [
15665
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("p", { className: "text-red-600 text-sm", children: error }),
15666
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
15765
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "p-4 text-center", children: [
15766
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("p", { className: "text-red-600 text-sm", children: error }),
15767
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
15667
15768
  ] });
15668
15769
  }
15669
15770
  if (transactions.length === 0) {
15670
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "p-4 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
15771
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "p-4 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
15671
15772
  }
15672
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
15773
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
15673
15774
  "div",
15674
15775
  {
15675
15776
  className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
15676
15777
  onClick: () => openTransaction(tx.hash),
15677
15778
  children: [
15678
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "flex justify-between items-start mb-2", children: [
15679
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "flex-1", children: [
15680
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "flex items-center space-x-2 mb-1", children: [
15681
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
15682
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
15779
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "flex justify-between items-start mb-2", children: [
15780
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "flex-1", children: [
15781
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "flex items-center space-x-2 mb-1", children: [
15782
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
15783
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
15683
15784
  "span",
15684
15785
  {
15685
15786
  className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`,
@@ -15687,40 +15788,40 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
15687
15788
  }
15688
15789
  )
15689
15790
  ] }),
15690
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "text-sm space-y-1", children: [
15691
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { children: [
15692
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "text-gray-600", children: "From:" }),
15693
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("span", { className: "font-mono ml-1", children: [
15791
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "text-sm space-y-1", children: [
15792
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { children: [
15793
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-gray-600", children: "From:" }),
15794
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("span", { className: "font-mono ml-1", children: [
15694
15795
  formatAddress3(tx.from.hash),
15695
- tx.from.is_contract && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15796
+ tx.from.is_contract && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15696
15797
  ] })
15697
15798
  ] }),
15698
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { children: [
15699
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "text-gray-600", children: "To:" }),
15700
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("span", { className: "font-mono ml-1", children: [
15799
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { children: [
15800
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-gray-600", children: "To:" }),
15801
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("span", { className: "font-mono ml-1", children: [
15701
15802
  formatAddress3(tx.to.hash),
15702
- tx.to.is_contract && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15803
+ tx.to.is_contract && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
15703
15804
  ] })
15704
15805
  ] }),
15705
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { children: [
15706
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "text-gray-600", children: "Value:" }),
15707
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("span", { className: "font-semibold ml-1", children: [
15806
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { children: [
15807
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-gray-600", children: "Value:" }),
15808
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("span", { className: "font-semibold ml-1", children: [
15708
15809
  formatValue3(tx.value),
15709
15810
  " LUMIA"
15710
15811
  ] })
15711
15812
  ] })
15712
15813
  ] })
15713
15814
  ] }),
15714
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "text-right text-xs text-gray-500", children: [
15715
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { children: formatDate3(tx.timestamp) }),
15716
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "mt-1", children: [
15815
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "text-right text-xs text-gray-500", children: [
15816
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { children: formatDate3(tx.timestamp) }),
15817
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "mt-1", children: [
15717
15818
  "Gas: ",
15718
15819
  parseInt(tx.gas_used).toLocaleString()
15719
15820
  ] }),
15720
- tx.method && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "mt-1 text-blue-600", children: tx.method })
15821
+ tx.method && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "mt-1 text-blue-600", children: tx.method })
15721
15822
  ] })
15722
15823
  ] }),
15723
- tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
15824
+ tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
15724
15825
  ]
15725
15826
  },
15726
15827
  tx.hash