@embarkai/ui-kit 0.4.76 → 0.4.78

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
@@ -168,13 +168,14 @@ var init_initial = __esm({
168
168
  authOrder: ["email", "social", "wallet"]
169
169
  },
170
170
  network: {
171
- name: import_read.BSC_TESTNET.name,
172
- symbol: import_read.BSC_TESTNET.nativeCurrency.symbol,
173
- chainId: import_read.BSC_TESTNET.id,
174
- rpcUrl: import_read.BSC_TESTNET.rpcUrls[0],
175
- explorerUrl: import_read.BSC_TESTNET.blockExplorerUrl,
176
- testnet: true,
177
- forceChain: false
171
+ name: import_read.LUMIA_MAINNET.name,
172
+ symbol: import_read.LUMIA_MAINNET.nativeCurrency.symbol,
173
+ chainId: import_read.LUMIA_MAINNET.id,
174
+ rpcUrl: import_read.LUMIA_MAINNET.rpcUrls[0],
175
+ explorerUrl: import_read.LUMIA_MAINNET.blockExplorerUrl,
176
+ testnet: false,
177
+ forceChain: false,
178
+ autoswitch: false
178
179
  },
179
180
  services: {
180
181
  tssUrl: "",
@@ -1378,7 +1379,7 @@ function ChainSync() {
1378
1379
  }, [address, activeChainId]);
1379
1380
  (0, import_react2.useEffect)(() => {
1380
1381
  if (!address || !activeChainId) return;
1381
- const shouldSwitchRequest = !config.current?.network?.forceChain && activeChainId !== config.current?.network?.chainId;
1382
+ const shouldSwitchRequest = !config.current?.network?.forceChain && !!config.current?.network?.autoswitch && activeChainId !== config.current?.network?.chainId;
1382
1383
  async function showSwitchChainRequest() {
1383
1384
  const stats = await getShareRecoveryStats();
1384
1385
  const hasRecoveryData = !!stats && (!!stats.created || stats.devices && stats.devices.length > 0);
@@ -5853,7 +5854,7 @@ var init_en = __esm({
5853
5854
  },
5854
5855
  nicknameMenu: {
5855
5856
  title: "Nickname",
5856
- yourNickname: "Your Nickname",
5857
+ yourNickname: "Your nickname",
5857
5858
  cooldownMessage: "You can change your nickname again on {{canChangeAt}} ({{days}} days remained)",
5858
5859
  lastChanged: "Last changed",
5859
5860
  timesChanged: "Times changed",
@@ -5875,7 +5876,8 @@ var init_en = __esm({
5875
5876
  alreadyYourNickname: "This is already your nickname",
5876
5877
  checkingAvailability: "Checking availability...",
5877
5878
  nicknameAvailable: "Nickname is available",
5878
- nicknameNotAvailable: "This nickname is not available"
5879
+ nicknameNotAvailable: "This nickname is not available",
5880
+ nicknameChanged: "Nickname has been changed"
5879
5881
  },
5880
5882
  initialUser: {
5881
5883
  welcome: "Your nickname is set as {{nickname}}",
@@ -6418,7 +6420,8 @@ var init_ru = __esm({
6418
6420
  alreadyYourNickname: "\u042D\u0442\u043E \u0443\u0436\u0435 \u0432\u0430\u0448 \u043D\u0438\u043A\u043D\u0435\u0439\u043C",
6419
6421
  checkingAvailability: "\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E\u0441\u0442\u0438...",
6420
6422
  nicknameAvailable: "\u041D\u0438\u043A\u043D\u0435\u0439\u043C \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",
6421
- nicknameNotAvailable: "\u042D\u0442\u043E\u0442 \u043D\u0438\u043A\u043D\u0435\u0439\u043C \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D"
6423
+ nicknameNotAvailable: "\u042D\u0442\u043E\u0442 \u043D\u0438\u043A\u043D\u0435\u0439\u043C \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D",
6424
+ nicknameChanged: "\u041D\u0438\u043A\u043D\u0435\u0439\u043C \u0431\u044B\u043B \u0438\u0437\u043C\u0435\u043D\u0435\u043D"
6422
6425
  },
6423
6426
  initialUser: {
6424
6427
  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}}",
@@ -6961,7 +6964,8 @@ var init_zh = __esm({
6961
6964
  alreadyYourNickname: "\u6B64\u6635\u79F0\u5DF2\u662F\u60A8\u7684\u6635\u79F0",
6962
6965
  checkingAvailability: "\u6B63\u5728\u68C0\u67E5\u53EF\u7528\u6027...",
6963
6966
  nicknameAvailable: "\u6635\u79F0\u53EF\u7528",
6964
- nicknameNotAvailable: "\u6B64\u6635\u79F0\u4E0D\u53EF\u7528"
6967
+ nicknameNotAvailable: "\u6B64\u6635\u79F0\u4E0D\u53EF\u7528",
6968
+ nicknameChanged: "\u6635\u79F0\u5DF2\u66F4\u6539"
6965
6969
  },
6966
6970
  initialUser: {
6967
6971
  welcome: "\u60A8\u7684\u6635\u79F0\u5DF2\u8BBE\u7F6E\u4E3A {{nickname}}",
@@ -9123,7 +9127,7 @@ var init_onboarder = __esm({
9123
9127
  const elementRef = this.elements.get(elId)?.deref();
9124
9128
  if (!elementRef) return;
9125
9129
  const { x, y, width, height } = elementRef.getBoundingClientRect();
9126
- elementRef.scrollIntoView({ behavior: "smooth", block: "center", inline: "center" });
9130
+ elementRef.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
9127
9131
  useOnboardingStore.getState().setElRect({ x, y, width, height });
9128
9132
  }, 200);
9129
9133
  });
@@ -9141,7 +9145,7 @@ var init_onboarder = __esm({
9141
9145
  elRectData = elementRef.getBoundingClientRect();
9142
9146
  } else {
9143
9147
  elRectData = element.getBoundingClientRect();
9144
- element.scrollIntoView({ behavior: "smooth", block: "center", inline: "center" });
9148
+ element.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
9145
9149
  }
9146
9150
  useOnboardingStore.getState().setElRect(elRectData);
9147
9151
  }
@@ -9204,9 +9208,9 @@ var init_onboarder = __esm({
9204
9208
  if (!this.tour) return null;
9205
9209
  return this.tour[this.tourPointer];
9206
9210
  }
9207
- getCurrentPointer() {
9208
- return this.tourPointer;
9209
- }
9211
+ // getCurrentTargetElement(): HTMLElement | null {
9212
+ // return this.elements.get(this.tour[this.tourPointer]?.elId)?.deref() || null
9213
+ // }
9210
9214
  };
9211
9215
  onboarder = new Onboarder();
9212
9216
  }
@@ -9214,62 +9218,28 @@ var init_onboarder = __esm({
9214
9218
 
9215
9219
  // src/internal/components/Onboarding/OnboardingOverlay.tsx
9216
9220
  function getTooltipXPos(params) {
9217
- const { x, width, isMobileView, expandValue } = params;
9218
- const frameEndX = x + width + expandValue;
9219
- const frameWidth = isMobileView ? width : width + 2 * expandValue;
9220
- const ttWidth = isMobileView ? Math.max(frameWidth, window.innerWidth - 4 * expandValue) : Math.max(frameWidth, TOOLTIP_MIN_WIDTH);
9221
- const ttShiftX = isMobileView ? 0 : expandValue;
9222
- const ttEndX = x - ttShiftX + ttWidth;
9223
- const isTTOverflowsFrame = ttEndX > frameEndX;
9224
- const isTTOverflowsWindow = ttEndX > window.innerWidth;
9225
- if (isTTOverflowsWindow) {
9226
- return {
9227
- isOverflowX: true,
9228
- width: ttWidth,
9229
- x: x - (ttEndX - window.innerWidth) - 2 * expandValue
9230
- // unstick tooltip from window right edge
9231
- };
9232
- }
9233
- if (isTTOverflowsFrame) {
9234
- const calcedX = x - ttShiftX - ttWidth / 2 + frameWidth / 2;
9235
- return {
9236
- isOverflowX: true,
9237
- width: ttWidth,
9238
- x: calcedX < expandValue ? expandValue : calcedX
9239
- };
9240
- }
9241
- return {
9242
- isOverflowX: isTTOverflowsFrame || isTTOverflowsWindow,
9243
- width: ttWidth,
9244
- x: x - ttShiftX
9245
- };
9221
+ const { x, width, isMobileView } = params;
9222
+ const frameWidth = isMobileView ? width : width + 2 * EXPAND;
9223
+ const ttWidth = isMobileView ? window.innerWidth - 2 * EXPAND : Math.max(frameWidth, TOOLTIP_MIN_WIDTH);
9224
+ const ttCenterPosX = x + width / 2;
9225
+ const ttExpectedStartX = ttCenterPosX - ttWidth / 2;
9226
+ const ttExpectedEndX = ttCenterPosX + ttWidth / 2;
9227
+ let ttTargetStartX = ttExpectedStartX;
9228
+ if (ttExpectedStartX < EXPAND) ttTargetStartX = EXPAND;
9229
+ if (ttExpectedEndX > window.innerWidth - EXPAND) ttTargetStartX = window.innerWidth - EXPAND - ttWidth;
9230
+ return { width: ttWidth, x: ttTargetStartX };
9246
9231
  }
9247
9232
  function getTooltipYPos(params) {
9248
- const { y, height, isMobileView, expandValue } = params;
9249
- let topPosY = y - expandValue * 2 - TOP_POS_OFFSET;
9250
- const bottomPosY = y + height + expandValue + (isMobileView ? expandValue : 0);
9233
+ const { y, height, isMobileView } = params;
9234
+ const topPosY = y - EXPAND * 2 - TOP_POS_OFFSET;
9235
+ const targetBottomY = y + height + EXPAND * 2;
9236
+ const bottomPosY = Math.min(targetBottomY, window.innerHeight - EXPAND - TOP_POS_OFFSET);
9251
9237
  const isTopPos = isMobileView && topPosY >= EXPAND;
9252
- return {
9253
- isTopPos,
9254
- isOverflowY: topPosY < EXPAND,
9255
- y: isTopPos ? topPosY : bottomPosY
9256
- // topPosY >= EXPAND - unstick tooltip from window top edge
9257
- };
9238
+ return { isTopPos, y: isTopPos ? topPosY : bottomPosY };
9258
9239
  }
9259
9240
  function OnboardingOverlay() {
9260
9241
  const { t } = useT();
9261
9242
  const page = useLayoutDataStore((st) => st.page);
9262
- const isOnboarding = useLayoutDataStore((st) => st.isOnboarding);
9263
- const isMobileView = useLayoutStore((st) => st.isMobileView);
9264
- const colorMode = useLayoutStore((st) => st.colorMode);
9265
- const { elRect, mountIntoNode } = useOnboardingStore();
9266
- const {
9267
- actions: tourStepActions = [],
9268
- waitSecs = null,
9269
- title,
9270
- description,
9271
- forced = false
9272
- } = onboarder.getCurrentStep() || {};
9273
9243
  (0, import_react21.useEffect)(() => {
9274
9244
  setTimeout(() => {
9275
9245
  if (!page) {
@@ -9284,17 +9254,28 @@ function OnboardingOverlay() {
9284
9254
  useOnboardingStore.getState().setMountIntoNode(embarkUIContainer);
9285
9255
  }, 0);
9286
9256
  }, [page]);
9257
+ const isOnboarding = useLayoutDataStore((st) => st.isOnboarding);
9258
+ const isMobileView = useLayoutStore((st) => st.isMobileView);
9259
+ const colorMode = useLayoutStore((st) => st.colorMode);
9260
+ const { elRect, mountIntoNode } = useOnboardingStore();
9287
9261
  const [continueCountdown, setContinueCountdown] = (0, import_react21.useState)(null);
9288
- const expandValue = EXPAND * (isMobileView ? 0.5 : 1);
9289
- const posParams = {
9290
- x: elRect.x,
9291
- y: elRect.y,
9292
- width: elRect.width,
9293
- height: elRect.height,
9294
- isMobileView,
9295
- expandValue
9296
- };
9297
- const position = { ...getTooltipXPos(posParams), ...getTooltipYPos(posParams) };
9262
+ const {
9263
+ actions: tourStepActions = [],
9264
+ waitSecs = null,
9265
+ title,
9266
+ description,
9267
+ forced = false
9268
+ } = onboarder.getCurrentStep() || {};
9269
+ const position = (0, import_react21.useMemo)(() => {
9270
+ const posParams = {
9271
+ x: elRect.x,
9272
+ y: elRect.y,
9273
+ width: elRect.width,
9274
+ height: elRect.height,
9275
+ isMobileView
9276
+ };
9277
+ return { ...getTooltipXPos(posParams), ...getTooltipYPos(posParams) };
9278
+ }, [elRect, isMobileView]);
9298
9279
  (0, import_react21.useEffect)(() => {
9299
9280
  if (!waitSecs) return;
9300
9281
  setContinueCountdown(waitSecs);
@@ -9321,6 +9302,7 @@ function OnboardingOverlay() {
9321
9302
  style: { zIndex: isOnboarding ? 1e4 : -9999 },
9322
9303
  className: cn(
9323
9304
  "embarkai-ui-scope",
9305
+ // with data-current-theme-mode will provide full embark cssv set
9324
9306
  "overflow-hidden pointer-events-auto",
9325
9307
  "fixed left-0 top-0",
9326
9308
  isOnboarding ? "w-[100dvw] h-[100dvh]" : "w-0 h-0"
@@ -9346,10 +9328,10 @@ function OnboardingOverlay() {
9346
9328
  fill: "black",
9347
9329
  style: {
9348
9330
  transition: "x 0.3s ease, y 0.3s ease, width 0.3s ease, height 0.3s ease",
9349
- x: elRect.x - expandValue,
9350
- y: elRect.y - expandValue,
9351
- width: elRect.width + expandValue * 2,
9352
- height: elRect.height + expandValue * (isMobileView ? 2 : 3)
9331
+ x: elRect.x - EXPAND,
9332
+ y: elRect.y - EXPAND,
9333
+ width: elRect.width + EXPAND * 2,
9334
+ height: elRect.height + EXPAND * 2
9353
9335
  }
9354
9336
  }
9355
9337
  )
@@ -9368,14 +9350,14 @@ function OnboardingOverlay() {
9368
9350
  "overflow-hidden"
9369
9351
  ),
9370
9352
  style: {
9371
- willChange: "top, left, width, height, transform",
9353
+ willChange: "top, left, width, height",
9372
9354
  width: isOnboarding ? position.width : 0,
9373
9355
  height: isOnboarding ? "auto" : 0,
9374
9356
  top: isOnboarding ? position.y : window.innerHeight / 2,
9375
9357
  left: isOnboarding ? position.x : window.innerWidth / 2,
9376
9358
  transition: "top 0.3s ease, left 0.3s ease, width 0.3s ease",
9377
9359
  transform: position.isTopPos ? `translateY(calc(-100% + ${TOP_POS_OFFSET}px))` : "translateY(0)",
9378
- borderRadius: isMobileView || position.isOverflowX ? "var(--ui-kit-bdrs)" : "0 0 var(--ui-kit-bdrs) var(--ui-kit-bdrs)"
9360
+ borderRadius: "var(--ui-kit-bdrs)"
9379
9361
  },
9380
9362
  children: [
9381
9363
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "font-bold", children: t(title) }),
@@ -9385,16 +9367,12 @@ function OnboardingOverlay() {
9385
9367
  {
9386
9368
  size: "small",
9387
9369
  variant: "ghost",
9370
+ className: "absolute top-1 right-1 text-[var(--ui-kit-success)]",
9388
9371
  onClick: () => {
9389
9372
  setContinueCountdown(null);
9390
9373
  onboarder.endTour();
9391
9374
  },
9392
- className: cn(
9393
- "text-[var(--ui-kit-success)]",
9394
- "absolute top-2 right-2 text-[10px]"
9395
- // colorMode === 'dark' ? 'text-[var(--ui-kit-fg-inverted)]' : 'text-[var(--ui-kit-fg)]'
9396
- ),
9397
- children: t("passport:common.hide")
9375
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react9.XIcon, { className: "h-3 w-3" })
9398
9376
  }
9399
9377
  ),
9400
9378
  !!tourStepActions?.length ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex grid grid-cols-2 gap-[var(--ui-kit-gap)]", children: tourStepActions.map(({ caption, onClick }, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
@@ -9454,7 +9432,7 @@ var init_OnboardingOverlay = __esm({
9454
9432
  init_onboarder();
9455
9433
  init_useOnboardingStore();
9456
9434
  import_jsx_runtime21 = require("react/jsx-runtime");
9457
- EXPAND = 16;
9435
+ EXPAND = 8;
9458
9436
  TOOLTIP_MIN_WIDTH = 320;
9459
9437
  TOP_POS_OFFSET = 112;
9460
9438
  }
@@ -15346,7 +15324,7 @@ var init_MethodSelector = __esm({
15346
15324
  });
15347
15325
 
15348
15326
  // src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts
15349
- var KEYSHARE_BACKUP_MENU_TOUR;
15327
+ var KEYSHARE_BACKUP_MENU_TOUR, KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY;
15350
15328
  var init_onboarding_setup3 = __esm({
15351
15329
  "src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts"() {
15352
15330
  init_hooks();
@@ -15406,6 +15384,43 @@ var init_onboarding_setup3 = __esm({
15406
15384
  description: "passport:backupMenu.onboarding.backupAdvanced.description"
15407
15385
  }
15408
15386
  ];
15387
+ KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY = [
15388
+ {
15389
+ elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
15390
+ title: "passport:backupMenu.onboarding.backupMenu.title",
15391
+ description: "passport:backupMenu.onboarding.backupMenu.description",
15392
+ onNext: () => {
15393
+ const { setSuccess, setError, setRestorePassword, setRestoreFile, setShowPassword, setUsePasskey, setMethod } = useRestoreStore.getState();
15394
+ setSuccess(null);
15395
+ setError(null);
15396
+ setRestoreFile(null);
15397
+ setRestorePassword("<your-strong-password>");
15398
+ setShowPassword(true);
15399
+ setUsePasskey(false);
15400
+ setMethod("server");
15401
+ }
15402
+ },
15403
+ {
15404
+ elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
15405
+ title: "passport:backupMenu.onboarding.backupEncryptionPassword.title",
15406
+ description: "passport:backupMenu.onboarding.backupEncryptionPassword.description",
15407
+ onNext: () => {
15408
+ const { setRestorePassword, setShowPassword } = useRestoreStore.getState();
15409
+ setRestorePassword("");
15410
+ setShowPassword(false);
15411
+ }
15412
+ },
15413
+ {
15414
+ elId: "embarkai-keyshare-backup-status-onboarding" /* backupStatus */,
15415
+ title: "passport:backupMenu.onboarding.backupStatus.title",
15416
+ description: "passport:backupMenu.onboarding.backupStatus.description"
15417
+ },
15418
+ {
15419
+ elId: "embarkai-keyshare-backup-advanced-onboarding" /* backupAdvanced */,
15420
+ title: "passport:backupMenu.onboarding.backupAdvanced.title",
15421
+ description: "passport:backupMenu.onboarding.backupAdvanced.description"
15422
+ }
15423
+ ];
15409
15424
  }
15410
15425
  });
15411
15426
 
@@ -18509,14 +18524,22 @@ var init_useNicknameStore = __esm({
18509
18524
  "src/internal/components/NicknameMenu/useNicknameStore.ts"() {
18510
18525
  import_zustand10 = require("zustand");
18511
18526
  useNicknameStore = (0, import_zustand10.create)((set) => ({
18512
- renderKey: "",
18527
+ renderKey: "nickname-menu-render-key",
18513
18528
  setRenderKey: (renderKey) => set({ renderKey }),
18514
18529
  nicknameValue: "",
18515
18530
  setNicknameValue: (nicknameValue) => set({ nicknameValue }),
18516
18531
  availability: null,
18517
18532
  setAvailability: (availability) => set({ availability }),
18533
+ success: null,
18534
+ setSuccess: (success) => set({ success }),
18518
18535
  error: null,
18519
- setError: (error) => set({ error })
18536
+ setError: (error) => set({ error }),
18537
+ reset: () => set({
18538
+ renderKey: "nickname-menu-render-key",
18539
+ nicknameValue: "",
18540
+ availability: null,
18541
+ error: null
18542
+ })
18520
18543
  }));
18521
18544
  }
18522
18545
  });
@@ -18589,14 +18612,7 @@ function NicknameEditForm(props) {
18589
18612
  const nicknameAvailability = useNicknameStore((st) => st.availability);
18590
18613
  const { isCheckingAvailability } = useNicknameAvailability(nicknameInfo ? nicknameInfo.handle : "");
18591
18614
  const [isNicknameCopied, setIsNicknameCopied] = (0, import_react58.useState)(false);
18592
- const {
18593
- mutate: changeNickname2,
18594
- isError: isNicknameChangeError,
18595
- isPending: isNicknameChanging,
18596
- isSuccess: isNicknameChangeSuccess,
18597
- // error: nicknameChangeError,
18598
- reset
18599
- } = (0, import_react_query35.useMutation)({
18615
+ const { mutate: changeNickname2, isPending: isNicknameChanging } = (0, import_react_query35.useMutation)({
18600
18616
  mutationFn: (handle) => changeNickname(handle),
18601
18617
  onSuccess: () => {
18602
18618
  qc.invalidateQueries({ queryKey: [QUERY_KEYS.nicknameInfo] });
@@ -18604,7 +18620,15 @@ function NicknameEditForm(props) {
18604
18620
  callbacksRef.current?.onAccountUpdate?.({
18605
18621
  providers: qc.getQueryData([PROVIDERS_QUERY_KEY, address])
18606
18622
  });
18607
- if (!!isInitialUser) setTimeout(() => useLayoutDataStore.getState().setPage(null), 1500);
18623
+ if (!!isInitialUser) {
18624
+ setTimeout(() => useLayoutDataStore.getState().setPage(null), 1500);
18625
+ }
18626
+ useNicknameStore.getState().setSuccess(t("passport:nicknameMenu.availability.nicknameChanged"));
18627
+ useNicknameStore.getState().setRenderKey(`nickname-has-been-changed-${Date.now()}`);
18628
+ setTimeout(() => {
18629
+ useNicknameStore.getState().setSuccess(null);
18630
+ useNicknameStore.getState().setRenderKey(`nickname-has-been-changed-${Date.now()}`);
18631
+ }, 1500);
18608
18632
  },
18609
18633
  onError: (error) => {
18610
18634
  const changeNicknameError = error;
@@ -18620,17 +18644,16 @@ function NicknameEditForm(props) {
18620
18644
  const handleNicknameInputChange = (0, import_react58.useCallback)(
18621
18645
  (e) => {
18622
18646
  const { error, setError, setNicknameValue } = useNicknameStore.getState();
18623
- const value = e.target.value;
18624
- setNicknameValue(value);
18625
- if (error && value.length >= 3) setError(null);
18626
- if (isNicknameChangeError || isNicknameChangeSuccess) reset();
18627
- if (value?.length < 1) return;
18628
- const validation = validateNickname(value);
18647
+ const nextInputValue = e.target.value;
18648
+ setNicknameValue(nextInputValue);
18649
+ if (error && nextInputValue.length >= 3) setError(null);
18650
+ if (nextInputValue?.length < 1) return;
18651
+ const validation = validateNickname(nextInputValue);
18629
18652
  if (!validation.valid && validation.error) {
18630
18653
  setError(getNicknameErrorMessage(validation.error, { t }));
18631
18654
  }
18632
18655
  },
18633
- [isNicknameChangeError, isNicknameChangeSuccess, reset, t]
18656
+ [t]
18634
18657
  );
18635
18658
  const handleSubmit = (0, import_react58.useCallback)(
18636
18659
  (e) => {
@@ -18657,34 +18680,43 @@ function NicknameEditForm(props) {
18657
18680
  const normalizedInputValue = normalizeNickname(nicknameValue);
18658
18681
  const isSameAsCurrentNickname = normalizedInputValue === currentNickname.toLowerCase();
18659
18682
  const isSubmitDisabled = !canChange || nicknameValue.length === 0 || isSameAsCurrentNickname || !!nicknameError || isNicknameChanging || isCheckingAvailability || !nicknameAvailability?.available;
18660
- const isNicknameAvailalable = !isCheckingAvailability && !isNicknameChanging && !isNicknameChangeSuccess && nicknameAvailability?.available;
18683
+ const isNicknameAvailalable = !isCheckingAvailability && !isNicknameChanging && nicknameAvailability?.available;
18661
18684
  return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_jsx_runtime81.Fragment, { children: [
18662
- canChange ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("form", { onSubmit: handleSubmit, className: "w-full", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "w-full flex items-center gap-[var(--ui-kit-gap)]", children: [
18663
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
18664
- Input,
18665
- {
18666
- Icon: import_lucide_react47.AtSignIcon,
18667
- value: nicknameValue,
18668
- onChange: handleNicknameInputChange,
18669
- placeholder: t("passport:nicknameMenu.placeholder"),
18670
- disabled: isNicknameChanging,
18671
- className: "flex-1"
18672
- }
18673
- ),
18674
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
18675
- Button,
18676
- {
18677
- type: "submit",
18678
- size: "large",
18679
- disabled: isSubmitDisabled,
18680
- title: isNicknameAvailalable ? t("passport:nicknameMenu.availability.nicknameAvailable") : "",
18681
- className: cn("w-12", {
18682
- "bg-[var(--ui-kit-bg-success)] text-[var(--ui-kit-success)]": isNicknameAvailalable
18683
- }),
18684
- children: isCheckingAvailability || isNicknameChanging ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react47.LoaderIcon, { className: "w-4 h-4 animate-spin" }) : isNicknameChangeSuccess ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react47.CheckIcon, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react47.SaveIcon, { className: "w-4 h-4" })
18685
- }
18686
- )
18687
- ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "w-full flex items-center justify-between px-[var(--ui-kit-pd)] h-12 bg-[var(--ui-kit-secondary)] rounded-[var(--ui-kit-el-bdrs)]", children: [
18685
+ canChange ? /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_jsx_runtime81.Fragment, { children: [
18686
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("span", { className: "text-[10px] leading-4 text-[var(--ui-kit-fg-muted)]", children: [
18687
+ t("passport:nicknameMenu.yourNickname"),
18688
+ currentNickname !== nicknameValue && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("strong", { className: "text-[var(--ui-kit-fg)]", children: [
18689
+ ": ",
18690
+ currentNickname
18691
+ ] })
18692
+ ] }),
18693
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("form", { onSubmit: handleSubmit, className: "w-full", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "w-full flex items-center gap-[var(--ui-kit-gap)]", children: [
18694
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
18695
+ Input,
18696
+ {
18697
+ Icon: import_lucide_react47.AtSignIcon,
18698
+ value: nicknameValue,
18699
+ onChange: handleNicknameInputChange,
18700
+ placeholder: t("passport:nicknameMenu.placeholder"),
18701
+ disabled: isNicknameChanging,
18702
+ className: "flex-1"
18703
+ }
18704
+ ),
18705
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
18706
+ Button,
18707
+ {
18708
+ type: "submit",
18709
+ size: "large",
18710
+ disabled: isSubmitDisabled,
18711
+ title: isNicknameAvailalable ? t("passport:nicknameMenu.availability.nicknameAvailable") : "",
18712
+ className: cn("w-12", {
18713
+ "bg-[var(--ui-kit-bg-success)] text-[var(--ui-kit-success)]": isNicknameAvailalable
18714
+ }),
18715
+ children: isCheckingAvailability || isNicknameChanging ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react47.LoaderIcon, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react47.SaveIcon, { className: "w-4 h-4" })
18716
+ }
18717
+ )
18718
+ ] }) })
18719
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "w-full flex items-center justify-between px-[var(--ui-kit-pd)] h-12 bg-[var(--ui-kit-secondary)] rounded-[var(--ui-kit-el-bdrs)]", children: [
18688
18720
  /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
18689
18721
  "span",
18690
18722
  {
@@ -18762,6 +18794,7 @@ function NicknameMenu() {
18762
18794
  const address = useSession((st) => st.address);
18763
18795
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
18764
18796
  const nicknameRenderKey = useNicknameStore((st) => st.renderKey);
18797
+ const nicknameSuccess = useNicknameStore((st) => st.success);
18765
18798
  const nicknameError = useNicknameStore((st) => st.error);
18766
18799
  const {
18767
18800
  data: nicknameInfo,
@@ -18771,9 +18804,10 @@ function NicknameMenu() {
18771
18804
  retry: 1,
18772
18805
  enabled: !!address,
18773
18806
  queryKey: [QUERY_KEYS.nicknameInfo, address],
18774
- queryFn: getNicknameInfo
18807
+ queryFn: async () => await getNicknameInfo()
18775
18808
  });
18776
18809
  const resolvedError = nicknameError || nicknameInfoError?.message || null;
18810
+ (0, import_react59.useEffect)(() => () => useNicknameStore.getState().reset(), []);
18777
18811
  return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
18778
18812
  "div",
18779
18813
  {
@@ -18797,16 +18831,12 @@ function NicknameMenu() {
18797
18831
  isNicknameInfoLoading && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react48.Loader, { className: "w-4 h-4 animate-spin" })
18798
18832
  ] })
18799
18833
  ] }),
18800
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:nicknameMenu.yourNickname") }),
18801
18834
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(NicknameEditForm, { nicknameInfo, isInitialUser }),
18802
- !nicknameInfo?.canChange && nicknameInfo?.cooldownEndsAt && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Highlight, { type: "warning", className: "flex gap-[var(--ui-kit-gap)]", children: [
18803
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react48.Info, { className: "w-4 h-4 flex-none" }),
18804
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { children: t("passport:nicknameMenu.cooldownMessage", {
18805
- canChangeAt: (0, import_dayjs4.default)(nicknameInfo.cooldownEndsAt).format("MMM D, YYYY"),
18806
- days: String(getDaysRemaining(nicknameInfo.cooldownEndsAt))
18807
- }) })
18808
- ] }),
18809
- !!nicknameInfo && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between text-[10px]", children: [
18835
+ !nicknameInfo?.canChange && nicknameInfo?.cooldownEndsAt && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Highlight, { type: "info", children: t("passport:nicknameMenu.cooldownMessage", {
18836
+ canChangeAt: (0, import_dayjs4.default)(nicknameInfo.cooldownEndsAt).format("MMM D, YYYY"),
18837
+ days: String(getDaysRemaining(nicknameInfo.cooldownEndsAt))
18838
+ }) }),
18839
+ !nicknameSuccess && !!nicknameInfo && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between text-[10px]", children: [
18810
18840
  /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("span", { children: [
18811
18841
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: nicknameInfo.changedAt ? t("passport:nicknameMenu.lastChanged") : t("passport:common.created") }),
18812
18842
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { children: ": " }),
@@ -18818,6 +18848,7 @@ function NicknameMenu() {
18818
18848
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("strong", { className: "text-[var(--ui-kit-fg)]", children: nicknameInfo.changeCount })
18819
18849
  ] })
18820
18850
  ] }),
18851
+ !!nicknameSuccess && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Highlight, { type: "success", children: nicknameSuccess }),
18821
18852
  isInitialUser && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Highlight, { type: "success", children: [
18822
18853
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", {
18823
18854
  //@ts-expect-error i18n typings
@@ -18849,7 +18880,7 @@ function NicknameMenu() {
18849
18880
  }
18850
18881
  );
18851
18882
  }
18852
- var import_react_query36, import_dayjs4, import_lucide_react48, import_jsx_runtime82;
18883
+ var import_react_query36, import_dayjs4, import_lucide_react48, import_react59, import_jsx_runtime82;
18853
18884
  var init_NicknameMenu = __esm({
18854
18885
  "src/internal/components/NicknameMenu/NicknameMenu.tsx"() {
18855
18886
  init_SessionContext();
@@ -18858,6 +18889,7 @@ var init_NicknameMenu = __esm({
18858
18889
  import_react_query36 = require("@tanstack/react-query");
18859
18890
  import_dayjs4 = __toESM(require("dayjs"), 1);
18860
18891
  import_lucide_react48 = require("lucide-react");
18892
+ import_react59 = require("react");
18861
18893
  init_nickname();
18862
18894
  init_profile();
18863
18895
  init_useLayoutDataStore();
@@ -18895,11 +18927,11 @@ function useResolvedPublicClient(chainId, logScope = "useResolvedPublicClient")
18895
18927
  const activeChainConfig = useSession((st) => st.chainConfig);
18896
18928
  const resolvedChainId = chainId ?? activeChainId;
18897
18929
  const shouldUseActiveClient = !chainId || chainId === activeChainId;
18898
- const chainConfig = (0, import_react59.useMemo)(() => {
18930
+ const chainConfig = (0, import_react60.useMemo)(() => {
18899
18931
  if (shouldUseActiveClient) return activeChainConfig;
18900
18932
  return (0, import_read16.getChainConfig)(chainId);
18901
18933
  }, [activeChainConfig, chainId, shouldUseActiveClient]);
18902
- const publicClient = (0, import_react59.useMemo)(() => {
18934
+ const publicClient = (0, import_react60.useMemo)(() => {
18903
18935
  if (shouldUseActiveClient) return activePublicClient;
18904
18936
  if (!chainId) return activePublicClient;
18905
18937
  try {
@@ -18916,12 +18948,12 @@ function useResolvedPublicClient(chainId, logScope = "useResolvedPublicClient")
18916
18948
  resolvedChainId
18917
18949
  };
18918
18950
  }
18919
- var import_read16, import_react59, publicClientByChainId;
18951
+ var import_read16, import_react60, publicClientByChainId;
18920
18952
  var init_useResolvedPublicClient = __esm({
18921
18953
  "src/internal/hooks/useResolvedPublicClient.ts"() {
18922
18954
  init_SessionContext();
18923
18955
  import_read16 = require("@embarkai/core/read");
18924
- import_react59 = require("react");
18956
+ import_react60 = require("react");
18925
18957
  publicClientByChainId = /* @__PURE__ */ new Map();
18926
18958
  }
18927
18959
  });
@@ -18985,7 +19017,7 @@ var init_useNativeBalance = __esm({
18985
19017
  function useWatchTokens(options) {
18986
19018
  const { address, chainId, enabled, publicClient } = options;
18987
19019
  const { config } = useProviderConfig();
18988
- const watchTokens = (0, import_react60.useMemo)(() => {
19020
+ const watchTokens = (0, import_react61.useMemo)(() => {
18989
19021
  const allWatchTokens = config.current.watchTokens;
18990
19022
  const tokensForChain = chainId ? allWatchTokens?.[chainId] || [] : [];
18991
19023
  return tokensForChain;
@@ -19053,12 +19085,12 @@ function useWatchTokens(options) {
19053
19085
  }
19054
19086
  });
19055
19087
  }
19056
- var import_react_query38, import_react60, import_viem7;
19088
+ var import_react_query38, import_react61, import_viem7;
19057
19089
  var init_useWatchTokens = __esm({
19058
19090
  "src/internal/hooks/useBlockscoutAssets/useWatchTokens.ts"() {
19059
19091
  init_ProviderContext();
19060
19092
  import_react_query38 = require("@tanstack/react-query");
19061
- import_react60 = require("react");
19093
+ import_react61 = require("react");
19062
19094
  import_viem7 = require("viem");
19063
19095
  init_constants6();
19064
19096
  }
@@ -19207,11 +19239,11 @@ function useBlockscoutAssets(options) {
19207
19239
  tokenBalancesQueryKey: customTokenBalancesQueryKey
19208
19240
  } = useProviderConfig().config?.current?.portfolio || {};
19209
19241
  const blockscoutApiUrl = getBlockscoutApiUrl(chainConfig);
19210
- const blockscoutClient = (0, import_react61.useMemo)(
19242
+ const blockscoutClient = (0, import_react62.useMemo)(
19211
19243
  () => blockscoutApiUrl ? (0, import_core4.createBlockscoutClient)({ baseUrl: blockscoutApiUrl }) : null,
19212
19244
  [blockscoutApiUrl]
19213
19245
  );
19214
- const lastRefreshRef = (0, import_react61.useRef)(0);
19246
+ const lastRefreshRef = (0, import_react62.useRef)(0);
19215
19247
  const {
19216
19248
  data: watchTokenAssets = [],
19217
19249
  isLoading: watchTokensLoading,
@@ -19283,7 +19315,7 @@ function useBlockscoutAssets(options) {
19283
19315
  queryKey: [BLOCKSCOUT_QUERY_KEY, "nfts", resolvedChainId, blockscoutApiUrl, address],
19284
19316
  queryFn: () => blockscoutClient.getNfts(address)
19285
19317
  });
19286
- const erc20TokenAddresses = (0, import_react61.useMemo)(() => {
19318
+ const erc20TokenAddresses = (0, import_react62.useMemo)(() => {
19287
19319
  if (!blockscoutItems) return [];
19288
19320
  return blockscoutItems.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address_hash);
19289
19321
  }, [blockscoutItems]);
@@ -19328,7 +19360,7 @@ function useBlockscoutAssets(options) {
19328
19360
  // 1 minute
19329
19361
  // gcTime: BLOCKSCOUT_QUERY_GC_TIME,
19330
19362
  });
19331
- const assets = (0, import_react61.useMemo)(() => {
19363
+ const assets = (0, import_react62.useMemo)(() => {
19332
19364
  const result = [];
19333
19365
  const addedAddresses = /* @__PURE__ */ new Set();
19334
19366
  if (nativeBalanceData) {
@@ -19422,7 +19454,7 @@ function useBlockscoutAssets(options) {
19422
19454
  watchTokenAssets,
19423
19455
  chainConfig
19424
19456
  ]);
19425
- const nativeBalance = (0, import_react61.useMemo)(() => {
19457
+ const nativeBalance = (0, import_react62.useMemo)(() => {
19426
19458
  if (!nativeBalanceData) return null;
19427
19459
  return {
19428
19460
  value: nativeBalanceData.value,
@@ -19430,11 +19462,11 @@ function useBlockscoutAssets(options) {
19430
19462
  symbol: nativeBalanceData.symbol
19431
19463
  };
19432
19464
  }, [nativeBalanceData]);
19433
- const error = (0, import_react61.useMemo)(() => {
19465
+ const error = (0, import_react62.useMemo)(() => {
19434
19466
  if (!blockscoutError) return null;
19435
19467
  return createError(blockscoutError);
19436
19468
  }, [blockscoutError]);
19437
- const refreshBalances = (0, import_react61.useCallback)(async () => {
19469
+ const refreshBalances = (0, import_react62.useCallback)(async () => {
19438
19470
  const now = Date.now();
19439
19471
  if (now - lastRefreshRef.current < BLOCKSCOUT_REFRESH_DEBOUNCE) {
19440
19472
  return;
@@ -19450,7 +19482,7 @@ function useBlockscoutAssets(options) {
19450
19482
  qc.invalidateQueries({ queryKey: [WATCH_TOKENS_QUERY_KEY] })
19451
19483
  ]);
19452
19484
  }, [qc, customTokenBalancesQueryKey]);
19453
- const getTokenBalance = (0, import_react61.useCallback)(
19485
+ const getTokenBalance = (0, import_react62.useCallback)(
19454
19486
  (tokenAddress) => {
19455
19487
  return assets.find((a) => a.address?.toLowerCase() === tokenAddress.toLowerCase()) || null;
19456
19488
  },
@@ -19469,13 +19501,13 @@ function useBlockscoutAssets(options) {
19469
19501
  lastUpdated: dataUpdatedAt || null
19470
19502
  };
19471
19503
  }
19472
- var import_core4, import_react_query39, import_react61;
19504
+ var import_core4, import_react_query39, import_react62;
19473
19505
  var init_useBlockscoutAssets = __esm({
19474
19506
  "src/internal/hooks/useBlockscoutAssets/useBlockscoutAssets.ts"() {
19475
19507
  init_ProviderContext();
19476
19508
  import_core4 = require("@embarkai/core");
19477
19509
  import_react_query39 = require("@tanstack/react-query");
19478
- import_react61 = require("react");
19510
+ import_react62 = require("react");
19479
19511
  init_initial();
19480
19512
  init_constants();
19481
19513
  init_useResolvedPublicClient();
@@ -19766,7 +19798,7 @@ function PortfolioMenu() {
19766
19798
  enabled: !!address
19767
19799
  });
19768
19800
  const shownProjectAssets = projectAssets.filter((asset) => !asset.hideInPortfolio);
19769
- const refreshAllAssetsBalances = (0, import_react62.useCallback)(() => {
19801
+ const refreshAllAssetsBalances = (0, import_react63.useCallback)(() => {
19770
19802
  Promise.all(shownProjectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
19771
19803
  refreshBlockscoutBalances();
19772
19804
  }, [qc, shownProjectAssets, refreshBlockscoutBalances]);
@@ -19822,7 +19854,7 @@ function PortfolioMenu() {
19822
19854
  }
19823
19855
  );
19824
19856
  }
19825
- var import_react_query41, import_lucide_react50, import_react62, import_jsx_runtime85;
19857
+ var import_react_query41, import_lucide_react50, import_react63, import_jsx_runtime85;
19826
19858
  var init_PortfolioMenu = __esm({
19827
19859
  "src/internal/components/PortfolioMenu/PortfolioMenu.tsx"() {
19828
19860
  init_ProviderContext();
@@ -19830,7 +19862,7 @@ var init_PortfolioMenu = __esm({
19830
19862
  init_i18n();
19831
19863
  import_react_query41 = require("@tanstack/react-query");
19832
19864
  import_lucide_react50 = require("lucide-react");
19833
- import_react62 = require("react");
19865
+ import_react63 = require("react");
19834
19866
  init_useBlockscoutAssets2();
19835
19867
  init_useLayoutDataStore();
19836
19868
  init_useLayoutStore();
@@ -19954,11 +19986,11 @@ function ReceiveMenu() {
19954
19986
  const { t } = useT();
19955
19987
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
19956
19988
  const open = page === "receive";
19957
- const [qrCodeUrl, setQrCodeUrl] = (0, import_react63.useState)("");
19958
- const [copied, setCopied] = (0, import_react63.useState)(false);
19959
- const [fingerprintCopied, setFingerprintCopied] = (0, import_react63.useState)(false);
19989
+ const [qrCodeUrl, setQrCodeUrl] = (0, import_react64.useState)("");
19990
+ const [copied, setCopied] = (0, import_react64.useState)(false);
19991
+ const [fingerprintCopied, setFingerprintCopied] = (0, import_react64.useState)(false);
19960
19992
  useOnboardingTourAvailable(true);
19961
- const fingerprint = (0, import_react63.useMemo)(() => {
19993
+ const fingerprint = (0, import_react64.useMemo)(() => {
19962
19994
  if (!session?.ownerAddress) return null;
19963
19995
  try {
19964
19996
  return generateFingerprint(session.ownerAddress);
@@ -19966,7 +19998,7 @@ function ReceiveMenu() {
19966
19998
  return null;
19967
19999
  }
19968
20000
  }, [session?.ownerAddress]);
19969
- (0, import_react63.useEffect)(() => {
20001
+ (0, import_react64.useEffect)(() => {
19970
20002
  if (open && address) {
19971
20003
  import_qrcode.default.toDataURL(address, {
19972
20004
  width: 200,
@@ -19979,7 +20011,7 @@ function ReceiveMenu() {
19979
20011
  });
19980
20012
  }
19981
20013
  }, [open, address]);
19982
- const handleCopy = (0, import_react63.useCallback)(async () => {
20014
+ const handleCopy = (0, import_react64.useCallback)(async () => {
19983
20015
  if (!address) return;
19984
20016
  try {
19985
20017
  await navigator.clipboard.writeText(address);
@@ -19989,7 +20021,7 @@ function ReceiveMenu() {
19989
20021
  console.error("Failed to copy address:", error);
19990
20022
  }
19991
20023
  }, [address]);
19992
- const handleCopyFingerprint = (0, import_react63.useCallback)(async () => {
20024
+ const handleCopyFingerprint = (0, import_react64.useCallback)(async () => {
19993
20025
  if (!fingerprint) return;
19994
20026
  try {
19995
20027
  await navigator.clipboard.writeText(fingerprint);
@@ -20051,14 +20083,14 @@ function ReceiveMenu() {
20051
20083
  }
20052
20084
  );
20053
20085
  }
20054
- var import_lucide_react51, import_qrcode, import_react63, import_jsx_runtime86;
20086
+ var import_lucide_react51, import_qrcode, import_react64, import_jsx_runtime86;
20055
20087
  var init_ReceiveMenu = __esm({
20056
20088
  "src/internal/components/ReceiveMenu/ReceiveMenu.tsx"() {
20057
20089
  init_SessionContext();
20058
20090
  init_i18n();
20059
20091
  import_lucide_react51 = require("lucide-react");
20060
20092
  import_qrcode = __toESM(require("qrcode"), 1);
20061
- import_react63 = require("react");
20093
+ import_react64 = require("react");
20062
20094
  init_useLayoutDataStore();
20063
20095
  init_useLayoutStore();
20064
20096
  init_nickname_fingerprint();
@@ -20079,18 +20111,21 @@ var init_ReceiveMenu2 = __esm({
20079
20111
  });
20080
20112
 
20081
20113
  // src/internal/components/SecurityMenu/onboarding.setup.ts
20082
- var CONNECTED_APPS_TOUR, KEYSHARE_TOUR, SECURITY_MENU_TOUR;
20114
+ var SECURITY_MENU_TOUR;
20083
20115
  var init_onboarding_setup8 = __esm({
20084
20116
  "src/internal/components/SecurityMenu/onboarding.setup.ts"() {
20085
- init_Onboarding();
20086
- CONNECTED_APPS_TOUR = [
20117
+ SECURITY_MENU_TOUR = [
20087
20118
  {
20088
- elId: "embarkai-security-menu-connected-apps-onboarding" /* connectedApps */,
20089
- title: "passport:securityMenu.onboarding.connectedApps.title",
20090
- description: "passport:securityMenu.onboarding.connectedApps.description"
20091
- }
20092
- ];
20093
- KEYSHARE_TOUR = [
20119
+ elId: "embarkai-security-menu-onboarding" /* securityMenu */,
20120
+ title: "passport:securityMenu.onboarding.securityMenu.title",
20121
+ description: "passport:securityMenu.onboarding.securityMenu.description"
20122
+ },
20123
+ /** KEYSHARE */
20124
+ {
20125
+ elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
20126
+ title: "passport:securityMenu.onboarding.keyshare.title",
20127
+ description: "passport:securityMenu.onboarding.keyshare.description"
20128
+ },
20094
20129
  {
20095
20130
  elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
20096
20131
  title: "passport:securityMenu.onboarding.keyshare.details.concept.title",
@@ -20116,39 +20151,11 @@ var init_onboarding_setup8 = __esm({
20116
20151
  title: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.title",
20117
20152
  description: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.description"
20118
20153
  },
20119
- ...CONNECTED_APPS_TOUR
20120
- ];
20121
- SECURITY_MENU_TOUR = [
20122
20154
  {
20123
- elId: "embarkai-security-menu-onboarding" /* securityMenu */,
20124
- title: "passport:securityMenu.onboarding.securityMenu.title",
20125
- description: "passport:securityMenu.onboarding.securityMenu.description"
20126
- },
20127
- /** KEYSHARE */
20128
- {
20129
- elId: "embarkai-security-menu-keyshare-onboarding" /* keyshare */,
20130
- title: "passport:securityMenu.onboarding.keyshare.title",
20131
- description: "passport:securityMenu.onboarding.keyshare.description",
20132
- actions: [
20133
- {
20134
- caption: "passport:securityMenu.onboarding.keyshare.detailsButton",
20135
- onClick: () => {
20136
- onboarder.endTour();
20137
- setTimeout(() => onboarder.startTour(KEYSHARE_TOUR), 220);
20138
- }
20139
- },
20140
- {
20141
- caption: "passport:common.continue",
20142
- onClick: () => onboarder.next()
20143
- }
20144
- ]
20145
- },
20146
- {
20147
- elId: "embarkai-security-menu-keyshare-existing-backup-onboarding" /* keyshareExistingVaultBkp */,
20148
- title: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.title",
20149
- description: "passport:securityMenu.onboarding.keyshareExistingVaultBkp.description"
20150
- },
20151
- ...CONNECTED_APPS_TOUR
20155
+ elId: "embarkai-security-menu-connected-apps-onboarding" /* connectedApps */,
20156
+ title: "passport:securityMenu.onboarding.connectedApps.title",
20157
+ description: "passport:securityMenu.onboarding.connectedApps.description"
20158
+ }
20152
20159
  ];
20153
20160
  }
20154
20161
  });
@@ -20306,7 +20313,7 @@ function Application(props) {
20306
20313
  function ConnectedApps() {
20307
20314
  const { t } = useT();
20308
20315
  const { data: connectedApps = [], isLoading: isConnectedAppsLoading } = useConnectedApps();
20309
- (0, import_react64.useEffect)(() => {
20316
+ (0, import_react65.useEffect)(() => {
20310
20317
  if (!connectedApps.length || isConnectedAppsLoading) return;
20311
20318
  useSecurityStore.getState().setRenderKey(`connected-apps-loaded-${Date.now()}`);
20312
20319
  }, [connectedApps, isConnectedAppsLoading]);
@@ -20338,14 +20345,14 @@ function ConnectedApps() {
20338
20345
  )
20339
20346
  ] });
20340
20347
  }
20341
- var import_dayjs5, import_lucide_react52, import_react64, import_jsx_runtime87;
20348
+ var import_dayjs5, import_lucide_react52, import_react65, import_jsx_runtime87;
20342
20349
  var init_ConnectedApps = __esm({
20343
20350
  "src/internal/components/SecurityMenu/ConnectedApps/ConnectedApps.tsx"() {
20344
20351
  init_utils2();
20345
20352
  init_i18n();
20346
20353
  import_dayjs5 = __toESM(require("dayjs"), 1);
20347
20354
  import_lucide_react52 = require("lucide-react");
20348
- import_react64 = require("react");
20355
+ import_react65 = require("react");
20349
20356
  init_Onboarding();
20350
20357
  init_button();
20351
20358
  init_highlight();
@@ -20463,14 +20470,14 @@ var init_ConnectedApps2 = __esm({
20463
20470
  });
20464
20471
 
20465
20472
  // src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx
20466
- var import_lucide_react54, import_react65, import_jsx_runtime89, KeyshareStatus;
20473
+ var import_lucide_react54, import_react66, import_jsx_runtime89, KeyshareStatus;
20467
20474
  var init_KeyshareStatus = __esm({
20468
20475
  "src/internal/components/SecurityMenu/Keyshare/KeyshareStatus.tsx"() {
20469
20476
  import_lucide_react54 = require("lucide-react");
20470
- import_react65 = require("react");
20477
+ import_react66 = require("react");
20471
20478
  init_utils2();
20472
20479
  import_jsx_runtime89 = require("react/jsx-runtime");
20473
- KeyshareStatus = (0, import_react65.forwardRef)((props, ref) => {
20480
+ KeyshareStatus = (0, import_react66.forwardRef)((props, ref) => {
20474
20481
  const { isLoading, content, icon: Icon2, children } = props;
20475
20482
  if (isLoading) return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_lucide_react54.Loader, { className: "w-4 h-4 animate-spin" });
20476
20483
  return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { ref, className: "group relative w-full h-full", children: [
@@ -20609,7 +20616,7 @@ function Keyshare() {
20609
20616
  const { t } = useT();
20610
20617
  const serverHasKeyshare = import_auth23.jwtTokenManager.getHasKeyshare() ?? false;
20611
20618
  const { data: recoveryData, isLoading: isRecoveryLoading } = useKeyshareRecoveryStats();
20612
- (0, import_react66.useEffect)(() => {
20619
+ (0, import_react67.useEffect)(() => {
20613
20620
  if (!recoveryData?.keyshareInfo || isRecoveryLoading) return;
20614
20621
  useSecurityStore.getState().setRenderKey(`keyshare-loaded-${Date.now()}`);
20615
20622
  }, [recoveryData, isRecoveryLoading]);
@@ -20706,13 +20713,13 @@ function Keyshare() {
20706
20713
  ] })
20707
20714
  ] });
20708
20715
  }
20709
- var import_lucide_react56, import_react66, import_jsx_runtime91;
20716
+ var import_lucide_react56, import_react67, import_jsx_runtime91;
20710
20717
  var init_Keyshare = __esm({
20711
20718
  "src/internal/components/SecurityMenu/Keyshare/Keyshare.tsx"() {
20712
20719
  init_SessionContext();
20713
20720
  init_useT();
20714
20721
  import_lucide_react56 = require("lucide-react");
20715
- import_react66 = require("react");
20722
+ import_react67 = require("react");
20716
20723
  init_icons();
20717
20724
  init_auth();
20718
20725
  init_useLayoutDataStore();
@@ -21056,12 +21063,12 @@ function SenderSelector(props) {
21056
21063
  const { openConnectModal } = (0, import_rainbowkit.useConnectModal)();
21057
21064
  const directWalletAddress = useExternalWalletStore((st) => st.externalAddress);
21058
21065
  const directWalletIsConnected = useExternalWalletStore((st) => st.isExternalConnected);
21059
- const pendingWalletRef = (0, import_react67.useRef)(null);
21066
+ const pendingWalletRef = (0, import_react68.useRef)(null);
21060
21067
  const originChain = useBridgeStore((st) => st.originChain);
21061
21068
  const bridgeSender = useBridgeStore((st) => st.bridgeSender);
21062
21069
  const bridgeSenders = useBridgeStore((st) => st.bridgeSenders);
21063
- const [walletMessage, setWalletMessage] = (0, import_react67.useState)(null);
21064
- (0, import_react67.useEffect)(() => {
21070
+ const [walletMessage, setWalletMessage] = (0, import_react68.useState)(null);
21071
+ (0, import_react68.useEffect)(() => {
21065
21072
  useFlowSelectorStore.getState().setRenderKey(`sender-selected-${Date.now()}`);
21066
21073
  }, [walletMessage]);
21067
21074
  const { mutate: loginDirectWallet, isPending: isDirectWalletLoggingIn } = (0, import_react_query45.useMutation)({
@@ -21117,7 +21124,7 @@ function SenderSelector(props) {
21117
21124
  setWalletMessage(error instanceof Error ? error.message : "Wallet login failed. Please try again.");
21118
21125
  }
21119
21126
  });
21120
- (0, import_react67.useEffect)(() => {
21127
+ (0, import_react68.useEffect)(() => {
21121
21128
  const pendingProfile = pendingWalletRef.current;
21122
21129
  if (!pendingProfile || !directWalletIsConnected || !directWalletAddress) return;
21123
21130
  if (directWalletAddress.toLowerCase() !== pendingProfile.externalId?.toLowerCase()) return;
@@ -21208,14 +21215,14 @@ function SenderSelector(props) {
21208
21215
  ] })
21209
21216
  ] });
21210
21217
  }
21211
- var import_rainbowkit, import_react_query45, import_react67, import_wagmi3, import_jsx_runtime93;
21218
+ var import_rainbowkit, import_react_query45, import_react68, import_wagmi3, import_jsx_runtime93;
21212
21219
  var init_SenderSelector = __esm({
21213
21220
  "src/internal/components/SendMenu/hyperbridge/components/SenderSelector.tsx"() {
21214
21221
  init_ProviderContext();
21215
21222
  init_i18n();
21216
21223
  import_rainbowkit = require("@rainbow-me/rainbowkit");
21217
21224
  import_react_query45 = require("@tanstack/react-query");
21218
- import_react67 = require("react");
21225
+ import_react68 = require("react");
21219
21226
  import_wagmi3 = require("wagmi");
21220
21227
  init_wallet();
21221
21228
  init_useLayoutDataStore();
@@ -21315,8 +21322,8 @@ var init_wallets = __esm({
21315
21322
  function useAvailableSenders() {
21316
21323
  const address = useSession((st) => st.address);
21317
21324
  const { profiles } = useLinkedProfiles();
21318
- const lastCalcedSenders = (0, import_react68.useRef)([]);
21319
- (0, import_react68.useEffect)(() => {
21325
+ const lastCalcedSenders = (0, import_react69.useRef)([]);
21326
+ (0, import_react69.useEffect)(() => {
21320
21327
  const sendersAccumulator = [
21321
21328
  {
21322
21329
  type: "embarkai-wallet",
@@ -21347,13 +21354,13 @@ function useAvailableSenders() {
21347
21354
  directWalletProfile: profiles.filter((p) => p.provider === "wallet")[0] || null
21348
21355
  };
21349
21356
  }
21350
- var import_react68;
21357
+ var import_react69;
21351
21358
  var init_useAvailableSenders = __esm({
21352
21359
  "src/internal/components/SendMenu/hyperbridge/hooks/useAvailableSenders.ts"() {
21353
21360
  init_SessionContext();
21354
21361
  init_tokens();
21355
21362
  init_linkedProfiles();
21356
- import_react68 = require("react");
21363
+ import_react69 = require("react");
21357
21364
  init_wallets();
21358
21365
  init_useFlowSelector();
21359
21366
  init_useBridgeStore();
@@ -21671,9 +21678,10 @@ function getAssetBalance(asset) {
21671
21678
  return Number((0, import_viem13.formatUnits)(BigInt(asset.balance || "0"), asset.decimals || 18));
21672
21679
  }
21673
21680
  function isOririnChainEmbarkSupported(originChain) {
21674
- const activeChainId = useSession.getState().activeChainId;
21675
- const supportedChain = [...import_read20.SUPPORTED_CHAINS].map(([chainId]) => chainId);
21676
- return supportedChain.includes(CHAINS_UI_META[originChain].chainID) && activeChainId === CHAINS_UI_META[originChain].chainID;
21681
+ const originChainID = CHAINS_UI_META[originChain]?.chainID;
21682
+ if (!originChainID) return false;
21683
+ const supportedChainIDS = [...import_read20.SUPPORTED_CHAINS].map(([chainId]) => chainId);
21684
+ return supportedChainIDS.includes(originChainID) && useSession.getState().activeChainId === originChainID;
21677
21685
  }
21678
21686
  var import_read20, import_viem13;
21679
21687
  var init_utils9 = __esm({
@@ -21701,29 +21709,29 @@ function useHyperlaneHistory() {
21701
21709
  queryFn: async ({ pageParam }) => await getHyperlaneBridgeHistory({ page: pageParam, pageSize: TX_HISTORY_PAGE_SIZE })
21702
21710
  });
21703
21711
  const { data: txHistoryData, isLoading: isBridgeTxHistoryLoading } = query;
21704
- const txList = (0, import_react69.useMemo)(
21712
+ const txList = (0, import_react70.useMemo)(
21705
21713
  () => txHistoryData?.pages?.map((p) => p.data).flat(Infinity) || [],
21706
21714
  [txHistoryData]
21707
21715
  );
21708
- const updateExpandable = (0, import_react69.useCallback)(
21716
+ const updateExpandable = (0, import_react70.useCallback)(
21709
21717
  (0, import_lodash_es12.debounce)(() => {
21710
21718
  useFlowSelectorStore.getState().setRenderKey(`hyperlane-history-loaded-${Date.now()}`);
21711
21719
  }, 250),
21712
21720
  []
21713
21721
  );
21714
- (0, import_react69.useEffect)(() => {
21722
+ (0, import_react70.useEffect)(() => {
21715
21723
  if (isBridgeTxHistoryLoading || txList.length === 0) return;
21716
21724
  updateExpandable();
21717
21725
  }, [isBridgeTxHistoryLoading, txList]);
21718
21726
  return { query, txList };
21719
21727
  }
21720
- var import_react_query46, import_lodash_es12, import_react69, HYPERLANE_HISTORY_QUERY_KEY, TX_HISTORY_PAGE_SIZE, TX_HISTORY_POLLING_INTERVAL;
21728
+ var import_react_query46, import_lodash_es12, import_react70, HYPERLANE_HISTORY_QUERY_KEY, TX_HISTORY_PAGE_SIZE, TX_HISTORY_POLLING_INTERVAL;
21721
21729
  var init_useHyperlaneHistory = __esm({
21722
21730
  "src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneHistory.ts"() {
21723
21731
  init_SessionContext();
21724
21732
  import_react_query46 = require("@tanstack/react-query");
21725
21733
  import_lodash_es12 = require("lodash-es");
21726
- import_react69 = require("react");
21734
+ import_react70 = require("react");
21727
21735
  init_useLayoutDataStore();
21728
21736
  init_useFlowSelector();
21729
21737
  init_api3();
@@ -21755,7 +21763,7 @@ function useBridge() {
21755
21763
  const address = useSession((st) => st.address);
21756
21764
  const { data: walletClient } = (0, import_wagmi4.useWalletClient)();
21757
21765
  const { switchChainAsync } = (0, import_wagmi4.useSwitchChain)();
21758
- const swapDirection = (0, import_react70.useCallback)(() => {
21766
+ const swapDirection = (0, import_react71.useCallback)(() => {
21759
21767
  const {
21760
21768
  bridgeStep,
21761
21769
  originChain,
@@ -21807,7 +21815,7 @@ function useBridge() {
21807
21815
  useFlowSelectorStore.getState().setError(error instanceof Error ? error.message : String(error));
21808
21816
  }
21809
21817
  });
21810
- const handleQuoteEstimation = (0, import_react70.useCallback)((amnt) => {
21818
+ const handleQuoteEstimation = (0, import_react71.useCallback)((amnt) => {
21811
21819
  const { originChain, destinationChain, bridgeSender } = useBridgeStore.getState();
21812
21820
  if (!amnt || !Number(amnt)) {
21813
21821
  useBridgeStore.getState().setQuote(null);
@@ -21932,14 +21940,14 @@ function useBridge() {
21932
21940
  isAssetBridging
21933
21941
  };
21934
21942
  }
21935
- var import_react_query47, import_react70, import_wagmi4;
21943
+ var import_react_query47, import_react71, import_wagmi4;
21936
21944
  var init_useBridge = __esm({
21937
21945
  "src/internal/components/SendMenu/hyperbridge/hooks/useBridge.ts"() {
21938
21946
  init_SessionContext();
21939
21947
  init_i18n();
21940
21948
  init_useExternalWalletStore();
21941
21949
  import_react_query47 = require("@tanstack/react-query");
21942
- import_react70 = require("react");
21950
+ import_react71 = require("react");
21943
21951
  import_wagmi4 = require("wagmi");
21944
21952
  init_useLayoutStore();
21945
21953
  init_useFlowSelector();
@@ -21967,13 +21975,9 @@ function useHyperlaneRoutes() {
21967
21975
  retry: false,
21968
21976
  enabled: !!address && page === "send" /* SEND */ && flow === "bridge",
21969
21977
  queryKey: [HYPERLANE_WARP_ROUTES_QUERY_KEY, address],
21970
- queryFn: async () => {
21971
- const warpRoutes = await getHyperlaneWarpRoutes();
21972
- useFlowSelectorStore.getState().setRenderKey(`hyperlane-bridge-warp-routes-loaded-${Date.now()}`);
21973
- return warpRoutes;
21974
- }
21978
+ queryFn: async () => await getHyperlaneWarpRoutes()
21975
21979
  });
21976
- (0, import_react71.useEffect)(() => {
21980
+ (0, import_react72.useEffect)(() => {
21977
21981
  if (!errorWarpRoutes) return;
21978
21982
  useFlowSelectorStore.getState().setError(errorWarpRoutes.message);
21979
21983
  const { resetSelections, setRecipient, setOriginChain, setDestinationChain } = useBridgeStore.getState();
@@ -21982,31 +21986,41 @@ function useHyperlaneRoutes() {
21982
21986
  setOriginChain(null);
21983
21987
  setDestinationChain(null);
21984
21988
  }, [errorWarpRoutes]);
21985
- (0, import_react71.useEffect)(() => {
21989
+ (0, import_react72.useEffect)(() => {
21986
21990
  if (!!hyperRoute || !hyperlaneWarpRoutes.length) return;
21987
- const warpRouteToAutoSelect = hyperlaneWarpRoutes.find((route) => route.routeId === hyperRoute);
21988
- if (!warpRouteToAutoSelect) return;
21991
+ let targetHyperRouteToSelect = hyperlaneWarpRoutes.find((route) => route.routeId === hyperRoute);
21992
+ if (!targetHyperRouteToSelect) {
21993
+ targetHyperRouteToSelect = hyperlaneWarpRoutes.find(
21994
+ (el) => el.symbol === (useSession.getState().chainConfig?.nativeCurrency?.symbol || "USDT")
21995
+ );
21996
+ }
21997
+ if (!targetHyperRouteToSelect) {
21998
+ useFlowSelectorStore.getState().setRenderKey(`no-hyperlane-bridge-warp-routes-loaded-${Date.now()}`);
21999
+ return;
22000
+ }
21989
22001
  let originChainIndex = 0;
21990
22002
  let destinationChainIndex = 1;
21991
- if (useBridgeStore.getState().bridgeSender === "embarkai-wallet") {
21992
- const foundIdx = warpRouteToAutoSelect.chainPair?.findIndex((chain) => isOririnChainEmbarkSupported(chain.chainName)) || -1;
22003
+ const { bridgeSender, setOriginChain, setDestinationChain, setHyperRoute } = useBridgeStore.getState();
22004
+ if (bridgeSender === "embarkai-wallet") {
22005
+ const foundIdx = targetHyperRouteToSelect.chainPair?.findIndex((chain) => isOririnChainEmbarkSupported(chain.chainName)) || -1;
21993
22006
  if (foundIdx !== -1) {
21994
22007
  originChainIndex = foundIdx;
21995
22008
  destinationChainIndex = foundIdx === 0 ? 1 : 0;
21996
22009
  }
21997
22010
  }
21998
- useBridgeStore.getState().setOriginChain(warpRouteToAutoSelect.chainPair[originChainIndex].chainName);
21999
- useBridgeStore.getState().setDestinationChain(warpRouteToAutoSelect.chainPair[destinationChainIndex].chainName);
22000
- useBridgeStore.getState().setHyperRoute(warpRouteToAutoSelect?.routeId || hyperlaneWarpRoutes[0].routeId);
22011
+ setOriginChain(targetHyperRouteToSelect.chainPair[originChainIndex].chainName);
22012
+ setDestinationChain(targetHyperRouteToSelect.chainPair[destinationChainIndex].chainName);
22013
+ setHyperRoute(targetHyperRouteToSelect.routeId);
22014
+ useFlowSelectorStore.getState().setRenderKey(`hyperlane-bridge-warp-routes-loaded-${Date.now()}`);
22001
22015
  }, [hyperRoute, hyperlaneWarpRoutes]);
22002
22016
  return { hyperlaneWarpRoutes, isLoadingWarpRoutes };
22003
22017
  }
22004
- var import_react_query48, import_react71, HYPERLANE_WARP_ROUTES_QUERY_KEY;
22018
+ var import_react_query48, import_react72, HYPERLANE_WARP_ROUTES_QUERY_KEY;
22005
22019
  var init_useHyperlaneRoutes = __esm({
22006
22020
  "src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneRoutes.ts"() {
22007
22021
  init_SessionContext();
22008
22022
  import_react_query48 = require("@tanstack/react-query");
22009
- import_react71 = require("react");
22023
+ import_react72 = require("react");
22010
22024
  init_useLayoutDataStore();
22011
22025
  init_useFlowSelector();
22012
22026
  init_api3();
@@ -22022,7 +22036,7 @@ function useMenuTitle(warpRoutes) {
22022
22036
  const bridgeStep = useBridgeStore((st) => st.bridgeStep);
22023
22037
  const hyperRoute = useBridgeStore((st) => st.hyperRoute);
22024
22038
  const hyperRouteMeta = warpRoutes?.length ? warpRoutes.find((route) => route.routeId === hyperRoute) : null;
22025
- (0, import_react72.useEffect)(() => {
22039
+ (0, import_react73.useEffect)(() => {
22026
22040
  const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
22027
22041
  switch (true) {
22028
22042
  case bridgeStep === "sender-selector":
@@ -22050,11 +22064,11 @@ function useMenuTitle(warpRoutes) {
22050
22064
  }
22051
22065
  }, [bridgeStep, hyperRouteMeta, t]);
22052
22066
  }
22053
- var import_react72;
22067
+ var import_react73;
22054
22068
  var init_useMenuTitle = __esm({
22055
22069
  "src/internal/components/SendMenu/hyperbridge/hooks/useMenuTitle.ts"() {
22056
22070
  init_i18n();
22057
- import_react72 = require("react");
22071
+ import_react73 = require("react");
22058
22072
  init_useFlowSelector();
22059
22073
  init_useBridgeStore();
22060
22074
  }
@@ -22311,7 +22325,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
22311
22325
  };
22312
22326
  }
22313
22327
  });
22314
- const refreshRouteTokenBalance = (0, import_react73.useCallback)(
22328
+ const refreshRouteTokenBalance = (0, import_react74.useCallback)(
22315
22329
  (senderWallet) => {
22316
22330
  switch (true) {
22317
22331
  case senderWallet === "embarkai-wallet":
@@ -22327,7 +22341,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
22327
22341
  },
22328
22342
  [refreshBalances, qc]
22329
22343
  );
22330
- (0, import_react73.useEffect)(() => {
22344
+ (0, import_react74.useEffect)(() => {
22331
22345
  if (!bridgeSender || !originChain) return;
22332
22346
  switch (bridgeSender) {
22333
22347
  case "embarkai-wallet":
@@ -22351,21 +22365,21 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
22351
22365
  break;
22352
22366
  }
22353
22367
  }, [bridgeSender, originChain, directWalletChainId, switchChainAsync]);
22354
- const embarkBalance = CHAINS_UI_META[originChain].chainID === activeChainId && embarkTokenBalanace ? getAssetBalance(embarkTokenBalanace) : 0;
22368
+ const embarkBalance = !!embarkTokenBalanace && CHAINS_UI_META[originChain]?.chainID === activeChainId ? getAssetBalance(embarkTokenBalanace) : 0;
22355
22369
  const externalWalletBalance = isSelectedTokenNative ? (0, import_viem14.formatUnits)(externalNativeBalanceData?.value || BigInt(0), externalNativeBalanceData?.decimals || 18) : (0, import_viem14.formatUnits)(externalBalanceData?.value || BigInt(0), externalBalanceData?.decimals || 18);
22356
22370
  return {
22357
22371
  routeTokenBalance: isEmbarkSender ? embarkBalance : externalWalletBalance,
22358
22372
  isRouteTokenBalanceLoading: isAssetsLoading || isExternalBalanceLoading || isExternalNativeBalanceLoading
22359
22373
  };
22360
22374
  }
22361
- var import_core8, import_react_query49, import_react73, import_viem14, import_wagmi5, EXTERNAL_WALLET_BRIDGING_BALANCE_QUERY, EXTERNAL_WALLET_BRIDGING_NATIVE_BALANCE_QUERY;
22375
+ var import_core8, import_react_query49, import_react74, import_viem14, import_wagmi5, EXTERNAL_WALLET_BRIDGING_BALANCE_QUERY, EXTERNAL_WALLET_BRIDGING_NATIVE_BALANCE_QUERY;
22362
22376
  var init_useBridgeBalance = __esm({
22363
22377
  "src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts"() {
22364
22378
  init_SessionContext();
22365
22379
  init_i18n();
22366
22380
  import_core8 = require("@embarkai/core");
22367
22381
  import_react_query49 = require("@tanstack/react-query");
22368
- import_react73 = require("react");
22382
+ import_react74 = require("react");
22369
22383
  import_viem14 = require("viem");
22370
22384
  import_wagmi5 = require("wagmi");
22371
22385
  init_useBlockscoutAssets2();
@@ -22489,7 +22503,7 @@ function SelectStep(props) {
22489
22503
  variant: "outline",
22490
22504
  size: "medium",
22491
22505
  className: "bg-[var(--ui-kit-bg)] flex items-center gap-[var(--ui-kit-gap)]",
22492
- children: selectedWarpRoute.chainPair.map((chain, chIdx) => /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_react74.Fragment, { children: [
22506
+ children: selectedWarpRoute.chainPair.map((chain, chIdx) => /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_react75.Fragment, { children: [
22493
22507
  chIdx > 0 && /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react59.ArrowLeftRightIcon, { className: "w-4 h-4 " }),
22494
22508
  /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(ResolveChainIcon, { chainName: chain.chainName, className: "w-4 h-4" })
22495
22509
  ] }, `${selectedWarpRoute.id}-icon-${chain.chainID}-${chIdx}`))
@@ -22633,13 +22647,13 @@ function SelectStep(props) {
22633
22647
  )
22634
22648
  ] });
22635
22649
  }
22636
- var import_lucide_react59, import_react74, import_jsx_runtime97;
22650
+ var import_lucide_react59, import_react75, import_jsx_runtime97;
22637
22651
  var init_SelectStep = __esm({
22638
22652
  "src/internal/components/SendMenu/hyperbridge/steps/SelectStep.tsx"() {
22639
22653
  init_tokens();
22640
22654
  init_i18n();
22641
22655
  import_lucide_react59 = require("lucide-react");
22642
- import_react74 = require("react");
22656
+ import_react75 = require("react");
22643
22657
  init_priceFormatter();
22644
22658
  init_utils2();
22645
22659
  init_Onboarding();
@@ -22689,7 +22703,7 @@ var init_checkbox = __esm({
22689
22703
  // src/internal/components/SendMenu/hyperbridge/steps/ConfirmStep.tsx
22690
22704
  function ConfirmStep(props) {
22691
22705
  const { isAssetBridging, bridgeAsset, hyperlaneWarpRoutes } = props;
22692
- const [userConsent, setUserConsent] = (0, import_react75.useState)(false);
22706
+ const [userConsent, setUserConsent] = (0, import_react76.useState)(false);
22693
22707
  const { t } = useT();
22694
22708
  const address = useSession((st) => st.address);
22695
22709
  const bridgeSender = useBridgeStore((st) => st.bridgeSenders.find((s) => s.type === st.bridgeSender));
@@ -22805,13 +22819,13 @@ function ConfirmStep(props) {
22805
22819
  }
22806
22820
  );
22807
22821
  }
22808
- var import_lucide_react61, import_react75, import_jsx_runtime99, P_CN;
22822
+ var import_lucide_react61, import_react76, import_jsx_runtime99, P_CN;
22809
22823
  var init_ConfirmStep = __esm({
22810
22824
  "src/internal/components/SendMenu/hyperbridge/steps/ConfirmStep.tsx"() {
22811
22825
  init_SessionContext();
22812
22826
  init_i18n();
22813
22827
  import_lucide_react61 = require("lucide-react");
22814
- import_react75 = require("react");
22828
+ import_react76 = require("react");
22815
22829
  init_priceFormatter();
22816
22830
  init_utils2();
22817
22831
  init_Onboarding();
@@ -23188,7 +23202,7 @@ function SelectAssetRoute(props) {
23188
23202
  const { hyperlaneWarpRoutes } = props;
23189
23203
  const { t } = useT();
23190
23204
  const selectedAssetSymbol = useBridgeStore((st) => st.bridgeAssetSymbol);
23191
- const tokenList = (0, import_react76.useMemo)(() => {
23205
+ const tokenList = (0, import_react77.useMemo)(() => {
23192
23206
  const tokens = hyperlaneWarpRoutes.map((route) => route.symbol);
23193
23207
  const uniqueTokens = Array.from(new Set(tokens));
23194
23208
  return uniqueTokens.map((symbol) => ({
@@ -23268,13 +23282,13 @@ function SelectAssetRoute(props) {
23268
23282
  ] })
23269
23283
  ] });
23270
23284
  }
23271
- var import_lucide_react63, import_react76, import_jsx_runtime102;
23285
+ var import_lucide_react63, import_react77, import_jsx_runtime102;
23272
23286
  var init_SelectAssetRoute = __esm({
23273
23287
  "src/internal/components/SendMenu/hyperbridge/steps/SelectAssetRoute.tsx"() {
23274
23288
  init_tokens();
23275
23289
  init_i18n();
23276
23290
  import_lucide_react63 = require("lucide-react");
23277
- import_react76 = require("react");
23291
+ import_react77 = require("react");
23278
23292
  init_button();
23279
23293
  init_useFlowSelector();
23280
23294
  init_ResolveChainIcon();
@@ -23302,7 +23316,7 @@ function HyperlaneBridge() {
23302
23316
  const { hyperlaneWarpRoutes, isLoadingWarpRoutes } = useHyperlaneRoutes();
23303
23317
  const { directWalletProfile } = useAvailableSenders();
23304
23318
  useMenuTitle(hyperlaneWarpRoutes);
23305
- (0, import_react77.useEffect)(() => {
23319
+ (0, import_react78.useEffect)(() => {
23306
23320
  return () => {
23307
23321
  useBridgeStore.getState().resetSelections();
23308
23322
  };
@@ -23335,10 +23349,10 @@ function HyperlaneBridge() {
23335
23349
  bridgeStep === "tx-history-details" && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(HistoryDetailsStep, {})
23336
23350
  ] });
23337
23351
  }
23338
- var import_react77, import_jsx_runtime103;
23352
+ var import_react78, import_jsx_runtime103;
23339
23353
  var init_HyperlaneBridge = __esm({
23340
23354
  "src/internal/components/SendMenu/hyperbridge/HyperlaneBridge.tsx"() {
23341
- import_react77 = require("react");
23355
+ import_react78 = require("react");
23342
23356
  init_SenderSelector();
23343
23357
  init_useAvailableSenders();
23344
23358
  init_useBridge();
@@ -23356,7 +23370,7 @@ function BridgeHistorySwitch(props) {
23356
23370
  const selectorFlow = useFlowSelectorStore((st) => st.flow);
23357
23371
  const isUiLocked = useFlowSelectorStore((st) => st.isUiLocked);
23358
23372
  const bridgeStep = useBridgeStore((st) => st.bridgeStep);
23359
- const lastBridgeStepRef = (0, import_react78.useRef)(null);
23373
+ const lastBridgeStepRef = (0, import_react79.useRef)(null);
23360
23374
  if (selectorFlow !== "bridge" || bridgeStep === "confirm" || bridgeStep === "success" || bridgeStep === "sender-selector" || bridgeStep === "select-token" || bridgeStep === "tx-history-details") {
23361
23375
  return null;
23362
23376
  }
@@ -23375,10 +23389,10 @@ function BridgeHistorySwitch(props) {
23375
23389
  }
23376
23390
  );
23377
23391
  }
23378
- var import_react78, import_jsx_runtime104;
23392
+ var import_react79, import_jsx_runtime104;
23379
23393
  var init_HistorySwitch = __esm({
23380
23394
  "src/internal/components/SendMenu/hyperbridge/components/HistorySwitch.tsx"() {
23381
- import_react78 = require("react");
23395
+ import_react79 = require("react");
23382
23396
  init_switch();
23383
23397
  init_useFlowSelector();
23384
23398
  init_useBridgeStore();
@@ -23469,11 +23483,11 @@ function looksLikeNickname(input) {
23469
23483
  }
23470
23484
  function useNicknameResolve(input, options) {
23471
23485
  const { enabled = true, chainId } = options;
23472
- const [debouncedInput, setDebouncedInput] = (0, import_react79.useState)("");
23473
- const [isDebouncing, setIsDebouncing] = (0, import_react79.useState)(false);
23486
+ const [debouncedInput, setDebouncedInput] = (0, import_react80.useState)("");
23487
+ const [isDebouncing, setIsDebouncing] = (0, import_react80.useState)(false);
23474
23488
  const normalized = normalizeNickname(input);
23475
23489
  const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
23476
- (0, import_react79.useEffect)(() => {
23490
+ (0, import_react80.useEffect)(() => {
23477
23491
  if (!isNicknameInput || !enabled) {
23478
23492
  setDebouncedInput("");
23479
23493
  setIsDebouncing(false);
@@ -23499,7 +23513,7 @@ function useNicknameResolve(input, options) {
23499
23513
  const isNotFound = query.isError && query.error?.code === "NICKNAME_NOT_FOUND";
23500
23514
  const isWalletNotSetup = !!query.data && query.data.resolvedTarget === null;
23501
23515
  const isFrozen = query.data?.isFrozen ?? false;
23502
- const fingerprintVerification = (0, import_react79.useMemo)(() => {
23516
+ const fingerprintVerification = (0, import_react80.useMemo)(() => {
23503
23517
  if (!query.data?.owner || !query.data?.fingerprint) {
23504
23518
  return null;
23505
23519
  }
@@ -23521,11 +23535,11 @@ function useNicknameResolve(input, options) {
23521
23535
  resolvedAddress
23522
23536
  };
23523
23537
  }
23524
- var import_react_query51, import_react79, DEBOUNCE_MS2;
23538
+ var import_react_query51, import_react80, DEBOUNCE_MS2;
23525
23539
  var init_useNicknameResolve = __esm({
23526
23540
  "src/hooks/useNicknameResolve.ts"() {
23527
23541
  import_react_query51 = require("@tanstack/react-query");
23528
- import_react79 = require("react");
23542
+ import_react80 = require("react");
23529
23543
  init_nickname();
23530
23544
  init_profile();
23531
23545
  init_nickname_fingerprint();
@@ -23538,10 +23552,10 @@ var init_useNicknameResolve = __esm({
23538
23552
  function useSendTransaction() {
23539
23553
  const session = useSession((st) => st.session);
23540
23554
  const address = useSession((st) => st.address);
23541
- const [isLoading, setIsLoading] = (0, import_react80.useState)(false);
23542
- const [error, setError] = (0, import_react80.useState)(null);
23543
- const [userOpHash, setUserOpHash] = (0, import_react80.useState)(null);
23544
- const sendTransaction = (0, import_react80.useCallback)(
23555
+ const [isLoading, setIsLoading] = (0, import_react81.useState)(false);
23556
+ const [error, setError] = (0, import_react81.useState)(null);
23557
+ const [userOpHash, setUserOpHash] = (0, import_react81.useState)(null);
23558
+ const sendTransaction = (0, import_react81.useCallback)(
23545
23559
  async (params) => {
23546
23560
  if (!session || !address) {
23547
23561
  setError("No active session");
@@ -23638,7 +23652,7 @@ function useSendTransaction() {
23638
23652
  },
23639
23653
  [session, address]
23640
23654
  );
23641
- const reset = (0, import_react80.useCallback)(() => {
23655
+ const reset = (0, import_react81.useCallback)(() => {
23642
23656
  setError(null);
23643
23657
  setUserOpHash(null);
23644
23658
  setIsLoading(false);
@@ -23651,10 +23665,10 @@ function useSendTransaction() {
23651
23665
  reset
23652
23666
  };
23653
23667
  }
23654
- var import_react80, import_viem15, ERC20_TRANSFER_ABI, ERC721_SAFE_TRANSFER_ABI, ERC1155_SAFE_TRANSFER_ABI;
23668
+ var import_react81, import_viem15, ERC20_TRANSFER_ABI, ERC721_SAFE_TRANSFER_ABI, ERC1155_SAFE_TRANSFER_ABI;
23655
23669
  var init_useSendTransaction = __esm({
23656
23670
  "src/hooks/useSendTransaction.ts"() {
23657
- import_react80 = require("react");
23671
+ import_react81 = require("react");
23658
23672
  import_viem15 = require("viem");
23659
23673
  init_SessionContext();
23660
23674
  init_account2();
@@ -23797,7 +23811,7 @@ var init_AssetInputIcon = __esm({
23797
23811
 
23798
23812
  // src/internal/components/SendMenu/send/components/NftDisplayCard.tsx
23799
23813
  function NftDisplayCard({ asset }) {
23800
- const [imageError, setImageError] = (0, import_react81.useState)(false);
23814
+ const [imageError, setImageError] = (0, import_react82.useState)(false);
23801
23815
  const nftImage = asset.image || asset.nftMetadata?.image;
23802
23816
  return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex items-center gap-3 p-3 rounded-[var(--ui-kit-el-bdrs)] bg-[var(--ui-kit-bg-secondary)]", children: [
23803
23817
  nftImage && !imageError ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
@@ -23825,11 +23839,11 @@ function NftDisplayCard({ asset }) {
23825
23839
  ] })
23826
23840
  ] });
23827
23841
  }
23828
- var import_lucide_react65, import_react81, import_jsx_runtime106;
23842
+ var import_lucide_react65, import_react82, import_jsx_runtime106;
23829
23843
  var init_NftDisplayCard = __esm({
23830
23844
  "src/internal/components/SendMenu/send/components/NftDisplayCard.tsx"() {
23831
23845
  import_lucide_react65 = require("lucide-react");
23832
- import_react81 = require("react");
23846
+ import_react82 = require("react");
23833
23847
  import_jsx_runtime106 = require("react/jsx-runtime");
23834
23848
  }
23835
23849
  });
@@ -23949,11 +23963,11 @@ function NicknameData(props) {
23949
23963
  isWalletNotSetup,
23950
23964
  isFrozen
23951
23965
  } = resolvedNicknameData;
23952
- (0, import_react82.useEffect)(() => {
23966
+ (0, import_react83.useEffect)(() => {
23953
23967
  if (!resolvedNicknameData?.data?.fingerprint || !isNicknameInput) return;
23954
23968
  useFlowSelectorStore.getState().setRenderKey(`nickname-resolved-${Date.now()}`);
23955
23969
  }, [resolvedNicknameData, isNicknameInput]);
23956
- (0, import_react82.useEffect)(() => {
23970
+ (0, import_react83.useEffect)(() => {
23957
23971
  if (isResolving) return;
23958
23972
  let errMessage = null;
23959
23973
  switch (true) {
@@ -24008,11 +24022,11 @@ function NicknameData(props) {
24008
24022
  ] })
24009
24023
  ] });
24010
24024
  }
24011
- var import_lucide_react66, import_react82, import_jsx_runtime108;
24025
+ var import_lucide_react66, import_react83, import_jsx_runtime108;
24012
24026
  var init_NicknameData = __esm({
24013
24027
  "src/internal/components/SendMenu/send/components/NicknameData.tsx"() {
24014
24028
  import_lucide_react66 = require("lucide-react");
24015
- import_react82 = require("react");
24029
+ import_react83 = require("react");
24016
24030
  init_no_image();
24017
24031
  init_utils2();
24018
24032
  init_useFlowSelector();
@@ -24541,16 +24555,16 @@ function SendMenu() {
24541
24555
  userOpHash,
24542
24556
  reset
24543
24557
  } = useSendTransaction();
24544
- (0, import_react83.useEffect)(() => {
24558
+ (0, import_react84.useEffect)(() => {
24545
24559
  useFlowSelectorStore.getState().setIsUiLocked(isAssetsLoading || isTransactionPending);
24546
24560
  }, [isAssetsLoading, isTransactionPending]);
24547
- (0, import_react83.useEffect)(() => {
24561
+ (0, import_react84.useEffect)(() => {
24548
24562
  useFlowSelectorStore.getState().setError(sendTransactionError || null);
24549
24563
  }, [sendTransactionError]);
24550
24564
  const { txStep, recipient, amount, selectedAsset, setSelectedAsset } = useSendStore();
24551
24565
  const isNft = isNftAsset3(selectedAsset);
24552
24566
  const isSecurity = isSecurityToken2(selectedAsset);
24553
- (0, import_react83.useEffect)(() => {
24567
+ (0, import_react84.useEffect)(() => {
24554
24568
  const shouldDefaultAsset = assets.length > 0 && !selectedAsset;
24555
24569
  if (!shouldDefaultAsset) return;
24556
24570
  const chainNativeCurrency = useSession.getState().chainConfig?.nativeCurrency;
@@ -24560,7 +24574,7 @@ function SendMenu() {
24560
24574
  if (isBalance(erc20)) return setSelectedAsset(erc20);
24561
24575
  setSelectedAsset(assets[0]);
24562
24576
  }, [assets, selectedAsset]);
24563
- (0, import_react83.useEffect)(
24577
+ (0, import_react84.useEffect)(
24564
24578
  () => () => {
24565
24579
  useSendStore.getState().reset();
24566
24580
  reset();
@@ -24570,7 +24584,7 @@ function SendMenu() {
24570
24584
  const isNicknameInput = looksLikeNickname(recipient);
24571
24585
  const resolvedNicknameData = useNicknameResolve(recipient, { enabled: isNicknameInput, chainId: activeChainId });
24572
24586
  const effectiveAddress = isNicknameInput ? resolvedNicknameData?.resolvedAddress : recipient;
24573
- const complianceAmount = (0, import_react83.useMemo)(() => {
24587
+ const complianceAmount = (0, import_react84.useMemo)(() => {
24574
24588
  if (!isSecurity || !amount || !selectedAsset) return void 0;
24575
24589
  try {
24576
24590
  return (0, import_viem20.parseUnits)(amount, selectedAsset.decimals || 18);
@@ -24585,7 +24599,7 @@ function SendMenu() {
24585
24599
  enabled: isSecurity && !!effectiveAddress && !!complianceAmount,
24586
24600
  chainId: activeChainId
24587
24601
  });
24588
- (0, import_react83.useEffect)(() => {
24602
+ (0, import_react84.useEffect)(() => {
24589
24603
  const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
24590
24604
  switch (true) {
24591
24605
  case txStep === "select-asset":
@@ -24655,7 +24669,7 @@ function SendMenu() {
24655
24669
  ] })
24656
24670
  ] });
24657
24671
  }
24658
- var import_lucide_react69, import_react83, import_viem20, import_jsx_runtime111;
24672
+ var import_lucide_react69, import_react84, import_viem20, import_jsx_runtime111;
24659
24673
  var init_SendMenu = __esm({
24660
24674
  "src/internal/components/SendMenu/send/SendMenu.tsx"() {
24661
24675
  init_SessionContext();
@@ -24664,7 +24678,7 @@ var init_SendMenu = __esm({
24664
24678
  init_useSendTransaction();
24665
24679
  init_useT();
24666
24680
  import_lucide_react69 = require("lucide-react");
24667
- import_react83 = require("react");
24681
+ import_react84 = require("react");
24668
24682
  import_viem20 = require("viem");
24669
24683
  init_useBlockscoutAssets2();
24670
24684
  init_useLayoutDataStore();
@@ -24689,7 +24703,7 @@ var init_send = __esm({
24689
24703
 
24690
24704
  // src/internal/components/SendMenu/useSendMenuParams.ts
24691
24705
  function useSendMenuParams() {
24692
- (0, import_react84.useEffect)(() => {
24706
+ (0, import_react85.useEffect)(() => {
24693
24707
  const { pageParams, setPageParams } = useLayoutDataStore.getState();
24694
24708
  if (!pageParams || !(0, import_lodash_es13.keys)(pageParams).length) return;
24695
24709
  console.log("[SEND PARAMS]", pageParams);
@@ -24726,11 +24740,11 @@ function useSendMenuParams() {
24726
24740
  setPageParams(null);
24727
24741
  }, []);
24728
24742
  }
24729
- var import_lodash_es13, import_react84;
24743
+ var import_lodash_es13, import_react85;
24730
24744
  var init_useSendMenuParams = __esm({
24731
24745
  "src/internal/components/SendMenu/useSendMenuParams.ts"() {
24732
24746
  import_lodash_es13 = require("lodash-es");
24733
- import_react84 = require("react");
24747
+ import_react85 = require("react");
24734
24748
  init_useLayoutDataStore();
24735
24749
  init_useBridgeStore();
24736
24750
  init_useSendStore();
@@ -24800,7 +24814,7 @@ function SendFlowSelector() {
24800
24814
  const sendStep = useSendStore((st) => st.txStep);
24801
24815
  const bridgeStep = useBridgeStore((st) => st.bridgeStep);
24802
24816
  useOnboardingTourAvailable(sendStep === "input" && bridgeStep === "select");
24803
- (0, import_react85.useEffect)(
24817
+ (0, import_react86.useEffect)(
24804
24818
  () => () => {
24805
24819
  useFlowSelectorStore.getState().setError(null);
24806
24820
  },
@@ -24879,12 +24893,12 @@ function SendFlowSelector() {
24879
24893
  }
24880
24894
  );
24881
24895
  }
24882
- var import_lucide_react70, import_react85, import_jsx_runtime112, SELECTOR_FLOW;
24896
+ var import_lucide_react70, import_react86, import_jsx_runtime112, SELECTOR_FLOW;
24883
24897
  var init_SendFlowSelector = __esm({
24884
24898
  "src/internal/components/SendMenu/SendFlowSelector.tsx"() {
24885
24899
  init_i18n();
24886
24900
  import_lucide_react70 = require("lucide-react");
24887
- import_react85 = require("react");
24901
+ import_react86 = require("react");
24888
24902
  init_useLayoutDataStore();
24889
24903
  init_useLayoutStore();
24890
24904
  init_utils2();
@@ -24952,12 +24966,12 @@ function getServerSnapshot() {
24952
24966
  return false;
24953
24967
  }
24954
24968
  function useProMode() {
24955
- return (0, import_react86.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot);
24969
+ return (0, import_react87.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot);
24956
24970
  }
24957
- var import_react86, STORAGE_KEY, EVENT_NAME;
24971
+ var import_react87, STORAGE_KEY, EVENT_NAME;
24958
24972
  var init_pro_mode = __esm({
24959
24973
  "src/internal/lib/pro-mode.ts"() {
24960
- import_react86 = require("react");
24974
+ import_react87 = require("react");
24961
24975
  STORAGE_KEY = "embarkai_pro_mode";
24962
24976
  EVENT_NAME = "embarkai-pro-mode-changed";
24963
24977
  }
@@ -25014,7 +25028,7 @@ function useSettingsButtons() {
25014
25028
  if (proMode) {
25015
25029
  settingsButtons.push({ id: "devices" /* DEVICES */, name: "passport:guardiansMenu.title", Icon: import_lucide_react72.HardDrive });
25016
25030
  }
25017
- (0, import_react87.useEffect)(() => {
25031
+ (0, import_react88.useEffect)(() => {
25018
25032
  const cssvEl = document.querySelector(".embarkai-ui-scope");
25019
25033
  if (!cssvEl || !window?.getComputedStyle) {
25020
25034
  return;
@@ -25080,7 +25094,7 @@ function SettingsMenu() {
25080
25094
  }
25081
25095
  );
25082
25096
  }
25083
- var import_react_query54, import_lucide_react72, import_react87, import_jsx_runtime113;
25097
+ var import_react_query54, import_lucide_react72, import_react88, import_jsx_runtime113;
25084
25098
  var init_SettingsMenu = __esm({
25085
25099
  "src/internal/components/SettingsMenu/SettingsMenu.tsx"() {
25086
25100
  init_ProviderContext();
@@ -25088,7 +25102,7 @@ var init_SettingsMenu = __esm({
25088
25102
  init_i18n();
25089
25103
  import_react_query54 = require("@tanstack/react-query");
25090
25104
  import_lucide_react72 = require("lucide-react");
25091
- import_react87 = require("react");
25105
+ import_react88 = require("react");
25092
25106
  init_nickname();
25093
25107
  init_profile();
25094
25108
  init_useLayoutDataStore();
@@ -25978,7 +25992,7 @@ function TransactionsMenu() {
25978
25992
  useOnboardingTourAvailable(true);
25979
25993
  const setPage = useLayoutDataStore((st) => st.setPage);
25980
25994
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
25981
- const [expandedGroups, setExpandedGroups] = (0, import_react88.useState)({});
25995
+ const [expandedGroups, setExpandedGroups] = (0, import_react89.useState)({});
25982
25996
  const historySupported = isTransactionHistorySupported(chainConfig?.id);
25983
25997
  const {
25984
25998
  data: txHistoryGroups = [],
@@ -25991,7 +26005,7 @@ function TransactionsMenu() {
25991
26005
  queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, chainConfig.id, address],
25992
26006
  queryFn: () => getTransactionsListQuery({ address, chainConfig })
25993
26007
  });
25994
- const refreshTxHistory = (0, import_react88.useCallback)(
26008
+ const refreshTxHistory = (0, import_react89.useCallback)(
25995
26009
  () => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, chainConfig.id, address] }),
25996
26010
  [qc, chainConfig.id, address]
25997
26011
  );
@@ -26041,14 +26055,14 @@ function TransactionsMenu() {
26041
26055
  }
26042
26056
  );
26043
26057
  }
26044
- var import_react_query55, import_lucide_react75, import_react88, import_jsx_runtime116;
26058
+ var import_react_query55, import_lucide_react75, import_react89, import_jsx_runtime116;
26045
26059
  var init_TransactionsMenu = __esm({
26046
26060
  "src/internal/components/TransactionsMenu/TransactionsMenu.tsx"() {
26047
26061
  init_SessionContext();
26048
26062
  init_i18n();
26049
26063
  import_react_query55 = require("@tanstack/react-query");
26050
26064
  import_lucide_react75 = require("lucide-react");
26051
- import_react88 = require("react");
26065
+ import_react89 = require("react");
26052
26066
  init_useLayoutDataStore();
26053
26067
  init_useLayoutStore();
26054
26068
  init_Expandable2();
@@ -26248,7 +26262,7 @@ function usePageMapper() {
26248
26262
  setIsDialogOpen,
26249
26263
  setIsDialogClosing
26250
26264
  } = useLayoutStore();
26251
- const closeDialog = (0, import_react89.useCallback)(() => {
26265
+ const closeDialog = (0, import_react90.useCallback)(() => {
26252
26266
  setIsDialogClosing(true);
26253
26267
  setTimeout(() => {
26254
26268
  setDialogContent(null);
@@ -26259,7 +26273,7 @@ function usePageMapper() {
26259
26273
  setIsDialogOpen(false);
26260
26274
  }, CLEAR_DIALOG_TIMEOUT);
26261
26275
  }, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
26262
- const openDialog = (0, import_react89.useCallback)(
26276
+ const openDialog = (0, import_react90.useCallback)(
26263
26277
  (pageItem) => {
26264
26278
  const PageContentComponent = pageItem.component;
26265
26279
  setDialogTitle(pageItem.title);
@@ -26269,7 +26283,7 @@ function usePageMapper() {
26269
26283
  },
26270
26284
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
26271
26285
  );
26272
- (0, import_react89.useEffect)(() => {
26286
+ (0, import_react90.useEffect)(() => {
26273
26287
  if (page === null) return closeDialog();
26274
26288
  const pageItem = PAGE_MAP[page];
26275
26289
  if (!pageItem) {
@@ -26280,10 +26294,10 @@ function usePageMapper() {
26280
26294
  openDialog(pageItem);
26281
26295
  }, [page, closeDialog, openDialog]);
26282
26296
  }
26283
- var import_react89, import_jsx_runtime117, CLEAR_DIALOG_TIMEOUT;
26297
+ var import_react90, import_jsx_runtime117, CLEAR_DIALOG_TIMEOUT;
26284
26298
  var init_usePageMapper = __esm({
26285
26299
  "src/internal/hooks/usePageMapper.tsx"() {
26286
- import_react89 = require("react");
26300
+ import_react90 = require("react");
26287
26301
  init_PageMap();
26288
26302
  init_constants();
26289
26303
  init_useLayoutDataStore();
@@ -26299,24 +26313,24 @@ function useSettingsNotifications() {
26299
26313
  const providers = import_auth23.jwtTokenManager.getProviders();
26300
26314
  const hasEmail = providers.includes("email");
26301
26315
  const { data: userProfile = null } = useUserProfile();
26302
- (0, import_react90.useEffect)(() => {
26316
+ (0, import_react91.useEffect)(() => {
26303
26317
  const isKYCVerified = userProfile?.kycDetails?.kycStatus === "verified";
26304
26318
  setSettingsNotifications({
26305
26319
  ...COMPLETE_KYC_PROGRESS,
26306
26320
  status: isKYCVerified ? "resolved" : "active"
26307
26321
  });
26308
26322
  }, [userProfile, setSettingsNotifications]);
26309
- (0, import_react90.useEffect)(() => {
26323
+ (0, import_react91.useEffect)(() => {
26310
26324
  setSettingsNotifications({
26311
26325
  ...EMAIL_NOT_CONNECTED_NOTIFICATION,
26312
26326
  status: hasEmail ? "resolved" : "active"
26313
26327
  });
26314
26328
  }, [hasEmail, setSettingsNotifications]);
26315
26329
  }
26316
- var import_react90, EMAIL_NOT_CONNECTED_NOTIFICATION, COMPLETE_KYC_PROGRESS;
26330
+ var import_react91, EMAIL_NOT_CONNECTED_NOTIFICATION, COMPLETE_KYC_PROGRESS;
26317
26331
  var init_useSettingsNotifications = __esm({
26318
26332
  "src/internal/hooks/useSettingsNotifications.ts"() {
26319
- import_react90 = require("react");
26333
+ import_react91 = require("react");
26320
26334
  init_auth();
26321
26335
  init_useLayoutDataStore();
26322
26336
  init_useUserProfile();
@@ -26339,7 +26353,7 @@ var init_package = __esm({
26339
26353
  "package.json"() {
26340
26354
  package_default = {
26341
26355
  name: "@embarkai/ui-kit",
26342
- version: "0.4.76",
26356
+ version: "0.4.78",
26343
26357
  description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
26344
26358
  type: "module",
26345
26359
  main: "./dist/index.cjs",
@@ -26650,7 +26664,7 @@ var init_onborading_setup = __esm({
26650
26664
  },
26651
26665
  ["receive" /* RECEIVE */]: () => RECEIVE_MENU_TOUR,
26652
26666
  ["security" /* SECURITY */]: () => SECURITY_MENU_TOUR,
26653
- ["keysare-backup" /* KEYSARE_BACKUP */]: () => KEYSHARE_BACKUP_MENU_TOUR,
26667
+ ["keysare-backup" /* KEYSARE_BACKUP */]: ({ config }) => config?.passkey?.enabled ? KEYSHARE_BACKUP_MENU_TOUR : KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY,
26654
26668
  ["transactions" /* TRANSACTIONS */]: () => TRANSACTIONS_MENU_TOUR,
26655
26669
  ["nickname-settings" /* NICKNAME_SETTINGS */]: () => NICKNAME_MENU_TOUR,
26656
26670
  ["manage-wallet" /* MANAGE_WALLET */]: () => MANAGE_WALLET_MENU_TOUR,
@@ -26671,11 +26685,11 @@ function Header() {
26671
26685
  const embarkPage = useLayoutDataStore((st) => st.page);
26672
26686
  const isOnboardingTourAvailable = useOnboardingStore((st) => st.isTourAvailable);
26673
26687
  const proMode = useProMode();
26674
- const [proToast, setProToast] = (0, import_react91.useState)(false);
26675
- const [copied, setCopied] = (0, import_react91.useState)(false);
26676
- const clickCountRef = (0, import_react91.useRef)(0);
26677
- const clickTimerRef = (0, import_react91.useRef)(null);
26678
- const handleAvatarClick = (0, import_react91.useCallback)(() => {
26688
+ const [proToast, setProToast] = (0, import_react92.useState)(false);
26689
+ const [copied, setCopied] = (0, import_react92.useState)(false);
26690
+ const clickCountRef = (0, import_react92.useRef)(0);
26691
+ const clickTimerRef = (0, import_react92.useRef)(null);
26692
+ const handleAvatarClick = (0, import_react92.useCallback)(() => {
26679
26693
  clickCountRef.current += 1;
26680
26694
  if (clickTimerRef.current) {
26681
26695
  clearTimeout(clickTimerRef.current);
@@ -26770,7 +26784,7 @@ function Header() {
26770
26784
  size: "small",
26771
26785
  variant: "ghost",
26772
26786
  className: "text-[10px] px-2",
26773
- onClick: () => onboarder.startTour(ONBOARDING_TOURS[embarkPage]()),
26787
+ onClick: () => onboarder.startTour(ONBOARDING_TOURS[embarkPage]({ config: config.current })),
26774
26788
  children: /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(import_lucide_react77.CircleQuestionMarkIcon, { className: "w-4 h-4" })
26775
26789
  }
26776
26790
  )
@@ -26781,7 +26795,7 @@ function Header() {
26781
26795
  }
26782
26796
  );
26783
26797
  }
26784
- var import_lucide_react77, import_react91, import_jsx_runtime119;
26798
+ var import_lucide_react77, import_react92, import_jsx_runtime119;
26785
26799
  var init_Header = __esm({
26786
26800
  "src/internal/components/Header/Header.tsx"() {
26787
26801
  init_lumia2();
@@ -26789,7 +26803,7 @@ var init_Header = __esm({
26789
26803
  init_ProviderContext();
26790
26804
  init_SessionContext();
26791
26805
  import_lucide_react77 = require("lucide-react");
26792
- import_react91 = require("react");
26806
+ import_react92 = require("react");
26793
26807
  init_icons();
26794
26808
  init_auth();
26795
26809
  init_useLayoutDataStore();
@@ -26824,7 +26838,7 @@ function useDecideContentStyles() {
26824
26838
  style: (0, import_lodash_es14.merge)({}, mobileStyles)
26825
26839
  };
26826
26840
  }
26827
- var DialogPrimitive, import_lodash_es14, import_lucide_react78, import_react92, import_jsx_runtime120, Dialog, DialogPortal, DialogOverlay, CONTENT_BG_SETUP, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription;
26841
+ var DialogPrimitive, import_lodash_es14, import_lucide_react78, import_react93, import_jsx_runtime120, Dialog, DialogPortal, DialogOverlay, CONTENT_BG_SETUP, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription;
26828
26842
  var init_dialog = __esm({
26829
26843
  "src/internal/components/ui/dialog.tsx"() {
26830
26844
  init_utils2();
@@ -26833,14 +26847,14 @@ var init_dialog = __esm({
26833
26847
  DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
26834
26848
  import_lodash_es14 = require("lodash-es");
26835
26849
  import_lucide_react78 = require("lucide-react");
26836
- import_react92 = require("react");
26850
+ import_react93 = require("react");
26837
26851
  init_useLayoutDataStore();
26838
26852
  init_useLayoutStore();
26839
26853
  init_button();
26840
26854
  import_jsx_runtime120 = require("react/jsx-runtime");
26841
26855
  Dialog = DialogPrimitive.Root;
26842
26856
  DialogPortal = DialogPrimitive.Portal;
26843
- DialogOverlay = (0, import_react92.forwardRef)(
26857
+ DialogOverlay = (0, import_react93.forwardRef)(
26844
26858
  ({ className, closing, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
26845
26859
  DialogPrimitive.Overlay,
26846
26860
  {
@@ -26862,7 +26876,7 @@ var init_dialog = __esm({
26862
26876
  border: "1px solid var(--ui-kit-bd)",
26863
26877
  boxShadow: "var(--ui-kit-shadow, 0px 4px 10px var(--ui-kit-shadow-c, rgba(0, 0, 0, 0.1)))"
26864
26878
  };
26865
- DialogContent = (0, import_react92.forwardRef)(
26879
+ DialogContent = (0, import_react93.forwardRef)(
26866
26880
  ({ className, children, colorMode, ...props }, ref) => {
26867
26881
  const { t, i18n } = useT();
26868
26882
  const isSessionLoading = useSession((st) => st.isLoading);
@@ -26974,7 +26988,7 @@ var init_dialog = __esm({
26974
26988
  DialogHeader.displayName = "DialogHeader";
26975
26989
  DialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
26976
26990
  DialogFooter.displayName = "DialogFooter";
26977
- DialogTitle = (0, import_react92.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
26991
+ DialogTitle = (0, import_react93.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
26978
26992
  DialogPrimitive.Title,
26979
26993
  {
26980
26994
  ref,
@@ -26983,7 +26997,7 @@ var init_dialog = __esm({
26983
26997
  }
26984
26998
  ));
26985
26999
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
26986
- DialogDescription = (0, import_react92.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
27000
+ DialogDescription = (0, import_react93.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
26987
27001
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
26988
27002
  }
26989
27003
  });
@@ -27008,7 +27022,7 @@ function Dialog2() {
27008
27022
  const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
27009
27023
  const setPage = useLayoutDataStore((st) => st.setPage);
27010
27024
  const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
27011
- (0, import_react93.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
27025
+ (0, import_react94.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
27012
27026
  usePageMapper();
27013
27027
  useAutoConnect();
27014
27028
  useBackupStatusChanges();
@@ -27054,13 +27068,13 @@ function Dialog2() {
27054
27068
  }
27055
27069
  );
27056
27070
  }
27057
- var import_framer_motion, import_react93, import_jsx_runtime122, EMBARKAI_DIALOG_ONBOARDING_ID;
27071
+ var import_framer_motion, import_react94, import_jsx_runtime122, EMBARKAI_DIALOG_ONBOARDING_ID;
27058
27072
  var init_Dialog = __esm({
27059
27073
  "src/internal/components/Dialog/Dialog.tsx"() {
27060
27074
  init_ProviderContext();
27061
27075
  init_SessionContext();
27062
27076
  import_framer_motion = require("framer-motion");
27063
- import_react93 = require("react");
27077
+ import_react94 = require("react");
27064
27078
  init_constants();
27065
27079
  init_useAutoConnect();
27066
27080
  init_useBackupStatusChanges();
@@ -27098,13 +27112,13 @@ function DirectWalletHandler() {
27098
27112
  const setExternalChainId = useExternalWalletStore((st) => st.setExternalChainId);
27099
27113
  const setConfigMode = useExternalWalletStore((st) => st.setConfigMode);
27100
27114
  const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
27101
- (0, import_react94.useEffect)(() => {
27115
+ (0, import_react95.useEffect)(() => {
27102
27116
  setConfigMode(walletMode);
27103
27117
  if (walletMode !== "both") {
27104
27118
  setActiveMode(walletMode);
27105
27119
  }
27106
27120
  }, [walletMode, setConfigMode, setActiveMode]);
27107
- (0, import_react94.useEffect)(() => {
27121
+ (0, import_react95.useEffect)(() => {
27108
27122
  if (isConnected && address && !isExternalConnected && connector && chain?.id) {
27109
27123
  setExternalWallet({
27110
27124
  address,
@@ -27113,17 +27127,17 @@ function DirectWalletHandler() {
27113
27127
  });
27114
27128
  }
27115
27129
  }, [isConnected, address, isExternalConnected, connector, chain?.id, setExternalWallet]);
27116
- (0, import_react94.useEffect)(() => {
27130
+ (0, import_react95.useEffect)(() => {
27117
27131
  if (isExternalConnected && !isConnected) {
27118
27132
  clearExternalWallet();
27119
27133
  }
27120
27134
  }, [isConnected, isExternalConnected, clearExternalWallet]);
27121
- (0, import_react94.useEffect)(() => {
27135
+ (0, import_react95.useEffect)(() => {
27122
27136
  if (isExternalConnected && isConnected && chain?.id) {
27123
27137
  setExternalChainId(chain.id);
27124
27138
  }
27125
27139
  }, [chain?.id, isConnected, isExternalConnected, setExternalChainId]);
27126
- (0, import_react94.useEffect)(() => {
27140
+ (0, import_react95.useEffect)(() => {
27127
27141
  if (isExternalConnected && isConnected && address && address !== externalAddress && connector && chain?.id) {
27128
27142
  setExternalWallet({
27129
27143
  address,
@@ -27134,10 +27148,10 @@ function DirectWalletHandler() {
27134
27148
  }, [address, isConnected, isExternalConnected, externalAddress, chain?.id, connector, setExternalWallet]);
27135
27149
  return null;
27136
27150
  }
27137
- var import_react94, import_wagmi8;
27151
+ var import_react95, import_wagmi8;
27138
27152
  var init_DirectWalletHandler = __esm({
27139
27153
  "src/internal/components/DirectWalletHandler.tsx"() {
27140
- import_react94 = require("react");
27154
+ import_react95 = require("react");
27141
27155
  import_wagmi8 = require("wagmi");
27142
27156
  init_ProviderContext();
27143
27157
  init_useExternalWalletStore();
@@ -27145,14 +27159,14 @@ var init_DirectWalletHandler = __esm({
27145
27159
  });
27146
27160
 
27147
27161
  // src/internal/components/TssManager.tsx
27148
- var import_react95, TssManagerWithRef;
27162
+ var import_react96, TssManagerWithRef;
27149
27163
  var init_TssManager = __esm({
27150
27164
  "src/internal/components/TssManager.tsx"() {
27151
27165
  init_SessionContext();
27152
- import_react95 = __toESM(require("react"), 1);
27166
+ import_react96 = __toESM(require("react"), 1);
27153
27167
  init_auth();
27154
27168
  init_clients();
27155
- TssManagerWithRef = import_react95.default.forwardRef((props, ref) => {
27169
+ TssManagerWithRef = import_react96.default.forwardRef((props, ref) => {
27156
27170
  const { mpcPin } = props;
27157
27171
  const usePaymaster = useSession((st) => st.usePaymaster);
27158
27172
  const publicClient = useSession((st) => st.publicClient);
@@ -27160,14 +27174,14 @@ var init_TssManager = __esm({
27160
27174
  const setStatus = useSession((st) => st.setStatus);
27161
27175
  const setSession = useSession((st) => st.setSession);
27162
27176
  const setAddress = useSession((st) => st.setAddress);
27163
- const onSessionCreated = (0, import_react95.useCallback)(
27177
+ const onSessionCreated = (0, import_react96.useCallback)(
27164
27178
  (session, address) => {
27165
27179
  setSession(session);
27166
27180
  setAddress(address);
27167
27181
  },
27168
27182
  [setSession, setAddress]
27169
27183
  );
27170
- const createSessionWithKeyshare = import_react95.default.useCallback(
27184
+ const createSessionWithKeyshare = import_react96.default.useCallback(
27171
27185
  async (userId, hasServerKeyshare, isNewUser) => {
27172
27186
  setStatus("checking key management setup...");
27173
27187
  await ensureKeyshare(userId, hasServerKeyshare, setStatus, isNewUser);
@@ -27192,7 +27206,7 @@ var init_TssManager = __esm({
27192
27206
  },
27193
27207
  [setStatus, usePaymaster, activeChainId, publicClient, mpcPin]
27194
27208
  );
27195
- import_react95.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
27209
+ import_react96.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
27196
27210
  return null;
27197
27211
  });
27198
27212
  }
@@ -27220,7 +27234,7 @@ function WalletConnectHandler() {
27220
27234
  const projectId = providerConfig?.projectId;
27221
27235
  const setExternalWallet = useExternalWalletStore((st) => st.setExternalWallet);
27222
27236
  const setPendingWalletLogin = useLayoutDataStore((st) => st.setPendingWalletLogin);
27223
- const onLinkingComplete = (0, import_react96.useCallback)(
27237
+ const onLinkingComplete = (0, import_react97.useCallback)(
27224
27238
  async (success) => {
27225
27239
  setIsWalletLinking(false);
27226
27240
  if (!success && !passportWalletAddress) {
@@ -27249,10 +27263,10 @@ function WalletConnectHandler() {
27249
27263
  },
27250
27264
  [qc, passportWalletAddress, setProviderType, setPage, setIsWalletLinking]
27251
27265
  );
27252
- const [hasStartedLinking, setHasStartedLinking] = import_react96.default.useState(false);
27253
- const [modalWasOpened, setModalWasOpened] = import_react96.default.useState(false);
27254
- const [pendingModalOpen, setPendingModalOpen] = import_react96.default.useState(false);
27255
- (0, import_react96.useEffect)(() => {
27266
+ const [hasStartedLinking, setHasStartedLinking] = import_react97.default.useState(false);
27267
+ const [modalWasOpened, setModalWasOpened] = import_react97.default.useState(false);
27268
+ const [pendingModalOpen, setPendingModalOpen] = import_react97.default.useState(false);
27269
+ (0, import_react97.useEffect)(() => {
27256
27270
  if (isWalletLinking && !hasStartedLinking) {
27257
27271
  console.log("[WalletConnectHandler] Starting wallet link flow:", {
27258
27272
  isConnected,
@@ -27290,18 +27304,18 @@ function WalletConnectHandler() {
27290
27304
  setProviderType,
27291
27305
  walletMode
27292
27306
  ]);
27293
- (0, import_react96.useEffect)(() => {
27307
+ (0, import_react97.useEffect)(() => {
27294
27308
  if (pendingModalOpen && !isConnected && openConnectModal) {
27295
27309
  setPendingModalOpen(false);
27296
27310
  openConnectModal();
27297
27311
  }
27298
27312
  }, [pendingModalOpen, isConnected, openConnectModal]);
27299
- (0, import_react96.useEffect)(() => {
27313
+ (0, import_react97.useEffect)(() => {
27300
27314
  if (connectModalOpen && hasStartedLinking) {
27301
27315
  setModalWasOpened(true);
27302
27316
  }
27303
27317
  }, [connectModalOpen, hasStartedLinking]);
27304
- (0, import_react96.useEffect)(() => {
27318
+ (0, import_react97.useEffect)(() => {
27305
27319
  if (modalWasOpened && !connectModalOpen && !isConnected && isWalletLinking) {
27306
27320
  console.log("[WalletConnectHandler] Modal closed without connecting");
27307
27321
  onLinkingComplete(false);
@@ -27309,7 +27323,7 @@ function WalletConnectHandler() {
27309
27323
  setModalWasOpened(false);
27310
27324
  }
27311
27325
  }, [connectModalOpen, modalWasOpened, isConnected, isWalletLinking]);
27312
- (0, import_react96.useEffect)(() => {
27326
+ (0, import_react97.useEffect)(() => {
27313
27327
  if (isWalletLinking) {
27314
27328
  const timeout = setTimeout(() => {
27315
27329
  console.warn("[WalletConnectHandler] Wallet linking timed out, resetting state");
@@ -27429,7 +27443,7 @@ function WalletConnectHandler() {
27429
27443
  setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
27430
27444
  }
27431
27445
  });
27432
- (0, import_react96.useEffect)(() => {
27446
+ (0, import_react97.useEffect)(() => {
27433
27447
  if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking && modalWasOpened && !pendingModalOpen) {
27434
27448
  console.log("[WalletConnectHandler] handleWalletSign triggered");
27435
27449
  if (!passportWalletAddress) {
@@ -27439,7 +27453,7 @@ function WalletConnectHandler() {
27439
27453
  handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
27440
27454
  }
27441
27455
  }, [chain, isConnected, walletAddress, isWalletLinking, hasStartedLinking, modalWasOpened, pendingModalOpen]);
27442
- (0, import_react96.useEffect)(() => {
27456
+ (0, import_react97.useEffect)(() => {
27443
27457
  if (isConnected && !chain?.id && isWalletLinking && hasStartedLinking && !connectModalOpen && !isWalletSigning) {
27444
27458
  const timeout = setTimeout(() => {
27445
27459
  console.warn("[WalletConnectHandler] Wallet connected but chain info missing, resetting");
@@ -27461,7 +27475,7 @@ function WalletConnectHandler() {
27461
27475
  ]);
27462
27476
  return null;
27463
27477
  }
27464
- var import_rainbowkit2, import_react_query57, import_react96, import_wagmi9;
27478
+ var import_rainbowkit2, import_react_query57, import_react97, import_wagmi9;
27465
27479
  var init_WalletConnectHandler = __esm({
27466
27480
  "src/internal/components/WalletConnectHandler.tsx"() {
27467
27481
  init_ProviderContext();
@@ -27469,7 +27483,7 @@ var init_WalletConnectHandler = __esm({
27469
27483
  init_linkedProfiles();
27470
27484
  import_rainbowkit2 = require("@rainbow-me/rainbowkit");
27471
27485
  import_react_query57 = require("@tanstack/react-query");
27472
- import_react96 = __toESM(require("react"), 1);
27486
+ import_react97 = __toESM(require("react"), 1);
27473
27487
  import_wagmi9 = require("wagmi");
27474
27488
  init_wallet();
27475
27489
  init_AuthMenu2();
@@ -27497,7 +27511,7 @@ function waitForStoreHydration() {
27497
27511
  }
27498
27512
  function SessionProvider({ children }) {
27499
27513
  const config = useProviderConfig().config;
27500
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_react97.Fragment, { children: [
27514
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_react98.Fragment, { children: [
27501
27515
  children,
27502
27516
  config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(WalletConnectHandler, {}),
27503
27517
  config.current?.wallet?.enabled && (config.current?.wallet?.mode === "direct" || config.current?.wallet?.mode === "both") && /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(DirectWalletHandler, {}),
@@ -27513,11 +27527,11 @@ function SessionProvider({ children }) {
27513
27527
  /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(OnboardingOverlay, {})
27514
27528
  ] });
27515
27529
  }
27516
- var import_read22, import_react97, import_zustand16, import_middleware4, import_jsx_runtime123, useSession, requireActiveChainId;
27530
+ var import_read22, import_react98, import_zustand16, import_middleware4, import_jsx_runtime123, useSession, requireActiveChainId;
27517
27531
  var init_SessionContext = __esm({
27518
27532
  "src/context/SessionContext.tsx"() {
27519
27533
  import_read22 = require("@embarkai/core/read");
27520
- import_react97 = require("react");
27534
+ import_react98 = require("react");
27521
27535
  import_zustand16 = require("zustand");
27522
27536
  import_middleware4 = require("zustand/middleware");
27523
27537
  init_BalanceFeedProvider2();
@@ -27589,7 +27603,7 @@ var init_SessionContext = __esm({
27589
27603
  // Set default chainId after hydration if not persisted
27590
27604
  onRehydrateStorage: () => (state) => {
27591
27605
  if (!state) return;
27592
- const hydartedChain = getChainParams((0, import_read22.getChainConfig)(state.activeChainId || import_read22.DEFAULT_CHAIN_ID));
27606
+ const hydartedChain = getChainParams((0, import_read22.getChainConfig)(state.activeChainId || import_read22.LUMIA_MAINNET_CHAIN_ID));
27593
27607
  state.activeChainId = hydartedChain.activeChainId;
27594
27608
  state.publicClient = hydartedChain.publicClient;
27595
27609
  state.bundlerClient = hydartedChain.bundlerClient;
@@ -30198,7 +30212,7 @@ var init_rainbowkit = __esm({
30198
30212
  function RainbowKitProvider({ children }) {
30199
30213
  const config = useProviderConfig().config;
30200
30214
  const colorMode = useLayoutStore((st) => st.colorMode);
30201
- const rainbowConfig = (0, import_react98.useMemo)(
30215
+ const rainbowConfig = (0, import_react99.useMemo)(
30202
30216
  () => createRainbowConfig({
30203
30217
  projectId: config.current?.wallet?.walletConnectProjectId,
30204
30218
  allowedWallets: config.current?.wallet?.allowedWallets,
@@ -30212,7 +30226,7 @@ function RainbowKitProvider({ children }) {
30212
30226
  config.current?.wallet?.walletConnectProjectId
30213
30227
  ]
30214
30228
  );
30215
- const customTheme = (0, import_react98.useMemo)(() => {
30229
+ const customTheme = (0, import_react99.useMemo)(() => {
30216
30230
  if (!config.current?.wallet?.enabled) return {};
30217
30231
  return colorMode === "dark" ? {
30218
30232
  ...(0, import_rainbowkit4.darkTheme)(),
@@ -30229,11 +30243,11 @@ function RainbowKitProvider({ children }) {
30229
30243
  if (!config.current?.wallet?.enabled) return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_jsx_runtime124.Fragment, { children });
30230
30244
  return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_wagmi11.WagmiProvider, { config: rainbowConfig, children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_rainbowkit4.RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
30231
30245
  }
30232
- var import_rainbowkit4, import_react98, import_wagmi11, import_styles, import_jsx_runtime124;
30246
+ var import_rainbowkit4, import_react99, import_wagmi11, import_styles, import_jsx_runtime124;
30233
30247
  var init_RainbowKitContext = __esm({
30234
30248
  "src/context/RainbowKitContext.tsx"() {
30235
30249
  import_rainbowkit4 = require("@rainbow-me/rainbowkit");
30236
- import_react98 = require("react");
30250
+ import_react99 = require("react");
30237
30251
  import_wagmi11 = require("wagmi");
30238
30252
  init_rainbowkit();
30239
30253
  init_useLayoutStore();
@@ -30289,10 +30303,10 @@ function clearLegacyWagmiStorage() {
30289
30303
  }
30290
30304
  function Provider(props) {
30291
30305
  const { children, projectId, initialConfig = {}, callbacks } = props;
30292
- const callbacksRef = (0, import_react99.useRef)(callbacks);
30293
- (0, import_react99.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
30294
- const config = (0, import_react99.useRef)((0, import_lodash_es15.merge)({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
30295
- const updateConfig = (0, import_react99.useCallback)((updates) => {
30306
+ const callbacksRef = (0, import_react100.useRef)(callbacks);
30307
+ (0, import_react100.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
30308
+ const config = (0, import_react100.useRef)((0, import_lodash_es15.merge)({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
30309
+ const updateConfig = (0, import_react100.useCallback)((updates) => {
30296
30310
  const prev = config.current;
30297
30311
  const next = { ...prev };
30298
30312
  if (updates.projectId !== void 0) next.projectId = updates.projectId;
@@ -30326,12 +30340,12 @@ function Provider(props) {
30326
30340
  if (updates.translations) next.translations = { ...next.translations, ...updates.translations };
30327
30341
  config.current = next;
30328
30342
  }, []);
30329
- const updateCallbacks = (0, import_react99.useCallback)((updates) => {
30343
+ const updateCallbacks = (0, import_react100.useCallback)((updates) => {
30330
30344
  const prev = callbacksRef.current;
30331
30345
  const next = updates ? { ...prev, ...updates } : void 0;
30332
30346
  callbacksRef.current = next;
30333
30347
  }, []);
30334
- (0, import_react99.useEffect)(() => {
30348
+ (0, import_react100.useEffect)(() => {
30335
30349
  if (typeof window === "undefined" || !projectId) return;
30336
30350
  const mergedConfig = (0, import_lodash_es15.merge)(DEFAULT_PROVIDER_CONFIG, initialConfig);
30337
30351
  updateConfig(mergedConfig);
@@ -30347,11 +30361,11 @@ function Provider(props) {
30347
30361
  } catch {
30348
30362
  }
30349
30363
  const activeChainId = useSession.getState().activeChainId;
30350
- if (!!mergedConfig.network.forceChain && mergedConfig.network.chainId !== activeChainId) {
30364
+ if ((!!mergedConfig.network.autoswitch || !!mergedConfig.network.forceChain) && mergedConfig.network.chainId !== activeChainId) {
30351
30365
  useSession.getState().setActiveChainId(mergedConfig.network.chainId);
30352
30366
  }
30353
30367
  }, [projectId, initialConfig]);
30354
- (0, import_react99.useEffect)(() => {
30368
+ (0, import_react100.useEffect)(() => {
30355
30369
  if (typeof window === "undefined" || !projectId) return;
30356
30370
  try {
30357
30371
  (0, import_error_tracking4.initSdkErrorTracking)();
@@ -30380,7 +30394,7 @@ function Provider(props) {
30380
30394
  console.error("[PROVIDER] Error setting up iframe manager:", error);
30381
30395
  }
30382
30396
  }, [projectId]);
30383
- const contextValue = (0, import_react99.useMemo)(
30397
+ const contextValue = (0, import_react100.useMemo)(
30384
30398
  () => ({
30385
30399
  config,
30386
30400
  updateConfig,
@@ -30401,12 +30415,12 @@ function Provider(props) {
30401
30415
  /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(WagmiProvider2, { children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(UIContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(SessionProvider, { children }) }) })
30402
30416
  );
30403
30417
  }
30404
- var import_error_tracking4, import_lodash_es15, import_react99, import_jsx_runtime126, UIContext, useProviderConfig;
30418
+ var import_error_tracking4, import_lodash_es15, import_react100, import_jsx_runtime126, UIContext, useProviderConfig;
30405
30419
  var init_ProviderContext = __esm({
30406
30420
  "src/context/ProviderContext.tsx"() {
30407
30421
  import_error_tracking4 = require("@embarkai/core/internal/error-tracking");
30408
30422
  import_lodash_es15 = require("lodash-es");
30409
- import_react99 = require("react");
30423
+ import_react100 = require("react");
30410
30424
  init_initial();
30411
30425
  init_iframe_manager();
30412
30426
  init_RainbowKitContext();
@@ -30414,9 +30428,9 @@ var init_ProviderContext = __esm({
30414
30428
  init_utils12();
30415
30429
  init_WagmiContext();
30416
30430
  import_jsx_runtime126 = require("react/jsx-runtime");
30417
- UIContext = (0, import_react99.createContext)(void 0);
30431
+ UIContext = (0, import_react100.createContext)(void 0);
30418
30432
  useProviderConfig = () => {
30419
- const ctx = (0, import_react99.useContext)(UIContext);
30433
+ const ctx = (0, import_react100.useContext)(UIContext);
30420
30434
  if (!ctx) throw new Error("useProviderConfig must be used within a Provider");
30421
30435
  return ctx;
30422
30436
  };
@@ -30523,7 +30537,7 @@ __export(index_exports, {
30523
30537
  module.exports = __toCommonJS(index_exports);
30524
30538
 
30525
30539
  // src/styles/built.css
30526
- var built_default = `.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.embarkai-ui-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.embarkai-ui-scope .pointer-events-none{pointer-events:none}.embarkai-ui-scope .pointer-events-auto{pointer-events:auto}.embarkai-ui-scope .visible{visibility:visible}.embarkai-ui-scope .invisible{visibility:hidden}.embarkai-ui-scope .static{position:static}.embarkai-ui-scope .fixed{position:fixed}.embarkai-ui-scope .absolute{position:absolute}.embarkai-ui-scope .relative{position:relative}.embarkai-ui-scope .inset-0{inset:0}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-1{top:-.25rem}.embarkai-ui-scope .-top-2{top:-.5rem}.embarkai-ui-scope .bottom-0{bottom:0}.embarkai-ui-scope .bottom-full{bottom:100%}.embarkai-ui-scope .left-0{left:0}.embarkai-ui-scope .left-1\\/2{left:50%}.embarkai-ui-scope .left-4{left:1rem}.embarkai-ui-scope .right-0{right:0}.embarkai-ui-scope .right-2{right:.5rem}.embarkai-ui-scope .right-3{right:.75rem}.embarkai-ui-scope .right-4{right:1rem}.embarkai-ui-scope .right-\\[var\\(--ui-kit-pd\\)\\]{right:var(--ui-kit-pd)}.embarkai-ui-scope .right-full{right:100%}.embarkai-ui-scope .top-0{top:0}.embarkai-ui-scope .top-1\\/2{top:50%}.embarkai-ui-scope .top-2{top:.5rem}.embarkai-ui-scope .top-4{top:1rem}.embarkai-ui-scope .top-\\[var\\(--ui-kit-pd\\)\\]{top:var(--ui-kit-pd)}.embarkai-ui-scope .z-10{z-index:10}.embarkai-ui-scope .z-50{z-index:50}.embarkai-ui-scope .z-\\[9998\\]{z-index:9998}.embarkai-ui-scope .z-\\[9999\\]{z-index:9999}.embarkai-ui-scope .-m-px{margin:-1px}.embarkai-ui-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.embarkai-ui-scope .mx-auto{margin-left:auto;margin-right:auto}.embarkai-ui-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.embarkai-ui-scope .mb-1{margin-bottom:.25rem}.embarkai-ui-scope .mb-2{margin-bottom:.5rem}.embarkai-ui-scope .mb-3{margin-bottom:.75rem}.embarkai-ui-scope .mb-4{margin-bottom:1rem}.embarkai-ui-scope .ml-1{margin-left:.25rem}.embarkai-ui-scope .ml-2{margin-left:.5rem}.embarkai-ui-scope .ml-auto{margin-left:auto}.embarkai-ui-scope .mr-1{margin-right:.25rem}.embarkai-ui-scope .mt-0\\.5{margin-top:.125rem}.embarkai-ui-scope .mt-1{margin-top:.25rem}.embarkai-ui-scope .mt-2{margin-top:.5rem}.embarkai-ui-scope .mt-4{margin-top:1rem}.embarkai-ui-scope .block{display:block}.embarkai-ui-scope .inline-block{display:inline-block}.embarkai-ui-scope .inline{display:inline}.embarkai-ui-scope .flex{display:flex}.embarkai-ui-scope .inline-flex{display:inline-flex}.embarkai-ui-scope .table{display:table}.embarkai-ui-scope .grid{display:grid}.embarkai-ui-scope .hidden{display:none}.embarkai-ui-scope .aspect-square{aspect-ratio:1/1}.embarkai-ui-scope .size-4{width:1rem;height:1rem}.embarkai-ui-scope .size-8{width:2rem;height:2rem}.embarkai-ui-scope .size-auto{width:auto;height:auto}.embarkai-ui-scope .h-0{height:0}.embarkai-ui-scope .h-1{height:.25rem}.embarkai-ui-scope .h-10{height:2.5rem}.embarkai-ui-scope .h-12{height:3rem}.embarkai-ui-scope .h-16{height:4rem}.embarkai-ui-scope .h-3{height:.75rem}.embarkai-ui-scope .h-3\\.5{height:.875rem}.embarkai-ui-scope .h-4{height:1rem}.embarkai-ui-scope .h-48{height:12rem}.embarkai-ui-scope .h-5{height:1.25rem}.embarkai-ui-scope .h-6{height:1.5rem}.embarkai-ui-scope .h-7{height:1.75rem}.embarkai-ui-scope .h-8{height:2rem}.embarkai-ui-scope .h-\\[100dvh\\]{height:100dvh}.embarkai-ui-scope .h-\\[48px\\]{height:48px}.embarkai-ui-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.embarkai-ui-scope .h-auto{height:auto}.embarkai-ui-scope .h-fit{height:-moz-fit-content;height:fit-content}.embarkai-ui-scope .h-full{height:100%}.embarkai-ui-scope .h-px{height:1px}.embarkai-ui-scope .max-h-96{max-height:24rem}.embarkai-ui-scope .max-h-\\[95dvh\\]{max-height:95dvh}.embarkai-ui-scope .min-h-10{min-height:2.5rem}.embarkai-ui-scope .min-h-12{min-height:3rem}.embarkai-ui-scope .w-0{width:0}.embarkai-ui-scope .w-1{width:.25rem}.embarkai-ui-scope .w-1\\/2{width:50%}.embarkai-ui-scope .w-10{width:2.5rem}.embarkai-ui-scope .w-12{width:3rem}.embarkai-ui-scope .w-16{width:4rem}.embarkai-ui-scope .w-3{width:.75rem}.embarkai-ui-scope .w-3\\.5{width:.875rem}.embarkai-ui-scope .w-4{width:1rem}.embarkai-ui-scope .w-48{width:12rem}.embarkai-ui-scope .w-5{width:1.25rem}.embarkai-ui-scope .w-6{width:1.5rem}.embarkai-ui-scope .w-7{width:1.75rem}.embarkai-ui-scope .w-8{width:2rem}.embarkai-ui-scope .w-\\[100dvw\\]{width:100dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.embarkai-ui-scope .w-\\[var\\(--ui-kit-maw\\)\\]{width:var(--ui-kit-maw)}.embarkai-ui-scope .w-fit{width:-moz-fit-content;width:fit-content}.embarkai-ui-scope .w-full{width:100%}.embarkai-ui-scope .w-px{width:1px}.embarkai-ui-scope .min-w-0{min-width:0}.embarkai-ui-scope .min-w-10{min-width:2.5rem}.embarkai-ui-scope .min-w-16{min-width:4rem}.embarkai-ui-scope .min-w-\\[256px\\]{min-width:256px}.embarkai-ui-scope .min-w-\\[8rem\\]{min-width:8rem}.embarkai-ui-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.embarkai-ui-scope .max-w-\\[100px\\]{max-width:100px}.embarkai-ui-scope .max-w-\\[144px\\]{max-width:144px}.embarkai-ui-scope .max-w-\\[150px\\]{max-width:150px}.embarkai-ui-scope .max-w-\\[160px\\]{max-width:160px}.embarkai-ui-scope .max-w-\\[256px\\]{max-width:256px}.embarkai-ui-scope .max-w-\\[680px\\]{max-width:680px}.embarkai-ui-scope .max-w-\\[calc\\(50\\%-8px\\)\\]{max-width:calc(50% - 8px)}.embarkai-ui-scope .max-w-full{max-width:100%}.embarkai-ui-scope .max-w-sm{max-width:24rem}.embarkai-ui-scope .flex-1{flex:1 1 0%}.embarkai-ui-scope .flex-none{flex:none}.embarkai-ui-scope .flex-shrink-0,.embarkai-ui-scope .shrink-0{flex-shrink:0}.embarkai-ui-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.embarkai-ui-scope .-translate-x-1\\/2,.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{--tw-translate-x:calc(var(--ui-kit-gap)*-1)}.embarkai-ui-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.embarkai-ui-scope .-translate-y-1\\/2,.embarkai-ui-scope .-translate-y-1\\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-y-1\\/3{--tw-translate-y:-33.333333%}.embarkai-ui-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--ui-kit-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--ui-kit-bg-warning)}}.embarkai-ui-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse{50%{opacity:.5}}.embarkai-ui-scope .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.embarkai-ui-scope .animate-spin{animation:spin 1s linear infinite}.embarkai-ui-scope .cursor-default{cursor:default}.embarkai-ui-scope .cursor-help{cursor:help}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.embarkai-ui-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.embarkai-ui-scope .resize{resize:both}.embarkai-ui-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.embarkai-ui-scope .list-inside{list-style-position:inside}.embarkai-ui-scope .list-disc{list-style-type:disc}.embarkai-ui-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.embarkai-ui-scope .flex-col{flex-direction:column}.embarkai-ui-scope .flex-col-reverse{flex-direction:column-reverse}.embarkai-ui-scope .flex-wrap{flex-wrap:wrap}.embarkai-ui-scope .place-content-center{place-content:center}.embarkai-ui-scope .items-start{align-items:flex-start}.embarkai-ui-scope .items-end{align-items:flex-end}.embarkai-ui-scope .items-center{align-items:center}.embarkai-ui-scope .justify-start{justify-content:flex-start}.embarkai-ui-scope .justify-end{justify-content:flex-end}.embarkai-ui-scope .justify-center{justify-content:center}.embarkai-ui-scope .justify-between{justify-content:space-between}.embarkai-ui-scope .gap-0{gap:0}.embarkai-ui-scope .gap-1{gap:.25rem}.embarkai-ui-scope .gap-2{gap:.5rem}.embarkai-ui-scope .gap-3{gap:.75rem}.embarkai-ui-scope .gap-4{gap:1rem}.embarkai-ui-scope .gap-\\[10px\\]{gap:10px}.embarkai-ui-scope .gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.embarkai-ui-scope .overflow-hidden{overflow:hidden}.embarkai-ui-scope .overflow-y-auto{overflow-y:auto}.embarkai-ui-scope .overflow-x-hidden{overflow-x:hidden}.embarkai-ui-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embarkai-ui-scope .text-ellipsis{text-overflow:ellipsis}.embarkai-ui-scope .whitespace-nowrap{white-space:nowrap}.embarkai-ui-scope .whitespace-pre-line{white-space:pre-line}.embarkai-ui-scope .whitespace-pre-wrap{white-space:pre-wrap}.embarkai-ui-scope .break-normal{overflow-wrap:normal;word-break:normal}.embarkai-ui-scope .break-words{overflow-wrap:break-word}.embarkai-ui-scope .break-all{word-break:break-all}.embarkai-ui-scope .rounded{border-radius:.25rem}.embarkai-ui-scope .rounded-\\[10px\\]{border-radius:10px}.embarkai-ui-scope .rounded-\\[8px\\]{border-radius:8px}.embarkai-ui-scope .rounded-\\[calc\\(var\\(--ui-kit-el-bdrs\\)_\\/_2\\)\\]{border-radius:calc(var(--ui-kit-el-bdrs)/2)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-bdrs\\)\\]{border-radius:var(--ui-kit-bdrs)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .rounded-full{border-radius:9999px}.embarkai-ui-scope .rounded-lg{border-radius:.5rem}.embarkai-ui-scope .rounded-md{border-radius:.375rem}.embarkai-ui-scope .rounded-xl{border-radius:.75rem}.embarkai-ui-scope .border{border-width:1px}.embarkai-ui-scope .border-0{border-width:0}.embarkai-ui-scope .border-2{border-width:2px}.embarkai-ui-scope .border-b{border-bottom-width:1px}.embarkai-ui-scope .border-t{border-top-width:1px}.embarkai-ui-scope .border-dashed{border-style:dashed}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bd\\)\\]{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-error\\)\\]{border-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-success\\)\\]{border-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-warning\\)\\]{border-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-error\\)\\]{border-color:var(--ui-kit-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-secondary\\)\\]{border-color:var(--ui-kit-secondary)}.embarkai-ui-scope .border-current{border-color:currentColor}.embarkai-ui-scope .border-transparent{border-color:transparent}.embarkai-ui-scope .border-t-transparent{border-top-color:transparent}.embarkai-ui-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f0f6f8\\]{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg\\)\\]{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-error\\)\\]{background-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-info\\)\\]{background-color:var(--ui-kit-bg-info)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-secondary\\)\\]{background-color:var(--ui-kit-bg-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-success\\)\\]{background-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-warning\\)\\]{background-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-fg\\)\\]{background-color:var(--ui-kit-fg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-overlay\\)\\]{background-color:var(--ui-kit-overlay)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-primary\\)\\]{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary\\)\\]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary-h\\)\\]{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-transparent{background-color:transparent}.embarkai-ui-scope .fill-\\[var\\(--ui-kit-bg-warning\\)\\]{fill:var(--ui-kit-bg-warning)}.embarkai-ui-scope .object-contain{-o-object-fit:contain;object-fit:contain}.embarkai-ui-scope .object-cover{-o-object-fit:cover;object-fit:cover}.embarkai-ui-scope .p-0{padding:0}.embarkai-ui-scope .p-1{padding:.25rem}.embarkai-ui-scope .p-2{padding:.5rem}.embarkai-ui-scope .p-3{padding:.75rem}.embarkai-ui-scope .p-4{padding:1rem}.embarkai-ui-scope .p-5{padding:1.25rem}.embarkai-ui-scope .p-6{padding:1.5rem}.embarkai-ui-scope .p-8{padding:2rem}.embarkai-ui-scope .p-\\[12px\\]{padding:12px}.embarkai-ui-scope .p-\\[2px\\]{padding:2px}.embarkai-ui-scope .p-\\[var\\(--ui-kit-gap\\)\\]{padding:var(--ui-kit-gap)}.embarkai-ui-scope .p-\\[var\\(--ui-kit-pd\\)\\]{padding:var(--ui-kit-pd)}.embarkai-ui-scope .px-0{padding-left:0;padding-right:0}.embarkai-ui-scope .px-1{padding-left:.25rem;padding-right:.25rem}.embarkai-ui-scope .px-2{padding-left:.5rem;padding-right:.5rem}.embarkai-ui-scope .px-3{padding-left:.75rem;padding-right:.75rem}.embarkai-ui-scope .px-4{padding-left:1rem;padding-right:1rem}.embarkai-ui-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.embarkai-ui-scope .px-8{padding-left:2rem;padding-right:2rem}.embarkai-ui-scope .px-\\[var\\(--ui-kit-gap\\)\\]{padding-left:var(--ui-kit-gap);padding-right:var(--ui-kit-gap)}.embarkai-ui-scope .px-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .py-0{padding-top:0;padding-bottom:0}.embarkai-ui-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.embarkai-ui-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.embarkai-ui-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.embarkai-ui-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.embarkai-ui-scope .py-4{padding-top:1rem;padding-bottom:1rem}.embarkai-ui-scope .py-8{padding-top:2rem;padding-bottom:2rem}.embarkai-ui-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.embarkai-ui-scope .py-\\[var\\(--ui-kit-gap\\)\\]{padding-top:var(--ui-kit-gap);padding-bottom:var(--ui-kit-gap)}.embarkai-ui-scope .py-\\[var\\(--ui-kit-pd\\)\\]{padding-top:var(--ui-kit-pd);padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pb-2{padding-bottom:.5rem}.embarkai-ui-scope .pb-5{padding-bottom:1.25rem}.embarkai-ui-scope .pb-6{padding-bottom:1.5rem}.embarkai-ui-scope .pb-\\[var\\(--ui-kit-pd\\)\\]{padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pl-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd)}.embarkai-ui-scope .pr-8{padding-right:2rem}.embarkai-ui-scope .pt-3{padding-top:.75rem}.embarkai-ui-scope .pt-4{padding-top:1rem}.embarkai-ui-scope .pt-5{padding-top:1.25rem}.embarkai-ui-scope .text-left{text-align:left}.embarkai-ui-scope .text-center{text-align:center}.embarkai-ui-scope .text-right{text-align:right}.embarkai-ui-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.embarkai-ui-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.embarkai-ui-scope .text-2xl{font-size:1.5rem;line-height:2rem}.embarkai-ui-scope .text-\\[10px\\]{font-size:10px}.embarkai-ui-scope .text-\\[14px\\]{font-size:14px}.embarkai-ui-scope .text-\\[16px\\]{font-size:16px}.embarkai-ui-scope .text-\\[8px\\]{font-size:8px}.embarkai-ui-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.embarkai-ui-scope .text-sm{font-size:.875rem;line-height:1.25rem}.embarkai-ui-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.embarkai-ui-scope .text-xs{font-size:.75rem;line-height:1rem}.embarkai-ui-scope .font-bold{font-weight:700}.embarkai-ui-scope .font-medium{font-weight:500}.embarkai-ui-scope .font-normal{font-weight:400}.embarkai-ui-scope .font-semibold{font-weight:600}.embarkai-ui-scope .uppercase{text-transform:uppercase}.embarkai-ui-scope .lowercase{text-transform:lowercase}.embarkai-ui-scope .leading-3{line-height:.75rem}.embarkai-ui-scope .leading-4{line-height:1rem}.embarkai-ui-scope .leading-5{line-height:1.25rem}.embarkai-ui-scope .leading-6{line-height:1.5rem}.embarkai-ui-scope .leading-7{line-height:1.75rem}.embarkai-ui-scope .leading-8{line-height:2rem}.embarkai-ui-scope .leading-\\[8px\\]{line-height:8px}.embarkai-ui-scope .leading-none{line-height:1}.embarkai-ui-scope .leading-tight{line-height:1.25}.embarkai-ui-scope .tracking-\\[0\\.3em\\]{letter-spacing:.3em}.embarkai-ui-scope .tracking-tight{letter-spacing:-.025em}.embarkai-ui-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-error\\)\\]{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-success\\)\\]{color:var(--ui-kit-bg-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-warning\\)\\]{color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-error\\)\\]{color:var(--ui-kit-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg\\)\\]{color:var(--ui-kit-fg)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-inverted\\)\\]{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-muted\\)\\]{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-info\\)\\]{color:var(--ui-kit-info)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-primary\\)\\]{color:var(--ui-kit-primary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-success\\)\\]{color:var(--ui-kit-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-text-secondary\\)\\]{color:var(--ui-kit-text-secondary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-warning\\)\\]{color:var(--ui-kit-warning)}.embarkai-ui-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.embarkai-ui-scope .underline{text-decoration-line:underline}.embarkai-ui-scope .underline-offset-2{text-underline-offset:2px}.embarkai-ui-scope .underline-offset-4{text-underline-offset:4px}.embarkai-ui-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope .opacity-0{opacity:0}.embarkai-ui-scope .opacity-100{opacity:1}.embarkai-ui-scope .opacity-50{opacity:.5}.embarkai-ui-scope .opacity-60{opacity:.6}.embarkai-ui-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.embarkai-ui-scope .shadow,.embarkai-ui-scope .shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.embarkai-ui-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.embarkai-ui-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .outline{outline-style:solid}.embarkai-ui-scope .blur{--tw-blur:blur(8px)}.embarkai-ui-scope .blur,.embarkai-ui-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .grayscale{--tw-grayscale:grayscale(100%)}.embarkai-ui-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-none{transition-property:none}.embarkai-ui-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .duration-200{transition-duration:.2s}.embarkai-ui-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.embarkai-ui-scope{--ui-kit-ff:var(--embark-ui-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--ui-kit-maw:var(--embark-ui-maw,384px);--ui-kit-pd:var(--embark-ui-pd,12px);--ui-kit-gap:var(--embark-ui-gap,10px);--ui-kit-bdrs:var(--embark-ui-bdrs,20px);--ui-kit-el-bdrs:var(--embark-ui-element-bdrs,10px);--ui-kit-backdrop-blur:var(--embark-ui-backdrop-blur,10px)}.embarkai-ui-scope[data-current-theme-mode=light]{--ui-kit-overlay:var(--embark-ui-overlay,hsla(0,0%,100%,.8));--ui-kit-bg:var(--embark-ui-bg,#fff);--ui-kit-fg:var(--embark-ui-fg,#000);--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#fff);--ui-kit-fg-muted:var(--embark-ui-fg-muted,rgba(0,0,0,.6));--ui-kit-primary:var(--embark-ui-primary,#000);--ui-kit-primary-h:var(--embark-ui-primary-h,rgba(0,0,0,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,rgba(0,0,0,.6));--ui-kit-secondary:var(--embark-ui-secondary,#e4e4e4);--ui-kit-secondary-h:var(--embark-ui-secondary-h,hsla(0,0%,89%,.8));--ui-kit-secondary-a:var(--embark-ui-secondary-a,hsla(0,0%,89%,.6));--ui-kit-bd:var(--embark-ui-bd,#ebebeb);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#a9a9a9);--ui-kit-shadow:var(--embark-ui-shadow,0 0 0 0 transparent);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope[data-current-theme-mode=dark]{--ui-kit-overlay:var(--embark-ui-overlay,rgba(0,0,0,.8));--ui-kit-bg:var(--embark-ui-bg,#1a1a1a);--ui-kit-fg:var(--embark-ui-fg,#fff);--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#000);--ui-kit-fg-muted:var(--embark-ui-fg-muted,hsla(0,0%,100%,.6));--ui-kit-primary:var(--embark-ui-primary,#fff);--ui-kit-primary-h:var(--embark-ui-primary-h,hsla(0,0%,100%,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,hsla(0,0%,100%,.6));--ui-kit-secondary:var(--embark-ui-secondary,#2a2a2a);--ui-kit-secondary-h:var(--embark-ui-secondary-h,rgba(42,42,42,.6));--ui-kit-secondary-a:var(--embark-ui-secondary-a,rgba(42,42,42,.4));--ui-kit-bd:var(--embark-ui-bd,#3a3a3a);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#4a4a4a);--ui-kit-shadow:var(--embark-ui-shadow,0 0 0 0 transparent);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope,.embarkai-ui-scope *{margin:0;box-sizing:border-box;font-family:var(--ui-kit-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope button,.embarkai-ui-scope h1,.embarkai-ui-scope h2,.embarkai-ui-scope h3,.embarkai-ui-scope h4,.embarkai-ui-scope h5,.embarkai-ui-scope h6,.embarkai-ui-scope input,.embarkai-ui-scope p,.embarkai-ui-scope select,.embarkai-ui-scope textarea{font-family:var(--ui-kit-ff)!important;margin:0}.embarkai-ui-scope button,.embarkai-ui-scope input,.embarkai-ui-scope select,.embarkai-ui-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.embarkai-ui-scope input,.embarkai-ui-scope textarea{font-size:16px!important}.embarkai-ui-scope .account-connect-button{box-shadow:0 4px 20px var(--ui-kit-shadow-c),inset 0 0 0 1px var(--ui-kit-bd);transition:transform .25s ease}.embarkai-ui-scope .account-connect-button:hover{transform:scale(1.02)}.embarkai-ui-scope .account-connect-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.embarkai-ui-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.embarkai-ui-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.embarkai-ui-scope .list-scrollbar-y{width:100%;padding-right:var(--ui-kit-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--ui-kit-scrollbar-mah,300px)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--ui-kit-bd)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.embarkai-ui-scope .noScrollbars::-webkit-scrollbar{display:none}.embarkai-ui-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}@keyframes rotateShine{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.embarkai-ui-scope .button-shine-outline{position:absolute;top:0;left:0;width:100%;height:100%;padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) border-box;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) border-box;-webkit-mask-composite:xor;mask-composite:exclude}.embarkai-ui-scope .button-shine-outline-shiner{pointer-events:none;position:absolute;top:50%;left:50%;width:500px;height:500px;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0,var(--ui-kit-fg) 8%,transparent 24%);animation:rotateShine 3s linear infinite}.embarkai-ui-scope .file\\:mr-\\[var\\(--ui-kit-gap\\)\\]::file-selector-button{margin-right:var(--ui-kit-gap)}.embarkai-ui-scope .file\\:h-12::file-selector-button{height:3rem}.embarkai-ui-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.embarkai-ui-scope .file\\:rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]::file-selector-button{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .file\\:border-0::file-selector-button{border-width:0}.embarkai-ui-scope .file\\:bg-\\[var\\(--ui-kit-primary\\)\\]::file-selector-button{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.embarkai-ui-scope .file\\:px-\\[var\\(--ui-kit-pd\\)\\]::file-selector-button{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.embarkai-ui-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.embarkai-ui-scope .file\\:font-medium::file-selector-button{font-weight:500}.embarkai-ui-scope .file\\:text-\\[var\\(--ui-kit-fg-inverted\\)\\]::file-selector-button{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::-moz-placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .focus-within\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus-within{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .hover\\:bg-\\[\\#002c15\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#081f2c\\]:hover{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#f0f6f8\\]:hover{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#f3ba2f\\]:hover{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary-h\\)\\]:hover{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[var\\(--ui-kit-fg\\)\\]:hover{color:var(--ui-kit-fg)}.embarkai-ui-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:underline:hover{text-decoration-line:underline}.embarkai-ui-scope .hover\\:opacity-80:hover{opacity:.8}.embarkai-ui-scope .hover\\:brightness-110:hover{--tw-brightness:brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.embarkai-ui-scope .focus\\:border-\\[var\\(--ui-kit-primary\\)\\]:focus{border-color:var(--ui-kit-primary)}.embarkai-ui-scope .focus\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus\\:bg-transparent:focus{background-color:transparent}.embarkai-ui-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.embarkai-ui-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.embarkai-ui-scope .active\\:bg-\\[\\#f3ba2f\\]:active{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:active{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .active\\:opacity-60:active{opacity:.6}.embarkai-ui-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.embarkai-ui-scope .disabled\\:cursor-default:disabled{cursor:default}.embarkai-ui-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.embarkai-ui-scope .disabled\\:opacity-50:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover:disabled{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .disabled\\:hover\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:hover:disabled{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:active\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:active:disabled{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:active\\:opacity-50:active:disabled{opacity:.5}.embarkai-ui-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.embarkai-ui-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.embarkai-ui-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.embarkai-ui-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--ui-kit-bd-intense\\)\\][data-state=checked]{border-color:var(--ui-kit-bd-intense)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--ui-kit-secondary\\)\\][data-state=checked]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--ui-kit-fg\\)\\][data-state=checked]{color:var(--ui-kit-fg)}.embarkai-ui-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--ui-kit-gap\\)\\][data-slot=select-value]>*){gap:var(--ui-kit-gap)}@media (min-width:640px){.embarkai-ui-scope .sm\\:flex-row{flex-direction:row}.embarkai-ui-scope .sm\\:justify-end{justify-content:flex-end}.embarkai-ui-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.embarkai-ui-scope .md\\:h-8{height:2rem}.embarkai-ui-scope .md\\:w-8{width:2rem}.embarkai-ui-scope .md\\:gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}.embarkai-ui-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}`;
30540
+ var built_default = `.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.embarkai-ui-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.embarkai-ui-scope .pointer-events-none{pointer-events:none}.embarkai-ui-scope .pointer-events-auto{pointer-events:auto}.embarkai-ui-scope .visible{visibility:visible}.embarkai-ui-scope .invisible{visibility:hidden}.embarkai-ui-scope .static{position:static}.embarkai-ui-scope .fixed{position:fixed}.embarkai-ui-scope .absolute{position:absolute}.embarkai-ui-scope .relative{position:relative}.embarkai-ui-scope .inset-0{inset:0}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-1{top:-.25rem}.embarkai-ui-scope .-top-2{top:-.5rem}.embarkai-ui-scope .bottom-0{bottom:0}.embarkai-ui-scope .bottom-full{bottom:100%}.embarkai-ui-scope .left-0{left:0}.embarkai-ui-scope .left-1\\/2{left:50%}.embarkai-ui-scope .left-4{left:1rem}.embarkai-ui-scope .right-0{right:0}.embarkai-ui-scope .right-1{right:.25rem}.embarkai-ui-scope .right-2{right:.5rem}.embarkai-ui-scope .right-3{right:.75rem}.embarkai-ui-scope .right-4{right:1rem}.embarkai-ui-scope .right-\\[var\\(--ui-kit-pd\\)\\]{right:var(--ui-kit-pd)}.embarkai-ui-scope .right-full{right:100%}.embarkai-ui-scope .top-0{top:0}.embarkai-ui-scope .top-1{top:.25rem}.embarkai-ui-scope .top-1\\/2{top:50%}.embarkai-ui-scope .top-2{top:.5rem}.embarkai-ui-scope .top-4{top:1rem}.embarkai-ui-scope .top-\\[var\\(--ui-kit-pd\\)\\]{top:var(--ui-kit-pd)}.embarkai-ui-scope .z-10{z-index:10}.embarkai-ui-scope .z-50{z-index:50}.embarkai-ui-scope .z-\\[9998\\]{z-index:9998}.embarkai-ui-scope .z-\\[9999\\]{z-index:9999}.embarkai-ui-scope .-m-px{margin:-1px}.embarkai-ui-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.embarkai-ui-scope .mx-auto{margin-left:auto;margin-right:auto}.embarkai-ui-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.embarkai-ui-scope .mb-1{margin-bottom:.25rem}.embarkai-ui-scope .mb-2{margin-bottom:.5rem}.embarkai-ui-scope .mb-3{margin-bottom:.75rem}.embarkai-ui-scope .mb-4{margin-bottom:1rem}.embarkai-ui-scope .ml-1{margin-left:.25rem}.embarkai-ui-scope .ml-2{margin-left:.5rem}.embarkai-ui-scope .ml-auto{margin-left:auto}.embarkai-ui-scope .mr-1{margin-right:.25rem}.embarkai-ui-scope .mt-0\\.5{margin-top:.125rem}.embarkai-ui-scope .mt-1{margin-top:.25rem}.embarkai-ui-scope .mt-2{margin-top:.5rem}.embarkai-ui-scope .mt-4{margin-top:1rem}.embarkai-ui-scope .block{display:block}.embarkai-ui-scope .inline-block{display:inline-block}.embarkai-ui-scope .inline{display:inline}.embarkai-ui-scope .flex{display:flex}.embarkai-ui-scope .inline-flex{display:inline-flex}.embarkai-ui-scope .table{display:table}.embarkai-ui-scope .grid{display:grid}.embarkai-ui-scope .hidden{display:none}.embarkai-ui-scope .aspect-square{aspect-ratio:1/1}.embarkai-ui-scope .size-4{width:1rem;height:1rem}.embarkai-ui-scope .size-8{width:2rem;height:2rem}.embarkai-ui-scope .size-auto{width:auto;height:auto}.embarkai-ui-scope .h-0{height:0}.embarkai-ui-scope .h-1{height:.25rem}.embarkai-ui-scope .h-10{height:2.5rem}.embarkai-ui-scope .h-12{height:3rem}.embarkai-ui-scope .h-16{height:4rem}.embarkai-ui-scope .h-3{height:.75rem}.embarkai-ui-scope .h-3\\.5{height:.875rem}.embarkai-ui-scope .h-4{height:1rem}.embarkai-ui-scope .h-48{height:12rem}.embarkai-ui-scope .h-5{height:1.25rem}.embarkai-ui-scope .h-6{height:1.5rem}.embarkai-ui-scope .h-7{height:1.75rem}.embarkai-ui-scope .h-8{height:2rem}.embarkai-ui-scope .h-\\[100dvh\\]{height:100dvh}.embarkai-ui-scope .h-\\[48px\\]{height:48px}.embarkai-ui-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.embarkai-ui-scope .h-auto{height:auto}.embarkai-ui-scope .h-fit{height:-moz-fit-content;height:fit-content}.embarkai-ui-scope .h-full{height:100%}.embarkai-ui-scope .h-px{height:1px}.embarkai-ui-scope .max-h-96{max-height:24rem}.embarkai-ui-scope .max-h-\\[95dvh\\]{max-height:95dvh}.embarkai-ui-scope .min-h-10{min-height:2.5rem}.embarkai-ui-scope .min-h-12{min-height:3rem}.embarkai-ui-scope .w-0{width:0}.embarkai-ui-scope .w-1{width:.25rem}.embarkai-ui-scope .w-1\\/2{width:50%}.embarkai-ui-scope .w-10{width:2.5rem}.embarkai-ui-scope .w-12{width:3rem}.embarkai-ui-scope .w-16{width:4rem}.embarkai-ui-scope .w-3{width:.75rem}.embarkai-ui-scope .w-3\\.5{width:.875rem}.embarkai-ui-scope .w-4{width:1rem}.embarkai-ui-scope .w-48{width:12rem}.embarkai-ui-scope .w-5{width:1.25rem}.embarkai-ui-scope .w-6{width:1.5rem}.embarkai-ui-scope .w-7{width:1.75rem}.embarkai-ui-scope .w-8{width:2rem}.embarkai-ui-scope .w-\\[100dvw\\]{width:100dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.embarkai-ui-scope .w-\\[var\\(--ui-kit-maw\\)\\]{width:var(--ui-kit-maw)}.embarkai-ui-scope .w-fit{width:-moz-fit-content;width:fit-content}.embarkai-ui-scope .w-full{width:100%}.embarkai-ui-scope .w-px{width:1px}.embarkai-ui-scope .min-w-0{min-width:0}.embarkai-ui-scope .min-w-10{min-width:2.5rem}.embarkai-ui-scope .min-w-16{min-width:4rem}.embarkai-ui-scope .min-w-\\[256px\\]{min-width:256px}.embarkai-ui-scope .min-w-\\[8rem\\]{min-width:8rem}.embarkai-ui-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.embarkai-ui-scope .max-w-\\[100px\\]{max-width:100px}.embarkai-ui-scope .max-w-\\[144px\\]{max-width:144px}.embarkai-ui-scope .max-w-\\[150px\\]{max-width:150px}.embarkai-ui-scope .max-w-\\[160px\\]{max-width:160px}.embarkai-ui-scope .max-w-\\[256px\\]{max-width:256px}.embarkai-ui-scope .max-w-\\[680px\\]{max-width:680px}.embarkai-ui-scope .max-w-\\[calc\\(50\\%-8px\\)\\]{max-width:calc(50% - 8px)}.embarkai-ui-scope .max-w-full{max-width:100%}.embarkai-ui-scope .max-w-sm{max-width:24rem}.embarkai-ui-scope .flex-1{flex:1 1 0%}.embarkai-ui-scope .flex-none{flex:none}.embarkai-ui-scope .flex-shrink-0,.embarkai-ui-scope .shrink-0{flex-shrink:0}.embarkai-ui-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.embarkai-ui-scope .-translate-x-1\\/2,.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{--tw-translate-x:calc(var(--ui-kit-gap)*-1)}.embarkai-ui-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.embarkai-ui-scope .-translate-y-1\\/2,.embarkai-ui-scope .-translate-y-1\\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-y-1\\/3{--tw-translate-y:-33.333333%}.embarkai-ui-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--ui-kit-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--ui-kit-bg-warning)}}.embarkai-ui-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse{50%{opacity:.5}}.embarkai-ui-scope .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.embarkai-ui-scope .animate-spin{animation:spin 1s linear infinite}.embarkai-ui-scope .cursor-default{cursor:default}.embarkai-ui-scope .cursor-help{cursor:help}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.embarkai-ui-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.embarkai-ui-scope .resize{resize:both}.embarkai-ui-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.embarkai-ui-scope .list-inside{list-style-position:inside}.embarkai-ui-scope .list-disc{list-style-type:disc}.embarkai-ui-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.embarkai-ui-scope .flex-col{flex-direction:column}.embarkai-ui-scope .flex-col-reverse{flex-direction:column-reverse}.embarkai-ui-scope .flex-wrap{flex-wrap:wrap}.embarkai-ui-scope .place-content-center{place-content:center}.embarkai-ui-scope .items-start{align-items:flex-start}.embarkai-ui-scope .items-end{align-items:flex-end}.embarkai-ui-scope .items-center{align-items:center}.embarkai-ui-scope .justify-start{justify-content:flex-start}.embarkai-ui-scope .justify-end{justify-content:flex-end}.embarkai-ui-scope .justify-center{justify-content:center}.embarkai-ui-scope .justify-between{justify-content:space-between}.embarkai-ui-scope .gap-0{gap:0}.embarkai-ui-scope .gap-1{gap:.25rem}.embarkai-ui-scope .gap-2{gap:.5rem}.embarkai-ui-scope .gap-3{gap:.75rem}.embarkai-ui-scope .gap-4{gap:1rem}.embarkai-ui-scope .gap-\\[10px\\]{gap:10px}.embarkai-ui-scope .gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.embarkai-ui-scope .overflow-hidden{overflow:hidden}.embarkai-ui-scope .overflow-y-auto{overflow-y:auto}.embarkai-ui-scope .overflow-x-hidden{overflow-x:hidden}.embarkai-ui-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embarkai-ui-scope .text-ellipsis{text-overflow:ellipsis}.embarkai-ui-scope .whitespace-nowrap{white-space:nowrap}.embarkai-ui-scope .whitespace-pre-line{white-space:pre-line}.embarkai-ui-scope .whitespace-pre-wrap{white-space:pre-wrap}.embarkai-ui-scope .break-normal{overflow-wrap:normal;word-break:normal}.embarkai-ui-scope .break-words{overflow-wrap:break-word}.embarkai-ui-scope .break-all{word-break:break-all}.embarkai-ui-scope .rounded{border-radius:.25rem}.embarkai-ui-scope .rounded-\\[10px\\]{border-radius:10px}.embarkai-ui-scope .rounded-\\[8px\\]{border-radius:8px}.embarkai-ui-scope .rounded-\\[calc\\(var\\(--ui-kit-el-bdrs\\)_\\/_2\\)\\]{border-radius:calc(var(--ui-kit-el-bdrs)/2)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-bdrs\\)\\]{border-radius:var(--ui-kit-bdrs)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .rounded-full{border-radius:9999px}.embarkai-ui-scope .rounded-lg{border-radius:.5rem}.embarkai-ui-scope .rounded-md{border-radius:.375rem}.embarkai-ui-scope .rounded-xl{border-radius:.75rem}.embarkai-ui-scope .border{border-width:1px}.embarkai-ui-scope .border-0{border-width:0}.embarkai-ui-scope .border-2{border-width:2px}.embarkai-ui-scope .border-b{border-bottom-width:1px}.embarkai-ui-scope .border-t{border-top-width:1px}.embarkai-ui-scope .border-dashed{border-style:dashed}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bd\\)\\]{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-error\\)\\]{border-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-success\\)\\]{border-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-warning\\)\\]{border-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-error\\)\\]{border-color:var(--ui-kit-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-secondary\\)\\]{border-color:var(--ui-kit-secondary)}.embarkai-ui-scope .border-current{border-color:currentColor}.embarkai-ui-scope .border-transparent{border-color:transparent}.embarkai-ui-scope .border-t-transparent{border-top-color:transparent}.embarkai-ui-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f0f6f8\\]{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg\\)\\]{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-error\\)\\]{background-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-info\\)\\]{background-color:var(--ui-kit-bg-info)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-secondary\\)\\]{background-color:var(--ui-kit-bg-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-success\\)\\]{background-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-warning\\)\\]{background-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-fg\\)\\]{background-color:var(--ui-kit-fg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-overlay\\)\\]{background-color:var(--ui-kit-overlay)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-primary\\)\\]{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary\\)\\]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary-h\\)\\]{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-transparent{background-color:transparent}.embarkai-ui-scope .fill-\\[var\\(--ui-kit-bg-warning\\)\\]{fill:var(--ui-kit-bg-warning)}.embarkai-ui-scope .object-contain{-o-object-fit:contain;object-fit:contain}.embarkai-ui-scope .object-cover{-o-object-fit:cover;object-fit:cover}.embarkai-ui-scope .p-0{padding:0}.embarkai-ui-scope .p-1{padding:.25rem}.embarkai-ui-scope .p-2{padding:.5rem}.embarkai-ui-scope .p-3{padding:.75rem}.embarkai-ui-scope .p-4{padding:1rem}.embarkai-ui-scope .p-5{padding:1.25rem}.embarkai-ui-scope .p-6{padding:1.5rem}.embarkai-ui-scope .p-8{padding:2rem}.embarkai-ui-scope .p-\\[12px\\]{padding:12px}.embarkai-ui-scope .p-\\[2px\\]{padding:2px}.embarkai-ui-scope .p-\\[var\\(--ui-kit-gap\\)\\]{padding:var(--ui-kit-gap)}.embarkai-ui-scope .p-\\[var\\(--ui-kit-pd\\)\\]{padding:var(--ui-kit-pd)}.embarkai-ui-scope .px-0{padding-left:0;padding-right:0}.embarkai-ui-scope .px-1{padding-left:.25rem;padding-right:.25rem}.embarkai-ui-scope .px-2{padding-left:.5rem;padding-right:.5rem}.embarkai-ui-scope .px-3{padding-left:.75rem;padding-right:.75rem}.embarkai-ui-scope .px-4{padding-left:1rem;padding-right:1rem}.embarkai-ui-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.embarkai-ui-scope .px-8{padding-left:2rem;padding-right:2rem}.embarkai-ui-scope .px-\\[var\\(--ui-kit-gap\\)\\]{padding-left:var(--ui-kit-gap);padding-right:var(--ui-kit-gap)}.embarkai-ui-scope .px-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .py-0{padding-top:0;padding-bottom:0}.embarkai-ui-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.embarkai-ui-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.embarkai-ui-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.embarkai-ui-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.embarkai-ui-scope .py-4{padding-top:1rem;padding-bottom:1rem}.embarkai-ui-scope .py-8{padding-top:2rem;padding-bottom:2rem}.embarkai-ui-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.embarkai-ui-scope .py-\\[var\\(--ui-kit-gap\\)\\]{padding-top:var(--ui-kit-gap);padding-bottom:var(--ui-kit-gap)}.embarkai-ui-scope .py-\\[var\\(--ui-kit-pd\\)\\]{padding-top:var(--ui-kit-pd);padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pb-2{padding-bottom:.5rem}.embarkai-ui-scope .pb-5{padding-bottom:1.25rem}.embarkai-ui-scope .pb-6{padding-bottom:1.5rem}.embarkai-ui-scope .pb-\\[var\\(--ui-kit-pd\\)\\]{padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pl-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd)}.embarkai-ui-scope .pr-8{padding-right:2rem}.embarkai-ui-scope .pt-3{padding-top:.75rem}.embarkai-ui-scope .pt-4{padding-top:1rem}.embarkai-ui-scope .pt-5{padding-top:1.25rem}.embarkai-ui-scope .text-left{text-align:left}.embarkai-ui-scope .text-center{text-align:center}.embarkai-ui-scope .text-right{text-align:right}.embarkai-ui-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.embarkai-ui-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.embarkai-ui-scope .text-2xl{font-size:1.5rem;line-height:2rem}.embarkai-ui-scope .text-\\[10px\\]{font-size:10px}.embarkai-ui-scope .text-\\[14px\\]{font-size:14px}.embarkai-ui-scope .text-\\[16px\\]{font-size:16px}.embarkai-ui-scope .text-\\[8px\\]{font-size:8px}.embarkai-ui-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.embarkai-ui-scope .text-sm{font-size:.875rem;line-height:1.25rem}.embarkai-ui-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.embarkai-ui-scope .text-xs{font-size:.75rem;line-height:1rem}.embarkai-ui-scope .font-bold{font-weight:700}.embarkai-ui-scope .font-medium{font-weight:500}.embarkai-ui-scope .font-normal{font-weight:400}.embarkai-ui-scope .font-semibold{font-weight:600}.embarkai-ui-scope .uppercase{text-transform:uppercase}.embarkai-ui-scope .lowercase{text-transform:lowercase}.embarkai-ui-scope .leading-3{line-height:.75rem}.embarkai-ui-scope .leading-4{line-height:1rem}.embarkai-ui-scope .leading-5{line-height:1.25rem}.embarkai-ui-scope .leading-6{line-height:1.5rem}.embarkai-ui-scope .leading-7{line-height:1.75rem}.embarkai-ui-scope .leading-8{line-height:2rem}.embarkai-ui-scope .leading-\\[8px\\]{line-height:8px}.embarkai-ui-scope .leading-none{line-height:1}.embarkai-ui-scope .leading-tight{line-height:1.25}.embarkai-ui-scope .tracking-\\[0\\.3em\\]{letter-spacing:.3em}.embarkai-ui-scope .tracking-tight{letter-spacing:-.025em}.embarkai-ui-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-error\\)\\]{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-success\\)\\]{color:var(--ui-kit-bg-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-warning\\)\\]{color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-error\\)\\]{color:var(--ui-kit-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg\\)\\]{color:var(--ui-kit-fg)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-inverted\\)\\]{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-muted\\)\\]{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-info\\)\\]{color:var(--ui-kit-info)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-primary\\)\\]{color:var(--ui-kit-primary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-success\\)\\]{color:var(--ui-kit-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-text-secondary\\)\\]{color:var(--ui-kit-text-secondary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-warning\\)\\]{color:var(--ui-kit-warning)}.embarkai-ui-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.embarkai-ui-scope .underline{text-decoration-line:underline}.embarkai-ui-scope .underline-offset-2{text-underline-offset:2px}.embarkai-ui-scope .underline-offset-4{text-underline-offset:4px}.embarkai-ui-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope .opacity-0{opacity:0}.embarkai-ui-scope .opacity-100{opacity:1}.embarkai-ui-scope .opacity-50{opacity:.5}.embarkai-ui-scope .opacity-60{opacity:.6}.embarkai-ui-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.embarkai-ui-scope .shadow,.embarkai-ui-scope .shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.embarkai-ui-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.embarkai-ui-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .outline{outline-style:solid}.embarkai-ui-scope .blur{--tw-blur:blur(8px)}.embarkai-ui-scope .blur,.embarkai-ui-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .grayscale{--tw-grayscale:grayscale(100%)}.embarkai-ui-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-none{transition-property:none}.embarkai-ui-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .duration-200{transition-duration:.2s}.embarkai-ui-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.embarkai-ui-scope{--ui-kit-ff:var(--embark-ui-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--ui-kit-maw:var(--embark-ui-maw,384px);--ui-kit-pd:var(--embark-ui-pd,12px);--ui-kit-gap:var(--embark-ui-gap,10px);--ui-kit-bdrs:var(--embark-ui-bdrs,20px);--ui-kit-el-bdrs:var(--embark-ui-element-bdrs,10px);--ui-kit-backdrop-blur:var(--embark-ui-backdrop-blur,10px)}.embarkai-ui-scope[data-current-theme-mode=light]{--ui-kit-overlay:var(--embark-ui-overlay,hsla(0,0%,100%,.8));--ui-kit-bg:var(--embark-ui-bg,#fff);--ui-kit-fg:var(--embark-ui-fg,#000);--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#fff);--ui-kit-fg-muted:var(--embark-ui-fg-muted,rgba(0,0,0,.6));--ui-kit-primary:var(--embark-ui-primary,#000);--ui-kit-primary-h:var(--embark-ui-primary-h,rgba(0,0,0,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,rgba(0,0,0,.6));--ui-kit-secondary:var(--embark-ui-secondary,#e4e4e4);--ui-kit-secondary-h:var(--embark-ui-secondary-h,hsla(0,0%,89%,.8));--ui-kit-secondary-a:var(--embark-ui-secondary-a,hsla(0,0%,89%,.6));--ui-kit-bd:var(--embark-ui-bd,#ebebeb);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#a9a9a9);--ui-kit-shadow:var(--embark-ui-shadow,0 0 0 0 transparent);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope[data-current-theme-mode=dark]{--ui-kit-overlay:var(--embark-ui-overlay,rgba(0,0,0,.8));--ui-kit-bg:var(--embark-ui-bg,#1a1a1a);--ui-kit-fg:var(--embark-ui-fg,#fff);--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#000);--ui-kit-fg-muted:var(--embark-ui-fg-muted,hsla(0,0%,100%,.6));--ui-kit-primary:var(--embark-ui-primary,#fff);--ui-kit-primary-h:var(--embark-ui-primary-h,hsla(0,0%,100%,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,hsla(0,0%,100%,.6));--ui-kit-secondary:var(--embark-ui-secondary,#2a2a2a);--ui-kit-secondary-h:var(--embark-ui-secondary-h,rgba(42,42,42,.6));--ui-kit-secondary-a:var(--embark-ui-secondary-a,rgba(42,42,42,.4));--ui-kit-bd:var(--embark-ui-bd,#3a3a3a);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#4a4a4a);--ui-kit-shadow:var(--embark-ui-shadow,0 0 0 0 transparent);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope,.embarkai-ui-scope *{margin:0;box-sizing:border-box;font-family:var(--ui-kit-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope button,.embarkai-ui-scope h1,.embarkai-ui-scope h2,.embarkai-ui-scope h3,.embarkai-ui-scope h4,.embarkai-ui-scope h5,.embarkai-ui-scope h6,.embarkai-ui-scope input,.embarkai-ui-scope p,.embarkai-ui-scope select,.embarkai-ui-scope textarea{font-family:var(--ui-kit-ff)!important;margin:0}.embarkai-ui-scope button,.embarkai-ui-scope input,.embarkai-ui-scope select,.embarkai-ui-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.embarkai-ui-scope input,.embarkai-ui-scope textarea{font-size:16px!important}.embarkai-ui-scope .account-connect-button{box-shadow:0 4px 20px var(--ui-kit-shadow-c),inset 0 0 0 1px var(--ui-kit-bd);transition:transform .25s ease}.embarkai-ui-scope .account-connect-button:hover{transform:scale(1.02)}.embarkai-ui-scope .account-connect-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.embarkai-ui-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.embarkai-ui-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.embarkai-ui-scope .list-scrollbar-y{width:100%;padding-right:var(--ui-kit-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--ui-kit-scrollbar-mah,300px)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--ui-kit-bd)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.embarkai-ui-scope .noScrollbars::-webkit-scrollbar{display:none}.embarkai-ui-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}@keyframes rotateShine{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.embarkai-ui-scope .button-shine-outline{position:absolute;top:0;left:0;width:100%;height:100%;padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) border-box;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) border-box;-webkit-mask-composite:xor;mask-composite:exclude}.embarkai-ui-scope .button-shine-outline-shiner{pointer-events:none;position:absolute;top:50%;left:50%;width:500px;height:500px;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0,var(--ui-kit-fg) 8%,transparent 24%);animation:rotateShine 3s linear infinite}.embarkai-ui-scope .file\\:mr-\\[var\\(--ui-kit-gap\\)\\]::file-selector-button{margin-right:var(--ui-kit-gap)}.embarkai-ui-scope .file\\:h-12::file-selector-button{height:3rem}.embarkai-ui-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.embarkai-ui-scope .file\\:rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]::file-selector-button{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .file\\:border-0::file-selector-button{border-width:0}.embarkai-ui-scope .file\\:bg-\\[var\\(--ui-kit-primary\\)\\]::file-selector-button{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.embarkai-ui-scope .file\\:px-\\[var\\(--ui-kit-pd\\)\\]::file-selector-button{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.embarkai-ui-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.embarkai-ui-scope .file\\:font-medium::file-selector-button{font-weight:500}.embarkai-ui-scope .file\\:text-\\[var\\(--ui-kit-fg-inverted\\)\\]::file-selector-button{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::-moz-placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .focus-within\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus-within{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .hover\\:bg-\\[\\#002c15\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#081f2c\\]:hover{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#f0f6f8\\]:hover{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#f3ba2f\\]:hover{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary-h\\)\\]:hover{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[var\\(--ui-kit-fg\\)\\]:hover{color:var(--ui-kit-fg)}.embarkai-ui-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:underline:hover{text-decoration-line:underline}.embarkai-ui-scope .hover\\:opacity-80:hover{opacity:.8}.embarkai-ui-scope .hover\\:brightness-110:hover{--tw-brightness:brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.embarkai-ui-scope .focus\\:border-\\[var\\(--ui-kit-primary\\)\\]:focus{border-color:var(--ui-kit-primary)}.embarkai-ui-scope .focus\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus\\:bg-transparent:focus{background-color:transparent}.embarkai-ui-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.embarkai-ui-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.embarkai-ui-scope .active\\:bg-\\[\\#f3ba2f\\]:active{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:active{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .active\\:opacity-60:active{opacity:.6}.embarkai-ui-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.embarkai-ui-scope .disabled\\:cursor-default:disabled{cursor:default}.embarkai-ui-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.embarkai-ui-scope .disabled\\:opacity-50:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover:disabled{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .disabled\\:hover\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:hover:disabled{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:active\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:active:disabled{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:active\\:opacity-50:active:disabled{opacity:.5}.embarkai-ui-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.embarkai-ui-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.embarkai-ui-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.embarkai-ui-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--ui-kit-bd-intense\\)\\][data-state=checked]{border-color:var(--ui-kit-bd-intense)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--ui-kit-secondary\\)\\][data-state=checked]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--ui-kit-fg\\)\\][data-state=checked]{color:var(--ui-kit-fg)}.embarkai-ui-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--ui-kit-gap\\)\\][data-slot=select-value]>*){gap:var(--ui-kit-gap)}@media (min-width:640px){.embarkai-ui-scope .sm\\:flex-row{flex-direction:row}.embarkai-ui-scope .sm\\:justify-end{justify-content:flex-end}.embarkai-ui-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.embarkai-ui-scope .md\\:h-8{height:2rem}.embarkai-ui-scope .md\\:w-8{width:2rem}.embarkai-ui-scope .md\\:gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}.embarkai-ui-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}`;
30527
30541
 
30528
30542
  // src/index.ts
30529
30543
  var import_core10 = require("@embarkai/core");
@@ -30533,7 +30547,7 @@ init_ProviderContext();
30533
30547
  init_lumia2();
30534
30548
  init_embarkAI2();
30535
30549
  var import_lucide_react79 = require("lucide-react");
30536
- var import_react100 = require("react");
30550
+ var import_react101 = require("react");
30537
30551
  init_SessionContext();
30538
30552
  init_auth();
30539
30553
  init_BalanceView2();
@@ -30566,10 +30580,10 @@ function ConnectWalletButton(props) {
30566
30580
  const colorMode = useLayoutStore((st) => st.colorMode);
30567
30581
  const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
30568
30582
  const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
30569
- (0, import_react100.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
30583
+ (0, import_react101.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
30570
30584
  const { data: profile, isLoading: isProfileLoading } = useUserProfile();
30571
30585
  const displayName = profile?.nicknameDisplay || profile?.displayName || import_auth23.jwtTokenManager.getDisplayName();
30572
- const indicators = (0, import_react100.useMemo)(() => {
30586
+ const indicators = (0, import_react101.useMemo)(() => {
30573
30587
  const userId = session?.mpcUserId;
30574
30588
  if (!userId) return { server: false, local: false, backup: false };
30575
30589
  const server = import_auth23.jwtTokenManager.getHasKeyshare() ?? false;
@@ -31208,14 +31222,14 @@ var Hash = ({
31208
31222
  };
31209
31223
 
31210
31224
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
31211
- var import_react101 = require("react");
31225
+ var import_react102 = require("react");
31212
31226
  init_base2();
31213
31227
  var import_jsx_runtime133 = require("react/jsx-runtime");
31214
31228
  var TransactionsList = ({ address, itemsCount = 10 }) => {
31215
- const [transactions, setTransactions] = (0, import_react101.useState)([]);
31216
- const [loading, setLoading] = (0, import_react101.useState)(true);
31217
- const [error, setError] = (0, import_react101.useState)(null);
31218
- (0, import_react101.useEffect)(() => {
31229
+ const [transactions, setTransactions] = (0, import_react102.useState)([]);
31230
+ const [loading, setLoading] = (0, import_react102.useState)(true);
31231
+ const [error, setError] = (0, import_react102.useState)(null);
31232
+ (0, import_react102.useEffect)(() => {
31219
31233
  const fetchTransactions2 = async () => {
31220
31234
  try {
31221
31235
  setLoading(true);
@@ -31506,13 +31520,13 @@ function useUserOpStatus(options = {}) {
31506
31520
  init_useErc3643Compliance();
31507
31521
 
31508
31522
  // src/hooks/useWalletMode.ts
31509
- var import_react102 = require("react");
31523
+ var import_react103 = require("react");
31510
31524
  init_useExternalWalletStore();
31511
31525
  function useWalletMode() {
31512
31526
  const configMode = useExternalWalletStore((st) => st.configMode);
31513
31527
  const activeMode = useExternalWalletStore((st) => st.activeMode);
31514
31528
  const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
31515
- const switchMode = (0, import_react102.useCallback)(
31529
+ const switchMode = (0, import_react103.useCallback)(
31516
31530
  (mode) => {
31517
31531
  if (configMode !== "both") return;
31518
31532
  setActiveMode(mode);
@@ -31528,7 +31542,7 @@ function useWalletMode() {
31528
31542
  }
31529
31543
 
31530
31544
  // src/hooks/useDirectWallet.ts
31531
- var import_react103 = require("react");
31545
+ var import_react104 = require("react");
31532
31546
  var import_rainbowkit6 = require("@rainbow-me/rainbowkit");
31533
31547
  var import_wagmi13 = require("wagmi");
31534
31548
  init_useExternalWalletStore();
@@ -31542,13 +31556,13 @@ function useDirectWallet() {
31542
31556
  const { disconnect: wagmiDisconnect } = (0, import_wagmi13.useDisconnect)();
31543
31557
  const { openConnectModal } = (0, import_rainbowkit6.useConnectModal)();
31544
31558
  const setIsWalletLinking = useLayoutDataStore((st) => st.setIsWalletLinking);
31545
- const connect = (0, import_react103.useCallback)(() => {
31559
+ const connect = (0, import_react104.useCallback)(() => {
31546
31560
  setIsWalletLinking(true);
31547
31561
  }, [setIsWalletLinking]);
31548
- const reconnect = (0, import_react103.useCallback)(() => {
31562
+ const reconnect = (0, import_react104.useCallback)(() => {
31549
31563
  if (openConnectModal) openConnectModal();
31550
31564
  }, [openConnectModal]);
31551
- const disconnect = (0, import_react103.useCallback)(() => {
31565
+ const disconnect = (0, import_react104.useCallback)(() => {
31552
31566
  wagmiDisconnect();
31553
31567
  clearExternalWallet();
31554
31568
  }, [wagmiDisconnect, clearExternalWallet]);
@@ -31564,7 +31578,7 @@ function useDirectWallet() {
31564
31578
  }
31565
31579
 
31566
31580
  // src/hooks/useSendDirectTransaction.ts
31567
- var import_react104 = require("react");
31581
+ var import_react105 = require("react");
31568
31582
  var import_viem22 = require("viem");
31569
31583
  var import_wagmi14 = require("wagmi");
31570
31584
  init_useExternalWalletStore();
@@ -31573,10 +31587,10 @@ function useSendDirectTransaction() {
31573
31587
  const externalChainId = useExternalWalletStore((st) => st.externalChainId);
31574
31588
  const { sendTransactionAsync } = (0, import_wagmi14.useSendTransaction)();
31575
31589
  const { switchChainAsync } = (0, import_wagmi14.useSwitchChain)();
31576
- const [isPending, setIsPending] = (0, import_react104.useState)(false);
31577
- const [error, setError] = (0, import_react104.useState)(null);
31578
- const [txHash, setTxHash] = (0, import_react104.useState)(null);
31579
- const sendTransaction = (0, import_react104.useCallback)(
31590
+ const [isPending, setIsPending] = (0, import_react105.useState)(false);
31591
+ const [error, setError] = (0, import_react105.useState)(null);
31592
+ const [txHash, setTxHash] = (0, import_react105.useState)(null);
31593
+ const sendTransaction = (0, import_react105.useCallback)(
31580
31594
  async (params) => {
31581
31595
  if (!isConnected) {
31582
31596
  setError("No external wallet connected");
@@ -31610,7 +31624,7 @@ function useSendDirectTransaction() {
31610
31624
  },
31611
31625
  [isConnected, externalChainId, sendTransactionAsync, switchChainAsync]
31612
31626
  );
31613
- const reset = (0, import_react104.useCallback)(() => {
31627
+ const reset = (0, import_react105.useCallback)(() => {
31614
31628
  setError(null);
31615
31629
  setTxHash(null);
31616
31630
  setIsPending(false);
@@ -31619,7 +31633,7 @@ function useSendDirectTransaction() {
31619
31633
  }
31620
31634
 
31621
31635
  // src/hooks/useTransferToLinkedWallet.ts
31622
- var import_react105 = require("react");
31636
+ var import_react106 = require("react");
31623
31637
  var import_viem23 = require("viem");
31624
31638
  init_SessionContext();
31625
31639
  init_account2();
@@ -31638,14 +31652,14 @@ var ERC20_TRANSFER_ABI2 = [
31638
31652
  function useTransferToLinkedWallet() {
31639
31653
  const session = useSession((st) => st.session);
31640
31654
  const { profiles } = useLinkedProfiles();
31641
- const [isPending, setIsPending] = (0, import_react105.useState)(false);
31642
- const [error, setError] = (0, import_react105.useState)(null);
31643
- const [userOpHash, setUserOpHash] = (0, import_react105.useState)(null);
31644
- const linkedWallets = (0, import_react105.useMemo)(
31655
+ const [isPending, setIsPending] = (0, import_react106.useState)(false);
31656
+ const [error, setError] = (0, import_react106.useState)(null);
31657
+ const [userOpHash, setUserOpHash] = (0, import_react106.useState)(null);
31658
+ const linkedWallets = (0, import_react106.useMemo)(
31645
31659
  () => (profiles || []).filter((p) => p.provider === "wallet" && p.externalId).map((p) => p.externalId),
31646
31660
  [profiles]
31647
31661
  );
31648
- const transfer = (0, import_react105.useCallback)(
31662
+ const transfer = (0, import_react106.useCallback)(
31649
31663
  async (params) => {
31650
31664
  if (!session) {
31651
31665
  setError("No active session");
@@ -31696,7 +31710,7 @@ function useTransferToLinkedWallet() {
31696
31710
  },
31697
31711
  [session, linkedWallets]
31698
31712
  );
31699
- const reset = (0, import_react105.useCallback)(() => {
31713
+ const reset = (0, import_react106.useCallback)(() => {
31700
31714
  setError(null);
31701
31715
  setUserOpHash(null);
31702
31716
  setIsPending(false);
@@ -31720,7 +31734,7 @@ function useNativeWalletSignature() {
31720
31734
 
31721
31735
  // src/hooks/useLogout.ts
31722
31736
  var import_auth25 = require("@embarkai/core/auth");
31723
- var import_react106 = require("react");
31737
+ var import_react107 = require("react");
31724
31738
  var import_wagmi16 = require("wagmi");
31725
31739
  init_ProviderContext();
31726
31740
  init_SessionContext();
@@ -31740,7 +31754,7 @@ function useLogout() {
31740
31754
  }
31741
31755
  }
31742
31756
  });
31743
- const logout2 = (0, import_react106.useCallback)(async () => {
31757
+ const logout2 = (0, import_react107.useCallback)(async () => {
31744
31758
  const { setSession, setIsLoading, setAddress, setStatus, setError } = useSession.getState();
31745
31759
  const prevAddress = address;
31746
31760
  let userId = null;
@@ -31859,7 +31873,7 @@ function useTransactions() {
31859
31873
 
31860
31874
  // src/modules/assets.ts
31861
31875
  init_SessionContext();
31862
- var import_react107 = __toESM(require("react"), 1);
31876
+ var import_react108 = __toESM(require("react"), 1);
31863
31877
  var import_viem25 = require("viem");
31864
31878
  var import_wagmi18 = require("wagmi");
31865
31879
  var COMMON_TOKENS = [
@@ -32014,7 +32028,7 @@ function useTokenBalance2(tokenAddress, userAddress) {
32014
32028
  }
32015
32029
  });
32016
32030
  const { tokenInfo } = useTokenInfo(tokenAddress);
32017
- const formattedBalance = import_react107.default.useMemo(() => {
32031
+ const formattedBalance = import_react108.default.useMemo(() => {
32018
32032
  if (!balance || !tokenInfo) return "0";
32019
32033
  return (0, import_viem25.formatUnits)(balance, tokenInfo.decimals);
32020
32034
  }, [balance, tokenInfo]);