@embarkai/ui-kit 0.4.53 → 0.4.54

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
@@ -2436,8 +2436,49 @@ var init_useAutoConnect = __esm({
2436
2436
  }
2437
2437
  });
2438
2438
 
2439
+ // src/hooks/useOpenPage.ts
2440
+ function useOpenPage() {
2441
+ const page = useLayoutDataStore((st) => st.page);
2442
+ const setPage = useLayoutDataStore((st) => st.setPage);
2443
+ const setPageParams = useLayoutDataStore((st) => st.setPageParams);
2444
+ const address = useSession((st) => st.address);
2445
+ const open = (0, import_react4.useCallback)(
2446
+ (passportPage, params) => {
2447
+ if (!address) return setPage("auth" /* AUTH */);
2448
+ if (!!address && passportPage === "auth" /* AUTH */) return setPage("manage-wallet" /* MANAGE_WALLET */);
2449
+ setPage(passportPage);
2450
+ if (!!params) setPageParams(params);
2451
+ },
2452
+ [setPage, setPageParams, address]
2453
+ );
2454
+ const close = (0, import_react4.useCallback)(() => {
2455
+ setPageParams(null);
2456
+ setPage(null);
2457
+ }, [setPage, setPageParams]);
2458
+ return { open, close, isOpen: page !== null };
2459
+ }
2460
+ function usePageParams() {
2461
+ const currentParams = (0, import_react4.useRef)({});
2462
+ (0, import_react4.useEffect)(() => {
2463
+ const { pageParams, setPageParams } = useLayoutDataStore.getState();
2464
+ if (!pageParams) return;
2465
+ currentParams.current = pageParams;
2466
+ setPageParams(null);
2467
+ }, []);
2468
+ return currentParams.current;
2469
+ }
2470
+ var import_react4;
2471
+ var init_useOpenPage = __esm({
2472
+ "src/hooks/useOpenPage.ts"() {
2473
+ import_react4 = require("react");
2474
+ init_SessionContext();
2475
+ init_useLayoutDataStore();
2476
+ }
2477
+ });
2478
+
2439
2479
  // src/internal/hooks/useBackupStatusChanges.ts
2440
2480
  function useBackupStatusChanges() {
2481
+ const { open: openPage } = useOpenPage();
2441
2482
  const { mutate: handleBackupStatusChanged } = (0, import_react_query3.useMutation)({
2442
2483
  mutationFn: async (event) => {
2443
2484
  const customEvent = event;
@@ -2456,14 +2497,14 @@ function useBackupStatusChanges() {
2456
2497
  const isNewUserTouched = localStorage.getItem(NEW_USER_TOUCHED_KEY) === "true";
2457
2498
  if (!isNewUserTouched && !!jwt?.isNewUser) {
2458
2499
  localStorage.setItem(NEW_USER_TOUCHED_KEY, "true");
2459
- useLayoutDataStore.getState().setPage("nickname-settings" /* NICKNAME_SETTINGS */);
2500
+ openPage("nickname-settings" /* NICKNAME_SETTINGS */, { isInitialUser: true });
2460
2501
  }
2461
2502
  if (!!isNewUserTouched && !jwt?.isNewUser) {
2462
2503
  localStorage.removeItem(NEW_USER_TOUCHED_KEY);
2463
2504
  }
2464
2505
  } else {
2465
2506
  setHasServerVault(false);
2466
- useLayoutDataStore.getState().setPage("keysare-backup" /* KEYSARE_BACKUP */);
2507
+ openPage("keysare-backup" /* KEYSARE_BACKUP */);
2467
2508
  console.warn("[BACKUP STATUS] No recovery data found in vault, marking as no-server-vault");
2468
2509
  }
2469
2510
  },
@@ -2472,22 +2513,22 @@ function useBackupStatusChanges() {
2472
2513
  console.warn("[BACKUP STATUS] Failed to fetch initial vault status:", error);
2473
2514
  }
2474
2515
  });
2475
- (0, import_react4.useEffect)(() => {
2516
+ (0, import_react5.useEffect)(() => {
2476
2517
  window.addEventListener("lumia-passport-backup-status-changed", handleBackupStatusChanged);
2477
2518
  return () => {
2478
2519
  window.removeEventListener("lumia-passport-backup-status-changed", handleBackupStatusChanged);
2479
2520
  };
2480
2521
  }, []);
2481
2522
  }
2482
- var import_react_query3, import_react4, NEW_USER_TOUCHED_KEY;
2523
+ var import_react_query3, import_react5, NEW_USER_TOUCHED_KEY;
2483
2524
  var init_useBackupStatusChanges = __esm({
2484
2525
  "src/internal/hooks/useBackupStatusChanges.ts"() {
2485
2526
  init_SessionContext();
2527
+ init_useOpenPage();
2486
2528
  import_react_query3 = require("@tanstack/react-query");
2487
- import_react4 = require("react");
2529
+ import_react5 = require("react");
2488
2530
  init_auth();
2489
2531
  init_vaultClient();
2490
- init_useLayoutDataStore();
2491
2532
  NEW_USER_TOUCHED_KEY = "embarkai-is-new-user-touhced";
2492
2533
  }
2493
2534
  });
@@ -2530,7 +2571,7 @@ function useDetectMaxScrollHeight() {
2530
2571
  const page = useLayoutDataStore((state) => state.page);
2531
2572
  const setIsMobileView = useLayoutStore((state) => state.setIsMobileView);
2532
2573
  const setMaxScrollHeight = useLayoutStore((state) => state.setMaxScrollHeight);
2533
- const onResize = (0, import_react5.useCallback)(
2574
+ const onResize = (0, import_react6.useCallback)(
2534
2575
  (0, import_lodash_es2.debounce)(({ width, height }) => {
2535
2576
  const headerHeight = page === "auth" /* AUTH */ || page === "keyshare-restore" /* KEYSHARE_RESTORE */ ? 0 : 116;
2536
2577
  const limContentHeight = height * 0.92 - headerHeight - 57;
@@ -2539,18 +2580,18 @@ function useDetectMaxScrollHeight() {
2539
2580
  }, DEBOUNCE_DELAY),
2540
2581
  [page, setMaxScrollHeight, setIsMobileView]
2541
2582
  );
2542
- (0, import_react5.useEffect)(() => {
2583
+ (0, import_react6.useEffect)(() => {
2543
2584
  const obs = new ResizeObserver(([entry]) => onResize(entry.contentRect));
2544
2585
  const doc = window.document.getElementsByTagName("html")[0];
2545
2586
  if (doc) obs.observe(doc);
2546
2587
  return () => obs.disconnect();
2547
2588
  }, [onResize]);
2548
2589
  }
2549
- var import_lodash_es2, import_react5, DEBOUNCE_DELAY;
2590
+ var import_lodash_es2, import_react6, DEBOUNCE_DELAY;
2550
2591
  var init_useDetectMaxScrollHeight = __esm({
2551
2592
  "src/internal/hooks/useDetectMaxScrollHeight.ts"() {
2552
2593
  import_lodash_es2 = require("lodash-es");
2553
- import_react5 = require("react");
2594
+ import_react6 = require("react");
2554
2595
  init_constants();
2555
2596
  init_useLayoutDataStore();
2556
2597
  init_useLayoutStore();
@@ -2562,7 +2603,7 @@ var init_useDetectMaxScrollHeight = __esm({
2562
2603
  function useListenIframeAuthEvents() {
2563
2604
  const setPage = useLayoutDataStore((state) => state.setPage);
2564
2605
  const setIsIframeReady = useSession((state) => state.setIsIframeReady);
2565
- const handleIframeMessage = (0, import_react6.useCallback)(
2606
+ const handleIframeMessage = (0, import_react7.useCallback)(
2566
2607
  (event) => {
2567
2608
  const type = event.data?.type?.startsWith?.("LUMIA_PASSPORT_") ? event.data.type.replace("LUMIA_PASSPORT_", "IFRAME_MSG_") : event.data?.type;
2568
2609
  if (type === "IFRAME_MSG_IFRAME_READY") {
@@ -2578,16 +2619,16 @@ function useListenIframeAuthEvents() {
2578
2619
  },
2579
2620
  [setPage, setIsIframeReady]
2580
2621
  );
2581
- (0, import_react6.useEffect)(() => {
2622
+ (0, import_react7.useEffect)(() => {
2582
2623
  window.addEventListener("message", handleIframeMessage);
2583
2624
  return () => window.removeEventListener("message", handleIframeMessage);
2584
2625
  }, [handleIframeMessage]);
2585
2626
  }
2586
- var import_react6;
2627
+ var import_react7;
2587
2628
  var init_useListenIframeAuthEvents = __esm({
2588
2629
  "src/internal/hooks/useListenIframeAuthEvents.ts"() {
2589
2630
  init_SessionContext();
2590
- import_react6 = require("react");
2631
+ import_react7 = require("react");
2591
2632
  init_useLayoutDataStore();
2592
2633
  }
2593
2634
  });
@@ -5070,19 +5111,19 @@ var init_utils2 = __esm({
5070
5111
  });
5071
5112
 
5072
5113
  // src/internal/components/Expandable/hooks/useExpandable.ts
5073
- var import_react7, useExpandable;
5114
+ var import_react8, useExpandable;
5074
5115
  var init_useExpandable = __esm({
5075
5116
  "src/internal/components/Expandable/hooks/useExpandable.ts"() {
5076
- import_react7 = require("react");
5117
+ import_react8 = require("react");
5077
5118
  useExpandable = (props) => {
5078
5119
  const { isExpanded = false, children, initHeight = 0, minHeight = 0 } = props;
5079
- const expandableRef = (0, import_react7.useRef)(null);
5080
- const contentRef = (0, import_react7.useRef)(null);
5081
- (0, import_react7.useEffect)(() => {
5120
+ const expandableRef = (0, import_react8.useRef)(null);
5121
+ const contentRef = (0, import_react8.useRef)(null);
5122
+ (0, import_react8.useEffect)(() => {
5082
5123
  if (!expandableRef.current) return;
5083
5124
  expandableRef.current.style.setProperty("--ifo-basic-expandable-h", `${initHeight}px )`);
5084
5125
  }, []);
5085
- const setExpandableHeight = (0, import_react7.useCallback)(
5126
+ const setExpandableHeight = (0, import_react8.useCallback)(
5086
5127
  (isExpnd) => {
5087
5128
  if (!contentRef.current || !expandableRef.current) return;
5088
5129
  expandableRef.current.style.setProperty(
@@ -5093,7 +5134,7 @@ var init_useExpandable = __esm({
5093
5134
  // ON_RESIZE_DELEAY),
5094
5135
  [minHeight]
5095
5136
  );
5096
- (0, import_react7.useEffect)(() => {
5137
+ (0, import_react8.useEffect)(() => {
5097
5138
  if (!contentRef.current || !expandableRef.current) return;
5098
5139
  const obs = new ResizeObserver(() => setExpandableHeight(isExpanded));
5099
5140
  obs.observe(expandableRef.current);
@@ -5108,17 +5149,17 @@ var init_useExpandable = __esm({
5108
5149
  });
5109
5150
 
5110
5151
  // src/internal/components/Expandable/Expandable.tsx
5111
- var import_react8, import_jsx_runtime2, Expandable;
5152
+ var import_react9, import_jsx_runtime2, Expandable;
5112
5153
  var init_Expandable = __esm({
5113
5154
  "src/internal/components/Expandable/Expandable.tsx"() {
5114
5155
  init_utils2();
5115
- import_react8 = require("react");
5156
+ import_react9 = require("react");
5116
5157
  init_useExpandable();
5117
5158
  import_jsx_runtime2 = require("react/jsx-runtime");
5118
- Expandable = (0, import_react8.forwardRef)((props, ref) => {
5159
+ Expandable = (0, import_react9.forwardRef)((props, ref) => {
5119
5160
  const { children, className, contentClassName, minHeight, divProps } = props;
5120
5161
  const { expandableRef, contentRef } = useExpandable(props);
5121
- (0, import_react8.useImperativeHandle)(ref, () => expandableRef.current);
5162
+ (0, import_react9.useImperativeHandle)(ref, () => expandableRef.current);
5122
5163
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
5123
5164
  "div",
5124
5165
  {
@@ -5172,13 +5213,13 @@ var init_highlight = __esm({
5172
5213
  });
5173
5214
 
5174
5215
  // src/internal/components/ui/button.tsx
5175
- var import_react_slot, import_class_variance_authority, import_react9, import_jsx_runtime4, buttonVariants, BORDER_RADIUSES, Button;
5216
+ var import_react_slot, import_class_variance_authority, import_react10, import_jsx_runtime4, buttonVariants, BORDER_RADIUSES, Button;
5176
5217
  var init_button = __esm({
5177
5218
  "src/internal/components/ui/button.tsx"() {
5178
5219
  init_utils2();
5179
5220
  import_react_slot = require("@radix-ui/react-slot");
5180
5221
  import_class_variance_authority = require("class-variance-authority");
5181
- import_react9 = require("react");
5222
+ import_react10 = require("react");
5182
5223
  import_jsx_runtime4 = require("react/jsx-runtime");
5183
5224
  buttonVariants = (0, import_class_variance_authority.cva)(
5184
5225
  cn(
@@ -5248,7 +5289,7 @@ var init_button = __esm({
5248
5289
  large: "var(--ui-kit-el-bdrs)",
5249
5290
  icon: ""
5250
5291
  };
5251
- Button = (0, import_react9.forwardRef)((props, ref) => {
5292
+ Button = (0, import_react10.forwardRef)((props, ref) => {
5252
5293
  const { className, variant = "default", size = "large", asChild = false, children, ...buttonProps } = props;
5253
5294
  const Comp = asChild ? import_react_slot.Slot : "button";
5254
5295
  const isBorderGlow = variant === "secondary-glow" || variant === "default-glow";
@@ -5604,6 +5645,10 @@ var init_en = __esm({
5604
5645
  checkingAvailability: "Checking availability...",
5605
5646
  nicknameAvailable: "Nickname is available",
5606
5647
  nicknameNotAvailable: "This nickname is not available"
5648
+ },
5649
+ initialUser: {
5650
+ welcome: "Your nickname is set as {{nickname}}",
5651
+ message: 'Change & Save on your demand, and "Continue":'
5607
5652
  }
5608
5653
  },
5609
5654
  profilesMenu: {
@@ -5939,6 +5984,10 @@ var init_ru = __esm({
5939
5984
  checkingAvailability: "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u0441\u0442\u0438...",
5940
5985
  nicknameAvailable: "\u041D\u0438\u043A\u043D\u0435\u0439\u043C \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",
5941
5986
  nicknameNotAvailable: "\u042D\u0442\u043E\u0442 \u043D\u0438\u043A\u043D\u0435\u0439\u043C \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D"
5987
+ },
5988
+ initialUser: {
5989
+ welcome: "\u0412\u0430\u0448 \u043D\u0438\u043A\u043D\u0435\u0439\u043C \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D \u043A\u0430\u043A {{nickname}}",
5990
+ message: '\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u0438 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u0435 \u043F\u043E \u0432\u0430\u0448\u0435\u043C\u0443 \u0436\u0435\u043B\u0430\u043D\u0438\u044E, \u0438 \u0437\u0430\u0442\u0435\u043C "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C":'
5942
5991
  }
5943
5992
  },
5944
5993
  profilesMenu: {
@@ -6274,6 +6323,10 @@ var init_zh = __esm({
6274
6323
  checkingAvailability: "\u6B63\u5728\u68C0\u67E5\u53EF\u7528\u6027...",
6275
6324
  nicknameAvailable: "\u6635\u79F0\u53EF\u7528",
6276
6325
  nicknameNotAvailable: "\u6B64\u6635\u79F0\u4E0D\u53EF\u7528"
6326
+ },
6327
+ initialUser: {
6328
+ welcome: "\u60A8\u7684\u6635\u79F0\u5DF2\u8BBE\u7F6E\u4E3A {{nickname}}",
6329
+ message: "\u6839\u636E\u60A8\u7684\u9700\u6C42\u66F4\u6539\u5E76\u4FDD\u5B58\uFF0C\u7136\u540E\u70B9\u51FB\u201C\u7EE7\u7EED\u201D\uFF1A"
6277
6330
  }
6278
6331
  },
6279
6332
  profilesMenu: {
@@ -6641,7 +6694,7 @@ function PassKeyStep(props) {
6641
6694
  const setIsLoading = useSession((st) => st.setIsLoading);
6642
6695
  const autoCloseOnSuccess = !recoveryUserId;
6643
6696
  const { passkeyStatus, setStep, setPasskeyStatus, setAlert, setEmail, setFailedType } = useAuthStore();
6644
- const onPasskeyRegister = (0, import_react10.useCallback)(async () => {
6697
+ const onPasskeyRegister = (0, import_react11.useCallback)(async () => {
6645
6698
  setAlert(null);
6646
6699
  setPasskeyStatus("registering passkey...");
6647
6700
  setIsLoading(true);
@@ -6700,7 +6753,7 @@ function PassKeyStep(props) {
6700
6753
  setIsLoading(false);
6701
6754
  }
6702
6755
  }, [onAuthSuccess, setPage]);
6703
- const onPasskeyAuth = (0, import_react10.useCallback)(async () => {
6756
+ const onPasskeyAuth = (0, import_react11.useCallback)(async () => {
6704
6757
  setAlert(null);
6705
6758
  setPasskeyStatus("checking available passkeys...");
6706
6759
  setIsLoading(true);
@@ -6818,14 +6871,14 @@ function PassKeyStep(props) {
6818
6871
  ] })
6819
6872
  ] });
6820
6873
  }
6821
- var import_lucide_react4, import_react10, import_jsx_runtime12;
6874
+ var import_lucide_react4, import_react11, import_jsx_runtime12;
6822
6875
  var init_PassKeyStep = __esm({
6823
6876
  "src/internal/components/AuthMenu/PassKeyStep.tsx"() {
6824
6877
  init_ProviderContext();
6825
6878
  init_SessionContext();
6826
6879
  init_i18n();
6827
6880
  import_lucide_react4 = require("lucide-react");
6828
- import_react10 = require("react");
6881
+ import_react11 = require("react");
6829
6882
  init_icons();
6830
6883
  init_auth();
6831
6884
  init_useLayoutDataStore();
@@ -6837,16 +6890,16 @@ var init_PassKeyStep = __esm({
6837
6890
  });
6838
6891
 
6839
6892
  // src/internal/components/ui/input.tsx
6840
- var import_react11, import_jsx_runtime13, Input;
6893
+ var import_react12, import_jsx_runtime13, Input;
6841
6894
  var init_input = __esm({
6842
6895
  "src/internal/components/ui/input.tsx"() {
6843
- import_react11 = __toESM(require("react"), 1);
6896
+ import_react12 = __toESM(require("react"), 1);
6844
6897
  init_utils2();
6845
6898
  import_jsx_runtime13 = require("react/jsx-runtime");
6846
- Input = import_react11.default.forwardRef((props, ref) => {
6899
+ Input = import_react12.default.forwardRef((props, ref) => {
6847
6900
  const { className, disabled, error, Icon: Icon2, element, inputClassName, ...inputProps } = props;
6848
- const internalRef = (0, import_react11.useRef)(null);
6849
- (0, import_react11.useImperativeHandle)(ref, () => internalRef.current);
6901
+ const internalRef = (0, import_react12.useRef)(null);
6902
+ (0, import_react12.useImperativeHandle)(ref, () => internalRef.current);
6850
6903
  return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: cn("w-full flex flex-col gap-1", className), children: [
6851
6904
  /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
6852
6905
  "div",
@@ -6896,9 +6949,9 @@ var init_input = __esm({
6896
6949
  function Email() {
6897
6950
  const { callbacksRef } = useProviderConfig();
6898
6951
  const { t } = useT();
6899
- const focusRef = (0, import_react12.useRef)(null);
6900
- const inputRef = (0, import_react12.useRef)(null);
6901
- const buttonRef = (0, import_react12.useRef)(null);
6952
+ const focusRef = (0, import_react13.useRef)(null);
6953
+ const inputRef = (0, import_react13.useRef)(null);
6954
+ const buttonRef = (0, import_react13.useRef)(null);
6902
6955
  const isLoading = useSession((st) => st.isLoading);
6903
6956
  const setIsLoading = useSession((st) => st.setIsLoading);
6904
6957
  const isMobileView = useLayoutStore((st) => st.isMobileView);
@@ -6954,7 +7007,7 @@ function Email() {
6954
7007
  setIsLoading(false);
6955
7008
  }
6956
7009
  });
6957
- (0, import_react12.useEffect)(() => {
7010
+ (0, import_react13.useEffect)(() => {
6958
7011
  if (!focusRef.current || !isMobileView) return;
6959
7012
  focusRef.current?.focus();
6960
7013
  setTimeout(() => {
@@ -7016,7 +7069,7 @@ function Email() {
7016
7069
  )
7017
7070
  ] });
7018
7071
  }
7019
- var import_react_query4, import_lucide_react5, import_react12, import_jsx_runtime14;
7072
+ var import_react_query4, import_lucide_react5, import_react13, import_jsx_runtime14;
7020
7073
  var init_Email = __esm({
7021
7074
  "src/internal/components/AuthMenu/SignInStep/Email.tsx"() {
7022
7075
  init_initial();
@@ -7025,7 +7078,7 @@ var init_Email = __esm({
7025
7078
  init_i18n();
7026
7079
  import_react_query4 = require("@tanstack/react-query");
7027
7080
  import_lucide_react5 = require("lucide-react");
7028
- import_react12 = require("react");
7081
+ import_react13 = require("react");
7029
7082
  init_useLayoutStore();
7030
7083
  init_projectId();
7031
7084
  init_button();
@@ -7175,7 +7228,7 @@ function Social(props) {
7175
7228
  const setIsLoading = useSession((st) => st.setIsLoading);
7176
7229
  const setIsWalletLinking = useLayoutDataStore((st) => st.setIsWalletLinking);
7177
7230
  const { alert: alert2, setStep, setEmail, setFailedType, setAlert, setPasskeyStatus } = useAuthStore();
7178
- const onSocialAuth = (0, import_react13.useCallback)(
7231
+ const onSocialAuth = (0, import_react14.useCallback)(
7179
7232
  async (providerId) => {
7180
7233
  const normalizedProviderId = providerId.toLowerCase();
7181
7234
  const provider = config.current?.social?.providers?.find(
@@ -7435,7 +7488,7 @@ function Social(props) {
7435
7488
  }
7436
7489
  );
7437
7490
  }
7438
- var import_react13, import_jsx_runtime15, SUPPORTED_PROVIDERS, SOCIAL_ICONS, fetchTokensFromRefreshEndpoint, enrichLoginResponseWithTokens;
7491
+ var import_react14, import_jsx_runtime15, SUPPORTED_PROVIDERS, SOCIAL_ICONS, fetchTokensFromRefreshEndpoint, enrichLoginResponseWithTokens;
7439
7492
  var init_Social = __esm({
7440
7493
  "src/internal/components/AuthMenu/SignInStep/Social.tsx"() {
7441
7494
  init_assets();
@@ -7444,7 +7497,7 @@ var init_Social = __esm({
7444
7497
  init_SessionContext();
7445
7498
  init_i18n();
7446
7499
  init_useLayoutDataStore();
7447
- import_react13 = require("react");
7500
+ import_react14 = require("react");
7448
7501
  init_auth();
7449
7502
  init_constants();
7450
7503
  init_utils2();
@@ -7611,7 +7664,7 @@ function SignInStep(props) {
7611
7664
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_lucide_react6.UserCircle, { className: "w-6 h-6" }),
7612
7665
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "font-bold text-xl leading-6", children: t("passport:auth.signin") })
7613
7666
  ] }),
7614
- enabledSigninMethods.map((kind, idx) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react14.Fragment, { children: [
7667
+ enabledSigninMethods.map((kind, idx) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react15.Fragment, { children: [
7615
7668
  idx > 0 && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center h-4", children: [
7616
7669
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { style: { borderTop: "1px solid var(--ui-kit-bd)" }, className: "flex-1" }),
7617
7670
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "text-[10px] px-2 flex-none leading-4", children: t("passport:auth.orSeparator") }),
@@ -7634,13 +7687,13 @@ function SignInStep(props) {
7634
7687
  ] })
7635
7688
  ] });
7636
7689
  }
7637
- var import_lucide_react6, import_react14, import_jsx_runtime17;
7690
+ var import_lucide_react6, import_react15, import_jsx_runtime17;
7638
7691
  var init_SignInStep = __esm({
7639
7692
  "src/internal/components/AuthMenu/SignInStep/SignInStep.tsx"() {
7640
7693
  init_ProviderContext();
7641
7694
  init_i18n();
7642
7695
  import_lucide_react6 = require("lucide-react");
7643
- import_react14 = require("react");
7696
+ import_react15 = require("react");
7644
7697
  init_useLayoutDataStore();
7645
7698
  init_button();
7646
7699
  init_Email();
@@ -7671,14 +7724,14 @@ var init_constants4 = __esm({
7671
7724
  function useAuthMenuHandlers() {
7672
7725
  const { config, callbacksRef } = useProviderConfig();
7673
7726
  const qc = (0, import_react_query5.useQueryClient)();
7674
- const pendingLoginResponseRef = (0, import_react15.useRef)(null);
7675
- const [telegramCleanup, setTelegramCleanup] = (0, import_react15.useState)(null);
7727
+ const pendingLoginResponseRef = (0, import_react16.useRef)(null);
7728
+ const [telegramCleanup, setTelegramCleanup] = (0, import_react16.useState)(null);
7676
7729
  const usePaymaster = useSession((st) => st.usePaymaster);
7677
7730
  const publicClient = useSession((st) => st.publicClient);
7678
7731
  const activeChainId = useSession((st) => st.activeChainId);
7679
7732
  const setStep = useAuthStore((st) => st.setStep);
7680
7733
  const setAlert = useAuthStore((st) => st.setAlert);
7681
- const createSessionWithKeyshare = (0, import_react15.useCallback)(
7734
+ const createSessionWithKeyshare = (0, import_react16.useCallback)(
7682
7735
  async (userId, hasServerKeyshare, isNewUser) => {
7683
7736
  const { setStatus } = useSession.getState();
7684
7737
  try {
@@ -7720,7 +7773,7 @@ function useAuthMenuHandlers() {
7720
7773
  },
7721
7774
  [usePaymaster, activeChainId]
7722
7775
  );
7723
- const onAuthSuccess = (0, import_react15.useCallback)(async () => {
7776
+ const onAuthSuccess = (0, import_react16.useCallback)(async () => {
7724
7777
  const {
7725
7778
  //
7726
7779
  setSession,
@@ -7827,7 +7880,7 @@ function useAuthMenuHandlers() {
7827
7880
  setStep("signin");
7828
7881
  }
7829
7882
  }, [qc, setStep, setAlert, createSessionWithKeyshare]);
7830
- const goBackToSignIn = (0, import_react15.useCallback)(() => {
7883
+ const goBackToSignIn = (0, import_react16.useCallback)(() => {
7831
7884
  setStep("signin");
7832
7885
  setAlert(null);
7833
7886
  if (telegramCleanup) {
@@ -7841,13 +7894,13 @@ function useAuthMenuHandlers() {
7841
7894
  goBackToSignIn
7842
7895
  };
7843
7896
  }
7844
- var import_react_query5, import_react15;
7897
+ var import_react_query5, import_react16;
7845
7898
  var init_useAuthMenuHanders = __esm({
7846
7899
  "src/internal/components/AuthMenu/useAuthMenuHanders.ts"() {
7847
7900
  init_ProviderContext();
7848
7901
  init_SessionContext();
7849
7902
  import_react_query5 = require("@tanstack/react-query");
7850
- import_react15 = require("react");
7903
+ import_react16 = require("react");
7851
7904
  init_auth();
7852
7905
  init_useLayoutDataStore();
7853
7906
  init_useLayoutStore();
@@ -7857,11 +7910,11 @@ var init_useAuthMenuHanders = __esm({
7857
7910
  });
7858
7911
 
7859
7912
  // src/internal/components/AuthMenu/VerifyStep/VerificationCodeInput.tsx
7860
- var import_react16, import_jsx_runtime18, getRemainingSeconds, VerificationCodeInput;
7913
+ var import_react17, import_jsx_runtime18, getRemainingSeconds, VerificationCodeInput;
7861
7914
  var init_VerificationCodeInput = __esm({
7862
7915
  "src/internal/components/AuthMenu/VerifyStep/VerificationCodeInput.tsx"() {
7863
7916
  init_i18n();
7864
- import_react16 = require("react");
7917
+ import_react17 = require("react");
7865
7918
  init_utils2();
7866
7919
  init_button();
7867
7920
  init_useAuthStore();
@@ -7871,14 +7924,14 @@ var init_VerificationCodeInput = __esm({
7871
7924
  const { onVerifyCode, onResendCode, isLoading, expiresIn } = props;
7872
7925
  const { t } = useT();
7873
7926
  const setAlert = useAuthStore((st) => st.setAlert);
7874
- const [expiresAt, setExpiresAt] = (0, import_react16.useState)(() => Date.now() + Math.max(0, expiresIn) * 1e3);
7875
- const [timeLeft, setTimeLeft] = (0, import_react16.useState)(() => getRemainingSeconds(expiresAt));
7876
- (0, import_react16.useEffect)(() => {
7927
+ const [expiresAt, setExpiresAt] = (0, import_react17.useState)(() => Date.now() + Math.max(0, expiresIn) * 1e3);
7928
+ const [timeLeft, setTimeLeft] = (0, import_react17.useState)(() => getRemainingSeconds(expiresAt));
7929
+ (0, import_react17.useEffect)(() => {
7877
7930
  const nextExpiresAt = Date.now() + Math.max(0, expiresIn) * 1e3;
7878
7931
  setExpiresAt(nextExpiresAt);
7879
7932
  setTimeLeft(getRemainingSeconds(nextExpiresAt));
7880
7933
  }, [expiresIn]);
7881
- (0, import_react16.useEffect)(() => {
7934
+ (0, import_react17.useEffect)(() => {
7882
7935
  let intervalId;
7883
7936
  const syncTimeLeft = () => {
7884
7937
  const remaining = getRemainingSeconds(expiresAt);
@@ -7899,10 +7952,10 @@ var init_VerificationCodeInput = __esm({
7899
7952
  document.removeEventListener("visibilitychange", syncTimeLeft);
7900
7953
  };
7901
7954
  }, [expiresAt]);
7902
- const lastSubmittedRef = (0, import_react16.useRef)(null);
7903
- const inputsRef = (0, import_react16.useRef)([]);
7904
- const [digits, setDigits] = (0, import_react16.useState)(["", "", "", "", "", ""]);
7905
- (0, import_react16.useEffect)(() => {
7955
+ const lastSubmittedRef = (0, import_react17.useRef)(null);
7956
+ const inputsRef = (0, import_react17.useRef)([]);
7957
+ const [digits, setDigits] = (0, import_react17.useState)(["", "", "", "", "", ""]);
7958
+ (0, import_react17.useEffect)(() => {
7906
7959
  const code = digits.join("");
7907
7960
  if (code.length === 6 && digits.every((d) => d !== "") && !isLoading) {
7908
7961
  if (lastSubmittedRef.current !== code) {
@@ -7911,7 +7964,7 @@ var init_VerificationCodeInput = __esm({
7911
7964
  }
7912
7965
  }
7913
7966
  }, [digits, isLoading, onVerifyCode]);
7914
- (0, import_react16.useEffect)(() => {
7967
+ (0, import_react17.useEffect)(() => {
7915
7968
  const t2 = setTimeout(() => {
7916
7969
  inputsRef.current[0]?.focus();
7917
7970
  }, 0);
@@ -8032,7 +8085,7 @@ function VerifyStep(props) {
8032
8085
  setExpiresIn,
8033
8086
  setAlert
8034
8087
  } = useAuthStore();
8035
- const [resendCount, setResendCount] = (0, import_react17.useState)(0);
8088
+ const [resendCount, setResendCount] = (0, import_react18.useState)(0);
8036
8089
  const { mutate: onVerifyCode, isPending: isCodeVerifying } = (0, import_react_query6.useMutation)({
8037
8090
  mutationFn: async (code) => {
8038
8091
  setIsLoading(true);
@@ -8181,7 +8234,7 @@ function VerifyStep(props) {
8181
8234
  )
8182
8235
  ] });
8183
8236
  }
8184
- var import_react_query6, import_lucide_react7, import_react17, import_jsx_runtime19;
8237
+ var import_react_query6, import_lucide_react7, import_react18, import_jsx_runtime19;
8185
8238
  var init_VerifyStep = __esm({
8186
8239
  "src/internal/components/AuthMenu/VerifyStep/VerifyStep.tsx"() {
8187
8240
  init_initial();
@@ -8190,7 +8243,7 @@ var init_VerifyStep = __esm({
8190
8243
  init_i18n();
8191
8244
  import_react_query6 = require("@tanstack/react-query");
8192
8245
  import_lucide_react7 = require("lucide-react");
8193
- import_react17 = require("react");
8246
+ import_react18 = require("react");
8194
8247
  init_icons();
8195
8248
  init_projectId();
8196
8249
  init_button();
@@ -8208,12 +8261,12 @@ var init_VerifyStep2 = __esm({
8208
8261
  });
8209
8262
 
8210
8263
  // src/internal/components/AuthMenu/AuthMenu.tsx
8211
- var import_lucide_react8, import_react18, import_jsx_runtime20, AuthMenu;
8264
+ var import_lucide_react8, import_react19, import_jsx_runtime20, AuthMenu;
8212
8265
  var init_AuthMenu = __esm({
8213
8266
  "src/internal/components/AuthMenu/AuthMenu.tsx"() {
8214
8267
  init_SessionContext();
8215
8268
  import_lucide_react8 = require("lucide-react");
8216
- import_react18 = require("react");
8269
+ import_react19 = require("react");
8217
8270
  init_auth();
8218
8271
  init_constants();
8219
8272
  init_useLayoutDataStore();
@@ -8236,7 +8289,7 @@ var init_AuthMenu = __esm({
8236
8289
  const setPendingWalletLogin = useLayoutDataStore((st) => st.setPendingWalletLogin);
8237
8290
  const { step, alert: alert2, setStep, setPasskeyStatus, setEmail, setAlert } = useAuthStore();
8238
8291
  const { pendingLoginResponseRef, onAuthSuccess, goBackToSignIn } = useAuthMenuHandlers();
8239
- (0, import_react18.useEffect)(() => {
8292
+ (0, import_react19.useEffect)(() => {
8240
8293
  if (!pendingWalletLogin) return;
8241
8294
  const loginResponse = pendingWalletLogin;
8242
8295
  setPendingWalletLogin(null);
@@ -8246,7 +8299,7 @@ var init_AuthMenu = __esm({
8246
8299
  onAuthSuccess();
8247
8300
  });
8248
8301
  }, [pendingWalletLogin]);
8249
- (0, import_react18.useEffect)(() => {
8302
+ (0, import_react19.useEffect)(() => {
8250
8303
  setTransitionPageHeight(DEFAULT_AUTH_MENU_HEIGHT);
8251
8304
  return () => {
8252
8305
  setStep("signin");
@@ -8261,7 +8314,7 @@ var init_AuthMenu = __esm({
8261
8314
  /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-sm text-[var(--ui-kit-fg-muted)]", children: "Initializing wallet..." })
8262
8315
  ] });
8263
8316
  }
8264
- const stepContent = (0, import_react18.useMemo)(
8317
+ const stepContent = (0, import_react19.useMemo)(
8265
8318
  () => ({
8266
8319
  "loading": /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(LoadingStep, {}),
8267
8320
  "failed": /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AuthFailedStep, {}),
@@ -8311,17 +8364,17 @@ var init_AuthMenu2 = __esm({
8311
8364
  });
8312
8365
 
8313
8366
  // src/internal/components/ui/switch.tsx
8314
- var import_react19, import_jsx_runtime21, Switch;
8367
+ var import_react20, import_jsx_runtime21, Switch;
8315
8368
  var init_switch = __esm({
8316
8369
  "src/internal/components/ui/switch.tsx"() {
8317
- import_react19 = require("react");
8370
+ import_react20 = require("react");
8318
8371
  init_useLayoutStore();
8319
8372
  init_utils2();
8320
8373
  import_jsx_runtime21 = require("react/jsx-runtime");
8321
- Switch = (0, import_react19.forwardRef)((props, ref) => {
8374
+ Switch = (0, import_react20.forwardRef)((props, ref) => {
8322
8375
  const { className, labels, ...inputProps } = props;
8323
8376
  const colorMode = useLayoutStore((st) => st.colorMode);
8324
- const [labelW, setLabelW] = (0, import_react19.useState)(0);
8377
+ const [labelW, setLabelW] = (0, import_react20.useState)(0);
8325
8378
  return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
8326
8379
  "div",
8327
8380
  {
@@ -8858,16 +8911,16 @@ function CryptoSelector(props) {
8858
8911
  const { coins } = props;
8859
8912
  const { t } = useT();
8860
8913
  const chainConfig = useSession((st) => st.chainConfig);
8861
- const [searchValue, setSearchValue] = (0, import_react20.useState)("");
8862
- const [target, setTarget] = (0, import_react20.useState)("");
8863
- const setSearchDebounced = (0, import_react20.useCallback)(
8914
+ const [searchValue, setSearchValue] = (0, import_react21.useState)("");
8915
+ const [target, setTarget] = (0, import_react21.useState)("");
8916
+ const setSearchDebounced = (0, import_react21.useCallback)(
8864
8917
  (0, import_lodash_es4.debounce)((value) => {
8865
8918
  setTarget(value);
8866
8919
  useBuyMenuStore.getState().setRenderKey(`on-ramp-crypto-selector-${Date.now()}`);
8867
8920
  }, 1e3),
8868
8921
  []
8869
8922
  );
8870
- const filteredCoins = (0, import_react20.useMemo)(() => {
8923
+ const filteredCoins = (0, import_react21.useMemo)(() => {
8871
8924
  const sorted = [...coins].sort((a, b) => {
8872
8925
  const aIdx = POPULAR_CRYPTOS.indexOf(a.symbol.toUpperCase());
8873
8926
  const bIdx = POPULAR_CRYPTOS.indexOf(b.symbol.toUpperCase());
@@ -8973,7 +9026,7 @@ function CryptoSelectorTrigger(props) {
8973
9026
  }
8974
9027
  );
8975
9028
  }
8976
- var import_lodash_es4, import_lucide_react9, import_react20, import_jsx_runtime32, POPULAR_CRYPTOS;
9029
+ var import_lodash_es4, import_lucide_react9, import_react21, import_jsx_runtime32, POPULAR_CRYPTOS;
8977
9030
  var init_CryptoSelector = __esm({
8978
9031
  "src/internal/components/BuyMenu/components/CryptoSelector.tsx"() {
8979
9032
  init_tokens();
@@ -8982,7 +9035,7 @@ var init_CryptoSelector = __esm({
8982
9035
  init_i18n();
8983
9036
  import_lodash_es4 = require("lodash-es");
8984
9037
  import_lucide_react9 = require("lucide-react");
8985
- import_react20 = require("react");
9038
+ import_react21 = require("react");
8986
9039
  init_priceFormatter();
8987
9040
  init_button();
8988
9041
  init_highlight();
@@ -9084,16 +9137,16 @@ function FiatSelector(props) {
9084
9137
  const { fiats } = props;
9085
9138
  const { t, i18n } = useT();
9086
9139
  const locale = i18n.resolvedLanguage || "en";
9087
- const [searchValue, setSearchValue] = (0, import_react21.useState)("");
9088
- const [target, setTarget] = (0, import_react21.useState)("");
9089
- const setSearchDebounced = (0, import_react21.useCallback)(
9140
+ const [searchValue, setSearchValue] = (0, import_react22.useState)("");
9141
+ const [target, setTarget] = (0, import_react22.useState)("");
9142
+ const setSearchDebounced = (0, import_react22.useCallback)(
9090
9143
  (0, import_lodash_es5.debounce)((value) => {
9091
9144
  setTarget(value);
9092
9145
  useBuyMenuStore.getState().setRenderKey(`on-ramp-fiat-selector-${Date.now()}`);
9093
9146
  }, 1e3),
9094
9147
  []
9095
9148
  );
9096
- const filteredFiats = (0, import_react21.useMemo)(() => {
9149
+ const filteredFiats = (0, import_react22.useMemo)(() => {
9097
9150
  const sorted = [...fiats].sort((a, b) => {
9098
9151
  const aIdx = POPULAR_FIATS.indexOf(a.ticker.toUpperCase());
9099
9152
  const bIdx = POPULAR_FIATS.indexOf(b.ticker.toUpperCase());
@@ -9158,13 +9211,13 @@ function FiatSelectorTrigger(props) {
9158
9211
  }
9159
9212
  );
9160
9213
  }
9161
- var import_lodash_es5, import_lucide_react10, import_react21, import_jsx_runtime34, POPULAR_FIATS;
9214
+ var import_lodash_es5, import_lucide_react10, import_react22, import_jsx_runtime34, POPULAR_FIATS;
9162
9215
  var init_FiatSelector = __esm({
9163
9216
  "src/internal/components/BuyMenu/components/FiatSelector.tsx"() {
9164
9217
  init_i18n();
9165
9218
  import_lodash_es5 = require("lodash-es");
9166
9219
  import_lucide_react10 = require("lucide-react");
9167
- import_react21 = require("react");
9220
+ import_react22 = require("react");
9168
9221
  init_button();
9169
9222
  init_highlight();
9170
9223
  init_input();
@@ -9839,17 +9892,17 @@ function BinanceTxHistory() {
9839
9892
  txStatuses: SHOW_STATUSES
9840
9893
  })
9841
9894
  });
9842
- const txList = (0, import_react22.useMemo)(
9895
+ const txList = (0, import_react23.useMemo)(
9843
9896
  () => historyData?.pages?.map((p) => p.data).flat(Infinity) || [],
9844
9897
  [historyData]
9845
9898
  );
9846
- const updateExpandable = (0, import_react22.useCallback)(
9899
+ const updateExpandable = (0, import_react23.useCallback)(
9847
9900
  (0, import_lodash_es7.debounce)(() => {
9848
9901
  useBuyMenuStore.getState().setRenderKey(`binance-history-loaded-${Date.now()}`);
9849
9902
  }, 200),
9850
9903
  []
9851
9904
  );
9852
- (0, import_react22.useEffect)(() => {
9905
+ (0, import_react23.useEffect)(() => {
9853
9906
  if (isTxDataLoading || !txList?.length || txList.length > 10) return;
9854
9907
  updateExpandable();
9855
9908
  }, [isTxDataLoading, txList]);
@@ -9874,7 +9927,7 @@ function BinanceTxHistory() {
9874
9927
  )
9875
9928
  ] });
9876
9929
  }
9877
- var import_react_query8, import_dayjs, import_lodash_es7, import_lucide_react13, import_react22, import_jsx_runtime38, TRANSACTIONS_PAGESIZE, SHOW_STATUSES;
9930
+ var import_react_query8, import_dayjs, import_lodash_es7, import_lucide_react13, import_react23, import_jsx_runtime38, TRANSACTIONS_PAGESIZE, SHOW_STATUSES;
9878
9931
  var init_BinanceTxHistory = __esm({
9879
9932
  "src/internal/components/BuyMenu/binance/BinanceTxHistory.tsx"() {
9880
9933
  init_tokens();
@@ -9885,7 +9938,7 @@ var init_BinanceTxHistory = __esm({
9885
9938
  import_dayjs = __toESM(require("dayjs"), 1);
9886
9939
  import_lodash_es7 = require("lodash-es");
9887
9940
  import_lucide_react13 = require("lucide-react");
9888
- import_react22 = require("react");
9941
+ import_react23 = require("react");
9889
9942
  init_priceFormatter();
9890
9943
  init_badge();
9891
9944
  init_button();
@@ -9903,8 +9956,8 @@ var init_BinanceTxHistory = __esm({
9903
9956
  // src/internal/components/BuyMenu/binance/useBinanceSseTracing.ts
9904
9957
  function useBinanceSseTxTracing(walletAddress) {
9905
9958
  const qc = (0, import_react_query9.useQueryClient)();
9906
- const debounceRef = (0, import_react23.useRef)(null);
9907
- (0, import_react23.useEffect)(() => {
9959
+ const debounceRef = (0, import_react24.useRef)(null);
9960
+ (0, import_react24.useEffect)(() => {
9908
9961
  if (!walletAddress) return;
9909
9962
  const iframeManager = getIframeManager();
9910
9963
  if (!iframeManager) return;
@@ -9926,11 +9979,11 @@ function useBinanceSseTxTracing(walletAddress) {
9926
9979
  };
9927
9980
  }, [walletAddress, qc]);
9928
9981
  }
9929
- var import_react_query9, import_react23;
9982
+ var import_react_query9, import_react24;
9930
9983
  var init_useBinanceSseTracing = __esm({
9931
9984
  "src/internal/components/BuyMenu/binance/useBinanceSseTracing.ts"() {
9932
9985
  import_react_query9 = require("@tanstack/react-query");
9933
- import_react23 = require("react");
9986
+ import_react24 = require("react");
9934
9987
  init_iframe_manager();
9935
9988
  init_queryKeys();
9936
9989
  init_api();
@@ -9967,7 +10020,7 @@ function Binance() {
9967
10020
  } = useBuyMenuStore();
9968
10021
  const paymentMode = useBinanceStore((st) => st.paymentMode);
9969
10022
  const isCurrurenciesSelected = !!selectedCrypto && !!selectedFiat;
9970
- (0, import_react24.useEffect)(() => {
10023
+ (0, import_react25.useEffect)(() => {
9971
10024
  if (!isCurrurenciesSelected) return;
9972
10025
  useBuyMenuStore.getState().setRenderKey(`${selectedCrypto}-${selectedFiat}-${Date.now()}`);
9973
10026
  }, [isCurrurenciesSelected]);
@@ -10002,7 +10055,7 @@ function Binance() {
10002
10055
  });
10003
10056
  const paymentModes = paymentModesData?.data?.paymentMethods || [];
10004
10057
  const selectedPaymentMode = paymentModes?.find((el) => getPayMethodID(el) === paymentMode) || null;
10005
- (0, import_react24.useEffect)(() => {
10058
+ (0, import_react25.useEffect)(() => {
10006
10059
  useBuyMenuStore.getState().setMinAmount(Number(selectedPaymentMode?.fiatMinLimit || "0"));
10007
10060
  }, [selectedPaymentMode]);
10008
10061
  const { mutate: estimateQuote, isPending: isQuoteEstimating } = (0, import_react_query10.useMutation)({
@@ -10030,21 +10083,21 @@ function Binance() {
10030
10083
  }
10031
10084
  });
10032
10085
  const availableFiats = (tradingPairsData?.data?.fiatCurrencies || []).map((ticker) => ({ ticker }));
10033
- (0, import_react24.useEffect)(() => {
10086
+ (0, import_react25.useEffect)(() => {
10034
10087
  if (!!selectedFiat || !availableFiats?.length) return;
10035
10088
  const targetFiat = availableFiats.find((item) => item.ticker === "USD" || item.ticker === "EUR") || availableFiats[0];
10036
10089
  useBuyMenuStore.getState().setSelectedFiat(targetFiat.ticker);
10037
10090
  }, [availableFiats, selectedFiat]);
10038
- (0, import_react24.useEffect)(() => {
10091
+ (0, import_react25.useEffect)(() => {
10039
10092
  if (!!selectedCrypto || !networkAvailableCryptoList?.length) return;
10040
10093
  useBuyMenuStore.getState().setSelectedCrypto(networkAvailableCryptoList[0].cryptoCurrency);
10041
10094
  }, [networkAvailableCryptoList, selectedCrypto]);
10042
- (0, import_react24.useEffect)(() => {
10095
+ (0, import_react25.useEffect)(() => {
10043
10096
  if (!!paymentMode || !paymentModes.length) return;
10044
10097
  const targetPaymentMode = paymentModes.find((item) => item.payMethodCode === PREFERRED_PAYMENT_METHOD) || paymentModes[0];
10045
10098
  useBinanceStore.getState().setPaymentMode(getPayMethodID(targetPaymentMode));
10046
10099
  }, [paymentModes]);
10047
- (0, import_react24.useEffect)(() => {
10100
+ (0, import_react25.useEffect)(() => {
10048
10101
  return () => {
10049
10102
  useBinanceStore.getState().setPaymentMode(null);
10050
10103
  qc.resetQueries({ queryKey: [QUERY_KEYS2.binanceTradingPairs] });
@@ -10166,7 +10219,7 @@ function Binance() {
10166
10219
  )
10167
10220
  ] });
10168
10221
  }
10169
- var import_react_query10, import_lucide_react14, import_react24, import_jsx_runtime39, PREFERRED_PAYMENT_METHOD;
10222
+ var import_react_query10, import_lucide_react14, import_react25, import_jsx_runtime39, PREFERRED_PAYMENT_METHOD;
10170
10223
  var init_Binance = __esm({
10171
10224
  "src/internal/components/BuyMenu/binance/Binance.tsx"() {
10172
10225
  init_utils2();
@@ -10174,7 +10227,7 @@ var init_Binance = __esm({
10174
10227
  init_i18n();
10175
10228
  import_react_query10 = require("@tanstack/react-query");
10176
10229
  import_lucide_react14 = require("lucide-react");
10177
- import_react24 = require("react");
10230
+ import_react25 = require("react");
10178
10231
  init_button();
10179
10232
  init_highlight();
10180
10233
  init_input();
@@ -10446,7 +10499,7 @@ function FinchPayTxHistoryItem(props) {
10446
10499
  function FinchPayTxHistory() {
10447
10500
  const { t } = useT();
10448
10501
  const walletAddress = useSession((st) => st.address);
10449
- const [cursor, setCursor] = (0, import_react25.useState)(1);
10502
+ const [cursor, setCursor] = (0, import_react26.useState)(1);
10450
10503
  const {
10451
10504
  data: txData,
10452
10505
  isLoading: isTxDataLoading,
@@ -10468,7 +10521,7 @@ function FinchPayTxHistory() {
10468
10521
  const pageCount = loadedPages[loadedPages.length - 1]?.pageCount || 1;
10469
10522
  const txList = loadedPages.map((p) => p.data)[cursor - 1] || [];
10470
10523
  console.log("[FINCHPAY] txList", txData);
10471
- const handleNextPage = (0, import_react25.useCallback)(
10524
+ const handleNextPage = (0, import_react26.useCallback)(
10472
10525
  async (curCursor, curPageParams) => {
10473
10526
  const maxLoadedPage = Math.max(...curPageParams);
10474
10527
  if (curCursor !== maxLoadedPage) {
@@ -10523,7 +10576,7 @@ function FinchPayTxHistory() {
10523
10576
  ] })
10524
10577
  ] });
10525
10578
  }
10526
- var import_react_query12, import_dayjs2, import_lucide_react16, import_react25, import_jsx_runtime41, TRANSACTIONS_PAGESIZE2;
10579
+ var import_react_query12, import_dayjs2, import_lucide_react16, import_react26, import_jsx_runtime41, TRANSACTIONS_PAGESIZE2;
10527
10580
  var init_FinchPayTxHistory = __esm({
10528
10581
  "src/internal/components/BuyMenu/finchpay/FinchPayTxHistory.tsx"() {
10529
10582
  init_utils2();
@@ -10532,7 +10585,7 @@ var init_FinchPayTxHistory = __esm({
10532
10585
  import_react_query12 = require("@tanstack/react-query");
10533
10586
  import_dayjs2 = __toESM(require("dayjs"), 1);
10534
10587
  import_lucide_react16 = require("lucide-react");
10535
- import_react25 = require("react");
10588
+ import_react26 = require("react");
10536
10589
  init_priceFormatter();
10537
10590
  init_badge();
10538
10591
  init_button();
@@ -10561,8 +10614,8 @@ var init_networks = __esm({
10561
10614
  // src/internal/components/BuyMenu/finchpay/useFinchpaySseTxTracing.ts
10562
10615
  function useFinchpaySseTxTracing(walletAddress) {
10563
10616
  const qc = (0, import_react_query13.useQueryClient)();
10564
- const debounceRef = (0, import_react26.useRef)(null);
10565
- (0, import_react26.useEffect)(() => {
10617
+ const debounceRef = (0, import_react27.useRef)(null);
10618
+ (0, import_react27.useEffect)(() => {
10566
10619
  if (!walletAddress) return;
10567
10620
  const iframeManager = getIframeManager();
10568
10621
  if (!iframeManager) return;
@@ -10584,11 +10637,11 @@ function useFinchpaySseTxTracing(walletAddress) {
10584
10637
  };
10585
10638
  }, [walletAddress, qc]);
10586
10639
  }
10587
- var import_react_query13, import_react26;
10640
+ var import_react_query13, import_react27;
10588
10641
  var init_useFinchpaySseTxTracing = __esm({
10589
10642
  "src/internal/components/BuyMenu/finchpay/useFinchpaySseTxTracing.ts"() {
10590
10643
  import_react_query13 = require("@tanstack/react-query");
10591
- import_react26 = require("react");
10644
+ import_react27 = require("react");
10592
10645
  init_iframe_manager();
10593
10646
  init_queryKeys();
10594
10647
  init_api2();
@@ -10686,11 +10739,11 @@ function FinchPay() {
10686
10739
  })
10687
10740
  });
10688
10741
  const minimum = Number(limitsData?.min_amount || "0");
10689
- (0, import_react27.useEffect)(() => {
10742
+ (0, import_react28.useEffect)(() => {
10690
10743
  if (minimum <= 0) return;
10691
10744
  useBuyMenuStore.getState().setMinAmount(minimum);
10692
10745
  }, [minimum]);
10693
- (0, import_react27.useEffect)(() => {
10746
+ (0, import_react28.useEffect)(() => {
10694
10747
  if (srcInputAmount >= minimum) return;
10695
10748
  useBuyMenuStore.getState().setRenderKey(`finchpay-input-minimum-warning-${Date.now()}`);
10696
10749
  }, [minimum, srcInputAmount]);
@@ -10718,23 +10771,23 @@ function FinchPay() {
10718
10771
  // defaults to CARD estimation, widgetUrl
10719
10772
  })
10720
10773
  });
10721
- (0, import_react27.useEffect)(() => {
10774
+ (0, import_react28.useEffect)(() => {
10722
10775
  const { error: errorTitle, message: errorMessage } = handleErrors([currenciesError, limitsError, estimateError]);
10723
10776
  if (!errorTitle && !errorMessage) return;
10724
10777
  console.error(`[BuyModal][Binance] ${errorTitle}: ${errorMessage}`);
10725
10778
  useBuyMenuStore.getState().setError(errorMessage);
10726
10779
  }, [currenciesError, limitsError, estimateError]);
10727
- (0, import_react27.useEffect)(() => {
10780
+ (0, import_react28.useEffect)(() => {
10728
10781
  if (!!selectedFiat || currenciesData.fiats.length === 0) return;
10729
10782
  const fallbackFiat = currenciesData.fiats[0];
10730
10783
  const targetFiat = currenciesData.fiats.find((f) => f.ticker.toUpperCase() === "USD") || fallbackFiat;
10731
10784
  useBuyMenuStore.getState().setSelectedFiat(targetFiat.ticker);
10732
10785
  }, [currenciesData, selectedFiat]);
10733
- (0, import_react27.useEffect)(() => {
10786
+ (0, import_react28.useEffect)(() => {
10734
10787
  if (!!selectedCrypto || currenciesData.currentNetworkCoins.length === 0) return;
10735
10788
  useBuyMenuStore.getState().setSelectedCrypto(currenciesData.currentNetworkCoins[0].ticker);
10736
10789
  }, [currenciesData, selectedCrypto]);
10737
- (0, import_react27.useEffect)(() => {
10790
+ (0, import_react28.useEffect)(() => {
10738
10791
  return () => {
10739
10792
  qc.resetQueries({ queryKey: [QUERY_KEYS2.finchPayCurrencies] });
10740
10793
  qc.resetQueries({ queryKey: [QUERY_KEYS2.finchPayLimits] });
@@ -10856,7 +10909,7 @@ function FinchPay() {
10856
10909
  )
10857
10910
  ] });
10858
10911
  }
10859
- var import_react_query14, import_lucide_react17, import_react27, import_jsx_runtime42;
10912
+ var import_react_query14, import_lucide_react17, import_react28, import_jsx_runtime42;
10860
10913
  var init_FinchPay = __esm({
10861
10914
  "src/internal/components/BuyMenu/finchpay/FinchPay.tsx"() {
10862
10915
  init_priceFormatter();
@@ -10865,7 +10918,7 @@ var init_FinchPay = __esm({
10865
10918
  init_i18n();
10866
10919
  import_react_query14 = require("@tanstack/react-query");
10867
10920
  import_lucide_react17 = require("lucide-react");
10868
- import_react27 = require("react");
10921
+ import_react28 = require("react");
10869
10922
  init_button();
10870
10923
  init_highlight();
10871
10924
  init_input();
@@ -11007,20 +11060,20 @@ var init_debounce = __esm({
11007
11060
  });
11008
11061
 
11009
11062
  // src/internal/components/BuyMenu/useHandleInputAmount.ts
11010
- var import_react28, ON_INPUT_QUERY_DELAY, useHandleInputAmount;
11063
+ var import_react29, ON_INPUT_QUERY_DELAY, useHandleInputAmount;
11011
11064
  var init_useHandleInputAmount = __esm({
11012
11065
  "src/internal/components/BuyMenu/useHandleInputAmount.ts"() {
11013
- import_react28 = require("react");
11066
+ import_react29 = require("react");
11014
11067
  init_debounce();
11015
11068
  init_contants();
11016
11069
  init_useBuyMenuStore();
11017
11070
  ON_INPUT_QUERY_DELAY = 1500;
11018
11071
  useHandleInputAmount = () => {
11019
- const lastRampProviderRef = (0, import_react28.useRef)(DEFAULT_PROVIDER2);
11072
+ const lastRampProviderRef = (0, import_react29.useRef)(DEFAULT_PROVIDER2);
11020
11073
  const rampProvider = useBuyMenuStore((st) => st.rampProvider);
11021
11074
  const srcInputAmount = useBuyMenuStore((st) => st.srcInputAmount);
11022
11075
  const minAmount = useBuyMenuStore((st) => st.minAmount);
11023
- const setQueryAmountDebounced = (0, import_react28.useCallback)(
11076
+ const setQueryAmountDebounced = (0, import_react29.useCallback)(
11024
11077
  debounce5((inputAmount) => {
11025
11078
  const checkedValue = Math.ceil(Math.max(inputAmount, minAmount));
11026
11079
  useBuyMenuStore.getState().setSrcInputAmount(checkedValue);
@@ -11028,8 +11081,8 @@ var init_useHandleInputAmount = __esm({
11028
11081
  }, ON_INPUT_QUERY_DELAY),
11029
11082
  [minAmount]
11030
11083
  );
11031
- (0, import_react28.useEffect)(() => setQueryAmountDebounced(srcInputAmount), [srcInputAmount, setQueryAmountDebounced]);
11032
- (0, import_react28.useEffect)(() => {
11084
+ (0, import_react29.useEffect)(() => setQueryAmountDebounced(srcInputAmount), [srcInputAmount, setQueryAmountDebounced]);
11085
+ (0, import_react29.useEffect)(() => {
11033
11086
  if (lastRampProviderRef.current === rampProvider) return;
11034
11087
  const {
11035
11088
  setIsProviderSummary,
@@ -11403,8 +11456,8 @@ function ChainItem(props) {
11403
11456
  const { t } = useT();
11404
11457
  const isSessionLoading = useSession((st) => st.isLoading);
11405
11458
  const activeChainId = useSession((st) => st.activeChainId);
11406
- const [copiedChainId, setCopiedChainId] = (0, import_react29.useState)(null);
11407
- const copiedResetTimerRef = (0, import_react29.useRef)(null);
11459
+ const [copiedChainId, setCopiedChainId] = (0, import_react30.useState)(null);
11460
+ const copiedResetTimerRef = (0, import_react30.useRef)(null);
11408
11461
  const isActiveChain = activeChainId === chainId;
11409
11462
  const paymasterAddress = isActiveChain ? activePaymasterData?.address : null;
11410
11463
  const paymasterExplorerUrl = paymasterAddress ? getPaymasterExplorerUrl(chainId, paymasterAddress) : null;
@@ -11501,7 +11554,7 @@ function ChainItem(props) {
11501
11554
  }
11502
11555
  );
11503
11556
  }
11504
- var import_read13, import_lucide_react19, import_react29, import_jsx_runtime51;
11557
+ var import_read13, import_lucide_react19, import_react30, import_jsx_runtime51;
11505
11558
  var init_ChainItem = __esm({
11506
11559
  "src/internal/components/ChainsMenu/ChainItem.tsx"() {
11507
11560
  init_SessionContext();
@@ -11511,7 +11564,7 @@ var init_ChainItem = __esm({
11511
11564
  init_truncateMiddle();
11512
11565
  import_read13 = require("@embarkai/core/read");
11513
11566
  import_lucide_react19 = require("lucide-react");
11514
- import_react29 = require("react");
11567
+ import_react30 = require("react");
11515
11568
  init_badge();
11516
11569
  init_button();
11517
11570
  import_jsx_runtime51 = require("react/jsx-runtime");
@@ -11522,11 +11575,11 @@ var init_ChainItem = __esm({
11522
11575
  function ChainsMenu() {
11523
11576
  const config = useProviderConfig().config;
11524
11577
  const activeChainId = useSession((st) => st.activeChainId);
11525
- const [isTestnets, setIsTestnets] = (0, import_react30.useState)(false);
11526
- const [nextChainId, setNextChainId] = (0, import_react30.useState)(null);
11578
+ const [isTestnets, setIsTestnets] = (0, import_react31.useState)(false);
11579
+ const [nextChainId, setNextChainId] = (0, import_react31.useState)(null);
11527
11580
  const { t } = useT();
11528
11581
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
11529
- const visibleNetworks = (0, import_react30.useMemo)(() => {
11582
+ const visibleNetworks = (0, import_react31.useMemo)(() => {
11530
11583
  return NETWORK_OPTIONS.filter(
11531
11584
  (option) => option.isActive && (isTestnets ? true : import_read14.SUPPORTED_MAINNETS.includes(option.chainId))
11532
11585
  );
@@ -11600,7 +11653,7 @@ function ChainsMenu() {
11600
11653
  }
11601
11654
  );
11602
11655
  }
11603
- var import_core2, import_read14, import_react_query15, import_lucide_react20, import_react30, import_jsx_runtime52;
11656
+ var import_core2, import_read14, import_react_query15, import_lucide_react20, import_react31, import_jsx_runtime52;
11604
11657
  var init_ChainsMenu = __esm({
11605
11658
  "src/internal/components/ChainsMenu/ChainsMenu.tsx"() {
11606
11659
  init_networks3();
@@ -11611,7 +11664,7 @@ var init_ChainsMenu = __esm({
11611
11664
  import_read14 = require("@embarkai/core/read");
11612
11665
  import_react_query15 = require("@tanstack/react-query");
11613
11666
  import_lucide_react20 = require("lucide-react");
11614
- import_react30 = require("react");
11667
+ import_react31 = require("react");
11615
11668
  init_resolve_paymaster();
11616
11669
  init_useLayoutDataStore();
11617
11670
  init_useLayoutStore();
@@ -11799,8 +11852,8 @@ function DeviceLinkScreen() {
11799
11852
  const setPage = useLayoutDataStore((s) => s.setPage);
11800
11853
  const maxScrollHeight = useLayoutStore((s) => s.maxScrollHeight);
11801
11854
  const { mutate: link, isPending } = useLinkDevice();
11802
- const [code, setCode] = (0, import_react31.useState)("");
11803
- const [error, setError] = (0, import_react31.useState)(null);
11855
+ const [code, setCode] = (0, import_react32.useState)("");
11856
+ const [error, setError] = (0, import_react32.useState)(null);
11804
11857
  const isValid = code.length === 6 && VALID_CHARS.test(code);
11805
11858
  function handleCodeChange(value) {
11806
11859
  const upper = value.toUpperCase().slice(0, 6);
@@ -11859,10 +11912,10 @@ function DeviceLinkScreen() {
11859
11912
  }
11860
11913
  );
11861
11914
  }
11862
- var import_react31, import_lucide_react22, import_jsx_runtime54, VALID_CHARS;
11915
+ var import_react32, import_lucide_react22, import_jsx_runtime54, VALID_CHARS;
11863
11916
  var init_DeviceLinkScreen = __esm({
11864
11917
  "src/internal/components/DevicesMenu/DeviceLinkScreen.tsx"() {
11865
- import_react31 = require("react");
11918
+ import_react32 = require("react");
11866
11919
  import_lucide_react22 = require("lucide-react");
11867
11920
  init_Expandable2();
11868
11921
  init_button();
@@ -12395,19 +12448,19 @@ function DeviceManageScreen() {
12395
12448
  const userId = session?.mpcUserId || "";
12396
12449
  const deviceId = pageParams?.deviceId;
12397
12450
  const deviceName = pageParams?.deviceName;
12398
- const guardianRef = (0, import_react32.useRef)(null);
12399
- const [screen, setScreen] = (0, import_react32.useState)({ step: "connecting" });
12400
- const [actionState, setActionState] = (0, import_react32.useState)(null);
12401
- const [password, setPassword] = (0, import_react32.useState)("");
12402
- const [statusMessage, setStatusMessage] = (0, import_react32.useState)(null);
12403
- const [errorMessage, setErrorMessage] = (0, import_react32.useState)(null);
12404
- const [waitingConfirm, setWaitingConfirm] = (0, import_react32.useState)(false);
12405
- (0, import_react32.useEffect)(() => {
12451
+ const guardianRef = (0, import_react33.useRef)(null);
12452
+ const [screen, setScreen] = (0, import_react33.useState)({ step: "connecting" });
12453
+ const [actionState, setActionState] = (0, import_react33.useState)(null);
12454
+ const [password, setPassword] = (0, import_react33.useState)("");
12455
+ const [statusMessage, setStatusMessage] = (0, import_react33.useState)(null);
12456
+ const [errorMessage, setErrorMessage] = (0, import_react33.useState)(null);
12457
+ const [waitingConfirm, setWaitingConfirm] = (0, import_react33.useState)(false);
12458
+ (0, import_react33.useEffect)(() => {
12406
12459
  if (!statusMessage) return;
12407
12460
  const t = setTimeout(() => setStatusMessage(null), 3e3);
12408
12461
  return () => clearTimeout(t);
12409
12462
  }, [statusMessage]);
12410
- (0, import_react32.useEffect)(() => {
12463
+ (0, import_react33.useEffect)(() => {
12411
12464
  if (!deviceId || !isWebSerialAvailable()) {
12412
12465
  setScreen({ step: "error", message: "WebSerial not available" });
12413
12466
  return;
@@ -12439,7 +12492,7 @@ function DeviceManageScreen() {
12439
12492
  guardianRef.current?.close();
12440
12493
  };
12441
12494
  }, [deviceId]);
12442
- const refreshList = (0, import_react32.useCallback)(async () => {
12495
+ const refreshList = (0, import_react33.useCallback)(async () => {
12443
12496
  const guardian = guardianRef.current;
12444
12497
  if (!guardian || screen.step !== "connected") return;
12445
12498
  try {
@@ -12448,7 +12501,7 @@ function DeviceManageScreen() {
12448
12501
  } catch {
12449
12502
  }
12450
12503
  }, [screen]);
12451
- const handleBackup = (0, import_react32.useCallback)(async () => {
12504
+ const handleBackup = (0, import_react33.useCallback)(async () => {
12452
12505
  const guardian = guardianRef.current;
12453
12506
  const iframe4 = getIframeManager();
12454
12507
  if (!guardian || !iframe4 || !userId) return;
@@ -12472,7 +12525,7 @@ function DeviceManageScreen() {
12472
12525
  setActionState(null);
12473
12526
  }
12474
12527
  }, [password, userId, refreshList]);
12475
- const handleOverwrite = (0, import_react32.useCallback)(async () => {
12528
+ const handleOverwrite = (0, import_react33.useCallback)(async () => {
12476
12529
  const guardian = guardianRef.current;
12477
12530
  const iframe4 = getIframeManager();
12478
12531
  if (!guardian || !iframe4 || !userId) return;
@@ -12492,7 +12545,7 @@ function DeviceManageScreen() {
12492
12545
  setActionState(null);
12493
12546
  }
12494
12547
  }, [password, userId, refreshList]);
12495
- const handleDelete = (0, import_react32.useCallback)(async (keyshareId) => {
12548
+ const handleDelete = (0, import_react33.useCallback)(async (keyshareId) => {
12496
12549
  const guardian = guardianRef.current;
12497
12550
  if (!guardian) return;
12498
12551
  setActionState({ action: "delete", keyshareId, substep: "confirm-device" });
@@ -12659,10 +12712,10 @@ function DeviceManageScreen() {
12659
12712
  }
12660
12713
  );
12661
12714
  }
12662
- var import_react32, import_lucide_react23, import_jsx_runtime55;
12715
+ var import_react33, import_lucide_react23, import_jsx_runtime55;
12663
12716
  var init_DeviceManageScreen = __esm({
12664
12717
  "src/internal/components/DevicesMenu/DeviceManageScreen.tsx"() {
12665
- import_react32 = require("react");
12718
+ import_react33 = require("react");
12666
12719
  import_lucide_react23 = require("lucide-react");
12667
12720
  init_Expandable2();
12668
12721
  init_button();
@@ -12685,11 +12738,11 @@ function DeviceRestoreScreen() {
12685
12738
  const keyshareId = pageParams?.keyshareId;
12686
12739
  const deviceId = pageParams?.deviceId;
12687
12740
  const deviceName = pageParams?.deviceName;
12688
- const [password, setPassword] = (0, import_react33.useState)("");
12689
- const [isWorking, setIsWorking] = (0, import_react33.useState)(false);
12690
- const [statusMessage, setStatusMessage] = (0, import_react33.useState)(null);
12691
- const [errorMessage, setErrorMessage] = (0, import_react33.useState)(null);
12692
- const handleRestore = (0, import_react33.useCallback)(async () => {
12741
+ const [password, setPassword] = (0, import_react34.useState)("");
12742
+ const [isWorking, setIsWorking] = (0, import_react34.useState)(false);
12743
+ const [statusMessage, setStatusMessage] = (0, import_react34.useState)(null);
12744
+ const [errorMessage, setErrorMessage] = (0, import_react34.useState)(null);
12745
+ const handleRestore = (0, import_react34.useCallback)(async () => {
12693
12746
  if (!password || !keyshareId || !userId) return;
12694
12747
  const iframe4 = getIframeManager();
12695
12748
  if (!iframe4) {
@@ -12776,10 +12829,10 @@ function DeviceRestoreScreen() {
12776
12829
  }
12777
12830
  );
12778
12831
  }
12779
- var import_react33, import_lucide_react24, import_jsx_runtime56;
12832
+ var import_react34, import_lucide_react24, import_jsx_runtime56;
12780
12833
  var init_DeviceRestoreScreen = __esm({
12781
12834
  "src/internal/components/DevicesMenu/DeviceRestoreScreen.tsx"() {
12782
- import_react33 = require("react");
12835
+ import_react34 = require("react");
12783
12836
  import_lucide_react24 = require("lucide-react");
12784
12837
  init_Expandable2();
12785
12838
  init_button();
@@ -12802,8 +12855,8 @@ function truncateAddress(address) {
12802
12855
  return `${address.slice(0, 6)}...${address.slice(-4)}`;
12803
12856
  }
12804
12857
  function DeviceRow({ device }) {
12805
- const [confirmingUnlink, setConfirmingUnlink] = (0, import_react34.useState)(false);
12806
- const [unlinkError, setUnlinkError] = (0, import_react34.useState)(null);
12858
+ const [confirmingUnlink, setConfirmingUnlink] = (0, import_react35.useState)(false);
12859
+ const [unlinkError, setUnlinkError] = (0, import_react35.useState)(null);
12807
12860
  const { mutate: unlink, isPending } = useUnlinkDevice();
12808
12861
  if (confirmingUnlink) {
12809
12862
  return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "flex flex-col gap-2 p-3 rounded-lg bg-[var(--ui-kit-bg)]", children: [
@@ -12917,10 +12970,10 @@ function DevicesMenu() {
12917
12970
  }
12918
12971
  );
12919
12972
  }
12920
- var import_react34, import_lucide_react25, import_jsx_runtime57;
12973
+ var import_react35, import_lucide_react25, import_jsx_runtime57;
12921
12974
  var init_DevicesMenu = __esm({
12922
12975
  "src/internal/components/DevicesMenu/DevicesMenu.tsx"() {
12923
- import_react34 = require("react");
12976
+ import_react35 = require("react");
12924
12977
  import_lucide_react25 = require("lucide-react");
12925
12978
  init_Expandable2();
12926
12979
  init_button();
@@ -13013,7 +13066,7 @@ function useOnRestoreSuccess() {
13013
13066
  setStatus
13014
13067
  } = useSession();
13015
13068
  const { setError, setSuccess } = useRestoreStore();
13016
- const createSessionWithKeyshare = (0, import_react35.useCallback)(
13069
+ const createSessionWithKeyshare = (0, import_react36.useCallback)(
13017
13070
  async (userId, hasServerKeyshare, isNewUser) => {
13018
13071
  try {
13019
13072
  try {
@@ -13054,7 +13107,7 @@ function useOnRestoreSuccess() {
13054
13107
  },
13055
13108
  [setStatus, usePaymaster, activeChainId, publicClient]
13056
13109
  );
13057
- const onRestoreSuccess = (0, import_react35.useCallback)(async () => {
13110
+ const onRestoreSuccess = (0, import_react36.useCallback)(async () => {
13058
13111
  const { verifyToken: verifyToken2, jwtTokenManager: jwtTokenManager4 } = await Promise.resolve().then(() => (init_auth(), auth_exports));
13059
13112
  const verify = await verifyToken2();
13060
13113
  const hasServerKeyshare = verify?.hasKeyshare ?? jwtTokenManager4.getHasKeyshare() ?? false;
@@ -13119,12 +13172,12 @@ function useOnRestoreSuccess() {
13119
13172
  ]);
13120
13173
  return { onRestoreSuccess };
13121
13174
  }
13122
- var import_react35;
13175
+ var import_react36;
13123
13176
  var init_useOnRestoreSuccess = __esm({
13124
13177
  "src/internal/components/KeyshareRestoreMenu/hooks/useOnRestoreSuccess.ts"() {
13125
13178
  init_ProviderContext();
13126
13179
  init_SessionContext();
13127
- import_react35 = require("react");
13180
+ import_react36 = require("react");
13128
13181
  init_useLayoutDataStore();
13129
13182
  init_useLayoutStore();
13130
13183
  init_useRestoreStore();
@@ -13549,7 +13602,7 @@ function useCreateBackup() {
13549
13602
  const usePasskey = useRestoreStore((st) => st.usePasskey);
13550
13603
  const restorePassword = useRestoreStore((st) => st.restorePassword);
13551
13604
  const selectedCloudProvider = useRestoreStore((st) => st.selectedCloudProvider);
13552
- (0, import_react36.useEffect)(() => {
13605
+ (0, import_react37.useEffect)(() => {
13553
13606
  if (!hasServerVault) {
13554
13607
  useRestoreStore.getState().setMethod("server");
13555
13608
  useLayoutStore.getState().setIsDialogForced(true);
@@ -13557,7 +13610,7 @@ function useCreateBackup() {
13557
13610
  }, [hasServerVault]);
13558
13611
  const recoveryUserId = useSession((st) => st.recoveryUserId);
13559
13612
  const passportUserId = session?.mpcUserId || recoveryUserId || "";
13560
- const onBackupSuccess = (0, import_react36.useCallback)(() => {
13613
+ const onBackupSuccess = (0, import_react37.useCallback)(() => {
13561
13614
  console.log("[EMBARKAI BACKUP] Backup created successfully");
13562
13615
  }, [hasServerVault]);
13563
13616
  const { mutate: createPasswordBackup, isPending: isPasswordBackupCreating } = (0, import_react_query17.useMutation)({
@@ -13717,12 +13770,12 @@ function useCreateBackup() {
13717
13770
  createPasskey
13718
13771
  };
13719
13772
  }
13720
- var import_react_query17, import_react36;
13773
+ var import_react_query17, import_react37;
13721
13774
  var init_useCreateBackup = __esm({
13722
13775
  "src/internal/components/KeyshareRestoreMenu/hooks/useCreateBackup.ts"() {
13723
13776
  init_SessionContext();
13724
13777
  import_react_query17 = require("@tanstack/react-query");
13725
- import_react36 = require("react");
13778
+ import_react37 = require("react");
13726
13779
  init_auth();
13727
13780
  init_useLayoutStore();
13728
13781
  init_iframe_manager();
@@ -13857,7 +13910,7 @@ function useValidateFileBackup() {
13857
13910
  const restoreFile = useRestoreStore((st) => st.restoreFile);
13858
13911
  const setError = useRestoreStore((st) => st.setError);
13859
13912
  const setUsePasskey = useRestoreStore((st) => st.setUsePasskey);
13860
- (0, import_react37.useEffect)(() => {
13913
+ (0, import_react38.useEffect)(() => {
13861
13914
  if (!restoreFile) {
13862
13915
  return;
13863
13916
  }
@@ -13878,10 +13931,10 @@ function useValidateFileBackup() {
13878
13931
  reader.readAsText(restoreFile);
13879
13932
  }, [restoreFile]);
13880
13933
  }
13881
- var import_react37;
13934
+ var import_react38;
13882
13935
  var init_useValidateFileBackup = __esm({
13883
13936
  "src/internal/components/KeyshareRestoreMenu/hooks/useValidateFileBackup.ts"() {
13884
- import_react37 = require("react");
13937
+ import_react38 = require("react");
13885
13938
  init_useRestoreStore();
13886
13939
  }
13887
13940
  });
@@ -13909,7 +13962,7 @@ function MethodSelector(props) {
13909
13962
  setError,
13910
13963
  setSuccess
13911
13964
  } = useRestoreStore();
13912
- const recoveryRenderMethods = (0, import_react38.useMemo)(() => {
13965
+ const recoveryRenderMethods = (0, import_react39.useMemo)(() => {
13913
13966
  const methodsWithBackupData = getRecoveryRenderMethods(mode).map((mt) => {
13914
13967
  let data = null;
13915
13968
  switch (true) {
@@ -13924,7 +13977,7 @@ function MethodSelector(props) {
13924
13977
  return methodsWithBackupData;
13925
13978
  }, [mode, serverRecoveryStatus]);
13926
13979
  if (!!selectedRecoveryMethod) return null;
13927
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react38.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
13980
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react39.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
13928
13981
  "div",
13929
13982
  {
13930
13983
  style: { gridTemplateColumns: `repeat(${recoveryRenderMethods.length}, minmax(0, 1fr))` },
@@ -13958,12 +14011,12 @@ function MethodSelector(props) {
13958
14011
  }
13959
14012
  ) });
13960
14013
  }
13961
- var import_lucide_react27, import_react38, import_jsx_runtime58, getRecoveryRenderMethods;
14014
+ var import_lucide_react27, import_react39, import_jsx_runtime58, getRecoveryRenderMethods;
13962
14015
  var init_MethodSelector = __esm({
13963
14016
  "src/internal/components/KeyshareRestoreMenu/components/MethodSelector.tsx"() {
13964
14017
  init_useT();
13965
14018
  import_lucide_react27 = require("lucide-react");
13966
- import_react38 = require("react");
14019
+ import_react39 = require("react");
13967
14020
  init_icons();
13968
14021
  init_guardian_backup();
13969
14022
  init_button();
@@ -13997,7 +14050,7 @@ function PasswordPasskey(props) {
13997
14050
  onCreatePasskey
13998
14051
  } = props;
13999
14052
  const hasServerVault = useSession((st) => st.hasServerVault);
14000
- const actionRef = (0, import_react39.useRef)(null);
14053
+ const actionRef = (0, import_react40.useRef)(null);
14001
14054
  const {
14002
14055
  showPassword,
14003
14056
  restorePassword,
@@ -14011,7 +14064,7 @@ function PasswordPasskey(props) {
14011
14064
  } = useRestoreStore();
14012
14065
  const { config } = useProviderConfig();
14013
14066
  const isPasskeyEnabled = config.current.passkey.enabled;
14014
- (0, import_react39.useEffect)(() => {
14067
+ (0, import_react40.useEffect)(() => {
14015
14068
  if (!isPasskeyEnabled && usePasskey) setUsePasskey(false);
14016
14069
  }, [isPasskeyEnabled, usePasskey]);
14017
14070
  return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment, { children: [
@@ -14166,7 +14219,7 @@ function PasswordPasskey(props) {
14166
14219
  ] })
14167
14220
  ] });
14168
14221
  }
14169
- var import_lucide_react28, import_react39, import_jsx_runtime59;
14222
+ var import_lucide_react28, import_react40, import_jsx_runtime59;
14170
14223
  var init_PasswordPasskey = __esm({
14171
14224
  "src/internal/components/KeyshareRestoreMenu/components/PasswordPasskey.tsx"() {
14172
14225
  init_ProviderContext();
@@ -14174,7 +14227,7 @@ var init_PasswordPasskey = __esm({
14174
14227
  init_i18n();
14175
14228
  init_utils2();
14176
14229
  import_lucide_react28 = require("lucide-react");
14177
- import_react39 = require("react");
14230
+ import_react40 = require("react");
14178
14231
  init_icons();
14179
14232
  init_button();
14180
14233
  init_highlight();
@@ -14350,7 +14403,7 @@ function Server(props) {
14350
14403
  const usePasskey = useRestoreStore((st) => st.usePasskey);
14351
14404
  const setUsePasskey = useRestoreStore((st) => st.setUsePasskey);
14352
14405
  const serverRecoveryStatus = qc.getQueryData([CHECK_BACKUP_QUERY_KEY, address]);
14353
- (0, import_react40.useEffect)(() => {
14406
+ (0, import_react41.useEffect)(() => {
14354
14407
  if (mode === "backup" || !serverRecoveryStatus?.created?.encryptionMethod) return;
14355
14408
  setUsePasskey(serverRecoveryStatus.created.encryptionMethod === "passkey");
14356
14409
  }, [mode, serverRecoveryStatus, setUsePasskey]);
@@ -14385,7 +14438,7 @@ function Server(props) {
14385
14438
  ] })
14386
14439
  ] });
14387
14440
  }
14388
- var import_react_query19, import_dayjs3, import_lucide_react31, import_react40, import_jsx_runtime62;
14441
+ var import_react_query19, import_dayjs3, import_lucide_react31, import_react41, import_jsx_runtime62;
14389
14442
  var init_Server = __esm({
14390
14443
  "src/internal/components/KeyshareRestoreMenu/methods/Server.tsx"() {
14391
14444
  init_SessionContext();
@@ -14394,7 +14447,7 @@ var init_Server = __esm({
14394
14447
  import_react_query19 = require("@tanstack/react-query");
14395
14448
  import_dayjs3 = __toESM(require("dayjs"), 1);
14396
14449
  import_lucide_react31 = require("lucide-react");
14397
- import_react40 = require("react");
14450
+ import_react41 = require("react");
14398
14451
  init_highlight();
14399
14452
  init_PasswordPasskey();
14400
14453
  init_constants4();
@@ -14557,7 +14610,7 @@ function Cloud2(props) {
14557
14610
  return availableProviders.map((p) => ({ id: p.id, name: p.name, available: p.isAvailable() }));
14558
14611
  }
14559
14612
  });
14560
- (0, import_react41.useEffect)(() => {
14613
+ (0, import_react42.useEffect)(() => {
14561
14614
  if (isCloudProvidersLoading) return;
14562
14615
  if (!!cloudProvidersError) {
14563
14616
  console.error("[KeyshareBackup] Failed to load cloud providers:", cloudProvidersError);
@@ -14621,13 +14674,13 @@ function Cloud2(props) {
14621
14674
  )
14622
14675
  ] });
14623
14676
  }
14624
- var import_react_query20, import_lucide_react33, import_react41, import_jsx_runtime64;
14677
+ var import_react_query20, import_lucide_react33, import_react42, import_jsx_runtime64;
14625
14678
  var init_Cloud = __esm({
14626
14679
  "src/internal/components/KeyshareRestoreMenu/methods/Cloud.tsx"() {
14627
14680
  init_SessionContext();
14628
14681
  import_react_query20 = require("@tanstack/react-query");
14629
14682
  import_lucide_react33 = require("lucide-react");
14630
- import_react41 = require("react");
14683
+ import_react42 = require("react");
14631
14684
  init_button();
14632
14685
  init_select();
14633
14686
  init_PasswordPasskey();
@@ -14644,8 +14697,8 @@ function Guardian(props) {
14644
14697
  const session = useSession((st) => st.session);
14645
14698
  const recoveryUserId = useSession((st) => st.recoveryUserId);
14646
14699
  const { onRestoreSuccess } = useOnRestoreSuccess();
14647
- const [isWorking, setIsWorking] = (0, import_react42.useState)(false);
14648
- const [step, setStep] = (0, import_react42.useState)("idle");
14700
+ const [isWorking, setIsWorking] = (0, import_react43.useState)(false);
14701
+ const [step, setStep] = (0, import_react43.useState)("idle");
14649
14702
  const handleGuardianBackup = async () => {
14650
14703
  if (!restorePassword) {
14651
14704
  setError("Please enter a password");
@@ -14774,11 +14827,11 @@ function Guardian(props) {
14774
14827
  ] })
14775
14828
  ] });
14776
14829
  }
14777
- var import_react42, import_lucide_react34, import_jsx_runtime65;
14830
+ var import_react43, import_lucide_react34, import_jsx_runtime65;
14778
14831
  var init_Guardian = __esm({
14779
14832
  "src/internal/components/KeyshareRestoreMenu/methods/Guardian.tsx"() {
14780
14833
  init_SessionContext();
14781
- import_react42 = require("react");
14834
+ import_react43 = require("react");
14782
14835
  import_lucide_react34 = require("lucide-react");
14783
14836
  init_iframe_manager();
14784
14837
  init_guardian_backup();
@@ -14801,7 +14854,7 @@ var init_methods = __esm({
14801
14854
  });
14802
14855
 
14803
14856
  // src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx
14804
- var import_react_query21, import_lucide_react35, import_react43, import_wagmi, import_jsx_runtime66, RESTORE_COMPONENTS, KeyshareRestoreMenu;
14857
+ var import_react_query21, import_lucide_react35, import_react44, import_wagmi, import_jsx_runtime66, RESTORE_COMPONENTS, KeyshareRestoreMenu;
14805
14858
  var init_KeyshareRestoreMenu = __esm({
14806
14859
  "src/internal/components/KeyshareRestoreMenu/KeyshareRestoreMenu.tsx"() {
14807
14860
  init_ProviderContext();
@@ -14809,7 +14862,7 @@ var init_KeyshareRestoreMenu = __esm({
14809
14862
  init_i18n();
14810
14863
  import_react_query21 = require("@tanstack/react-query");
14811
14864
  import_lucide_react35 = require("lucide-react");
14812
- import_react43 = require("react");
14865
+ import_react44 = require("react");
14813
14866
  import_wagmi = require("wagmi");
14814
14867
  init_useLayoutDataStore();
14815
14868
  init_useLayoutStore();
@@ -14840,7 +14893,7 @@ var init_KeyshareRestoreMenu = __esm({
14840
14893
  const error = useRestoreStore((st) => st.error);
14841
14894
  const success = useRestoreStore((st) => st.success);
14842
14895
  const currentRestoreMethod = useRestoreStore((st) => st.method);
14843
- (0, import_react43.useEffect)(() => {
14896
+ (0, import_react44.useEffect)(() => {
14844
14897
  const { setIsDialogForced } = useLayoutStore.getState();
14845
14898
  const { setRestorePassword, setRestoreFile, setShowPassword, setUsePasskey, setMethod } = useRestoreStore.getState();
14846
14899
  setIsDialogForced(true);
@@ -14880,7 +14933,7 @@ var init_KeyshareRestoreMenu = __esm({
14880
14933
  queryFn: async () => await getShareRecoveryStats()
14881
14934
  });
14882
14935
  const hasServerBackup = serverRecoveryStatus?.created || serverRecoveryStatus?.devices?.length > 0;
14883
- (0, import_react43.useEffect)(() => {
14936
+ (0, import_react44.useEffect)(() => {
14884
14937
  if (!!hasServerBackup) useRestoreStore.getState().setMethod("server");
14885
14938
  }, [hasServerBackup]);
14886
14939
  const { mutate: disconnect, isPending: isDisconnecting } = (0, import_react_query21.useMutation)({
@@ -15034,7 +15087,7 @@ function KeyshareBackupMenu() {
15034
15087
  const currentBackupMethod = useRestoreStore((st) => st.method);
15035
15088
  const error = useRestoreStore((st) => st.error);
15036
15089
  const success = useRestoreStore((st) => st.success);
15037
- (0, import_react44.useEffect)(() => {
15090
+ (0, import_react45.useEffect)(() => {
15038
15091
  const { setSuccess, setError, setRestorePassword, setRestoreFile, setShowPassword, setUsePasskey, setMethod } = useRestoreStore.getState();
15039
15092
  return () => {
15040
15093
  setSuccess(null);
@@ -15053,7 +15106,7 @@ function KeyshareBackupMenu() {
15053
15106
  queryFn: async () => await getShareRecoveryStats()
15054
15107
  });
15055
15108
  const hasRecoveryData = serverRecoveryStatus?.created || serverRecoveryStatus?.devices?.length > 0;
15056
- (0, import_react44.useEffect)(() => {
15109
+ (0, import_react45.useEffect)(() => {
15057
15110
  if (!!hasRecoveryData) useRestoreStore.getState().setMethod("server");
15058
15111
  }, [hasRecoveryData]);
15059
15112
  const {
@@ -15172,14 +15225,14 @@ function KeyshareBackupMenu() {
15172
15225
  }
15173
15226
  );
15174
15227
  }
15175
- var import_react_query22, import_lucide_react36, import_react44, import_jsx_runtime67, COMPONENTS;
15228
+ var import_react_query22, import_lucide_react36, import_react45, import_jsx_runtime67, COMPONENTS;
15176
15229
  var init_KeyshareBackupMenu = __esm({
15177
15230
  "src/internal/components/KeyshareRestoreMenu/KeyshareBackupMenu.tsx"() {
15178
15231
  init_SessionContext();
15179
15232
  init_i18n();
15180
15233
  import_react_query22 = require("@tanstack/react-query");
15181
15234
  import_lucide_react36 = require("lucide-react");
15182
- import_react44 = require("react");
15235
+ import_react45 = require("react");
15183
15236
  init_useLayoutDataStore();
15184
15237
  init_useLayoutStore();
15185
15238
  init_vaultClient();
@@ -15217,14 +15270,14 @@ function useColorMode() {
15217
15270
  const preferedColorMode = config?.preferedColorMode;
15218
15271
  const colorMode = useLayoutStore((st) => st.colorMode);
15219
15272
  const handleStoreColorMode = useLayoutStore((st) => st.setColorMode);
15220
- const setColorMode = (0, import_react45.useCallback)(
15273
+ const setColorMode = (0, import_react46.useCallback)(
15221
15274
  (mode) => {
15222
15275
  localStorage.setItem(LOCAL_COLOR_MODE_KEY, mode);
15223
15276
  handleStoreColorMode(mode);
15224
15277
  },
15225
15278
  [handleStoreColorMode]
15226
15279
  );
15227
- (0, import_react45.useEffect)(() => {
15280
+ (0, import_react46.useEffect)(() => {
15228
15281
  let targetColorMode = localStorage.getItem(LOCAL_COLOR_MODE_KEY);
15229
15282
  if (!targetColorMode && !preferedColorMode) {
15230
15283
  const systemMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
@@ -15239,10 +15292,10 @@ function useColorMode() {
15239
15292
  }, []);
15240
15293
  return { colorMode, setColorMode };
15241
15294
  }
15242
- var import_react45;
15295
+ var import_react46;
15243
15296
  var init_useColorMode = __esm({
15244
15297
  "src/hooks/useColorMode.ts"() {
15245
- import_react45 = require("react");
15298
+ import_react46 = require("react");
15246
15299
  init_ProviderContext();
15247
15300
  init_constants();
15248
15301
  init_useLayoutStore();
@@ -15344,13 +15397,13 @@ var init_SumsubIframeManager = __esm({
15344
15397
  function useSumsubIframe({ iframeUrl }) {
15345
15398
  const config = useProviderConfig().config;
15346
15399
  const { colorMode } = useColorMode();
15347
- const iframeRef = (0, import_react46.useRef)(null);
15348
- const [isLoading, setIsLoading] = (0, import_react46.useState)(true);
15349
- const [error, setError] = (0, import_react46.useState)(null);
15350
- const [height, setHeight] = (0, import_react46.useState)(0);
15351
- const [status, setStatus] = (0, import_react46.useState)("");
15400
+ const iframeRef = (0, import_react47.useRef)(null);
15401
+ const [isLoading, setIsLoading] = (0, import_react47.useState)(true);
15402
+ const [error, setError] = (0, import_react47.useState)(null);
15403
+ const [height, setHeight] = (0, import_react47.useState)(0);
15404
+ const [status, setStatus] = (0, import_react47.useState)("");
15352
15405
  const levelName = config.current?.kyc?.options?.levelName;
15353
- (0, import_react46.useEffect)(() => {
15406
+ (0, import_react47.useEffect)(() => {
15354
15407
  setError(null);
15355
15408
  setIsLoading(true);
15356
15409
  setStatus("Preparing verification...");
@@ -15391,12 +15444,12 @@ function useSumsubIframe({ iframeUrl }) {
15391
15444
  status
15392
15445
  };
15393
15446
  }
15394
- var import_react46;
15447
+ var import_react47;
15395
15448
  var init_useSumsubIframe = __esm({
15396
15449
  "src/internal/components/KYC/useSumsubIframe.ts"() {
15397
15450
  init_ProviderContext();
15398
15451
  init_useColorMode();
15399
- import_react46 = require("react");
15452
+ import_react47 = require("react");
15400
15453
  init_sumsub();
15401
15454
  init_SumsubIframeManager();
15402
15455
  }
@@ -15670,7 +15723,7 @@ function MainMenu() {
15670
15723
  const { t } = useT();
15671
15724
  const setPage = useLayoutDataStore((st) => st.setPage);
15672
15725
  const setTransitionPageHeight = useLayoutDataStore((st) => st.setTransitionPageHeight);
15673
- (0, import_react47.useEffect)(() => setTransitionPageHeight(DEFAULT_MAIN_MENU_HEIGHT), []);
15726
+ (0, import_react48.useEffect)(() => setTransitionPageHeight(DEFAULT_MAIN_MENU_HEIGHT), []);
15674
15727
  useProvidersList();
15675
15728
  return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "w-full p-[var(--ui-kit-pd)] flex flex-col gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "w-full grid grid-cols-4 gap-0 md:gap-[var(--ui-kit-gap)] py-[10px] md:py-1", children: MAIN_MENU_BUTTONS.map(({ id, label, icon: Icon2 }) => /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
15676
15729
  Button,
@@ -15688,13 +15741,13 @@ function MainMenu() {
15688
15741
  id
15689
15742
  )) }) });
15690
15743
  }
15691
- var import_lucide_react41, import_react47, import_jsx_runtime72, MAIN_MENU_BUTTONS;
15744
+ var import_lucide_react41, import_react48, import_jsx_runtime72, MAIN_MENU_BUTTONS;
15692
15745
  var init_MainMenu = __esm({
15693
15746
  "src/internal/components/MainMenu/MainMenu.tsx"() {
15694
15747
  init_SessionContext();
15695
15748
  init_useT();
15696
15749
  import_lucide_react41 = require("lucide-react");
15697
- import_react47 = require("react");
15750
+ import_react48 = require("react");
15698
15751
  init_constants();
15699
15752
  init_useLayoutDataStore();
15700
15753
  init_useProvidersList();
@@ -15740,16 +15793,16 @@ function useLinkedProfiles() {
15740
15793
  }
15741
15794
  });
15742
15795
  const { profiles = [], avatar = null } = data || {};
15743
- const refresh = (0, import_react48.useCallback)(async () => {
15796
+ const refresh = (0, import_react49.useCallback)(async () => {
15744
15797
  await qc.invalidateQueries({ queryKey: [LINKED_PROFILES_QUERY_KEY, address] });
15745
15798
  }, [qc, address]);
15746
15799
  return { profiles, avatar, isLoading, isFetching, error, refresh };
15747
15800
  }
15748
- var import_react_query25, import_react48, LINKED_PROFILES_QUERY_KEY;
15801
+ var import_react_query25, import_react49, LINKED_PROFILES_QUERY_KEY;
15749
15802
  var init_linkedProfiles = __esm({
15750
15803
  "src/modules/linkedProfiles.ts"() {
15751
15804
  import_react_query25 = require("@tanstack/react-query");
15752
- import_react48 = require("react");
15805
+ import_react49 = require("react");
15753
15806
  init_SessionContext();
15754
15807
  init_auth();
15755
15808
  init_common();
@@ -16240,7 +16293,7 @@ function useLinkSocial() {
16240
16293
  const setPage = useLayoutDataStore((st) => st.setPage);
16241
16294
  const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
16242
16295
  const { providerType, linkIsLoading, setProviderType, setAlert, setLinkIsLoading } = useManageWalletStore();
16243
- const handleLinkSocialProvider = import_react49.default.useCallback(
16296
+ const handleLinkSocialProvider = import_react50.default.useCallback(
16244
16297
  async (providerIdRaw) => {
16245
16298
  const providerKey = providerIdRaw.toLowerCase();
16246
16299
  const normalizedKey = providerKey === "twitter" ? "x" : providerKey;
@@ -16298,8 +16351,8 @@ function useLinkSocial() {
16298
16351
  },
16299
16352
  [config.social?.providers]
16300
16353
  );
16301
- const [socialLinkStarted, setSocialLinkStarted] = import_react49.default.useState(false);
16302
- (0, import_react49.useEffect)(() => {
16354
+ const [socialLinkStarted, setSocialLinkStarted] = import_react50.default.useState(false);
16355
+ (0, import_react50.useEffect)(() => {
16303
16356
  const key = providerType?.toLowerCase();
16304
16357
  console.log("[useLinkSocial] Effect triggered:", { key, linkIsLoading, socialLinkStarted, isWalletLinking });
16305
16358
  if (isWalletLinking) {
@@ -16317,7 +16370,7 @@ function useLinkSocial() {
16317
16370
  }
16318
16371
  }, [providerType, linkIsLoading, socialLinkStarted, isWalletLinking, handleLinkSocialProvider]);
16319
16372
  }
16320
- var import_react_query30, import_react49;
16373
+ var import_react_query30, import_react50;
16321
16374
  var init_useLinkSocial = __esm({
16322
16375
  "src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts"() {
16323
16376
  init_useLayoutDataStore();
@@ -16325,7 +16378,7 @@ var init_useLinkSocial = __esm({
16325
16378
  init_SessionContext();
16326
16379
  init_linkedProfiles();
16327
16380
  import_react_query30 = require("@tanstack/react-query");
16328
- import_react49 = __toESM(require("react"), 1);
16381
+ import_react50 = __toESM(require("react"), 1);
16329
16382
  init_auth();
16330
16383
  init_telegramBrowser();
16331
16384
  init_useProvidersList();
@@ -16394,7 +16447,7 @@ function useLinkTelegram() {
16394
16447
  const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
16395
16448
  const { providerType, linkIsLoading, setLinkIsLoading, setProviderType, setAlert } = useManageWalletStore();
16396
16449
  const setPage = useLayoutDataStore((st) => st.setPage);
16397
- const handleLinkTelegram = (0, import_react50.useCallback)(async () => {
16450
+ const handleLinkTelegram = (0, import_react51.useCallback)(async () => {
16398
16451
  try {
16399
16452
  if (shouldBlockSocialAuthInTelegram("telegram")) {
16400
16453
  setAlert(buildTelegramBrowserRestriction("Telegram", "linking"));
@@ -16441,8 +16494,8 @@ function useLinkTelegram() {
16441
16494
  setLinkIsLoading(false);
16442
16495
  }
16443
16496
  }, [config.social?.providers]);
16444
- const [telegramLinkStarted, setTelegramLinkStarted] = (0, import_react50.useState)(false);
16445
- (0, import_react50.useEffect)(() => {
16497
+ const [telegramLinkStarted, setTelegramLinkStarted] = (0, import_react51.useState)(false);
16498
+ (0, import_react51.useEffect)(() => {
16446
16499
  console.log("[useLinkTelegram] Effect triggered:", {
16447
16500
  providerType,
16448
16501
  linkIsLoading,
@@ -16459,20 +16512,20 @@ function useLinkTelegram() {
16459
16512
  handleLinkTelegram();
16460
16513
  }
16461
16514
  }, [providerType, handleLinkTelegram, linkIsLoading, telegramLinkStarted, isWalletLinking]);
16462
- (0, import_react50.useEffect)(() => {
16515
+ (0, import_react51.useEffect)(() => {
16463
16516
  if (providerType !== "telegram") {
16464
16517
  setTelegramLinkStarted(false);
16465
16518
  }
16466
16519
  }, [providerType]);
16467
16520
  }
16468
- var import_react_query31, import_react50;
16521
+ var import_react_query31, import_react51;
16469
16522
  var init_useLinkTelegram = __esm({
16470
16523
  "src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts"() {
16471
16524
  init_ProviderContext();
16472
16525
  init_SessionContext();
16473
16526
  init_linkedProfiles();
16474
16527
  import_react_query31 = require("@tanstack/react-query");
16475
- import_react50 = require("react");
16528
+ import_react51 = require("react");
16476
16529
  init_telegram2();
16477
16530
  init_useLayoutDataStore();
16478
16531
  init_telegramBrowser();
@@ -16605,7 +16658,7 @@ function ManageWalletMenu() {
16605
16658
  } = useManageWalletStore();
16606
16659
  const configuredProviders = getConfiguredProviders(config.current);
16607
16660
  const { data: providers = [], isLoading: isProvidersLoading, error: providersError } = useProvidersList();
16608
- const renderProviders = (0, import_react51.useMemo)(() => {
16661
+ const renderProviders = (0, import_react52.useMemo)(() => {
16609
16662
  const normalizeProviderName = (name) => {
16610
16663
  if (name === "x") return "twitter";
16611
16664
  return name;
@@ -16727,7 +16780,7 @@ function ManageWalletMenu() {
16727
16780
  }
16728
16781
  );
16729
16782
  }
16730
- var import_lodash_es8, import_lucide_react45, import_react51, import_jsx_runtime77, POSSIBLE_PROVIDERS, MULTI_PROVIDERS;
16783
+ var import_lodash_es8, import_lucide_react45, import_react52, import_jsx_runtime77, POSSIBLE_PROVIDERS, MULTI_PROVIDERS;
16731
16784
  var init_ManageWallet = __esm({
16732
16785
  "src/internal/components/ManageWalletMenu/ManageWallet.tsx"() {
16733
16786
  init_useLayoutDataStore();
@@ -16736,7 +16789,7 @@ var init_ManageWallet = __esm({
16736
16789
  init_i18n();
16737
16790
  import_lodash_es8 = require("lodash-es");
16738
16791
  import_lucide_react45 = require("lucide-react");
16739
- import_react51 = require("react");
16792
+ import_react52 = require("react");
16740
16793
  init_constants();
16741
16794
  init_telegramBrowser();
16742
16795
  init_Expandable2();
@@ -16773,7 +16826,7 @@ function UnlinkProviderMenu() {
16773
16826
  const { t } = useT();
16774
16827
  const setPage = useLayoutDataStore((st) => st.setPage);
16775
16828
  const { confirmUnlink, setConfirmUnlink, setAlert } = useManageWalletStore();
16776
- const [confirmInput, setConfirmInput] = (0, import_react52.useState)("");
16829
+ const [confirmInput, setConfirmInput] = (0, import_react53.useState)("");
16777
16830
  const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = (0, import_react_query32.useMutation)({
16778
16831
  mutationFn: async () => {
16779
16832
  if (!confirmUnlink) {
@@ -16855,7 +16908,7 @@ function UnlinkProviderMenu() {
16855
16908
  ] })
16856
16909
  ] });
16857
16910
  }
16858
- var import_react_query32, import_lucide_react46, import_react52, import_wagmi2, import_jsx_runtime78;
16911
+ var import_react_query32, import_lucide_react46, import_react53, import_wagmi2, import_jsx_runtime78;
16859
16912
  var init_UnlinkProviderMenu = __esm({
16860
16913
  "src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx"() {
16861
16914
  init_useLayoutDataStore();
@@ -16865,7 +16918,7 @@ var init_UnlinkProviderMenu = __esm({
16865
16918
  init_linkedProfiles();
16866
16919
  import_react_query32 = require("@tanstack/react-query");
16867
16920
  import_lucide_react46 = require("lucide-react");
16868
- import_react52 = require("react");
16921
+ import_react53 = require("react");
16869
16922
  import_wagmi2 = require("wagmi");
16870
16923
  init_auth();
16871
16924
  init_useExternalWalletStore();
@@ -17024,7 +17077,7 @@ function NicknameEditForm(props) {
17024
17077
  const { t } = useT();
17025
17078
  const passportWalletAddress = useSession((st) => st.address);
17026
17079
  const { callbacksRef } = useProviderConfig();
17027
- const [isNicknameCopied, setIsNicknameCopied] = (0, import_react53.useState)(false);
17080
+ const [isNicknameCopied, setIsNicknameCopied] = (0, import_react54.useState)(false);
17028
17081
  const {
17029
17082
  mutate: changeNickname2,
17030
17083
  isError: isNicknameChangeError,
@@ -17056,7 +17109,7 @@ function NicknameEditForm(props) {
17056
17109
  );
17057
17110
  }
17058
17111
  });
17059
- const handleInputChange = (0, import_react53.useCallback)(
17112
+ const handleInputChange = (0, import_react54.useCallback)(
17060
17113
  (e) => {
17061
17114
  const value = e.target.value;
17062
17115
  setInputValue(value);
@@ -17070,7 +17123,7 @@ function NicknameEditForm(props) {
17070
17123
  },
17071
17124
  [clientError, isNicknameChangeError, isNicknameChangeSuccess, reset, t]
17072
17125
  );
17073
- const handleSubmit = (0, import_react53.useCallback)(
17126
+ const handleSubmit = (0, import_react54.useCallback)(
17074
17127
  (e) => {
17075
17128
  if (!canChange) return;
17076
17129
  e.preventDefault();
@@ -17134,7 +17187,7 @@ function NicknameEditForm(props) {
17134
17187
  !!canChange && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "w-full flex items-center leadding-4 text-[10px]", children: t("passport:nicknameMenu.hint") })
17135
17188
  ] });
17136
17189
  }
17137
- var import_react_query33, import_lucide_react48, import_react53, import_jsx_runtime80;
17190
+ var import_react_query33, import_lucide_react48, import_react54, import_jsx_runtime80;
17138
17191
  var init_NicknameEditForm = __esm({
17139
17192
  "src/internal/components/NicknameMenu/NicknameEditForm.tsx"() {
17140
17193
  init_ProviderContext();
@@ -17142,7 +17195,7 @@ var init_NicknameEditForm = __esm({
17142
17195
  init_i18n();
17143
17196
  import_react_query33 = require("@tanstack/react-query");
17144
17197
  import_lucide_react48 = require("lucide-react");
17145
- import_react53 = require("react");
17198
+ import_react54 = require("react");
17146
17199
  init_icons();
17147
17200
  init_nickname();
17148
17201
  init_profile();
@@ -17158,17 +17211,17 @@ var init_NicknameEditForm = __esm({
17158
17211
 
17159
17212
  // src/internal/components/NicknameMenu/useNickname.ts
17160
17213
  function useNicknameForm(currentNickname) {
17161
- const [inputValue, setInputValue] = (0, import_react54.useState)("");
17214
+ const [inputValue, setInputValue] = (0, import_react55.useState)("");
17162
17215
  const normalizedInputValue = normalizeNickname(inputValue);
17163
17216
  const validation = validateNickname(inputValue);
17164
17217
  const isValidForCheck = validation.valid && normalizedInputValue.length > 0;
17165
- (0, import_react54.useEffect)(() => {
17218
+ (0, import_react55.useEffect)(() => {
17166
17219
  setInputValue(currentNickname);
17167
17220
  }, [currentNickname]);
17168
- const [queryInputValue, setQueryInputValue] = (0, import_react54.useState)("");
17221
+ const [queryInputValue, setQueryInputValue] = (0, import_react55.useState)("");
17169
17222
  const isSameAsCurrentNickname = normalizedInputValue === currentNickname.toLowerCase();
17170
17223
  const shouldCheckAvailability = validation.valid && !isSameAsCurrentNickname && inputValue.length > 0;
17171
- (0, import_react54.useEffect)(() => {
17224
+ (0, import_react55.useEffect)(() => {
17172
17225
  if (!isValidForCheck || !shouldCheckAvailability) {
17173
17226
  setQueryInputValue("");
17174
17227
  return;
@@ -17197,11 +17250,11 @@ function useNicknameForm(currentNickname) {
17197
17250
  availabilityQuery: query
17198
17251
  };
17199
17252
  }
17200
- var import_react_query34, import_react54, DEBOUNCE_MS;
17253
+ var import_react_query34, import_react55, DEBOUNCE_MS;
17201
17254
  var init_useNickname = __esm({
17202
17255
  "src/internal/components/NicknameMenu/useNickname.ts"() {
17203
17256
  import_react_query34 = require("@tanstack/react-query");
17204
- import_react54 = require("react");
17257
+ import_react55 = require("react");
17205
17258
  init_nickname();
17206
17259
  init_profile();
17207
17260
  init_nickname_validation();
@@ -17211,9 +17264,10 @@ var init_useNickname = __esm({
17211
17264
 
17212
17265
  // src/internal/components/NicknameMenu/NicknameMenu.tsx
17213
17266
  function NicknameMenu() {
17267
+ const { isInitialUser } = usePageParams();
17214
17268
  const address = useSession((st) => st.address);
17215
17269
  const { t } = useT();
17216
- const [clientError, setClientError] = (0, import_react55.useState)(null);
17270
+ const [clientError, setClientError] = (0, import_react56.useState)(null);
17217
17271
  const setPage = useLayoutDataStore((st) => st.setPage);
17218
17272
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
17219
17273
  const {
@@ -17292,23 +17346,41 @@ function NicknameMenu() {
17292
17346
  /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("strong", { className: "text-[var(--ui-kit-fg)]", children: nicknameInfo.changeCount })
17293
17347
  ] })
17294
17348
  ] }),
17295
- !!resolvedError?.length && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
17296
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react49.AlertTriangle, { className: "w-4 h-4 flex-none" }),
17297
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { children: resolvedError })
17298
- ] })
17349
+ isInitialUser && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(Highlight, { type: "success", children: [
17350
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", {
17351
+ //@ts-expect-error i18n typings
17352
+ children: t("passport:nicknameMenu.initialUser.welcome", {
17353
+ nickname: nicknameInfo?.handle || "N/A"
17354
+ })
17355
+ }),
17356
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { children: t("passport:nicknameMenu.initialUser.message") }),
17357
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
17358
+ Button,
17359
+ {
17360
+ variant: "default-glow",
17361
+ size: "large",
17362
+ title: t("passport:common.continue"),
17363
+ onClick: () => setPage(null),
17364
+ className: "w-full",
17365
+ children: t("passport:common.continue")
17366
+ }
17367
+ )
17368
+ ] }),
17369
+ !!resolvedError?.length && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Highlight, { type: "error", children: resolvedError })
17299
17370
  ] })
17300
17371
  }
17301
17372
  );
17302
17373
  }
17303
- var import_react_query35, import_dayjs4, import_lucide_react49, import_react55, import_jsx_runtime81;
17374
+ var import_react_query35, import_dayjs4, import_lucide_react49, import_react56, import_jsx_runtime81;
17304
17375
  var init_NicknameMenu = __esm({
17305
17376
  "src/internal/components/NicknameMenu/NicknameMenu.tsx"() {
17306
17377
  init_SessionContext();
17378
+ init_useOpenPage();
17307
17379
  init_i18n();
17308
17380
  import_react_query35 = require("@tanstack/react-query");
17309
17381
  import_dayjs4 = __toESM(require("dayjs"), 1);
17310
17382
  import_lucide_react49 = require("lucide-react");
17311
- import_react55 = require("react");
17383
+ import_react56 = require("react");
17312
17384
  init_nickname();
17313
17385
  init_profile();
17314
17386
  init_useLayoutDataStore();
@@ -17345,11 +17417,11 @@ function useResolvedPublicClient(chainId, logScope = "useResolvedPublicClient")
17345
17417
  const activeChainConfig = useSession((st) => st.chainConfig);
17346
17418
  const resolvedChainId = chainId ?? activeChainId;
17347
17419
  const shouldUseActiveClient = !chainId || chainId === activeChainId;
17348
- const chainConfig = (0, import_react56.useMemo)(() => {
17420
+ const chainConfig = (0, import_react57.useMemo)(() => {
17349
17421
  if (shouldUseActiveClient) return activeChainConfig;
17350
17422
  return (0, import_read15.getChainConfig)(chainId);
17351
17423
  }, [activeChainConfig, chainId, shouldUseActiveClient]);
17352
- const publicClient = (0, import_react56.useMemo)(() => {
17424
+ const publicClient = (0, import_react57.useMemo)(() => {
17353
17425
  if (shouldUseActiveClient) return activePublicClient;
17354
17426
  if (!chainId) return activePublicClient;
17355
17427
  try {
@@ -17366,12 +17438,12 @@ function useResolvedPublicClient(chainId, logScope = "useResolvedPublicClient")
17366
17438
  resolvedChainId
17367
17439
  };
17368
17440
  }
17369
- var import_read15, import_react56, publicClientByChainId;
17441
+ var import_read15, import_react57, publicClientByChainId;
17370
17442
  var init_useResolvedPublicClient = __esm({
17371
17443
  "src/internal/hooks/useResolvedPublicClient.ts"() {
17372
17444
  init_SessionContext();
17373
17445
  import_read15 = require("@embarkai/core/read");
17374
- import_react56 = require("react");
17446
+ import_react57 = require("react");
17375
17447
  publicClientByChainId = /* @__PURE__ */ new Map();
17376
17448
  }
17377
17449
  });
@@ -17381,7 +17453,7 @@ function useWatchTokens(options) {
17381
17453
  const { address, chainId, enabled = true } = options;
17382
17454
  const { config } = useProviderConfig();
17383
17455
  const { publicClient, resolvedChainId } = useResolvedPublicClient(chainId, "useWatchTokens");
17384
- const watchTokens = (0, import_react57.useMemo)(() => {
17456
+ const watchTokens = (0, import_react58.useMemo)(() => {
17385
17457
  const allWatchTokens = config.current.watchTokens;
17386
17458
  const tokensForChain = resolvedChainId ? allWatchTokens?.[resolvedChainId] || [] : [];
17387
17459
  return tokensForChain;
@@ -17463,12 +17535,12 @@ function useWatchTokens(options) {
17463
17535
  refetch
17464
17536
  };
17465
17537
  }
17466
- var import_react_query36, import_react57, import_viem6, WATCH_TOKENS_QUERY_KEY;
17538
+ var import_react_query36, import_react58, import_viem6, WATCH_TOKENS_QUERY_KEY;
17467
17539
  var init_useWatchTokens = __esm({
17468
17540
  "src/internal/hooks/useWatchTokens.ts"() {
17469
17541
  init_ProviderContext();
17470
17542
  import_react_query36 = require("@tanstack/react-query");
17471
- import_react57 = require("react");
17543
+ import_react58 = require("react");
17472
17544
  import_viem6 = require("viem");
17473
17545
  init_useResolvedPublicClient();
17474
17546
  WATCH_TOKENS_QUERY_KEY = "watch-tokens";
@@ -17606,11 +17678,11 @@ function useBlockscoutAssets(options) {
17606
17678
  const customTokenBalancesQuery = portfolioConfig?.tokenBalancesQuery;
17607
17679
  const customTokenBalancesQueryKey = portfolioConfig?.tokenBalancesQueryKey;
17608
17680
  const blockscoutApiUrl = getBlockscoutApiUrl(chainConfig);
17609
- const blockscoutClient = (0, import_react58.useMemo)(
17681
+ const blockscoutClient = (0, import_react59.useMemo)(
17610
17682
  () => blockscoutApiUrl ? (0, import_clients2.createBlockscoutClient)({ baseUrl: blockscoutApiUrl }) : null,
17611
17683
  [blockscoutApiUrl]
17612
17684
  );
17613
- const lastRefreshRef = (0, import_react58.useRef)(0);
17685
+ const lastRefreshRef = (0, import_react59.useRef)(0);
17614
17686
  const {
17615
17687
  assets: watchTokenAssets,
17616
17688
  isLoading: watchTokensLoading,
@@ -17679,7 +17751,7 @@ function useBlockscoutAssets(options) {
17679
17751
  retry: 2,
17680
17752
  retryDelay: 1e3
17681
17753
  });
17682
- const erc20TokenAddresses = (0, import_react58.useMemo)(() => {
17754
+ const erc20TokenAddresses = (0, import_react59.useMemo)(() => {
17683
17755
  if (!tokenBalances) return [];
17684
17756
  return tokenBalances.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address_hash);
17685
17757
  }, [tokenBalances]);
@@ -17723,7 +17795,7 @@ function useBlockscoutAssets(options) {
17723
17795
  gcTime: BLOCKSCOUT_QUERY_GC_TIME,
17724
17796
  retry: 1
17725
17797
  });
17726
- const assets = (0, import_react58.useMemo)(() => {
17798
+ const assets = (0, import_react59.useMemo)(() => {
17727
17799
  const result = [];
17728
17800
  const addedAddresses = /* @__PURE__ */ new Set();
17729
17801
  if (nativeBalanceData) {
@@ -17769,7 +17841,7 @@ function useBlockscoutAssets(options) {
17769
17841
  }
17770
17842
  return result;
17771
17843
  }, [nativeBalanceData, tokenBalances, nftItems, erc3643Results, watchTokenAssets, chainConfig]);
17772
- const nativeBalance = (0, import_react58.useMemo)(() => {
17844
+ const nativeBalance = (0, import_react59.useMemo)(() => {
17773
17845
  if (!nativeBalanceData) return null;
17774
17846
  return {
17775
17847
  value: nativeBalanceData.value,
@@ -17777,11 +17849,11 @@ function useBlockscoutAssets(options) {
17777
17849
  symbol: nativeBalanceData.symbol
17778
17850
  };
17779
17851
  }, [nativeBalanceData]);
17780
- const error = (0, import_react58.useMemo)(() => {
17852
+ const error = (0, import_react59.useMemo)(() => {
17781
17853
  if (!tokensError) return null;
17782
17854
  return createError(tokensError);
17783
17855
  }, [tokensError]);
17784
- const refreshBalances = (0, import_react58.useCallback)(async () => {
17856
+ const refreshBalances = (0, import_react59.useCallback)(async () => {
17785
17857
  const now = Date.now();
17786
17858
  if (now - lastRefreshRef.current < BLOCKSCOUT_REFRESH_DEBOUNCE) {
17787
17859
  return;
@@ -17789,7 +17861,7 @@ function useBlockscoutAssets(options) {
17789
17861
  lastRefreshRef.current = now;
17790
17862
  await Promise.all([refetchNative(), refetchTokens(), refetchNfts(), refetchWatchTokens()]);
17791
17863
  }, [refetchNative, refetchTokens, refetchNfts, refetchWatchTokens]);
17792
- const getTokenBalance = (0, import_react58.useCallback)(
17864
+ const getTokenBalance = (0, import_react59.useCallback)(
17793
17865
  (tokenAddress) => {
17794
17866
  return assets.find((a) => a.address?.toLowerCase() === tokenAddress.toLowerCase()) || null;
17795
17867
  },
@@ -17807,13 +17879,13 @@ function useBlockscoutAssets(options) {
17807
17879
  lastUpdated: dataUpdatedAt || null
17808
17880
  };
17809
17881
  }
17810
- var import_clients2, import_react_query37, import_react58, import_viem7, BLOCKSCOUT_QUERY_KEY, ERC3643_DETECTION_QUERY_KEY, ERC3643_ABI;
17882
+ var import_clients2, import_react_query37, import_react59, import_viem7, BLOCKSCOUT_QUERY_KEY, ERC3643_DETECTION_QUERY_KEY, ERC3643_ABI;
17811
17883
  var init_useBlockscoutAssets = __esm({
17812
17884
  "src/internal/hooks/useBlockscoutAssets.ts"() {
17813
17885
  init_ProviderContext();
17814
17886
  import_clients2 = require("@embarkai/core/clients");
17815
17887
  import_react_query37 = require("@tanstack/react-query");
17816
- import_react58 = require("react");
17888
+ import_react59 = require("react");
17817
17889
  import_viem7 = require("viem");
17818
17890
  init_initial();
17819
17891
  init_constants();
@@ -18116,7 +18188,7 @@ function PortfolioMenu() {
18116
18188
  enabled: !!address
18117
18189
  });
18118
18190
  const shownProjectAssests = projectAssets.filter((asset) => !asset.hideInPortfolio);
18119
- const refreshAllAssetsBalances = (0, import_react59.useCallback)(() => {
18191
+ const refreshAllAssetsBalances = (0, import_react60.useCallback)(() => {
18120
18192
  Promise.all(shownProjectAssests.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
18121
18193
  refreshBlockscoutBalances();
18122
18194
  }, [qc, shownProjectAssests, refreshBlockscoutBalances]);
@@ -18166,7 +18238,7 @@ function PortfolioMenu() {
18166
18238
  }
18167
18239
  );
18168
18240
  }
18169
- var import_react_query39, import_lucide_react51, import_react59, import_jsx_runtime84;
18241
+ var import_react_query39, import_lucide_react51, import_react60, import_jsx_runtime84;
18170
18242
  var init_PortfolioMenu = __esm({
18171
18243
  "src/internal/components/PortfolioMenu/PortfolioMenu.tsx"() {
18172
18244
  init_ProviderContext();
@@ -18174,7 +18246,7 @@ var init_PortfolioMenu = __esm({
18174
18246
  init_i18n();
18175
18247
  import_react_query39 = require("@tanstack/react-query");
18176
18248
  import_lucide_react51 = require("lucide-react");
18177
- import_react59 = require("react");
18249
+ import_react60 = require("react");
18178
18250
  init_useBlockscoutAssets();
18179
18251
  init_useLayoutDataStore();
18180
18252
  init_useLayoutStore();
@@ -18283,10 +18355,10 @@ function ReceiveMenu() {
18283
18355
  const { t } = useT();
18284
18356
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
18285
18357
  const open = page === "receive";
18286
- const [qrCodeUrl, setQrCodeUrl] = (0, import_react60.useState)("");
18287
- const [copied, setCopied] = (0, import_react60.useState)(false);
18288
- const [fingerprintCopied, setFingerprintCopied] = (0, import_react60.useState)(false);
18289
- const fingerprint = (0, import_react60.useMemo)(() => {
18358
+ const [qrCodeUrl, setQrCodeUrl] = (0, import_react61.useState)("");
18359
+ const [copied, setCopied] = (0, import_react61.useState)(false);
18360
+ const [fingerprintCopied, setFingerprintCopied] = (0, import_react61.useState)(false);
18361
+ const fingerprint = (0, import_react61.useMemo)(() => {
18290
18362
  if (!session?.ownerAddress) return null;
18291
18363
  try {
18292
18364
  return generateFingerprint(session.ownerAddress);
@@ -18294,7 +18366,7 @@ function ReceiveMenu() {
18294
18366
  return null;
18295
18367
  }
18296
18368
  }, [session?.ownerAddress]);
18297
- (0, import_react60.useEffect)(() => {
18369
+ (0, import_react61.useEffect)(() => {
18298
18370
  if (open && address) {
18299
18371
  import_qrcode.default.toDataURL(address, {
18300
18372
  width: 200,
@@ -18307,7 +18379,7 @@ function ReceiveMenu() {
18307
18379
  });
18308
18380
  }
18309
18381
  }, [open, address]);
18310
- const handleCopy = (0, import_react60.useCallback)(async () => {
18382
+ const handleCopy = (0, import_react61.useCallback)(async () => {
18311
18383
  if (!address) return;
18312
18384
  try {
18313
18385
  await navigator.clipboard.writeText(address);
@@ -18317,7 +18389,7 @@ function ReceiveMenu() {
18317
18389
  console.error("Failed to copy address:", error);
18318
18390
  }
18319
18391
  }, [address]);
18320
- const handleCopyFingerprint = (0, import_react60.useCallback)(async () => {
18392
+ const handleCopyFingerprint = (0, import_react61.useCallback)(async () => {
18321
18393
  if (!fingerprint) return;
18322
18394
  try {
18323
18395
  await navigator.clipboard.writeText(fingerprint);
@@ -18378,14 +18450,14 @@ function ReceiveMenu() {
18378
18450
  }
18379
18451
  );
18380
18452
  }
18381
- var import_lucide_react52, import_qrcode, import_react60, import_jsx_runtime85;
18453
+ var import_lucide_react52, import_qrcode, import_react61, import_jsx_runtime85;
18382
18454
  var init_ReceiveMenu = __esm({
18383
18455
  "src/internal/components/ReceiveMenu/ReceiveMenu.tsx"() {
18384
18456
  init_SessionContext();
18385
18457
  init_i18n();
18386
18458
  import_lucide_react52 = require("lucide-react");
18387
18459
  import_qrcode = __toESM(require("qrcode"), 1);
18388
- import_react60 = require("react");
18460
+ import_react61 = require("react");
18389
18461
  init_useLayoutDataStore();
18390
18462
  init_useLayoutStore();
18391
18463
  init_nickname_fingerprint();
@@ -18835,7 +18907,7 @@ function SecurityMenu() {
18835
18907
  const setPage = useLayoutDataStore((st) => st.setPage);
18836
18908
  const userId = import_auth23.jwtTokenManager.getUserId();
18837
18909
  const serverHasKeyshare = import_auth23.jwtTokenManager.getHasKeyshare() ?? false;
18838
- const [appToUntrust, untrustApp] = (0, import_react61.useState)(null);
18910
+ const [appToUntrust, untrustApp] = (0, import_react62.useState)(null);
18839
18911
  const { data: recoveryData, isLoading: isRecoveryLoading } = useKeyshareRecoveryStats();
18840
18912
  const localInfo = recoveryData?.keyshareInfo || {};
18841
18913
  const hasServerBackup = !!recoveryData?.shareRecoveryStats?.created || recoveryData?.shareRecoveryStats?.devices?.length > 0;
@@ -18911,13 +18983,13 @@ function SecurityMenu() {
18911
18983
  }
18912
18984
  );
18913
18985
  }
18914
- var import_react_query41, import_lucide_react58, import_react61, import_jsx_runtime91;
18986
+ var import_react_query41, import_lucide_react58, import_react62, import_jsx_runtime91;
18915
18987
  var init_SecurityMenu = __esm({
18916
18988
  "src/internal/components/SecurityMenu/SecurityMenu.tsx"() {
18917
18989
  init_i18n();
18918
18990
  import_react_query41 = require("@tanstack/react-query");
18919
18991
  import_lucide_react58 = require("lucide-react");
18920
- import_react61 = require("react");
18992
+ import_react62 = require("react");
18921
18993
  init_auth();
18922
18994
  init_useLayoutDataStore();
18923
18995
  init_useLayoutStore();
@@ -19182,12 +19254,12 @@ function SenderSelector(props) {
19182
19254
  const { openConnectModal } = (0, import_rainbowkit.useConnectModal)();
19183
19255
  const directWalletAddress = useExternalWalletStore((st) => st.externalAddress);
19184
19256
  const directWalletIsConnected = useExternalWalletStore((st) => st.isExternalConnected);
19185
- const pendingWalletRef = (0, import_react62.useRef)(null);
19257
+ const pendingWalletRef = (0, import_react63.useRef)(null);
19186
19258
  const originChain = useBridgeStore((st) => st.originChain);
19187
19259
  const bridgeSender = useBridgeStore((st) => st.bridgeSender);
19188
19260
  const bridgeSenders = useBridgeStore((st) => st.bridgeSenders);
19189
- const [walletMessage, setWalletMessage] = (0, import_react62.useState)(null);
19190
- (0, import_react62.useEffect)(() => {
19261
+ const [walletMessage, setWalletMessage] = (0, import_react63.useState)(null);
19262
+ (0, import_react63.useEffect)(() => {
19191
19263
  useFlowSelectorStore.getState().setRenderKey(`sender-selected-${Date.now()}`);
19192
19264
  }, [walletMessage]);
19193
19265
  const { mutate: loginDirectWallet, isPending: isDirectWalletLoggingIn } = (0, import_react_query42.useMutation)({
@@ -19243,7 +19315,7 @@ function SenderSelector(props) {
19243
19315
  setWalletMessage(error instanceof Error ? error.message : "Wallet login failed. Please try again.");
19244
19316
  }
19245
19317
  });
19246
- (0, import_react62.useEffect)(() => {
19318
+ (0, import_react63.useEffect)(() => {
19247
19319
  const pendingProfile = pendingWalletRef.current;
19248
19320
  if (!pendingProfile || !directWalletIsConnected || !directWalletAddress) return;
19249
19321
  if (directWalletAddress.toLowerCase() !== pendingProfile.externalId?.toLowerCase()) return;
@@ -19318,14 +19390,14 @@ function SenderSelector(props) {
19318
19390
  ] })
19319
19391
  ] });
19320
19392
  }
19321
- var import_rainbowkit, import_react_query42, import_react62, import_wagmi3, import_jsx_runtime92;
19393
+ var import_rainbowkit, import_react_query42, import_react63, import_wagmi3, import_jsx_runtime92;
19322
19394
  var init_SenderSelector = __esm({
19323
19395
  "src/internal/components/SendMenu/hyperbridge/components/SenderSelector.tsx"() {
19324
19396
  init_ProviderContext();
19325
19397
  init_i18n();
19326
19398
  import_rainbowkit = require("@rainbow-me/rainbowkit");
19327
19399
  import_react_query42 = require("@tanstack/react-query");
19328
- import_react62 = require("react");
19400
+ import_react63 = require("react");
19329
19401
  import_wagmi3 = require("wagmi");
19330
19402
  init_wallet();
19331
19403
  init_useLayoutDataStore();
@@ -19425,8 +19497,8 @@ var init_wallets = __esm({
19425
19497
  function useAvailableSenders() {
19426
19498
  const address = useSession((st) => st.address);
19427
19499
  const { profiles } = useLinkedProfiles();
19428
- const lastCalcedSenders = (0, import_react63.useRef)([]);
19429
- (0, import_react63.useEffect)(() => {
19500
+ const lastCalcedSenders = (0, import_react64.useRef)([]);
19501
+ (0, import_react64.useEffect)(() => {
19430
19502
  const sendersAccumulator = [
19431
19503
  {
19432
19504
  type: "embarkai-wallet",
@@ -19457,13 +19529,13 @@ function useAvailableSenders() {
19457
19529
  directWalletProfile: profiles.filter((p) => p.provider === "wallet")[0] || null
19458
19530
  };
19459
19531
  }
19460
- var import_react63;
19532
+ var import_react64;
19461
19533
  var init_useAvailableSenders = __esm({
19462
19534
  "src/internal/components/SendMenu/hyperbridge/hooks/useAvailableSenders.ts"() {
19463
19535
  init_SessionContext();
19464
19536
  init_tokens();
19465
19537
  init_linkedProfiles();
19466
- import_react63 = require("react");
19538
+ import_react64 = require("react");
19467
19539
  init_wallets();
19468
19540
  init_useFlowSelector();
19469
19541
  init_useBridgeStore();
@@ -19806,29 +19878,29 @@ function useHyperlaneHistory() {
19806
19878
  queryFn: async ({ pageParam }) => await getHyperlaneBridgeHistory({ page: pageParam, pageSize: TX_HISTORY_PAGE_SIZE })
19807
19879
  });
19808
19880
  const { data: txHistoryData, isLoading: isBridgeTxHistoryLoading } = query;
19809
- const txList = (0, import_react64.useMemo)(
19881
+ const txList = (0, import_react65.useMemo)(
19810
19882
  () => txHistoryData?.pages?.map((p) => p.data).flat(Infinity) || [],
19811
19883
  [txHistoryData]
19812
19884
  );
19813
- const updateExpandable = (0, import_react64.useCallback)(
19885
+ const updateExpandable = (0, import_react65.useCallback)(
19814
19886
  (0, import_lodash_es9.debounce)(() => {
19815
19887
  useFlowSelectorStore.getState().setRenderKey(`hyperlane-history-loaded-${Date.now()}`);
19816
19888
  }, 250),
19817
19889
  []
19818
19890
  );
19819
- (0, import_react64.useEffect)(() => {
19891
+ (0, import_react65.useEffect)(() => {
19820
19892
  if (isBridgeTxHistoryLoading || txList.length === 0) return;
19821
19893
  updateExpandable();
19822
19894
  }, [isBridgeTxHistoryLoading, txList]);
19823
19895
  return { query, txList };
19824
19896
  }
19825
- var import_react_query43, import_lodash_es9, import_react64, HYPERLANE_HISTORY_QUERY_KEY, TX_HISTORY_PAGE_SIZE, TX_HISTORY_POLLING_INTERVAL;
19897
+ var import_react_query43, import_lodash_es9, import_react65, HYPERLANE_HISTORY_QUERY_KEY, TX_HISTORY_PAGE_SIZE, TX_HISTORY_POLLING_INTERVAL;
19826
19898
  var init_useHyperlaneHistory = __esm({
19827
19899
  "src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneHistory.ts"() {
19828
19900
  init_SessionContext();
19829
19901
  import_react_query43 = require("@tanstack/react-query");
19830
19902
  import_lodash_es9 = require("lodash-es");
19831
- import_react64 = require("react");
19903
+ import_react65 = require("react");
19832
19904
  init_useLayoutDataStore();
19833
19905
  init_useFlowSelector();
19834
19906
  init_api3();
@@ -19860,7 +19932,7 @@ function useBridge() {
19860
19932
  const address = useSession((st) => st.address);
19861
19933
  const { data: walletClient } = (0, import_wagmi4.useWalletClient)();
19862
19934
  const { switchChainAsync } = (0, import_wagmi4.useSwitchChain)();
19863
- const swapDirection = (0, import_react65.useCallback)(() => {
19935
+ const swapDirection = (0, import_react66.useCallback)(() => {
19864
19936
  const {
19865
19937
  bridgeStep,
19866
19938
  originChain,
@@ -19912,7 +19984,7 @@ function useBridge() {
19912
19984
  useFlowSelectorStore.getState().setError(error instanceof Error ? error.message : String(error));
19913
19985
  }
19914
19986
  });
19915
- const handleQuoteEstimation = (0, import_react65.useCallback)((amnt) => {
19987
+ const handleQuoteEstimation = (0, import_react66.useCallback)((amnt) => {
19916
19988
  const { originChain, destinationChain, bridgeSender } = useBridgeStore.getState();
19917
19989
  if (!amnt || !Number(amnt)) {
19918
19990
  useBridgeStore.getState().setQuote(null);
@@ -20037,14 +20109,14 @@ function useBridge() {
20037
20109
  isAssetBridging
20038
20110
  };
20039
20111
  }
20040
- var import_react_query44, import_react65, import_wagmi4;
20112
+ var import_react_query44, import_react66, import_wagmi4;
20041
20113
  var init_useBridge = __esm({
20042
20114
  "src/internal/components/SendMenu/hyperbridge/hooks/useBridge.ts"() {
20043
20115
  init_SessionContext();
20044
20116
  init_i18n();
20045
20117
  init_useExternalWalletStore();
20046
20118
  import_react_query44 = require("@tanstack/react-query");
20047
- import_react65 = require("react");
20119
+ import_react66 = require("react");
20048
20120
  import_wagmi4 = require("wagmi");
20049
20121
  init_useLayoutStore();
20050
20122
  init_useFlowSelector();
@@ -20078,7 +20150,7 @@ function useHyperlaneRoutes() {
20078
20150
  return warpRoutes;
20079
20151
  }
20080
20152
  });
20081
- (0, import_react66.useEffect)(() => {
20153
+ (0, import_react67.useEffect)(() => {
20082
20154
  if (!errorWarpRoutes) return;
20083
20155
  useFlowSelectorStore.getState().setError(errorWarpRoutes.message);
20084
20156
  const { resetSelections, setRecipient, setOriginChain, setDestinationChain } = useBridgeStore.getState();
@@ -20087,7 +20159,7 @@ function useHyperlaneRoutes() {
20087
20159
  setOriginChain(null);
20088
20160
  setDestinationChain(null);
20089
20161
  }, [errorWarpRoutes]);
20090
- (0, import_react66.useEffect)(() => {
20162
+ (0, import_react67.useEffect)(() => {
20091
20163
  if (!!hyperRoute || !hyperlaneWarpRoutes.length) return;
20092
20164
  const warpRouteToAutoSelect = hyperlaneWarpRoutes.find((route) => route.routeId === hyperRoute);
20093
20165
  if (!warpRouteToAutoSelect) return;
@@ -20106,12 +20178,12 @@ function useHyperlaneRoutes() {
20106
20178
  }, [hyperRoute, hyperlaneWarpRoutes]);
20107
20179
  return { hyperlaneWarpRoutes, isLoadingWarpRoutes };
20108
20180
  }
20109
- var import_react_query45, import_react66, HYPERLANE_WARP_ROUTES_QUERY_KEY;
20181
+ var import_react_query45, import_react67, HYPERLANE_WARP_ROUTES_QUERY_KEY;
20110
20182
  var init_useHyperlaneRoutes = __esm({
20111
20183
  "src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneRoutes.ts"() {
20112
20184
  init_SessionContext();
20113
20185
  import_react_query45 = require("@tanstack/react-query");
20114
- import_react66 = require("react");
20186
+ import_react67 = require("react");
20115
20187
  init_useLayoutDataStore();
20116
20188
  init_useFlowSelector();
20117
20189
  init_api3();
@@ -20127,7 +20199,7 @@ function useMenuTitle(warpRoutes) {
20127
20199
  const bridgeStep = useBridgeStore((st) => st.bridgeStep);
20128
20200
  const hyperRoute = useBridgeStore((st) => st.hyperRoute);
20129
20201
  const hyperRouteMeta = warpRoutes?.length ? warpRoutes.find((route) => route.routeId === hyperRoute) : null;
20130
- (0, import_react67.useEffect)(() => {
20202
+ (0, import_react68.useEffect)(() => {
20131
20203
  const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
20132
20204
  switch (true) {
20133
20205
  case bridgeStep === "sender-selector":
@@ -20155,11 +20227,11 @@ function useMenuTitle(warpRoutes) {
20155
20227
  }
20156
20228
  }, [bridgeStep, hyperRouteMeta, t]);
20157
20229
  }
20158
- var import_react67;
20230
+ var import_react68;
20159
20231
  var init_useMenuTitle = __esm({
20160
20232
  "src/internal/components/SendMenu/hyperbridge/hooks/useMenuTitle.ts"() {
20161
20233
  init_i18n();
20162
- import_react67 = require("react");
20234
+ import_react68 = require("react");
20163
20235
  init_useFlowSelector();
20164
20236
  init_useBridgeStore();
20165
20237
  }
@@ -20272,7 +20344,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
20272
20344
  };
20273
20345
  }
20274
20346
  });
20275
- const refreshRouteTokenBalance = (0, import_react68.useCallback)(
20347
+ const refreshRouteTokenBalance = (0, import_react69.useCallback)(
20276
20348
  (senderWallet) => {
20277
20349
  switch (true) {
20278
20350
  case senderWallet === "embarkai-wallet":
@@ -20288,7 +20360,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
20288
20360
  },
20289
20361
  [refreshBalances, qc]
20290
20362
  );
20291
- (0, import_react68.useEffect)(() => {
20363
+ (0, import_react69.useEffect)(() => {
20292
20364
  if (!bridgeSender || !originChain) return;
20293
20365
  switch (bridgeSender) {
20294
20366
  case "embarkai-wallet":
@@ -20319,7 +20391,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
20319
20391
  isRouteTokenBalanceLoading: isAssetsLoading || isExternalBalanceLoading || isExternalNativeBalanceLoading
20320
20392
  };
20321
20393
  }
20322
- var import_core6, import_react_query46, import_react68, import_viem13, import_wagmi5, EXTERNAL_WALLET_BRIDGING_BALANCE_QUERY, EXTERNAL_WALLET_BRIDGING_NATIVE_BALANCE_QUERY;
20394
+ var import_core6, import_react_query46, import_react69, import_viem13, import_wagmi5, EXTERNAL_WALLET_BRIDGING_BALANCE_QUERY, EXTERNAL_WALLET_BRIDGING_NATIVE_BALANCE_QUERY;
20323
20395
  var init_useBridgeBalance = __esm({
20324
20396
  "src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts"() {
20325
20397
  init_constants();
@@ -20327,7 +20399,7 @@ var init_useBridgeBalance = __esm({
20327
20399
  init_i18n();
20328
20400
  import_core6 = require("@embarkai/core");
20329
20401
  import_react_query46 = require("@tanstack/react-query");
20330
- import_react68 = require("react");
20402
+ import_react69 = require("react");
20331
20403
  import_viem13 = require("viem");
20332
20404
  import_wagmi5 = require("wagmi");
20333
20405
  init_useBlockscoutAssets();
@@ -20445,7 +20517,7 @@ function SelectStep(props) {
20445
20517
  variant: "outline",
20446
20518
  size: "medium",
20447
20519
  className: "bg-[var(--ui-kit-bg)] flex items-center gap-[var(--ui-kit-gap)]",
20448
- children: selectedWarpRoute.chainPair.map((chain, chIdx) => /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_react69.Fragment, { children: [
20520
+ children: selectedWarpRoute.chainPair.map((chain, chIdx) => /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_react70.Fragment, { children: [
20449
20521
  chIdx > 0 && /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_lucide_react60.ArrowLeftRightIcon, { className: "w-4 h-4 " }),
20450
20522
  /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(ResolveChainIcon, { chainName: chain.chainName, className: "w-4 h-4" })
20451
20523
  ] }, `${selectedWarpRoute.id}-icon-${chain.chainID}-${chIdx}`))
@@ -20580,13 +20652,13 @@ function SelectStep(props) {
20580
20652
  )
20581
20653
  ] });
20582
20654
  }
20583
- var import_lucide_react60, import_react69, import_jsx_runtime96;
20655
+ var import_lucide_react60, import_react70, import_jsx_runtime96;
20584
20656
  var init_SelectStep = __esm({
20585
20657
  "src/internal/components/SendMenu/hyperbridge/steps/SelectStep.tsx"() {
20586
20658
  init_tokens();
20587
20659
  init_i18n();
20588
20660
  import_lucide_react60 = require("lucide-react");
20589
- import_react69 = require("react");
20661
+ import_react70 = require("react");
20590
20662
  init_priceFormatter();
20591
20663
  init_utils2();
20592
20664
  init_badge();
@@ -20635,7 +20707,7 @@ var init_checkbox = __esm({
20635
20707
  // src/internal/components/SendMenu/hyperbridge/steps/ConfirmStep.tsx
20636
20708
  function ConfirmStep(props) {
20637
20709
  const { isAssetBridging, bridgeAsset, hyperlaneWarpRoutes } = props;
20638
- const [userConsent, setUserConsent] = (0, import_react70.useState)(false);
20710
+ const [userConsent, setUserConsent] = (0, import_react71.useState)(false);
20639
20711
  const { t } = useT();
20640
20712
  const address = useSession((st) => st.address);
20641
20713
  const bridgeSender = useBridgeStore((st) => st.bridgeSenders.find((s) => s.type === st.bridgeSender));
@@ -20744,13 +20816,13 @@ function ConfirmStep(props) {
20744
20816
  )
20745
20817
  ] });
20746
20818
  }
20747
- var import_lucide_react62, import_react70, import_jsx_runtime98, P_CN;
20819
+ var import_lucide_react62, import_react71, import_jsx_runtime98, P_CN;
20748
20820
  var init_ConfirmStep = __esm({
20749
20821
  "src/internal/components/SendMenu/hyperbridge/steps/ConfirmStep.tsx"() {
20750
20822
  init_SessionContext();
20751
20823
  init_i18n();
20752
20824
  import_lucide_react62 = require("lucide-react");
20753
- import_react70 = require("react");
20825
+ import_react71 = require("react");
20754
20826
  init_priceFormatter();
20755
20827
  init_utils2();
20756
20828
  init_button();
@@ -21125,9 +21197,9 @@ var init_HistoryStep = __esm({
21125
21197
  function SelectAssetRoute(props) {
21126
21198
  const { hyperlaneWarpRoutes } = props;
21127
21199
  const { t } = useT();
21128
- const [isTokenSymbolSelector, setIsTokenSymbolSelector] = (0, import_react71.useState)(false);
21200
+ const [isTokenSymbolSelector, setIsTokenSymbolSelector] = (0, import_react72.useState)(false);
21129
21201
  const selectedAssetSymbol = useBridgeStore((st) => st.bridgeAssetSymbol);
21130
- const tokenList = (0, import_react71.useMemo)(() => {
21202
+ const tokenList = (0, import_react72.useMemo)(() => {
21131
21203
  const tokens = hyperlaneWarpRoutes.map((route) => route.symbol);
21132
21204
  const uniqueTokens = Array.from(new Set(tokens));
21133
21205
  return uniqueTokens.map((symbol) => ({
@@ -21224,13 +21296,13 @@ function SelectAssetRoute(props) {
21224
21296
  ] })
21225
21297
  ] });
21226
21298
  }
21227
- var import_lucide_react64, import_react71, import_jsx_runtime101;
21299
+ var import_lucide_react64, import_react72, import_jsx_runtime101;
21228
21300
  var init_SelectAssetRoute = __esm({
21229
21301
  "src/internal/components/SendMenu/hyperbridge/steps/SelectAssetRoute.tsx"() {
21230
21302
  init_tokens();
21231
21303
  init_i18n();
21232
21304
  import_lucide_react64 = require("lucide-react");
21233
- import_react71 = require("react");
21305
+ import_react72 = require("react");
21234
21306
  init_button();
21235
21307
  init_useFlowSelector();
21236
21308
  init_ResolveChainIcon();
@@ -21258,7 +21330,7 @@ function HyperlaneBridge() {
21258
21330
  const { hyperlaneWarpRoutes, isLoadingWarpRoutes } = useHyperlaneRoutes();
21259
21331
  const { directWalletProfile } = useAvailableSenders();
21260
21332
  useMenuTitle(hyperlaneWarpRoutes);
21261
- (0, import_react72.useEffect)(() => {
21333
+ (0, import_react73.useEffect)(() => {
21262
21334
  return () => {
21263
21335
  useBridgeStore.getState().resetSelections();
21264
21336
  };
@@ -21291,10 +21363,10 @@ function HyperlaneBridge() {
21291
21363
  bridgeStep === "tx-history-details" && /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(HistoryDetailsStep, {})
21292
21364
  ] });
21293
21365
  }
21294
- var import_react72, import_jsx_runtime102;
21366
+ var import_react73, import_jsx_runtime102;
21295
21367
  var init_HyperlaneBridge = __esm({
21296
21368
  "src/internal/components/SendMenu/hyperbridge/HyperlaneBridge.tsx"() {
21297
- import_react72 = require("react");
21369
+ import_react73 = require("react");
21298
21370
  init_SenderSelector();
21299
21371
  init_useAvailableSenders();
21300
21372
  init_useBridge();
@@ -21312,7 +21384,7 @@ function BridgeHistorySwitch(props) {
21312
21384
  const selectorFlow = useFlowSelectorStore((st) => st.flow);
21313
21385
  const isUiLocked = useFlowSelectorStore((st) => st.isUiLocked);
21314
21386
  const bridgeStep = useBridgeStore((st) => st.bridgeStep);
21315
- const lastBridgeStepRef = (0, import_react73.useRef)(null);
21387
+ const lastBridgeStepRef = (0, import_react74.useRef)(null);
21316
21388
  if (selectorFlow !== "bridge" || bridgeStep === "confirm" || bridgeStep === "success" || bridgeStep === "sender-selector" || bridgeStep === "select-token" || bridgeStep === "tx-history-details") {
21317
21389
  return null;
21318
21390
  }
@@ -21331,10 +21403,10 @@ function BridgeHistorySwitch(props) {
21331
21403
  }
21332
21404
  );
21333
21405
  }
21334
- var import_react73, import_jsx_runtime103;
21406
+ var import_react74, import_jsx_runtime103;
21335
21407
  var init_HistorySwitch = __esm({
21336
21408
  "src/internal/components/SendMenu/hyperbridge/components/HistorySwitch.tsx"() {
21337
- import_react73 = require("react");
21409
+ import_react74 = require("react");
21338
21410
  init_switch();
21339
21411
  init_useFlowSelector();
21340
21412
  init_useBridgeStore();
@@ -21425,11 +21497,11 @@ function looksLikeNickname(input) {
21425
21497
  }
21426
21498
  function useNicknameResolve(input, options) {
21427
21499
  const { enabled = true, chainId } = options;
21428
- const [debouncedInput, setDebouncedInput] = (0, import_react74.useState)("");
21429
- const [isDebouncing, setIsDebouncing] = (0, import_react74.useState)(false);
21500
+ const [debouncedInput, setDebouncedInput] = (0, import_react75.useState)("");
21501
+ const [isDebouncing, setIsDebouncing] = (0, import_react75.useState)(false);
21430
21502
  const normalized = normalizeNickname(input);
21431
21503
  const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
21432
- (0, import_react74.useEffect)(() => {
21504
+ (0, import_react75.useEffect)(() => {
21433
21505
  if (!isNicknameInput || !enabled) {
21434
21506
  setDebouncedInput("");
21435
21507
  setIsDebouncing(false);
@@ -21455,7 +21527,7 @@ function useNicknameResolve(input, options) {
21455
21527
  const isNotFound = query.isError && query.error?.code === "NICKNAME_NOT_FOUND";
21456
21528
  const isWalletNotSetup = !!query.data && query.data.resolvedTarget === null;
21457
21529
  const isFrozen = query.data?.isFrozen ?? false;
21458
- const fingerprintVerification = (0, import_react74.useMemo)(() => {
21530
+ const fingerprintVerification = (0, import_react75.useMemo)(() => {
21459
21531
  if (!query.data?.owner || !query.data?.fingerprint) {
21460
21532
  return null;
21461
21533
  }
@@ -21477,11 +21549,11 @@ function useNicknameResolve(input, options) {
21477
21549
  resolvedAddress
21478
21550
  };
21479
21551
  }
21480
- var import_react_query48, import_react74, DEBOUNCE_MS2;
21552
+ var import_react_query48, import_react75, DEBOUNCE_MS2;
21481
21553
  var init_useNicknameResolve = __esm({
21482
21554
  "src/hooks/useNicknameResolve.ts"() {
21483
21555
  import_react_query48 = require("@tanstack/react-query");
21484
- import_react74 = require("react");
21556
+ import_react75 = require("react");
21485
21557
  init_nickname();
21486
21558
  init_profile();
21487
21559
  init_nickname_fingerprint();
@@ -21494,10 +21566,10 @@ var init_useNicknameResolve = __esm({
21494
21566
  function useSendTransaction() {
21495
21567
  const session = useSession((st) => st.session);
21496
21568
  const address = useSession((st) => st.address);
21497
- const [isLoading, setIsLoading] = (0, import_react75.useState)(false);
21498
- const [error, setError] = (0, import_react75.useState)(null);
21499
- const [userOpHash, setUserOpHash] = (0, import_react75.useState)(null);
21500
- const sendTransaction = (0, import_react75.useCallback)(
21569
+ const [isLoading, setIsLoading] = (0, import_react76.useState)(false);
21570
+ const [error, setError] = (0, import_react76.useState)(null);
21571
+ const [userOpHash, setUserOpHash] = (0, import_react76.useState)(null);
21572
+ const sendTransaction = (0, import_react76.useCallback)(
21501
21573
  async (params) => {
21502
21574
  if (!session || !address) {
21503
21575
  setError("No active session");
@@ -21594,7 +21666,7 @@ function useSendTransaction() {
21594
21666
  },
21595
21667
  [session, address]
21596
21668
  );
21597
- const reset = (0, import_react75.useCallback)(() => {
21669
+ const reset = (0, import_react76.useCallback)(() => {
21598
21670
  setError(null);
21599
21671
  setUserOpHash(null);
21600
21672
  setIsLoading(false);
@@ -21607,10 +21679,10 @@ function useSendTransaction() {
21607
21679
  reset
21608
21680
  };
21609
21681
  }
21610
- var import_react75, import_viem14, ERC20_TRANSFER_ABI, ERC721_SAFE_TRANSFER_ABI, ERC1155_SAFE_TRANSFER_ABI;
21682
+ var import_react76, import_viem14, ERC20_TRANSFER_ABI, ERC721_SAFE_TRANSFER_ABI, ERC1155_SAFE_TRANSFER_ABI;
21611
21683
  var init_useSendTransaction = __esm({
21612
21684
  "src/hooks/useSendTransaction.ts"() {
21613
- import_react75 = require("react");
21685
+ import_react76 = require("react");
21614
21686
  import_viem14 = require("viem");
21615
21687
  init_SessionContext();
21616
21688
  init_account2();
@@ -21753,7 +21825,7 @@ var init_AssetInputIcon = __esm({
21753
21825
 
21754
21826
  // src/internal/components/SendMenu/send/components/NftDisplayCard.tsx
21755
21827
  function NftDisplayCard({ asset }) {
21756
- const [imageError, setImageError] = (0, import_react76.useState)(false);
21828
+ const [imageError, setImageError] = (0, import_react77.useState)(false);
21757
21829
  const nftImage = asset.image || asset.nftMetadata?.image;
21758
21830
  return /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("div", { className: "flex items-center gap-3 p-3 rounded-[var(--ui-kit-el-bdrs)] bg-[var(--ui-kit-bg-secondary)]", children: [
21759
21831
  nftImage && !imageError ? /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
@@ -21781,11 +21853,11 @@ function NftDisplayCard({ asset }) {
21781
21853
  ] })
21782
21854
  ] });
21783
21855
  }
21784
- var import_lucide_react66, import_react76, import_jsx_runtime105;
21856
+ var import_lucide_react66, import_react77, import_jsx_runtime105;
21785
21857
  var init_NftDisplayCard = __esm({
21786
21858
  "src/internal/components/SendMenu/send/components/NftDisplayCard.tsx"() {
21787
21859
  import_lucide_react66 = require("lucide-react");
21788
- import_react76 = require("react");
21860
+ import_react77 = require("react");
21789
21861
  import_jsx_runtime105 = require("react/jsx-runtime");
21790
21862
  }
21791
21863
  });
@@ -21944,11 +22016,11 @@ function NicknameData(props) {
21944
22016
  isWalletNotSetup,
21945
22017
  isFrozen
21946
22018
  } = resolvedNicknameData;
21947
- (0, import_react77.useEffect)(() => {
22019
+ (0, import_react78.useEffect)(() => {
21948
22020
  if (!resolvedNicknameData?.data?.fingerprint || !isNicknameInput) return;
21949
22021
  useFlowSelectorStore.getState().setRenderKey(`nickname-resolved-${Date.now()}`);
21950
22022
  }, [resolvedNicknameData, isNicknameInput]);
21951
- (0, import_react77.useEffect)(() => {
22023
+ (0, import_react78.useEffect)(() => {
21952
22024
  if (isResolving) return;
21953
22025
  let errMessage = null;
21954
22026
  switch (true) {
@@ -22003,11 +22075,11 @@ function NicknameData(props) {
22003
22075
  ] })
22004
22076
  ] });
22005
22077
  }
22006
- var import_lucide_react67, import_react77, import_jsx_runtime107;
22078
+ var import_lucide_react67, import_react78, import_jsx_runtime107;
22007
22079
  var init_NicknameData = __esm({
22008
22080
  "src/internal/components/SendMenu/send/components/NicknameData.tsx"() {
22009
22081
  import_lucide_react67 = require("lucide-react");
22010
- import_react77 = require("react");
22082
+ import_react78 = require("react");
22011
22083
  init_no_image();
22012
22084
  init_utils2();
22013
22085
  init_useFlowSelector();
@@ -22453,10 +22525,10 @@ function SendMenu() {
22453
22525
  userOpHash,
22454
22526
  reset
22455
22527
  } = useSendTransaction();
22456
- (0, import_react78.useEffect)(() => {
22528
+ (0, import_react79.useEffect)(() => {
22457
22529
  useFlowSelectorStore.getState().setIsUiLocked(isAssetsLoading || isTransactionPending);
22458
22530
  }, [isAssetsLoading, isTransactionPending]);
22459
- (0, import_react78.useEffect)(() => {
22531
+ (0, import_react79.useEffect)(() => {
22460
22532
  useFlowSelectorStore.getState().setError(sendTransactionError || null);
22461
22533
  }, [sendTransactionError]);
22462
22534
  const {
@@ -22471,7 +22543,7 @@ function SendMenu() {
22471
22543
  } = useSendStore();
22472
22544
  const isNft = isNftAsset3(selectedAsset);
22473
22545
  const isSecurity = isSecurityToken2(selectedAsset);
22474
- (0, import_react78.useEffect)(
22546
+ (0, import_react79.useEffect)(
22475
22547
  () => () => {
22476
22548
  setSelectedAsset(null);
22477
22549
  setRecipient("");
@@ -22481,7 +22553,7 @@ function SendMenu() {
22481
22553
  },
22482
22554
  []
22483
22555
  );
22484
- (0, import_react78.useEffect)(() => {
22556
+ (0, import_react79.useEffect)(() => {
22485
22557
  const shouldNativeDefaultAsset = assets.length > 0 && !selectedAsset;
22486
22558
  if (!shouldNativeDefaultAsset) return;
22487
22559
  const chainNativeCurrency = useSession.getState().chainConfig?.nativeCurrency;
@@ -22494,7 +22566,7 @@ function SendMenu() {
22494
22566
  const isNicknameInput = looksLikeNickname(recipient);
22495
22567
  const resolvedNicknameData = useNicknameResolve(recipient, { enabled: isNicknameInput, chainId: activeChainId });
22496
22568
  const effectiveAddress = isNicknameInput ? resolvedNicknameData?.resolvedAddress : recipient;
22497
- const complianceAmount = (0, import_react78.useMemo)(() => {
22569
+ const complianceAmount = (0, import_react79.useMemo)(() => {
22498
22570
  if (!isSecurity || !amount || !selectedAsset) return void 0;
22499
22571
  try {
22500
22572
  return (0, import_viem18.parseUnits)(amount, selectedAsset.decimals || 18);
@@ -22509,7 +22581,7 @@ function SendMenu() {
22509
22581
  enabled: isSecurity && !!effectiveAddress && !!complianceAmount,
22510
22582
  chainId: activeChainId
22511
22583
  });
22512
- (0, import_react78.useEffect)(() => {
22584
+ (0, import_react79.useEffect)(() => {
22513
22585
  const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
22514
22586
  switch (true) {
22515
22587
  case txStep === "select-asset":
@@ -22571,7 +22643,7 @@ function SendMenu() {
22571
22643
  ] })
22572
22644
  ] });
22573
22645
  }
22574
- var import_lucide_react70, import_react78, import_viem18, import_jsx_runtime110;
22646
+ var import_lucide_react70, import_react79, import_viem18, import_jsx_runtime110;
22575
22647
  var init_SendMenu = __esm({
22576
22648
  "src/internal/components/SendMenu/send/SendMenu.tsx"() {
22577
22649
  init_SessionContext();
@@ -22580,7 +22652,7 @@ var init_SendMenu = __esm({
22580
22652
  init_useSendTransaction();
22581
22653
  init_useT();
22582
22654
  import_lucide_react70 = require("lucide-react");
22583
- import_react78 = require("react");
22655
+ import_react79 = require("react");
22584
22656
  import_viem18 = require("viem");
22585
22657
  init_useBlockscoutAssets();
22586
22658
  init_useLayoutDataStore();
@@ -22665,7 +22737,7 @@ function SendFlowSelector() {
22665
22737
  const error = useFlowSelectorStore((st) => st.error);
22666
22738
  const menuTitle = useFlowSelectorStore((st) => st.menuTitle);
22667
22739
  const selectorFlow = useFlowSelectorStore((st) => st.flow);
22668
- (0, import_react79.useEffect)(
22740
+ (0, import_react80.useEffect)(
22669
22741
  () => () => {
22670
22742
  useFlowSelectorStore.getState().setError(null);
22671
22743
  },
@@ -22742,12 +22814,12 @@ function SendFlowSelector() {
22742
22814
  }
22743
22815
  );
22744
22816
  }
22745
- var import_lucide_react71, import_react79, import_jsx_runtime111, SELECTOR_FLOW;
22817
+ var import_lucide_react71, import_react80, import_jsx_runtime111, SELECTOR_FLOW;
22746
22818
  var init_SendFlowSelector = __esm({
22747
22819
  "src/internal/components/SendMenu/SendFlowSelector.tsx"() {
22748
22820
  init_i18n();
22749
22821
  import_lucide_react71 = require("lucide-react");
22750
- import_react79 = require("react");
22822
+ import_react80 = require("react");
22751
22823
  init_useLayoutDataStore();
22752
22824
  init_useLayoutStore();
22753
22825
  init_utils2();
@@ -22802,12 +22874,12 @@ function getServerSnapshot() {
22802
22874
  return false;
22803
22875
  }
22804
22876
  function useProMode() {
22805
- return (0, import_react80.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot);
22877
+ return (0, import_react81.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot);
22806
22878
  }
22807
- var import_react80, STORAGE_KEY, EVENT_NAME;
22879
+ var import_react81, STORAGE_KEY, EVENT_NAME;
22808
22880
  var init_pro_mode = __esm({
22809
22881
  "src/internal/lib/pro-mode.ts"() {
22810
- import_react80 = require("react");
22882
+ import_react81 = require("react");
22811
22883
  STORAGE_KEY = "embarkai_pro_mode";
22812
22884
  EVENT_NAME = "embarkai-pro-mode-changed";
22813
22885
  }
@@ -22849,7 +22921,7 @@ function useSettingsButtons() {
22849
22921
  if (proMode) {
22850
22922
  settingsButtons.push({ id: "devices" /* DEVICES */, name: "Guardians", Icon: import_lucide_react73.HardDrive });
22851
22923
  }
22852
- (0, import_react81.useEffect)(() => {
22924
+ (0, import_react82.useEffect)(() => {
22853
22925
  const cssvEl = document.querySelector(".embarkai-ui-scope");
22854
22926
  if (!cssvEl || !window?.getComputedStyle) {
22855
22927
  return;
@@ -22913,7 +22985,7 @@ function SettingsMenu() {
22913
22985
  }
22914
22986
  );
22915
22987
  }
22916
- var import_react_query50, import_lucide_react73, import_react81, import_jsx_runtime112;
22988
+ var import_react_query50, import_lucide_react73, import_react82, import_jsx_runtime112;
22917
22989
  var init_SettingsMenu = __esm({
22918
22990
  "src/internal/components/SettingsMenu/SettingsMenu.tsx"() {
22919
22991
  init_ProviderContext();
@@ -22921,7 +22993,7 @@ var init_SettingsMenu = __esm({
22921
22993
  init_i18n();
22922
22994
  import_react_query50 = require("@tanstack/react-query");
22923
22995
  import_lucide_react73 = require("lucide-react");
22924
- import_react81 = require("react");
22996
+ import_react82 = require("react");
22925
22997
  init_nickname();
22926
22998
  init_profile();
22927
22999
  init_useLayoutDataStore();
@@ -23793,7 +23865,7 @@ function TransactionsMenu() {
23793
23865
  const { t } = useT();
23794
23866
  const setPage = useLayoutDataStore((st) => st.setPage);
23795
23867
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
23796
- const [expandedGroups, setExpandedGroups] = (0, import_react82.useState)({});
23868
+ const [expandedGroups, setExpandedGroups] = (0, import_react83.useState)({});
23797
23869
  const historySupported = isTransactionHistorySupported(chainConfig?.id);
23798
23870
  const {
23799
23871
  data: txHistoryGroups = [],
@@ -23806,7 +23878,7 @@ function TransactionsMenu() {
23806
23878
  queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, chainConfig.id, address],
23807
23879
  queryFn: () => getTransactionsListQuery({ address, chainConfig })
23808
23880
  });
23809
- const refreshTxHistory = (0, import_react82.useCallback)(
23881
+ const refreshTxHistory = (0, import_react83.useCallback)(
23810
23882
  () => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, chainConfig.id, address] }),
23811
23883
  [qc, chainConfig.id, address]
23812
23884
  );
@@ -23855,14 +23927,14 @@ function TransactionsMenu() {
23855
23927
  }
23856
23928
  );
23857
23929
  }
23858
- var import_react_query51, import_lucide_react76, import_react82, import_jsx_runtime115;
23930
+ var import_react_query51, import_lucide_react76, import_react83, import_jsx_runtime115;
23859
23931
  var init_TransactionsMenu = __esm({
23860
23932
  "src/internal/components/TransactionsMenu/TransactionsMenu.tsx"() {
23861
23933
  init_SessionContext();
23862
23934
  init_i18n();
23863
23935
  import_react_query51 = require("@tanstack/react-query");
23864
23936
  import_lucide_react76 = require("lucide-react");
23865
- import_react82 = require("react");
23937
+ import_react83 = require("react");
23866
23938
  init_useLayoutDataStore();
23867
23939
  init_useLayoutStore();
23868
23940
  init_Expandable2();
@@ -24060,7 +24132,7 @@ function usePageMapper() {
24060
24132
  setIsDialogOpen,
24061
24133
  setIsDialogClosing
24062
24134
  } = useLayoutStore();
24063
- const closeDialog = (0, import_react83.useCallback)(() => {
24135
+ const closeDialog = (0, import_react84.useCallback)(() => {
24064
24136
  setIsDialogClosing(true);
24065
24137
  setTimeout(() => {
24066
24138
  setDialogContent(null);
@@ -24071,7 +24143,7 @@ function usePageMapper() {
24071
24143
  setIsDialogOpen(false);
24072
24144
  }, CLEAR_DIALOG_TIMEOUT);
24073
24145
  }, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
24074
- const openDialog = (0, import_react83.useCallback)(
24146
+ const openDialog = (0, import_react84.useCallback)(
24075
24147
  (pageItem) => {
24076
24148
  const PageContentComponent = pageItem.component;
24077
24149
  setDialogTitle(pageItem.title);
@@ -24081,7 +24153,7 @@ function usePageMapper() {
24081
24153
  },
24082
24154
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
24083
24155
  );
24084
- (0, import_react83.useEffect)(() => {
24156
+ (0, import_react84.useEffect)(() => {
24085
24157
  if (page === null) return closeDialog();
24086
24158
  const pageItem = PAGE_MAP[page];
24087
24159
  if (!pageItem) {
@@ -24092,10 +24164,10 @@ function usePageMapper() {
24092
24164
  openDialog(pageItem);
24093
24165
  }, [page, closeDialog, openDialog]);
24094
24166
  }
24095
- var import_react83, import_jsx_runtime116, CLEAR_DIALOG_TIMEOUT;
24167
+ var import_react84, import_jsx_runtime116, CLEAR_DIALOG_TIMEOUT;
24096
24168
  var init_usePageMapper = __esm({
24097
24169
  "src/internal/hooks/usePageMapper.tsx"() {
24098
- import_react83 = require("react");
24170
+ import_react84 = require("react");
24099
24171
  init_PageMap();
24100
24172
  init_constants();
24101
24173
  init_useLayoutDataStore();
@@ -24117,26 +24189,26 @@ function useSettingsNotifications() {
24117
24189
  queryKey: [QUERY_KEYS.userProfile, address],
24118
24190
  queryFn: getUserProfile
24119
24191
  });
24120
- (0, import_react84.useEffect)(() => {
24192
+ (0, import_react85.useEffect)(() => {
24121
24193
  const isKYCVerified = userProfile?.kycDetails?.kycStatus === "verified";
24122
24194
  setSettingsNotifications({
24123
24195
  ...COMPLETE_KYC_PROGRESS,
24124
24196
  status: isKYCVerified ? "resolved" : "active"
24125
24197
  });
24126
24198
  }, [userProfile, setSettingsNotifications]);
24127
- (0, import_react84.useEffect)(() => {
24199
+ (0, import_react85.useEffect)(() => {
24128
24200
  setSettingsNotifications({
24129
24201
  ...EMAIL_NOT_CONNECTED_NOTIFICATION,
24130
24202
  status: hasEmail ? "resolved" : "active"
24131
24203
  });
24132
24204
  }, [hasEmail, setSettingsNotifications]);
24133
24205
  }
24134
- var import_react_query52, import_react84, EMAIL_NOT_CONNECTED_NOTIFICATION, COMPLETE_KYC_PROGRESS;
24206
+ var import_react_query52, import_react85, EMAIL_NOT_CONNECTED_NOTIFICATION, COMPLETE_KYC_PROGRESS;
24135
24207
  var init_useSettingsNotifications = __esm({
24136
24208
  "src/internal/hooks/useSettingsNotifications.ts"() {
24137
24209
  init_SessionContext();
24138
24210
  import_react_query52 = require("@tanstack/react-query");
24139
- import_react84 = require("react");
24211
+ import_react85 = require("react");
24140
24212
  init_auth();
24141
24213
  init_profile();
24142
24214
  init_useLayoutDataStore();
@@ -24159,7 +24231,7 @@ var init_package = __esm({
24159
24231
  "package.json"() {
24160
24232
  package_default = {
24161
24233
  name: "@embarkai/ui-kit",
24162
- version: "0.4.53",
24234
+ version: "0.4.54",
24163
24235
  description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
24164
24236
  type: "module",
24165
24237
  main: "./dist/index.cjs",
@@ -24405,11 +24477,11 @@ function Header() {
24405
24477
  const chainConfig = useSession((st) => st.chainConfig);
24406
24478
  const { t } = useT();
24407
24479
  const proMode = useProMode();
24408
- const [proToast, setProToast] = (0, import_react85.useState)(false);
24409
- const [copied, setCopied] = (0, import_react85.useState)(false);
24410
- const clickCountRef = (0, import_react85.useRef)(0);
24411
- const clickTimerRef = (0, import_react85.useRef)(null);
24412
- const handleAvatarClick = (0, import_react85.useCallback)(() => {
24480
+ const [proToast, setProToast] = (0, import_react86.useState)(false);
24481
+ const [copied, setCopied] = (0, import_react86.useState)(false);
24482
+ const clickCountRef = (0, import_react86.useRef)(0);
24483
+ const clickTimerRef = (0, import_react86.useRef)(null);
24484
+ const handleAvatarClick = (0, import_react86.useCallback)(() => {
24413
24485
  clickCountRef.current += 1;
24414
24486
  if (clickTimerRef.current) {
24415
24487
  clearTimeout(clickTimerRef.current);
@@ -24509,7 +24581,7 @@ function Header() {
24509
24581
  }
24510
24582
  );
24511
24583
  }
24512
- var import_react_query54, import_lucide_react78, import_react85, import_jsx_runtime118;
24584
+ var import_react_query54, import_lucide_react78, import_react86, import_jsx_runtime118;
24513
24585
  var init_Header = __esm({
24514
24586
  "src/internal/components/Header/Header.tsx"() {
24515
24587
  init_lumia2();
@@ -24519,7 +24591,7 @@ var init_Header = __esm({
24519
24591
  init_useT();
24520
24592
  import_react_query54 = require("@tanstack/react-query");
24521
24593
  import_lucide_react78 = require("lucide-react");
24522
- import_react85 = require("react");
24594
+ import_react86 = require("react");
24523
24595
  init_icons();
24524
24596
  init_auth();
24525
24597
  init_profile();
@@ -24550,7 +24622,7 @@ function useDecideContentStyles() {
24550
24622
  style: (0, import_lodash_es10.merge)({}, mobileStyles)
24551
24623
  };
24552
24624
  }
24553
- var DialogPrimitive, import_lodash_es10, import_lucide_react79, import_react86, import_jsx_runtime119, Dialog, DialogPortal, DialogOverlay, CONTENT_BG_SETUP, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription;
24625
+ var DialogPrimitive, import_lodash_es10, import_lucide_react79, import_react87, import_jsx_runtime119, Dialog, DialogPortal, DialogOverlay, CONTENT_BG_SETUP, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription;
24554
24626
  var init_dialog = __esm({
24555
24627
  "src/internal/components/ui/dialog.tsx"() {
24556
24628
  init_utils2();
@@ -24559,14 +24631,14 @@ var init_dialog = __esm({
24559
24631
  DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
24560
24632
  import_lodash_es10 = require("lodash-es");
24561
24633
  import_lucide_react79 = require("lucide-react");
24562
- import_react86 = require("react");
24634
+ import_react87 = require("react");
24563
24635
  init_useLayoutDataStore();
24564
24636
  init_useLayoutStore();
24565
24637
  init_button();
24566
24638
  import_jsx_runtime119 = require("react/jsx-runtime");
24567
24639
  Dialog = DialogPrimitive.Root;
24568
24640
  DialogPortal = DialogPrimitive.Portal;
24569
- DialogOverlay = (0, import_react86.forwardRef)(
24641
+ DialogOverlay = (0, import_react87.forwardRef)(
24570
24642
  ({ className, closing, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
24571
24643
  DialogPrimitive.Overlay,
24572
24644
  {
@@ -24588,7 +24660,7 @@ var init_dialog = __esm({
24588
24660
  border: "1px solid var(--ui-kit-bd)",
24589
24661
  boxShadow: "var(--ui-kit-shadow, 0px 4px 10px var(--ui-kit-shadow-c, rgba(0, 0, 0, 0.1)))"
24590
24662
  };
24591
- DialogContent = (0, import_react86.forwardRef)(
24663
+ DialogContent = (0, import_react87.forwardRef)(
24592
24664
  ({ className, children, colorMode, ...props }, ref) => {
24593
24665
  const { t, i18n } = useT();
24594
24666
  const isSessionLoading = useSession((st) => st.isLoading);
@@ -24691,7 +24763,7 @@ var init_dialog = __esm({
24691
24763
  DialogHeader.displayName = "DialogHeader";
24692
24764
  DialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
24693
24765
  DialogFooter.displayName = "DialogFooter";
24694
- DialogTitle = (0, import_react86.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
24766
+ DialogTitle = (0, import_react87.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
24695
24767
  DialogPrimitive.Title,
24696
24768
  {
24697
24769
  ref,
@@ -24700,7 +24772,7 @@ var init_dialog = __esm({
24700
24772
  }
24701
24773
  ));
24702
24774
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
24703
- DialogDescription = (0, import_react86.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
24775
+ DialogDescription = (0, import_react87.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
24704
24776
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
24705
24777
  }
24706
24778
  });
@@ -24725,7 +24797,7 @@ function Dialog2() {
24725
24797
  const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
24726
24798
  const setPage = useLayoutDataStore((st) => st.setPage);
24727
24799
  const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
24728
- (0, import_react87.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
24800
+ (0, import_react88.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
24729
24801
  usePageMapper();
24730
24802
  useAutoConnect();
24731
24803
  useBackupStatusChanges();
@@ -24763,13 +24835,13 @@ function Dialog2() {
24763
24835
  }
24764
24836
  );
24765
24837
  }
24766
- var import_framer_motion, import_react87, import_jsx_runtime121;
24838
+ var import_framer_motion, import_react88, import_jsx_runtime121;
24767
24839
  var init_Dialog = __esm({
24768
24840
  "src/internal/components/Dialog/Dialog.tsx"() {
24769
24841
  init_ProviderContext();
24770
24842
  init_SessionContext();
24771
24843
  import_framer_motion = require("framer-motion");
24772
- import_react87 = require("react");
24844
+ import_react88 = require("react");
24773
24845
  init_constants();
24774
24846
  init_useAutoConnect();
24775
24847
  init_useBackupStatusChanges();
@@ -24795,14 +24867,14 @@ var init_Dialog2 = __esm({
24795
24867
  });
24796
24868
 
24797
24869
  // src/internal/components/TssManager.tsx
24798
- var import_react88, TssManagerWithRef;
24870
+ var import_react89, TssManagerWithRef;
24799
24871
  var init_TssManager = __esm({
24800
24872
  "src/internal/components/TssManager.tsx"() {
24801
24873
  init_SessionContext();
24802
- import_react88 = __toESM(require("react"), 1);
24874
+ import_react89 = __toESM(require("react"), 1);
24803
24875
  init_auth();
24804
24876
  init_clients();
24805
- TssManagerWithRef = import_react88.default.forwardRef((props, ref) => {
24877
+ TssManagerWithRef = import_react89.default.forwardRef((props, ref) => {
24806
24878
  const { mpcPin } = props;
24807
24879
  const usePaymaster = useSession((st) => st.usePaymaster);
24808
24880
  const publicClient = useSession((st) => st.publicClient);
@@ -24810,14 +24882,14 @@ var init_TssManager = __esm({
24810
24882
  const setStatus = useSession((st) => st.setStatus);
24811
24883
  const setSession = useSession((st) => st.setSession);
24812
24884
  const setAddress = useSession((st) => st.setAddress);
24813
- const onSessionCreated = (0, import_react88.useCallback)(
24885
+ const onSessionCreated = (0, import_react89.useCallback)(
24814
24886
  (session, address) => {
24815
24887
  setSession(session);
24816
24888
  setAddress(address);
24817
24889
  },
24818
24890
  [setSession, setAddress]
24819
24891
  );
24820
- const createSessionWithKeyshare = import_react88.default.useCallback(
24892
+ const createSessionWithKeyshare = import_react89.default.useCallback(
24821
24893
  async (userId, hasServerKeyshare, isNewUser) => {
24822
24894
  setStatus("checking key management setup...");
24823
24895
  await ensureKeyshare(userId, hasServerKeyshare, setStatus, isNewUser);
@@ -24842,7 +24914,7 @@ var init_TssManager = __esm({
24842
24914
  },
24843
24915
  [setStatus, usePaymaster, activeChainId, publicClient, mpcPin]
24844
24916
  );
24845
- import_react88.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
24917
+ import_react89.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
24846
24918
  return null;
24847
24919
  });
24848
24920
  }
@@ -24870,7 +24942,7 @@ function WalletConnectHandler() {
24870
24942
  const projectId = providerConfig?.projectId;
24871
24943
  const setExternalWallet = useExternalWalletStore((st) => st.setExternalWallet);
24872
24944
  const setPendingWalletLogin = useLayoutDataStore((st) => st.setPendingWalletLogin);
24873
- const onLinkingComplete = (0, import_react89.useCallback)(
24945
+ const onLinkingComplete = (0, import_react90.useCallback)(
24874
24946
  async (success) => {
24875
24947
  setIsWalletLinking(false);
24876
24948
  if (!success && !passportWalletAddress) {
@@ -24899,10 +24971,10 @@ function WalletConnectHandler() {
24899
24971
  },
24900
24972
  [qc, passportWalletAddress, setProviderType, setPage, setIsWalletLinking]
24901
24973
  );
24902
- const [hasStartedLinking, setHasStartedLinking] = import_react89.default.useState(false);
24903
- const [modalWasOpened, setModalWasOpened] = import_react89.default.useState(false);
24904
- const [pendingModalOpen, setPendingModalOpen] = import_react89.default.useState(false);
24905
- (0, import_react89.useEffect)(() => {
24974
+ const [hasStartedLinking, setHasStartedLinking] = import_react90.default.useState(false);
24975
+ const [modalWasOpened, setModalWasOpened] = import_react90.default.useState(false);
24976
+ const [pendingModalOpen, setPendingModalOpen] = import_react90.default.useState(false);
24977
+ (0, import_react90.useEffect)(() => {
24906
24978
  if (isWalletLinking && !hasStartedLinking) {
24907
24979
  console.log("[WalletConnectHandler] Starting wallet link flow:", {
24908
24980
  isConnected,
@@ -24940,18 +25012,18 @@ function WalletConnectHandler() {
24940
25012
  setProviderType,
24941
25013
  walletMode
24942
25014
  ]);
24943
- (0, import_react89.useEffect)(() => {
25015
+ (0, import_react90.useEffect)(() => {
24944
25016
  if (pendingModalOpen && !isConnected && openConnectModal) {
24945
25017
  setPendingModalOpen(false);
24946
25018
  openConnectModal();
24947
25019
  }
24948
25020
  }, [pendingModalOpen, isConnected, openConnectModal]);
24949
- (0, import_react89.useEffect)(() => {
25021
+ (0, import_react90.useEffect)(() => {
24950
25022
  if (connectModalOpen && hasStartedLinking) {
24951
25023
  setModalWasOpened(true);
24952
25024
  }
24953
25025
  }, [connectModalOpen, hasStartedLinking]);
24954
- (0, import_react89.useEffect)(() => {
25026
+ (0, import_react90.useEffect)(() => {
24955
25027
  if (modalWasOpened && !connectModalOpen && !isConnected && isWalletLinking) {
24956
25028
  console.log("[WalletConnectHandler] Modal closed without connecting");
24957
25029
  onLinkingComplete(false);
@@ -24959,7 +25031,7 @@ function WalletConnectHandler() {
24959
25031
  setModalWasOpened(false);
24960
25032
  }
24961
25033
  }, [connectModalOpen, modalWasOpened, isConnected, isWalletLinking]);
24962
- (0, import_react89.useEffect)(() => {
25034
+ (0, import_react90.useEffect)(() => {
24963
25035
  if (isWalletLinking) {
24964
25036
  const timeout = setTimeout(() => {
24965
25037
  console.warn("[WalletConnectHandler] Wallet linking timed out, resetting state");
@@ -25079,7 +25151,7 @@ function WalletConnectHandler() {
25079
25151
  setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
25080
25152
  }
25081
25153
  });
25082
- (0, import_react89.useEffect)(() => {
25154
+ (0, import_react90.useEffect)(() => {
25083
25155
  if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking && modalWasOpened && !pendingModalOpen) {
25084
25156
  console.log("[WalletConnectHandler] handleWalletSign triggered");
25085
25157
  if (!passportWalletAddress) {
@@ -25089,7 +25161,7 @@ function WalletConnectHandler() {
25089
25161
  handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
25090
25162
  }
25091
25163
  }, [chain, isConnected, walletAddress, isWalletLinking, hasStartedLinking, modalWasOpened, pendingModalOpen]);
25092
- (0, import_react89.useEffect)(() => {
25164
+ (0, import_react90.useEffect)(() => {
25093
25165
  if (isConnected && !chain?.id && isWalletLinking && hasStartedLinking && !connectModalOpen && !isWalletSigning) {
25094
25166
  const timeout = setTimeout(() => {
25095
25167
  console.warn("[WalletConnectHandler] Wallet connected but chain info missing, resetting");
@@ -25111,7 +25183,7 @@ function WalletConnectHandler() {
25111
25183
  ]);
25112
25184
  return null;
25113
25185
  }
25114
- var import_rainbowkit2, import_react_query55, import_react89, import_wagmi8;
25186
+ var import_rainbowkit2, import_react_query55, import_react90, import_wagmi8;
25115
25187
  var init_WalletConnectHandler = __esm({
25116
25188
  "src/internal/components/WalletConnectHandler.tsx"() {
25117
25189
  init_ProviderContext();
@@ -25119,7 +25191,7 @@ var init_WalletConnectHandler = __esm({
25119
25191
  init_linkedProfiles();
25120
25192
  import_rainbowkit2 = require("@rainbow-me/rainbowkit");
25121
25193
  import_react_query55 = require("@tanstack/react-query");
25122
- import_react89 = __toESM(require("react"), 1);
25194
+ import_react90 = __toESM(require("react"), 1);
25123
25195
  import_wagmi8 = require("wagmi");
25124
25196
  init_wallet();
25125
25197
  init_AuthMenu2();
@@ -25140,13 +25212,13 @@ function DirectWalletHandler() {
25140
25212
  const setExternalChainId = useExternalWalletStore((st) => st.setExternalChainId);
25141
25213
  const setConfigMode = useExternalWalletStore((st) => st.setConfigMode);
25142
25214
  const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
25143
- (0, import_react90.useEffect)(() => {
25215
+ (0, import_react91.useEffect)(() => {
25144
25216
  setConfigMode(walletMode);
25145
25217
  if (walletMode !== "both") {
25146
25218
  setActiveMode(walletMode);
25147
25219
  }
25148
25220
  }, [walletMode, setConfigMode, setActiveMode]);
25149
- (0, import_react90.useEffect)(() => {
25221
+ (0, import_react91.useEffect)(() => {
25150
25222
  if (isConnected && address && !isExternalConnected && connector && chain?.id) {
25151
25223
  setExternalWallet({
25152
25224
  address,
@@ -25155,17 +25227,17 @@ function DirectWalletHandler() {
25155
25227
  });
25156
25228
  }
25157
25229
  }, [isConnected, address, isExternalConnected, connector, chain?.id, setExternalWallet]);
25158
- (0, import_react90.useEffect)(() => {
25230
+ (0, import_react91.useEffect)(() => {
25159
25231
  if (isExternalConnected && !isConnected) {
25160
25232
  clearExternalWallet();
25161
25233
  }
25162
25234
  }, [isConnected, isExternalConnected, clearExternalWallet]);
25163
- (0, import_react90.useEffect)(() => {
25235
+ (0, import_react91.useEffect)(() => {
25164
25236
  if (isExternalConnected && isConnected && chain?.id) {
25165
25237
  setExternalChainId(chain.id);
25166
25238
  }
25167
25239
  }, [chain?.id, isConnected, isExternalConnected, setExternalChainId]);
25168
- (0, import_react90.useEffect)(() => {
25240
+ (0, import_react91.useEffect)(() => {
25169
25241
  if (isExternalConnected && isConnected && address && address !== externalAddress && connector && chain?.id) {
25170
25242
  setExternalWallet({
25171
25243
  address,
@@ -25176,10 +25248,10 @@ function DirectWalletHandler() {
25176
25248
  }, [address, isConnected, isExternalConnected, externalAddress, chain?.id, connector, setExternalWallet]);
25177
25249
  return null;
25178
25250
  }
25179
- var import_react90, import_wagmi9;
25251
+ var import_react91, import_wagmi9;
25180
25252
  var init_DirectWalletHandler = __esm({
25181
25253
  "src/internal/components/DirectWalletHandler.tsx"() {
25182
- import_react90 = require("react");
25254
+ import_react91 = require("react");
25183
25255
  import_wagmi9 = require("wagmi");
25184
25256
  init_ProviderContext();
25185
25257
  init_useExternalWalletStore();
@@ -25204,7 +25276,7 @@ function waitForStoreHydration() {
25204
25276
  }
25205
25277
  function SessionProvider({ children }) {
25206
25278
  const config = useProviderConfig().config;
25207
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_react91.Fragment, { children: [
25279
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_react92.Fragment, { children: [
25208
25280
  children,
25209
25281
  config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(WalletConnectHandler, {}),
25210
25282
  config.current?.wallet?.enabled && (config.current?.wallet?.mode === "direct" || config.current?.wallet?.mode === "both") && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(DirectWalletHandler, {}),
@@ -25219,11 +25291,11 @@ function SessionProvider({ children }) {
25219
25291
  /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Dialog2, {})
25220
25292
  ] });
25221
25293
  }
25222
- var import_read21, import_react91, import_zustand13, import_middleware4, import_jsx_runtime122, useSession, requireActiveChainId;
25294
+ var import_read21, import_react92, import_zustand13, import_middleware4, import_jsx_runtime122, useSession, requireActiveChainId;
25223
25295
  var init_SessionContext = __esm({
25224
25296
  "src/context/SessionContext.tsx"() {
25225
25297
  import_read21 = require("@embarkai/core/read");
25226
- import_react91 = require("react");
25298
+ import_react92 = require("react");
25227
25299
  import_zustand13 = require("zustand");
25228
25300
  import_middleware4 = require("zustand/middleware");
25229
25301
  init_BalanceFeedProvider2();
@@ -27892,7 +27964,7 @@ var init_rainbowkit = __esm({
27892
27964
  function RainbowKitProvider({ children }) {
27893
27965
  const config = useProviderConfig().config;
27894
27966
  const colorMode = useLayoutStore((st) => st.colorMode);
27895
- const rainbowConfig = (0, import_react92.useMemo)(
27967
+ const rainbowConfig = (0, import_react93.useMemo)(
27896
27968
  () => createRainbowConfig({
27897
27969
  projectId: config.current?.wallet?.walletConnectProjectId,
27898
27970
  allowedWallets: config.current?.wallet?.allowedWallets,
@@ -27906,7 +27978,7 @@ function RainbowKitProvider({ children }) {
27906
27978
  config.current?.wallet?.walletConnectProjectId
27907
27979
  ]
27908
27980
  );
27909
- const customTheme = (0, import_react92.useMemo)(() => {
27981
+ const customTheme = (0, import_react93.useMemo)(() => {
27910
27982
  if (!config.current?.wallet?.enabled) return {};
27911
27983
  return colorMode === "dark" ? {
27912
27984
  ...(0, import_rainbowkit4.darkTheme)(),
@@ -27923,11 +27995,11 @@ function RainbowKitProvider({ children }) {
27923
27995
  if (!config.current?.wallet?.enabled) return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_jsx_runtime123.Fragment, { children });
27924
27996
  return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_wagmi11.WagmiProvider, { config: rainbowConfig, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_rainbowkit4.RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
27925
27997
  }
27926
- var import_rainbowkit4, import_react92, import_wagmi11, import_styles, import_jsx_runtime123;
27998
+ var import_rainbowkit4, import_react93, import_wagmi11, import_styles, import_jsx_runtime123;
27927
27999
  var init_RainbowKitContext = __esm({
27928
28000
  "src/context/RainbowKitContext.tsx"() {
27929
28001
  import_rainbowkit4 = require("@rainbow-me/rainbowkit");
27930
- import_react92 = require("react");
28002
+ import_react93 = require("react");
27931
28003
  import_wagmi11 = require("wagmi");
27932
28004
  init_rainbowkit();
27933
28005
  init_useLayoutStore();
@@ -27983,10 +28055,10 @@ function clearLegacyWagmiStorage() {
27983
28055
  }
27984
28056
  function Provider(props) {
27985
28057
  const { children, projectId, initialConfig = {}, callbacks } = props;
27986
- const callbacksRef = (0, import_react93.useRef)(callbacks);
27987
- (0, import_react93.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
27988
- const config = (0, import_react93.useRef)((0, import_lodash_es11.merge)({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
27989
- const updateConfig = (0, import_react93.useCallback)((updates) => {
28058
+ const callbacksRef = (0, import_react94.useRef)(callbacks);
28059
+ (0, import_react94.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
28060
+ const config = (0, import_react94.useRef)((0, import_lodash_es11.merge)({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
28061
+ const updateConfig = (0, import_react94.useCallback)((updates) => {
27990
28062
  const prev = config.current;
27991
28063
  const next = { ...prev };
27992
28064
  if (updates.projectId !== void 0) next.projectId = updates.projectId;
@@ -28020,12 +28092,12 @@ function Provider(props) {
28020
28092
  if (updates.translations) next.translations = { ...next.translations, ...updates.translations };
28021
28093
  config.current = next;
28022
28094
  }, []);
28023
- const updateCallbacks = (0, import_react93.useCallback)((updates) => {
28095
+ const updateCallbacks = (0, import_react94.useCallback)((updates) => {
28024
28096
  const prev = callbacksRef.current;
28025
28097
  const next = updates ? { ...prev, ...updates } : void 0;
28026
28098
  callbacksRef.current = next;
28027
28099
  }, []);
28028
- (0, import_react93.useEffect)(() => {
28100
+ (0, import_react94.useEffect)(() => {
28029
28101
  if (typeof window === "undefined" || !projectId) return;
28030
28102
  const mergedConfig = (0, import_lodash_es11.merge)(DEFAULT_PROVIDER_CONFIG, initialConfig);
28031
28103
  updateConfig(mergedConfig);
@@ -28045,7 +28117,7 @@ function Provider(props) {
28045
28117
  useSession.getState().setActiveChainId(mergedConfig.network.chainId);
28046
28118
  }
28047
28119
  }, [projectId, initialConfig]);
28048
- (0, import_react93.useEffect)(() => {
28120
+ (0, import_react94.useEffect)(() => {
28049
28121
  if (typeof window === "undefined" || !projectId) return;
28050
28122
  try {
28051
28123
  (0, import_error_tracking4.initSdkErrorTracking)();
@@ -28074,7 +28146,7 @@ function Provider(props) {
28074
28146
  console.error("[PROVIDER] Error setting up iframe manager:", error);
28075
28147
  }
28076
28148
  }, [projectId]);
28077
- const contextValue = (0, import_react93.useMemo)(
28149
+ const contextValue = (0, import_react94.useMemo)(
28078
28150
  () => ({
28079
28151
  config,
28080
28152
  updateConfig,
@@ -28095,12 +28167,12 @@ function Provider(props) {
28095
28167
  /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(WagmiProvider2, { children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(UIContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(SessionProvider, { children }) }) })
28096
28168
  );
28097
28169
  }
28098
- var import_error_tracking4, import_lodash_es11, import_react93, import_jsx_runtime125, UIContext, useProviderConfig;
28170
+ var import_error_tracking4, import_lodash_es11, import_react94, import_jsx_runtime125, UIContext, useProviderConfig;
28099
28171
  var init_ProviderContext = __esm({
28100
28172
  "src/context/ProviderContext.tsx"() {
28101
28173
  import_error_tracking4 = require("@embarkai/core/internal/error-tracking");
28102
28174
  import_lodash_es11 = require("lodash-es");
28103
- import_react93 = require("react");
28175
+ import_react94 = require("react");
28104
28176
  init_initial();
28105
28177
  init_iframe_manager();
28106
28178
  init_RainbowKitContext();
@@ -28108,9 +28180,9 @@ var init_ProviderContext = __esm({
28108
28180
  init_utils11();
28109
28181
  init_WagmiContext();
28110
28182
  import_jsx_runtime125 = require("react/jsx-runtime");
28111
- UIContext = (0, import_react93.createContext)(void 0);
28183
+ UIContext = (0, import_react94.createContext)(void 0);
28112
28184
  useProviderConfig = () => {
28113
- const ctx = (0, import_react93.useContext)(UIContext);
28185
+ const ctx = (0, import_react94.useContext)(UIContext);
28114
28186
  if (!ctx) throw new Error("useProviderConfig must be used within a Provider");
28115
28187
  return ctx;
28116
28188
  };
@@ -28221,7 +28293,7 @@ init_lumia2();
28221
28293
  init_embarkAI2();
28222
28294
  var import_react_query56 = require("@tanstack/react-query");
28223
28295
  var import_lucide_react80 = require("lucide-react");
28224
- var import_react94 = require("react");
28296
+ var import_react95 = require("react");
28225
28297
  init_SessionContext();
28226
28298
  init_auth();
28227
28299
  init_profile();
@@ -28254,7 +28326,7 @@ function ConnectWalletButton(props) {
28254
28326
  const colorMode = useLayoutStore((st) => st.colorMode);
28255
28327
  const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
28256
28328
  const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
28257
- (0, import_react94.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
28329
+ (0, import_react95.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
28258
28330
  const { data: profile, isLoading: isProfileLoading } = (0, import_react_query56.useQuery)({
28259
28331
  retry: false,
28260
28332
  enabled: !!address,
@@ -28262,7 +28334,7 @@ function ConnectWalletButton(props) {
28262
28334
  queryFn: getUserProfile
28263
28335
  });
28264
28336
  const displayName = profile?.nicknameDisplay || profile?.displayName || import_auth23.jwtTokenManager.getDisplayName();
28265
- const indicators = (0, import_react94.useMemo)(() => {
28337
+ const indicators = (0, import_react95.useMemo)(() => {
28266
28338
  const userId = session?.mpcUserId;
28267
28339
  if (!userId) return { server: false, local: false, backup: false };
28268
28340
  const server = import_auth23.jwtTokenManager.getHasKeyshare() ?? false;
@@ -28443,29 +28515,8 @@ var useHasServerVault = () => useSession((st) => st.hasServerVault);
28443
28515
  var useActiveChainId = () => useSession((st) => st.activeChainId);
28444
28516
  var useHydrated = () => useSession((st) => st.hasHydrated);
28445
28517
 
28446
- // src/hooks/useOpenPage.ts
28447
- var import_react95 = require("react");
28448
- init_SessionContext();
28449
- init_useLayoutDataStore();
28450
- function useOpenPage() {
28451
- const page = useLayoutDataStore((st) => st.page);
28452
- const setPage = useLayoutDataStore((st) => st.setPage);
28453
- const setPageParams = useLayoutDataStore((st) => st.setPageParams);
28454
- const address = useSession((st) => st.address);
28455
- const open = (0, import_react95.useCallback)(
28456
- (passportPage, params) => {
28457
- if (!address) return setPage("auth" /* AUTH */);
28458
- if (!!address && passportPage === "auth" /* AUTH */) return setPage("manage-wallet" /* MANAGE_WALLET */);
28459
- setPage(passportPage);
28460
- if (!!params) setPageParams(params);
28461
- },
28462
- [setPage, setPageParams, address]
28463
- );
28464
- const close = (0, import_react95.useCallback)(() => setPage(null), [setPage]);
28465
- return { open, close, isOpen: page !== null };
28466
- }
28467
-
28468
28518
  // src/index.ts
28519
+ init_useOpenPage();
28469
28520
  init_useColorMode();
28470
28521
 
28471
28522
  // src/components/ThemeToggle.tsx