@embarkai/ui-kit 0.4.92 → 0.4.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -5010,10 +5010,11 @@ var init_cn = __esm({
5010
5010
 
5011
5011
  // src/internal/constants.ts
5012
5012
  import { Key, Mail, Wallet2 } from "lucide-react";
5013
- var LOCAL_COLOR_MODE_KEY, LOOCAL_BACKUP_STATUS_KEY, DEFAULT_AUTH_MENU_HEIGHT, DEFAULT_MAIN_MENU_HEIGHT, MAX_CONTENT_HEIGHT, MAIN_DIALOG_ANIMATION_SPEED, Y_ANIMATION_SETUP, BLOCKSCOUT_QUERY_STALE_TIME, BLOCKSCOUT_QUERY_GC_TIME, BLOCKSCOUT_REFRESH_DEBOUNCE, IPFS_GATEWAY, PROVIDERS_META;
5013
+ var EMBARKAI_DIALOG_ONBOARDING_ID, LOCAL_COLOR_MODE_KEY, LOOCAL_BACKUP_STATUS_KEY, DEFAULT_AUTH_MENU_HEIGHT, DEFAULT_MAIN_MENU_HEIGHT, MAX_CONTENT_HEIGHT, MAIN_DIALOG_ANIMATION_SPEED, Y_ANIMATION_SETUP, BLOCKSCOUT_QUERY_STALE_TIME, BLOCKSCOUT_QUERY_GC_TIME, BLOCKSCOUT_REFRESH_DEBOUNCE, IPFS_GATEWAY, PROVIDERS_META;
5014
5014
  var init_constants = __esm({
5015
5015
  "src/internal/constants.ts"() {
5016
5016
  init_assets();
5017
+ EMBARKAI_DIALOG_ONBOARDING_ID = "embark-main-dialog-content";
5017
5018
  LOCAL_COLOR_MODE_KEY = "passport-theme-mode";
5018
5019
  LOOCAL_BACKUP_STATUS_KEY = "passport-backup-status";
5019
5020
  DEFAULT_AUTH_MENU_HEIGHT = 253;
@@ -5049,25 +5050,16 @@ var init_useLayoutStore = __esm({
5049
5050
  colorMode: "light",
5050
5051
  isMobileView: false,
5051
5052
  maxScrollHeight: MAX_CONTENT_HEIGHT,
5052
- isDialogClosing: false,
5053
5053
  isDialogOpen: false,
5054
+ isDialogAnimating: false,
5054
5055
  isDialogForced: false,
5055
- dialogTitle: null,
5056
- dialogDescription: null,
5057
5056
  dialogContent: null,
5058
5057
  isSettings: false,
5059
5058
  setColorMode: (colorMode) => set({ colorMode }),
5060
- // setLayoutView: (layoutView) => set(() => ({ layoutView })),
5061
- // setDeviceType: (deviceType) => set(() => ({ deviceType })),
5062
5059
  setIsMobileView: (isMobileView) => set({ isMobileView }),
5063
5060
  setMaxScrollHeight: (maxScrollHeight) => set({ maxScrollHeight }),
5064
- setIsDialogClosing: (isDialogClosing) => set({ isDialogClosing }),
5065
- setIsDialogOpen: (isDialogOpen) => set({ isDialogOpen }),
5066
- setIsDialogForced: (isDialogForced) => set({ isDialogForced }),
5067
- setDialogTitle: (dialogTitle) => set({ dialogTitle }),
5068
- setDialogDescription: (dialogDescription) => set({ dialogDescription }),
5069
- setDialogContent: (dialogContent) => set({ dialogContent }),
5070
- setIsSettings: (isSettings) => set({ isSettings })
5061
+ /** dedicated setter for dialog forced state */
5062
+ setIsDialogForced: (isDialogForced) => set({ isDialogForced })
5071
5063
  }));
5072
5064
  }
5073
5065
  });
@@ -9685,18 +9677,20 @@ var init_input = __esm({
9685
9677
  /* @__PURE__ */ jsxs11(
9686
9678
  "div",
9687
9679
  {
9688
- className: cn2(
9689
- "flex h-12 w-full rounded-[var(--ui-kit-el-bdrs)] items-center gap-[var(--ui-kit-gap)] px-[var(--ui-kit-pd)]",
9690
- "bg-[var(--ui-kit-secondary)]",
9691
- "hover:bg-[var(--ui-kit-secondary-a)]",
9692
- "transition-colors duration-200 ease-in-out",
9693
- "file:border-0 file:bg-transparent file:text-base file:font-medium",
9694
- "focus-within:outline-none focus-within:bg-[var(--ui-kit-secondary-h)]",
9695
- disabled ? "cursor-default opacity-50" : "cursor-text"
9696
- ),
9697
9680
  onClick: () => {
9698
9681
  internalRef.current?.focus();
9699
9682
  },
9683
+ className: cn2(
9684
+ "flex h-12 w-full items-center gap-[var(--ui-kit-gap)] px-[var(--ui-kit-pd)]",
9685
+ "bg-[var(--ui-kit-secondary)] rounded-[var(--ui-kit-el-bdrs)]",
9686
+ "border border-transparent",
9687
+ "transition-all duration-200 ease-in-out",
9688
+ disabled ? "cursor-not-allowed opacity-50" : cn2(
9689
+ "cursor-text opacity-100 hover:opacity-80",
9690
+ "focus-within:opacity-100 focus-within:border-[var(--ui-kit-bd)]",
9691
+ "focus-within:hover:opacity-100"
9692
+ )
9693
+ ),
9700
9694
  children: [
9701
9695
  Icon2 && /* @__PURE__ */ jsx16("div", { className: "flex flex-none items-center justify-center w-8 h-8", children: /* @__PURE__ */ jsx16(Icon2, { width: 16, height: 16, className: "text-[var(--ui-kit-fg)]" }) }),
9702
9696
  /* @__PURE__ */ jsx16(
@@ -9706,9 +9700,10 @@ var init_input = __esm({
9706
9700
  className: cn2(
9707
9701
  "text-[16px] text-[var(--ui-kit-fg)] font-semibold",
9708
9702
  "placeholder:text-[var(--ui-kit-fg-muted)]",
9709
- "focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-transparent focus-visible:ring-offset-0",
9710
- "w-full h-full flex-1 border-0 bg-transparent px-0",
9711
- { ["cursor-default"]: disabled },
9703
+ "ring-0 ring-offset-0",
9704
+ "outline-none focus-visible:ring-0 focus-visible:ring-transparent focus-visible:ring-offset-0",
9705
+ "h-full flex-1 border-0 bg-transparent px-0",
9706
+ { ["cursor-not-allowed"]: disabled },
9712
9707
  inputClassName
9713
9708
  ),
9714
9709
  disabled,
@@ -10834,13 +10829,15 @@ var init_VerificationCodeInput = __esm({
10834
10829
  onPaste: handlePaste,
10835
10830
  className: cn2(
10836
10831
  "block w-[40px] h-[48px] rounded-[var(--ui-kit-el-bdrs)]",
10837
- "text-[16px] leading-5 text-center font-semibold text-[var(--ui-kit-fg)] cursor-text",
10838
- "bg-[var(--ui-kit-secondary)] focus:bg-[var(--ui-kit-secondary-a)] hover:bg-[var(--ui-kit-secondary-h)]",
10839
- "disabled:cursor-default disabled:opacity-50 disabled:hover:bg-[var(--ui-kit-secondary)]",
10840
- "focus:bg-[var(--ui-kit-secondary-a)]",
10841
- "border-0 border-transparent",
10832
+ "text-[16px] leading-5 text-center font-semibold text-[var(--ui-kit-fg)]",
10833
+ "bg-[var(--ui-kit-secondary)] border-0 border-transparent",
10842
10834
  // to avoid default appearance border
10843
- "transition-colors duration-200"
10835
+ "transition-all duration-200",
10836
+ isLoading ? "cursor-not-allowed opacity-50" : cn2(
10837
+ "cursor-text opacity-100 hover:opacity-80",
10838
+ "focus-within:opacity-100 focus-within:border-[var(--ui-kit-bd)]",
10839
+ "focus-within:hover:opacity-100"
10840
+ )
10844
10841
  )
10845
10842
  },
10846
10843
  i
@@ -11076,7 +11073,6 @@ var init_AuthMenu = __esm({
11076
11073
  init_auth();
11077
11074
  init_constants();
11078
11075
  init_useLayoutDataStore();
11079
- init_useLayoutStore();
11080
11076
  init_Expandable2();
11081
11077
  init_button();
11082
11078
  init_highlight();
@@ -11090,16 +11086,14 @@ var init_AuthMenu = __esm({
11090
11086
  AuthMenu = () => {
11091
11087
  const { t } = useT();
11092
11088
  const isIframeReady = useSession((st) => st.isIframeReady);
11093
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
11094
- const setTransitionPageHeight = useLayoutDataStore((st) => st.setTransitionPageHeight);
11095
11089
  const pendingWalletLogin = useLayoutDataStore((st) => st.pendingWalletLogin);
11096
- const setPendingWalletLogin = useLayoutDataStore((st) => st.setPendingWalletLogin);
11097
- const { step, alert: alert2, setStep, setPasskeyStatus, setEmail, setEmailChallenge, setAlert } = useAuthStore();
11090
+ const step = useAuthStore((st) => st.step);
11091
+ const alert2 = useAuthStore((st) => st.alert);
11098
11092
  const { pendingLoginResponseRef, onAuthSuccess, goBackToSignIn } = useAuthMenuHandlers();
11099
11093
  useEffect12(() => {
11100
11094
  if (!pendingWalletLogin) return;
11101
11095
  const loginResponse = pendingWalletLogin;
11102
- setPendingWalletLogin(null);
11096
+ useLayoutDataStore.getState().setPendingWalletLogin(null);
11103
11097
  console.log("[AuthMenu] Processing wallet login response:", loginResponse);
11104
11098
  jwtTokenManager2.clearTokens().then(() => {
11105
11099
  pendingLoginResponseRef.current = loginResponse;
@@ -11107,8 +11101,9 @@ var init_AuthMenu = __esm({
11107
11101
  });
11108
11102
  }, [pendingWalletLogin]);
11109
11103
  useEffect12(() => {
11110
- setTransitionPageHeight(DEFAULT_AUTH_MENU_HEIGHT);
11104
+ useLayoutDataStore.getState().setTransitionPageHeight(DEFAULT_AUTH_MENU_HEIGHT);
11111
11105
  return () => {
11106
+ const { setStep, setPasskeyStatus, setEmail, setEmailChallenge, setAlert } = useAuthStore.getState();
11112
11107
  setStep("signin");
11113
11108
  setEmail("");
11114
11109
  setEmailChallenge(null);
@@ -11117,7 +11112,7 @@ var init_AuthMenu = __esm({
11117
11112
  };
11118
11113
  }, []);
11119
11114
  if (!isIframeReady) {
11120
- return /* @__PURE__ */ jsxs18("div", { className: "w-full p-8 flex flex-col justify-center items-center gap-[var(--ui-kit-gap)]", children: [
11115
+ return /* @__PURE__ */ jsxs18(Expandable, { isExpanded: true, className: "w-full p-8 flex flex-col justify-center items-center gap-[var(--ui-kit-gap)]", children: [
11121
11116
  /* @__PURE__ */ jsx23(Loader4, { className: "w-4 h-4 animate-spin" }),
11122
11117
  /* @__PURE__ */ jsx23("span", { className: "text-sm text-[var(--ui-kit-fg-muted)]", children: "Initializing wallet..." })
11123
11118
  ] });
@@ -11139,26 +11134,25 @@ var init_AuthMenu = __esm({
11139
11134
  }),
11140
11135
  [onAuthSuccess, goBackToSignIn]
11141
11136
  );
11142
- return /* @__PURE__ */ jsx23(
11143
- "div",
11144
- {
11145
- style: {
11146
- "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
11147
- "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
11148
- },
11149
- className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
11150
- children: /* @__PURE__ */ jsxs18(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
11151
- stepContent[step],
11152
- alert2 && /* @__PURE__ */ jsxs18(Highlight, { type: "error", children: [
11153
- /* @__PURE__ */ jsxs18("span", { className: "block w-full flex flex-col gap-1 flex-1 mb-2", children: [
11154
- /* @__PURE__ */ jsx23("span", { className: "block font-bold leading-5", children: alert2.title }),
11155
- /* @__PURE__ */ jsx23("span", { className: "block whitespace-pre-line", children: alert2.message || "Unknown error" })
11156
- ] }),
11157
- /* @__PURE__ */ jsx23(Button, { variant: "default", size: "medium", className: "w-full", onClick: () => setAlert(null), children: t("passport:common.hide") })
11158
- ] })
11159
- ] })
11160
- }
11161
- );
11137
+ return /* @__PURE__ */ jsxs18(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
11138
+ stepContent[step],
11139
+ alert2 && /* @__PURE__ */ jsxs18(Highlight, { type: "error", children: [
11140
+ /* @__PURE__ */ jsxs18("span", { className: "block w-full flex flex-col gap-1 flex-1 mb-2", children: [
11141
+ /* @__PURE__ */ jsx23("span", { className: "block font-bold leading-5", children: alert2.title }),
11142
+ /* @__PURE__ */ jsx23("span", { className: "block whitespace-pre-line", children: alert2.message || "Unknown error" })
11143
+ ] }),
11144
+ /* @__PURE__ */ jsx23(
11145
+ Button,
11146
+ {
11147
+ variant: "default",
11148
+ size: "medium",
11149
+ className: "w-full",
11150
+ onClick: () => useAuthStore.getState().setAlert(null),
11151
+ children: t("passport:common.hide")
11152
+ }
11153
+ )
11154
+ ] })
11155
+ ] });
11162
11156
  };
11163
11157
  }
11164
11158
  });
@@ -12644,11 +12638,12 @@ var init_components = __esm({
12644
12638
  var BUY_MENU_BINANCE_TOUR;
12645
12639
  var init_onboarding_setup = __esm({
12646
12640
  "src/internal/components/BuyMenu/onboarding.setup.ts"() {
12641
+ init_constants();
12647
12642
  init_useBinanceStore();
12648
12643
  init_useBuyMenuStore();
12649
12644
  BUY_MENU_BINANCE_TOUR = [
12650
12645
  {
12651
- elId: "buymenu-page" /* buymenu */,
12646
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"buy" /* BUY */}`,
12652
12647
  title: "passport:buyMenu.onboarding.buyMenu.title",
12653
12648
  description: "passport:buyMenu.onboarding.buyMenu.description",
12654
12649
  waitSecs: 6,
@@ -13828,7 +13823,7 @@ function FinchPayTxHistoryItem(props) {
13828
13823
  "relative",
13829
13824
  "w-full p-[var(--ui-kit-pd)]",
13830
13825
  "rounded-[var(--ui-kit-el-bdrs)]",
13831
- "bg-[var(--ui-kit-secondary-h)]"
13826
+ "bg-[var(--ui-kit-secondary)]"
13832
13827
  ),
13833
13828
  children: [
13834
13829
  /* @__PURE__ */ jsx47(
@@ -14451,7 +14446,6 @@ import { Fragment as Fragment14, jsx as jsx50, jsxs as jsxs43 } from "react/jsx-
14451
14446
  function BuyMenu() {
14452
14447
  const { t } = useT();
14453
14448
  const walletAddress = useSession((st) => st.address);
14454
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
14455
14449
  useBuyMenuParams();
14456
14450
  useHandleInputAmount();
14457
14451
  const rampProvider = useBuyMenuStore((st) => st.rampProvider);
@@ -14467,103 +14461,92 @@ function BuyMenu() {
14467
14461
  const showExtras = !isCryptoSelector && !isFiatSelector && !isProviderSummary && !isProviderSelector && !isPaymentModeSelector;
14468
14462
  const showProviderTrigger = showExtras && !isTransactionHistory;
14469
14463
  useOnboardingTourAvailable(showProviderTrigger);
14470
- return /* @__PURE__ */ jsx50(
14471
- "div",
14472
- {
14473
- ref: (inst) => onboarder.registerElement("buymenu-page" /* buymenu */, inst),
14474
- style: {
14475
- "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
14476
- "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
14477
- },
14478
- className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
14479
- children: /* @__PURE__ */ jsxs43(Expandable, { isExpanded: true, contentClassName: "relative w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
14480
- /* @__PURE__ */ jsxs43("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
14481
- /* @__PURE__ */ jsx50(
14482
- Button,
14483
- {
14484
- variant: "ghost",
14485
- size: "icon",
14486
- className: "flex-none",
14487
- onClick: () => {
14488
- const {
14489
- setIsProviderSummary,
14490
- setIsTransactionHistory,
14491
- setIsProviderSelector,
14492
- setIsCryptoSelector,
14493
- setIsFiatSelector,
14494
- setIsPaymentModeSelector,
14495
- setError
14496
- } = useBuyMenuStore.getState();
14497
- setError(null);
14498
- if (isProviderSummary) {
14499
- setIsProviderSummary(false);
14500
- return;
14501
- }
14502
- if (isTransactionHistory) {
14503
- setIsTransactionHistory(false);
14504
- return;
14505
- }
14506
- if (isProviderSelector) {
14507
- setIsProviderSelector(false);
14508
- return;
14509
- }
14510
- if (isCryptoSelector) {
14511
- setIsCryptoSelector(false);
14512
- return;
14513
- }
14514
- if (isFiatSelector) {
14515
- setIsFiatSelector(false);
14516
- return;
14517
- }
14518
- if (isPaymentModeSelector) {
14519
- setIsPaymentModeSelector(false);
14520
- return;
14521
- }
14522
- useLayoutDataStore.getState().setPage("main-menu" /* MAIN_MENU */);
14523
- },
14524
- children: /* @__PURE__ */ jsx50(ArrowLeft3, { className: "h-4 w-4" })
14464
+ return /* @__PURE__ */ jsxs43(Expandable, { isExpanded: true, contentClassName: "relative w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
14465
+ /* @__PURE__ */ jsxs43("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
14466
+ /* @__PURE__ */ jsx50(
14467
+ Button,
14468
+ {
14469
+ variant: "ghost",
14470
+ size: "icon",
14471
+ className: "flex-none",
14472
+ onClick: () => {
14473
+ const {
14474
+ setIsProviderSummary,
14475
+ setIsTransactionHistory,
14476
+ setIsProviderSelector,
14477
+ setIsCryptoSelector,
14478
+ setIsFiatSelector,
14479
+ setIsPaymentModeSelector,
14480
+ setError
14481
+ } = useBuyMenuStore.getState();
14482
+ setError(null);
14483
+ if (isProviderSummary) {
14484
+ setIsProviderSummary(false);
14485
+ return;
14525
14486
  }
14526
- ),
14527
- /* @__PURE__ */ jsx50("span", { className: "block flex-none text-xl font-semibold", children: t("passport:buyMenu.title") }),
14528
- showExtras && /* @__PURE__ */ jsx50("div", { className: "flex-1 h-8 flex items-center justify-end gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx50(
14529
- Switch,
14530
- {
14531
- labels: { checked: "PURCHASE", unchecked: "HISTORY" },
14532
- checked: isTransactionHistory,
14533
- onChange: () => {
14534
- useBuyMenuStore.getState().setError(null);
14535
- useBuyMenuStore.getState().setIsTransactionHistory();
14536
- }
14487
+ if (isTransactionHistory) {
14488
+ setIsTransactionHistory(false);
14489
+ return;
14537
14490
  }
14538
- ) })
14539
- ] }),
14540
- showProviderTrigger && /* @__PURE__ */ jsxs43(Fragment14, { children: [
14541
- /* @__PURE__ */ jsx50("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:buyMenu.selectProvider") }),
14542
- /* @__PURE__ */ jsxs43(
14543
- Button,
14544
- {
14545
- ref: (inst) => onboarder.registerElement("buymenu-provider-selector" /* providerSelector */, inst),
14546
- variant: !!selectedProvider?.id ? "default" : "secondary",
14547
- onClick: () => {
14548
- useBuyMenuStore.getState().setError(null);
14549
- useBuyMenuStore.getState().setIsProviderSelector(true);
14550
- },
14551
- className: cn2("w-full justify-center", {
14552
- [ACTIVE_PROVIDER_CNS[selectedProvider?.id]]: rampProvider === selectedProvider?.id,
14553
- [IDLE_PROVIDERS_CNS[selectedProvider?.id]]: rampProvider !== selectedProvider?.id
14554
- }),
14555
- children: [
14556
- /* @__PURE__ */ jsx50(selectedProvider.icon, {}),
14557
- !selectedProvider.icon && t("passport:buyMenu.selectProvider")
14558
- ]
14491
+ if (isProviderSelector) {
14492
+ setIsProviderSelector(false);
14493
+ return;
14559
14494
  }
14560
- )
14561
- ] }),
14562
- isProviderSelector ? /* @__PURE__ */ jsx50(ProviderSelector, { providers: AVAILABLE_RAMP_PROVIDERS.map((el) => ({ ...el, Icon: el.icon })) }) : /* @__PURE__ */ jsx50(ProviderComponent, { walletAddress }),
14563
- error && /* @__PURE__ */ jsx50(Highlight, { type: "error", children: error })
14564
- ] })
14565
- }
14566
- );
14495
+ if (isCryptoSelector) {
14496
+ setIsCryptoSelector(false);
14497
+ return;
14498
+ }
14499
+ if (isFiatSelector) {
14500
+ setIsFiatSelector(false);
14501
+ return;
14502
+ }
14503
+ if (isPaymentModeSelector) {
14504
+ setIsPaymentModeSelector(false);
14505
+ return;
14506
+ }
14507
+ useLayoutDataStore.getState().setPage("main-menu" /* MAIN_MENU */);
14508
+ },
14509
+ children: /* @__PURE__ */ jsx50(ArrowLeft3, { className: "h-4 w-4" })
14510
+ }
14511
+ ),
14512
+ /* @__PURE__ */ jsx50("span", { className: "block flex-none text-xl font-semibold", children: t("passport:buyMenu.title") }),
14513
+ showExtras && /* @__PURE__ */ jsx50("div", { className: "flex-1 h-8 flex items-center justify-end gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx50(
14514
+ Switch,
14515
+ {
14516
+ labels: { checked: "PURCHASE", unchecked: "HISTORY" },
14517
+ checked: isTransactionHistory,
14518
+ onChange: () => {
14519
+ useBuyMenuStore.getState().setError(null);
14520
+ useBuyMenuStore.getState().setIsTransactionHistory();
14521
+ }
14522
+ }
14523
+ ) })
14524
+ ] }),
14525
+ showProviderTrigger && /* @__PURE__ */ jsxs43(Fragment14, { children: [
14526
+ /* @__PURE__ */ jsx50("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:buyMenu.selectProvider") }),
14527
+ /* @__PURE__ */ jsxs43(
14528
+ Button,
14529
+ {
14530
+ ref: (inst) => onboarder.registerElement("buymenu-provider-selector" /* providerSelector */, inst),
14531
+ variant: !!selectedProvider?.id ? "default" : "secondary",
14532
+ onClick: () => {
14533
+ useBuyMenuStore.getState().setError(null);
14534
+ useBuyMenuStore.getState().setIsProviderSelector(true);
14535
+ },
14536
+ className: cn2("w-full justify-center", {
14537
+ [ACTIVE_PROVIDER_CNS[selectedProvider?.id]]: rampProvider === selectedProvider?.id,
14538
+ [IDLE_PROVIDERS_CNS[selectedProvider?.id]]: rampProvider !== selectedProvider?.id
14539
+ }),
14540
+ children: [
14541
+ /* @__PURE__ */ jsx50(selectedProvider.icon, {}),
14542
+ !selectedProvider.icon && t("passport:buyMenu.selectProvider")
14543
+ ]
14544
+ }
14545
+ )
14546
+ ] }),
14547
+ isProviderSelector ? /* @__PURE__ */ jsx50(ProviderSelector, { providers: AVAILABLE_RAMP_PROVIDERS.map((el) => ({ ...el, Icon: el.icon })) }) : /* @__PURE__ */ jsx50(ProviderComponent, { walletAddress }),
14548
+ error && /* @__PURE__ */ jsx50(Highlight, { type: "error", children: error })
14549
+ ] });
14567
14550
  }
14568
14551
  var init_BuyMenu = __esm({
14569
14552
  "src/internal/components/BuyMenu/BuyMenu.tsx"() {
@@ -14571,7 +14554,6 @@ var init_BuyMenu = __esm({
14571
14554
  init_SessionContext();
14572
14555
  init_i18n();
14573
14556
  init_useLayoutDataStore();
14574
- init_useLayoutStore();
14575
14557
  init_Expandable2();
14576
14558
  init_Onboarding();
14577
14559
  init_button();
@@ -14932,20 +14914,6 @@ var init_ChainItem = __esm({
14932
14914
  }
14933
14915
  });
14934
14916
 
14935
- // src/internal/components/ChainsMenu/onboarding.setup.ts
14936
- var CHAIN_MENU_TOUR;
14937
- var init_onboarding_setup2 = __esm({
14938
- "src/internal/components/ChainsMenu/onboarding.setup.ts"() {
14939
- CHAIN_MENU_TOUR = [
14940
- {
14941
- elId: "embarkai-chain-menu-onboarding" /* chainMenu */,
14942
- title: "passport:chainMenu.onboarding.chainMenu.title",
14943
- description: "passport:chainMenu.onboarding.chainMenu.description"
14944
- }
14945
- ];
14946
- }
14947
- });
14948
-
14949
14917
  // src/internal/components/ChainsMenu/ChainsMenu.tsx
14950
14918
  import { PAYMASTER_CACHE_TTL_MS } from "@embarkai/core";
14951
14919
  import { getChainConfig as getChainConfig8, SUPPORTED_MAINNETS as SUPPORTED_MAINNETS2 } from "@embarkai/core/read";
@@ -14957,7 +14925,6 @@ function ChainsMenu() {
14957
14925
  const { t } = useT();
14958
14926
  const config = useProviderConfig().config;
14959
14927
  const activeChainId = useSession((st) => st.activeChainId);
14960
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
14961
14928
  const [isTestnets, setIsTestnets] = useState11(false);
14962
14929
  const [nextChainId, setNextChainId] = useState11(null);
14963
14930
  useOnboardingTourAvailable(true);
@@ -14988,56 +14955,45 @@ function ChainsMenu() {
14988
14955
  chainId: activeChainId
14989
14956
  } : void 0
14990
14957
  });
14991
- return /* @__PURE__ */ jsx58(
14992
- "div",
14993
- {
14994
- ref: (inst) => onboarder.registerElement("embarkai-chain-menu-onboarding" /* chainMenu */, inst),
14995
- style: {
14996
- "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
14997
- "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
14998
- },
14999
- className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
15000
- children: /* @__PURE__ */ jsxs51(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
15001
- /* @__PURE__ */ jsxs51("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
15002
- /* @__PURE__ */ jsxs51("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
15003
- /* @__PURE__ */ jsx58(
15004
- Button,
15005
- {
15006
- size: "icon",
15007
- variant: "ghost",
15008
- title: t("passport:common.back"),
15009
- onClick: () => {
15010
- const chainMenuOpenedFrom = useLayoutDataStore.getState().chainMenuOpenedFrom;
15011
- useLayoutDataStore.getState().setPage(chainMenuOpenedFrom || "settings" /* SETTINGS */);
15012
- },
15013
- children: /* @__PURE__ */ jsx58(ArrowLeft4, { className: "h-4 w-4" })
15014
- }
15015
- ),
15016
- /* @__PURE__ */ jsx58("span", { className: "text-xl font-semibold", children: t("passport:chainMenu.title") })
15017
- ] }),
15018
- /* @__PURE__ */ jsx58(
15019
- Switch,
15020
- {
15021
- labels: { checked: "MAINNETS", unchecked: "ALL" },
15022
- checked: isTestnets,
15023
- onChange: () => setIsTestnets(!isTestnets)
15024
- }
15025
- )
15026
- ] }),
15027
- /* @__PURE__ */ jsx58("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: visibleNetworks.map((network, networkIdx) => /* @__PURE__ */ jsx58(
15028
- ChainItem,
14958
+ return /* @__PURE__ */ jsxs51(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
14959
+ /* @__PURE__ */ jsxs51("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
14960
+ /* @__PURE__ */ jsxs51("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
14961
+ /* @__PURE__ */ jsx58(
14962
+ Button,
15029
14963
  {
15030
- ...network,
15031
- nextChainId,
15032
- setNextChainId,
15033
- isActivePaymasterDataLoading,
15034
- activePaymasterData
15035
- },
15036
- `chain-${network.chainId}-${networkIdx}`
15037
- )) })
15038
- ] })
15039
- }
15040
- );
14964
+ size: "icon",
14965
+ variant: "ghost",
14966
+ title: t("passport:common.back"),
14967
+ onClick: () => {
14968
+ const chainMenuOpenedFrom = useLayoutDataStore.getState().chainMenuOpenedFrom;
14969
+ useLayoutDataStore.getState().setPage(chainMenuOpenedFrom || "settings" /* SETTINGS */);
14970
+ },
14971
+ children: /* @__PURE__ */ jsx58(ArrowLeft4, { className: "h-4 w-4" })
14972
+ }
14973
+ ),
14974
+ /* @__PURE__ */ jsx58("span", { className: "text-xl font-semibold", children: t("passport:chainMenu.title") })
14975
+ ] }),
14976
+ /* @__PURE__ */ jsx58(
14977
+ Switch,
14978
+ {
14979
+ labels: { checked: "MAINNETS", unchecked: "ALL" },
14980
+ checked: isTestnets,
14981
+ onChange: () => setIsTestnets(!isTestnets)
14982
+ }
14983
+ )
14984
+ ] }),
14985
+ /* @__PURE__ */ jsx58("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: visibleNetworks.map((network, networkIdx) => /* @__PURE__ */ jsx58(
14986
+ ChainItem,
14987
+ {
14988
+ ...network,
14989
+ nextChainId,
14990
+ setNextChainId,
14991
+ isActivePaymasterDataLoading,
14992
+ activePaymasterData
14993
+ },
14994
+ `chain-${network.chainId}-${networkIdx}`
14995
+ )) })
14996
+ ] });
15041
14997
  }
15042
14998
  var init_ChainsMenu = __esm({
15043
14999
  "src/internal/components/ChainsMenu/ChainsMenu.tsx"() {
@@ -15047,7 +15003,6 @@ var init_ChainsMenu = __esm({
15047
15003
  init_useT();
15048
15004
  init_resolve_paymaster();
15049
15005
  init_useLayoutDataStore();
15050
- init_useLayoutStore();
15051
15006
  init_Expandable2();
15052
15007
  init_Onboarding();
15053
15008
  init_button();
@@ -15065,71 +15020,60 @@ function ChainSwitchRequest() {
15065
15020
  const config = useProviderConfig().config;
15066
15021
  const isLoading = useSession((st) => st.isLoading);
15067
15022
  const chainConfig = useSession((st) => st.chainConfig);
15068
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
15069
15023
  const prefferedChain = NETWORK_OPTIONS.find((ch) => ch.chainId === config.current?.network?.chainId) || null;
15070
15024
  const PrefferedChainIcon = prefferedChain?.Icon || (() => null);
15071
- return /* @__PURE__ */ jsx59(
15072
- "div",
15073
- {
15074
- style: {
15075
- "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
15076
- "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
15077
- },
15078
- className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
15079
- children: /* @__PURE__ */ jsxs52(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
15080
- /* @__PURE__ */ jsxs52("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
15081
- /* @__PURE__ */ jsx59(
15082
- Button,
15083
- {
15084
- size: "icon",
15085
- variant: "ghost",
15086
- title: t("passport:common.back"),
15087
- onClick: () => useLayoutDataStore.getState().setPage("settings" /* SETTINGS */),
15088
- children: /* @__PURE__ */ jsx59(ArrowLeft5, { className: "h-4 w-4" })
15089
- }
15090
- ),
15091
- /* @__PURE__ */ jsx59("span", { className: "text-xl font-semibold", children: t("passport:chainMenu.chainSwitchRequest.title") })
15092
- ] }),
15093
- /* @__PURE__ */ jsxs52(Highlight, { type: "info", className: "flex gap-[var(--ui-kit-gap)]", children: [
15094
- /* @__PURE__ */ jsx59(Info2, { className: "w-4 h-4 flex-none" }),
15095
- /* @__PURE__ */ jsx59("span", { className: "block", children: /* @__PURE__ */ jsx59(
15096
- Trans,
15097
- {
15098
- i18nKey: "passport:chainMenu.chainSwitchRequest.description",
15099
- values: {
15100
- preferredChain: `${prefferedChain?.name || "N/A"}`,
15101
- currentChain: `${chainConfig?.name || "N/A"}`
15102
- },
15103
- components: {
15104
- br: /* @__PURE__ */ jsx59("br", {}),
15105
- b: /* @__PURE__ */ jsx59("span", { className: "font-bold" })
15106
- }
15107
- }
15108
- ) })
15109
- ] }),
15110
- /* @__PURE__ */ jsxs52(
15111
- Button,
15112
- {
15113
- size: "large",
15114
- variant: "default",
15115
- className: "w-full",
15116
- disabled: isLoading,
15117
- onClick: () => {
15118
- if (!config.current?.network?.chainId) return;
15119
- useSession.getState().setActiveChainId(config.current.network.chainId);
15120
- useLayoutDataStore.getState().setPage("chain" /* CHAIN */);
15121
- },
15122
- children: [
15123
- isLoading ? /* @__PURE__ */ jsx59(Loader7, { className: "w-6 h-6 animate-spin" }) : /* @__PURE__ */ jsx59(PrefferedChainIcon, { className: "w-6 h-6" }),
15124
- t("passport:chainMenu.chainSwitchRequest.confirmButton", {
15125
- chain: `${prefferedChain?.name || "N/A"}`
15126
- })
15127
- ]
15025
+ return /* @__PURE__ */ jsxs52(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
15026
+ /* @__PURE__ */ jsxs52("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
15027
+ /* @__PURE__ */ jsx59(
15028
+ Button,
15029
+ {
15030
+ size: "icon",
15031
+ variant: "ghost",
15032
+ title: t("passport:common.back"),
15033
+ onClick: () => useLayoutDataStore.getState().setPage("settings" /* SETTINGS */),
15034
+ children: /* @__PURE__ */ jsx59(ArrowLeft5, { className: "h-4 w-4" })
15035
+ }
15036
+ ),
15037
+ /* @__PURE__ */ jsx59("span", { className: "text-xl font-semibold", children: t("passport:chainMenu.chainSwitchRequest.title") })
15038
+ ] }),
15039
+ /* @__PURE__ */ jsxs52(Highlight, { type: "info", className: "flex gap-[var(--ui-kit-gap)]", children: [
15040
+ /* @__PURE__ */ jsx59(Info2, { className: "w-4 h-4 flex-none" }),
15041
+ /* @__PURE__ */ jsx59("span", { className: "block", children: /* @__PURE__ */ jsx59(
15042
+ Trans,
15043
+ {
15044
+ i18nKey: "passport:chainMenu.chainSwitchRequest.description",
15045
+ values: {
15046
+ preferredChain: `${prefferedChain?.name || "N/A"}`,
15047
+ currentChain: `${chainConfig?.name || "N/A"}`
15048
+ },
15049
+ components: {
15050
+ br: /* @__PURE__ */ jsx59("br", {}),
15051
+ b: /* @__PURE__ */ jsx59("span", { className: "font-bold" })
15128
15052
  }
15129
- )
15130
- ] })
15131
- }
15132
- );
15053
+ }
15054
+ ) })
15055
+ ] }),
15056
+ /* @__PURE__ */ jsxs52(
15057
+ Button,
15058
+ {
15059
+ size: "large",
15060
+ variant: "default",
15061
+ className: "w-full",
15062
+ disabled: isLoading,
15063
+ onClick: () => {
15064
+ if (!config.current?.network?.chainId) return;
15065
+ useSession.getState().setActiveChainId(config.current.network.chainId);
15066
+ useLayoutDataStore.getState().setPage("chain" /* CHAIN */);
15067
+ },
15068
+ children: [
15069
+ isLoading ? /* @__PURE__ */ jsx59(Loader7, { className: "w-6 h-6 animate-spin" }) : /* @__PURE__ */ jsx59(PrefferedChainIcon, { className: "w-6 h-6" }),
15070
+ t("passport:chainMenu.chainSwitchRequest.confirmButton", {
15071
+ chain: `${prefferedChain?.name || "N/A"}`
15072
+ })
15073
+ ]
15074
+ }
15075
+ )
15076
+ ] });
15133
15077
  }
15134
15078
  var init_ChainSwitchRequest = __esm({
15135
15079
  "src/internal/components/ChainsMenu/ChainSwitchRequest.tsx"() {
@@ -15138,13 +15082,27 @@ var init_ChainSwitchRequest = __esm({
15138
15082
  init_SessionContext();
15139
15083
  init_useT();
15140
15084
  init_useLayoutDataStore();
15141
- init_useLayoutStore();
15142
15085
  init_Expandable2();
15143
15086
  init_button();
15144
15087
  init_highlight();
15145
15088
  }
15146
15089
  });
15147
15090
 
15091
+ // src/internal/components/ChainsMenu/onboarding.setup.ts
15092
+ var CHAIN_MENU_TOUR;
15093
+ var init_onboarding_setup2 = __esm({
15094
+ "src/internal/components/ChainsMenu/onboarding.setup.ts"() {
15095
+ init_constants();
15096
+ CHAIN_MENU_TOUR = [
15097
+ {
15098
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"chain" /* CHAIN */}`,
15099
+ title: "passport:chainMenu.onboarding.chainMenu.title",
15100
+ description: "passport:chainMenu.onboarding.chainMenu.description"
15101
+ }
15102
+ ];
15103
+ }
15104
+ });
15105
+
15148
15106
  // src/internal/components/ChainsMenu/index.ts
15149
15107
  var init_ChainsMenu2 = __esm({
15150
15108
  "src/internal/components/ChainsMenu/index.ts"() {
@@ -16354,20 +16312,6 @@ var init_useLinkTelegram = __esm({
16354
16312
  }
16355
16313
  });
16356
16314
 
16357
- // src/internal/components/ManageWalletMenu/onboarding.setup.ts
16358
- var MANAGE_WALLET_MENU_TOUR;
16359
- var init_onboarding_setup3 = __esm({
16360
- "src/internal/components/ManageWalletMenu/onboarding.setup.ts"() {
16361
- MANAGE_WALLET_MENU_TOUR = [
16362
- {
16363
- elId: "embarkai-profiles-menu-onboarding" /* profilesMenu */,
16364
- title: "passport:profilesMenu.onboarding.profilesMenu.title",
16365
- description: "passport:profilesMenu.onboarding.profilesMenu.description"
16366
- }
16367
- ];
16368
- }
16369
- });
16370
-
16371
16315
  // src/internal/components/ManageWalletMenu/ProviderCard.tsx
16372
16316
  import { Clock, Link2Icon, LoaderIcon as LoaderIcon7, Trash2Icon, UnplugIcon } from "lucide-react";
16373
16317
  import { Fragment as Fragment16, jsx as jsx68, jsxs as jsxs60 } from "react/jsx-runtime";
@@ -16545,7 +16489,6 @@ function ManageWalletMenu() {
16545
16489
  const config = useProviderConfig().config;
16546
16490
  const { t } = useT();
16547
16491
  const { open: openEmbarkAI } = useOpenPage();
16548
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
16549
16492
  const {
16550
16493
  alert: alert2,
16551
16494
  providerType,
@@ -16640,66 +16583,54 @@ function ManageWalletMenu() {
16640
16583
  const showExtraProvidersUi = !isProvidersLoading && !providersError && (providerType === "email" || providerType === "passkey");
16641
16584
  useOnboardingTourAvailable(!showExtraProvidersUi && providerType === null);
16642
16585
  const combinedAlertMessage = alert2?.message || providersError?.message || null;
16643
- return /* @__PURE__ */ jsx69(
16644
- "div",
16645
- {
16646
- ref: (inst) => onboarder.registerElement("embarkai-profiles-menu-onboarding" /* profilesMenu */, inst),
16647
- style: {
16648
- "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
16649
- "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
16650
- },
16651
- className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
16652
- children: /* @__PURE__ */ jsxs61(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
16653
- /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-[var(--ui-kit-gap)] w-full justify-between", children: [
16654
- /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
16655
- /* @__PURE__ */ jsx69(
16656
- Button,
16657
- {
16658
- variant: "ghost",
16659
- size: "icon",
16660
- title: t("passport:common.back"),
16661
- disabled: linkIsLoading,
16662
- onClick: () => {
16663
- setAlert(null);
16664
- if (providerType === "email") {
16665
- setEmail("");
16666
- setEmailCode("");
16667
- setEmailStep("input");
16668
- setEmailCodeExpiresAt(0);
16669
- }
16670
- if (!providerType) useLayoutDataStore.getState().setPage("settings" /* SETTINGS */);
16671
- setProviderType(null);
16672
- },
16673
- children: /* @__PURE__ */ jsx69(ArrowLeft6, { className: "h-4 w-4" })
16674
- }
16675
- ),
16676
- /* @__PURE__ */ jsx69("span", { className: "text-xl font-semibold", children: t("passport:profilesMenu.title") })
16677
- ] }),
16678
- linkIsLoading && /* @__PURE__ */ jsx69(LoaderIcon8, { className: "w-4 h-4 animate-spin text-[var(--ui-kit-fg-muted)]" })
16586
+ return /* @__PURE__ */ jsxs61(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
16587
+ /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-[var(--ui-kit-gap)] w-full justify-between", children: [
16588
+ /* @__PURE__ */ jsxs61("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
16589
+ /* @__PURE__ */ jsx69(
16590
+ Button,
16591
+ {
16592
+ variant: "ghost",
16593
+ size: "icon",
16594
+ title: t("passport:common.back"),
16595
+ disabled: linkIsLoading,
16596
+ onClick: () => {
16597
+ setAlert(null);
16598
+ if (providerType === "email") {
16599
+ setEmail("");
16600
+ setEmailCode("");
16601
+ setEmailStep("input");
16602
+ setEmailCodeExpiresAt(0);
16603
+ }
16604
+ if (!providerType) useLayoutDataStore.getState().setPage("settings" /* SETTINGS */);
16605
+ setProviderType(null);
16606
+ },
16607
+ children: /* @__PURE__ */ jsx69(ArrowLeft6, { className: "h-4 w-4" })
16608
+ }
16609
+ ),
16610
+ /* @__PURE__ */ jsx69("span", { className: "text-xl font-semibold", children: t("passport:profilesMenu.title") })
16611
+ ] }),
16612
+ linkIsLoading && /* @__PURE__ */ jsx69(LoaderIcon8, { className: "w-4 h-4 animate-spin text-[var(--ui-kit-fg-muted)]" })
16613
+ ] }),
16614
+ isProvidersLoading && /* @__PURE__ */ jsx69("div", { className: "flex items-center justify-center p-4 text-[var(--ui-kit-fg-muted)]", children: /* @__PURE__ */ jsx69(Loader9, { className: "w-4 h-4 animate-spin" }) }),
16615
+ /* @__PURE__ */ jsx69(EmailNotConnectedWarning, {}),
16616
+ showCurrentProviders && renderProviders.map((node) => node),
16617
+ showExtraProvidersUi && /* @__PURE__ */ jsx69(AddProvider, {}),
16618
+ combinedAlertMessage && /* @__PURE__ */ jsxs61(Highlight, { type: "error", children: [
16619
+ /* @__PURE__ */ jsxs61("div", { className: "break-words whitespace-pre-wrap mb-4", children: [
16620
+ alert2?.title && /* @__PURE__ */ jsxs61(Fragment17, { children: [
16621
+ /* @__PURE__ */ jsx69("strong", { children: alert2.title }),
16622
+ /* @__PURE__ */ jsx69("br", {})
16679
16623
  ] }),
16680
- isProvidersLoading && /* @__PURE__ */ jsx69("div", { className: "flex items-center justify-center p-4 text-[var(--ui-kit-fg-muted)]", children: /* @__PURE__ */ jsx69(Loader9, { className: "w-4 h-4 animate-spin" }) }),
16681
- /* @__PURE__ */ jsx69(EmailNotConnectedWarning, {}),
16682
- showCurrentProviders && renderProviders.map((node) => node),
16683
- showExtraProvidersUi && /* @__PURE__ */ jsx69(AddProvider, {}),
16684
- combinedAlertMessage && /* @__PURE__ */ jsxs61(Highlight, { type: "error", children: [
16685
- /* @__PURE__ */ jsxs61("div", { className: "break-words whitespace-pre-wrap mb-4", children: [
16686
- alert2?.title && /* @__PURE__ */ jsxs61(Fragment17, { children: [
16687
- /* @__PURE__ */ jsx69("strong", { children: alert2.title }),
16688
- /* @__PURE__ */ jsx69("br", {})
16689
- ] }),
16690
- combinedAlertMessage
16691
- ] }),
16692
- /* @__PURE__ */ jsx69(Button, { variant: "default", size: "medium", className: "w-full", onClick: () => setAlert(null), children: t("passport:common.hide") })
16693
- ] })
16694
- ] })
16695
- }
16696
- );
16624
+ combinedAlertMessage
16625
+ ] }),
16626
+ /* @__PURE__ */ jsx69(Button, { variant: "default", size: "medium", className: "w-full", onClick: () => setAlert(null), children: t("passport:common.hide") })
16627
+ ] })
16628
+ ] });
16697
16629
  }
16698
16630
  var POSSIBLE_PROVIDERS, MULTI_PROVIDERS;
16699
16631
  var init_ManageWallet = __esm({
16700
16632
  "src/internal/components/ManageWalletMenu/ManageWallet.tsx"() {
16701
16633
  init_useLayoutDataStore();
16702
- init_useLayoutStore();
16703
16634
  init_ProviderContext();
16704
16635
  init_useOpenPage();
16705
16636
  init_i18n();
@@ -16842,6 +16773,21 @@ var init_UnlinkProviderMenu = __esm({
16842
16773
  }
16843
16774
  });
16844
16775
 
16776
+ // src/internal/components/ManageWalletMenu/onboarding.setup.ts
16777
+ var MANAGE_WALLET_MENU_TOUR;
16778
+ var init_onboarding_setup3 = __esm({
16779
+ "src/internal/components/ManageWalletMenu/onboarding.setup.ts"() {
16780
+ init_constants();
16781
+ MANAGE_WALLET_MENU_TOUR = [
16782
+ {
16783
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"manage-wallet" /* MANAGE_WALLET */}`,
16784
+ title: "passport:profilesMenu.onboarding.profilesMenu.title",
16785
+ description: "passport:profilesMenu.onboarding.profilesMenu.description"
16786
+ }
16787
+ ];
16788
+ }
16789
+ });
16790
+
16845
16791
  // src/internal/components/ManageWalletMenu/index.ts
16846
16792
  var init_ManageWalletMenu = __esm({
16847
16793
  "src/internal/components/ManageWalletMenu/index.ts"() {
@@ -16896,7 +16842,6 @@ function ConnectExternalWalletMenu() {
16896
16842
  const { isConnected: isExternalWalletConnected } = useConnection();
16897
16843
  const { mutate: disconnect } = useDisconnect2();
16898
16844
  const { mutateAsync: signMessageAsync } = useSignMessage();
16899
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
16900
16845
  const walletMenuOpenedFrom = useLayoutDataStore((st) => st.walletMenuOpenedFrom);
16901
16846
  const { data: providers = [] } = useQuery8({
16902
16847
  retry: false,
@@ -17112,69 +17057,59 @@ function ConnectExternalWalletMenu() {
17112
17057
  return t("passport:connectMenu.instructions.confirm");
17113
17058
  }
17114
17059
  }, [embarkAiAddress, t]);
17115
- return /* @__PURE__ */ jsx71(
17116
- "div",
17117
- {
17118
- style: {
17119
- "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
17120
- "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
17121
- },
17122
- className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
17123
- children: /* @__PURE__ */ jsxs63(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
17124
- /* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
17125
- /* @__PURE__ */ jsx71(
17126
- Button,
17127
- {
17128
- variant: "ghost",
17129
- size: "icon",
17130
- title: t("passport:common.back"),
17131
- disabled: isConnectingExternalWallet || isLoginOrLinkOrConnectWallet,
17132
- onClick: () => useLayoutDataStore.getState().setPage(walletMenuOpenedFrom ?? "main-menu" /* MAIN_MENU */),
17133
- children: /* @__PURE__ */ jsx71(ArrowLeft7, { className: "h-4 w-4" })
17060
+ return /* @__PURE__ */ jsxs63(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
17061
+ /* @__PURE__ */ jsxs63("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
17062
+ /* @__PURE__ */ jsx71(
17063
+ Button,
17064
+ {
17065
+ variant: "ghost",
17066
+ size: "icon",
17067
+ title: t("passport:common.back"),
17068
+ disabled: isConnectingExternalWallet || isLoginOrLinkOrConnectWallet,
17069
+ onClick: () => useLayoutDataStore.getState().setPage(walletMenuOpenedFrom ?? "main-menu" /* MAIN_MENU */),
17070
+ children: /* @__PURE__ */ jsx71(ArrowLeft7, { className: "h-4 w-4" })
17071
+ }
17072
+ ),
17073
+ /* @__PURE__ */ jsx71("span", { className: "text-xl font-semibold", children: t("passport:connectMenu.connectWallet") })
17074
+ ] }),
17075
+ visibleConnectors.map((connector) => {
17076
+ const isConnectingThis = isConnectingExternalWallet && //@ts-expect-error uid exists
17077
+ pendingConnectVariables?.connector?.uid === connector.uid;
17078
+ const WalletIcon = WALLET_ICONS[connector.id] || Wallet2Icon2;
17079
+ return /* @__PURE__ */ jsxs63(
17080
+ Button,
17081
+ {
17082
+ variant: "secondary",
17083
+ size: "large",
17084
+ className: "w-full justify-center",
17085
+ disabled: isConnectingExternalWallet,
17086
+ onClick: async () => {
17087
+ if (isExternalWalletConnected) {
17088
+ disconnect();
17089
+ await new Promise((resolve) => setTimeout(resolve, 500));
17134
17090
  }
17135
- ),
17136
- /* @__PURE__ */ jsx71("span", { className: "text-xl font-semibold", children: t("passport:connectMenu.connectWallet") })
17137
- ] }),
17138
- visibleConnectors.map((connector) => {
17139
- const isConnectingThis = isConnectingExternalWallet && //@ts-expect-error uid exists
17140
- pendingConnectVariables?.connector?.uid === connector.uid;
17141
- const WalletIcon = WALLET_ICONS[connector.id] || Wallet2Icon2;
17142
- return /* @__PURE__ */ jsxs63(
17143
- Button,
17144
- {
17145
- variant: "secondary",
17146
- size: "large",
17147
- className: "w-full justify-center",
17148
- disabled: isConnectingExternalWallet,
17149
- onClick: async () => {
17150
- if (isExternalWalletConnected) {
17151
- disconnect();
17152
- await new Promise((resolve) => setTimeout(resolve, 500));
17153
- }
17154
- useLayoutStore.getState().setIsDialogForced(true);
17155
- connect({ connector });
17156
- },
17157
- children: [
17158
- isConnectingThis ? /* @__PURE__ */ jsx71("div", { className: "w-6 h-6 flex-none flex items-center justify-center", children: /* @__PURE__ */ jsx71(Loader11, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ jsx71(WalletIcon, { className: "w-6 h-6 flex-none" }),
17159
- /* @__PURE__ */ jsx71("span", { children: connector.name })
17160
- ]
17161
- },
17162
- connector.uid
17163
- );
17164
- }),
17165
- isConnectingExternalWallet && !!pendingConnectVariables?.connector && /* @__PURE__ */ jsx71(Highlight, {
17166
- type: "warning",
17167
- // @ts-expect-error i18n typing
17168
- children: t("passport:connectMenu.instructions.follow", {
17169
- wallet: pendingConnectVariables.connector.name,
17170
- steps: getInstructionSteps()
17171
- })
17172
- }),
17173
- visibleConnectors.length === 0 && /* @__PURE__ */ jsx71(Highlight, { type: "info", children: t("passport:connectMenu.noWallets") }),
17174
- error && /* @__PURE__ */ jsx71(Highlight, { type: "error", children: error.message })
17175
- ] })
17176
- }
17177
- );
17091
+ useLayoutStore.getState().setIsDialogForced(true);
17092
+ connect({ connector });
17093
+ },
17094
+ children: [
17095
+ isConnectingThis ? /* @__PURE__ */ jsx71("div", { className: "w-6 h-6 flex-none flex items-center justify-center", children: /* @__PURE__ */ jsx71(Loader11, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ jsx71(WalletIcon, { className: "w-6 h-6 flex-none" }),
17096
+ /* @__PURE__ */ jsx71("span", { children: connector.name })
17097
+ ]
17098
+ },
17099
+ connector.uid
17100
+ );
17101
+ }),
17102
+ isConnectingExternalWallet && !!pendingConnectVariables?.connector && /* @__PURE__ */ jsx71(Highlight, {
17103
+ type: "warning",
17104
+ // @ts-expect-error i18n typing
17105
+ children: t("passport:connectMenu.instructions.follow", {
17106
+ wallet: pendingConnectVariables.connector.name,
17107
+ steps: getInstructionSteps()
17108
+ })
17109
+ }),
17110
+ visibleConnectors.length === 0 && /* @__PURE__ */ jsx71(Highlight, { type: "info", children: t("passport:connectMenu.noWallets") }),
17111
+ error && /* @__PURE__ */ jsx71(Highlight, { type: "error", children: error.message })
17112
+ ] });
17178
17113
  }
17179
17114
  var init_ConnectExternalWalletMenu = __esm({
17180
17115
  "src/internal/components/ConnectExternalWalletMenu/ConnectExternalWalletMenu.tsx"() {
@@ -17330,8 +17265,8 @@ var init_devices = __esm({
17330
17265
  });
17331
17266
 
17332
17267
  // src/internal/components/DevicesMenu/DeviceLinkScreen.tsx
17333
- import { useState as useState14 } from "react";
17334
17268
  import { ArrowLeft as ArrowLeft8, Loader2 as Loader22 } from "lucide-react";
17269
+ import { useState as useState14 } from "react";
17335
17270
  import { jsx as jsx72, jsxs as jsxs64 } from "react/jsx-runtime";
17336
17271
  function getErrorMessage(err) {
17337
17272
  const code = err?.code;
@@ -17350,7 +17285,6 @@ function getErrorMessage(err) {
17350
17285
  }
17351
17286
  function DeviceLinkScreen() {
17352
17287
  const setPage = useLayoutDataStore((s) => s.setPage);
17353
- const maxScrollHeight = useLayoutStore((s) => s.maxScrollHeight);
17354
17288
  const { mutate: link, isPending } = useLinkDevice();
17355
17289
  const [code, setCode] = useState14("");
17356
17290
  const [error, setError] = useState14(null);
@@ -17372,54 +17306,36 @@ function DeviceLinkScreen() {
17372
17306
  }
17373
17307
  });
17374
17308
  }
17375
- return /* @__PURE__ */ jsx72(
17376
- "div",
17377
- {
17378
- style: { "--ui-kit-scrollbar-mah": `${maxScrollHeight}px` },
17379
- className: "list-scrollbar-y w-full",
17380
- children: /* @__PURE__ */ jsxs64(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
17381
- /* @__PURE__ */ jsxs64("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
17382
- /* @__PURE__ */ jsx72(Button, { variant: "ghost", size: "icon", onClick: () => setPage("devices" /* DEVICES */), children: /* @__PURE__ */ jsx72(ArrowLeft8, { className: "h-4 w-4 flex-none" }) }),
17383
- /* @__PURE__ */ jsx72("span", { className: "text-xl font-semibold", children: "Link Device" })
17384
- ] }),
17385
- /* @__PURE__ */ jsx72("p", { className: "text-sm text-[var(--ui-kit-fg-muted)]", children: "On your device: Long press to link smart wallet. Then enter the 6-character code shown on screen." }),
17386
- /* @__PURE__ */ jsx72(
17387
- "input",
17388
- {
17389
- type: "text",
17390
- value: code,
17391
- onChange: (e) => handleCodeChange(e.target.value),
17392
- onKeyDown: (e) => e.key === "Enter" && handleLink(),
17393
- placeholder: "XXXXXX",
17394
- autoFocus: true,
17395
- maxLength: 6,
17396
- className: "w-full text-center text-2xl tracking-[0.3em] font-mono px-4 py-3 rounded-lg\n bg-[var(--ui-kit-bg)] text-[var(--ui-kit-fg)]\n border border-[var(--ui-kit-bd)] focus:outline-none focus:border-[var(--ui-kit-primary)]\n uppercase"
17397
- }
17398
- ),
17399
- error && /* @__PURE__ */ jsx72("p", { className: "text-sm text-[var(--ui-kit-bg-error)]", children: error }),
17400
- /* @__PURE__ */ jsx72(
17401
- Button,
17402
- {
17403
- variant: "default",
17404
- size: "large",
17405
- className: "w-full",
17406
- disabled: !isValid || isPending,
17407
- onClick: handleLink,
17408
- children: isPending ? /* @__PURE__ */ jsx72(Loader22, { className: "w-4 h-4 animate-spin" }) : "Link"
17409
- }
17410
- )
17411
- ] })
17412
- }
17413
- );
17309
+ return /* @__PURE__ */ jsxs64(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
17310
+ /* @__PURE__ */ jsxs64("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
17311
+ /* @__PURE__ */ jsx72(Button, { variant: "ghost", size: "icon", onClick: () => setPage("devices" /* DEVICES */), children: /* @__PURE__ */ jsx72(ArrowLeft8, { className: "h-4 w-4 flex-none" }) }),
17312
+ /* @__PURE__ */ jsx72("span", { className: "text-xl font-semibold", children: "Link Device" })
17313
+ ] }),
17314
+ /* @__PURE__ */ jsx72("p", { className: "text-sm text-[var(--ui-kit-fg-muted)]", children: "On your device: Long press to link smart wallet. Then enter the 6-character code shown on screen." }),
17315
+ /* @__PURE__ */ jsx72(
17316
+ "input",
17317
+ {
17318
+ type: "text",
17319
+ value: code,
17320
+ onChange: (e) => handleCodeChange(e.target.value),
17321
+ onKeyDown: (e) => e.key === "Enter" && handleLink(),
17322
+ placeholder: "XXXXXX",
17323
+ autoFocus: true,
17324
+ maxLength: 6,
17325
+ className: "w-full text-center text-2xl tracking-[0.3em] font-mono px-4 py-3 rounded-lg\n bg-[var(--ui-kit-bg)] text-[var(--ui-kit-fg)]\n border border-[var(--ui-kit-bd)] focus:outline-none focus:border-[var(--ui-kit-primary)]\n uppercase"
17326
+ }
17327
+ ),
17328
+ error && /* @__PURE__ */ jsx72("p", { className: "text-sm text-[var(--ui-kit-bg-error)]", children: error }),
17329
+ /* @__PURE__ */ jsx72(Button, { variant: "default", size: "large", className: "w-full", disabled: !isValid || isPending, onClick: handleLink, children: isPending ? /* @__PURE__ */ jsx72(Loader22, { className: "w-4 h-4 animate-spin" }) : "Link" })
17330
+ ] });
17414
17331
  }
17415
17332
  var VALID_CHARS;
17416
17333
  var init_DeviceLinkScreen = __esm({
17417
17334
  "src/internal/components/DevicesMenu/DeviceLinkScreen.tsx"() {
17335
+ init_devices();
17336
+ init_useLayoutDataStore();
17418
17337
  init_Expandable2();
17419
17338
  init_button();
17420
- init_useLayoutDataStore();
17421
- init_useLayoutStore();
17422
- init_devices();
17423
17339
  VALID_CHARS = /^[A-HJ-NP-Z2-9]*$/;
17424
17340
  }
17425
17341
  });
@@ -17942,8 +17858,8 @@ var init_guardian_backup = __esm({
17942
17858
  });
17943
17859
 
17944
17860
  // src/internal/components/DevicesMenu/DeviceManageScreen.tsx
17945
- import { useCallback as useCallback19, useEffect as useEffect25, useRef as useRef14, useState as useState15 } from "react";
17946
17861
  import { ArrowLeft as ArrowLeft9, Cpu, Download, HardDrive, Loader2 as Loader23, Trash2, Upload } from "lucide-react";
17862
+ import { useCallback as useCallback19, useEffect as useEffect25, useRef as useRef14, useState as useState15 } from "react";
17947
17863
  import { Fragment as Fragment18, jsx as jsx73, jsxs as jsxs65 } from "react/jsx-runtime";
17948
17864
  function formatSize(bytes) {
17949
17865
  if (bytes < 1024) return `${bytes} B`;
@@ -17952,7 +17868,6 @@ function formatSize(bytes) {
17952
17868
  function DeviceManageScreen() {
17953
17869
  const setPage = useLayoutDataStore((s) => s.setPage);
17954
17870
  const pageParams = useLayoutDataStore((s) => s.pageParams);
17955
- const maxScrollHeight = useLayoutStore((s) => s.maxScrollHeight);
17956
17871
  const session = useSession((st) => st.session);
17957
17872
  const userId = session?.mpcUserId || "";
17958
17873
  const deviceId = pageParams?.deviceId;
@@ -18054,193 +17969,211 @@ function DeviceManageScreen() {
18054
17969
  setActionState(null);
18055
17970
  }
18056
17971
  }, [password, userId, refreshList]);
18057
- const handleDelete = useCallback19(async (keyshareId) => {
18058
- const guardian = guardianRef.current;
18059
- if (!guardian) return;
18060
- setActionState({ action: "delete", keyshareId, substep: "confirm-device" });
18061
- setErrorMessage(null);
18062
- setWaitingConfirm(true);
18063
- try {
18064
- await deleteFromGuardian(guardian, keyshareId);
18065
- setWaitingConfirm(false);
18066
- setStatusMessage("Keyshare deleted.");
18067
- setActionState(null);
18068
- await refreshList();
18069
- } catch (err) {
18070
- setWaitingConfirm(false);
18071
- setErrorMessage(err.message);
18072
- setActionState(null);
18073
- }
18074
- }, [refreshList]);
17972
+ const handleDelete = useCallback19(
17973
+ async (keyshareId) => {
17974
+ const guardian = guardianRef.current;
17975
+ if (!guardian) return;
17976
+ setActionState({ action: "delete", keyshareId, substep: "confirm-device" });
17977
+ setErrorMessage(null);
17978
+ setWaitingConfirm(true);
17979
+ try {
17980
+ await deleteFromGuardian(guardian, keyshareId);
17981
+ setWaitingConfirm(false);
17982
+ setStatusMessage("Keyshare deleted.");
17983
+ setActionState(null);
17984
+ await refreshList();
17985
+ } catch (err) {
17986
+ setWaitingConfirm(false);
17987
+ setErrorMessage(err.message);
17988
+ setActionState(null);
17989
+ }
17990
+ },
17991
+ [refreshList]
17992
+ );
18075
17993
  const isWorking = actionState?.substep === "working" || actionState?.substep === "confirm-device";
18076
- return /* @__PURE__ */ jsx73(
18077
- "div",
18078
- {
18079
- style: { "--ui-kit-scrollbar-mah": `${maxScrollHeight}px` },
18080
- className: "list-scrollbar-y w-full",
18081
- children: /* @__PURE__ */ jsxs65(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
18082
- /* @__PURE__ */ jsxs65("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
18083
- /* @__PURE__ */ jsx73(Button, { variant: "ghost", size: "icon", onClick: () => {
17994
+ return /* @__PURE__ */ jsxs65(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
17995
+ /* @__PURE__ */ jsxs65("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
17996
+ /* @__PURE__ */ jsx73(
17997
+ Button,
17998
+ {
17999
+ variant: "ghost",
18000
+ size: "icon",
18001
+ onClick: () => {
18084
18002
  guardianRef.current?.close();
18085
18003
  setPage("devices" /* DEVICES */);
18086
- }, children: /* @__PURE__ */ jsx73(ArrowLeft9, { className: "h-4 w-4 flex-none" }) }),
18087
- /* @__PURE__ */ jsx73(HardDrive, { className: "h-5 w-5 flex-none" }),
18088
- /* @__PURE__ */ jsx73("span", { className: "text-xl font-semibold", children: deviceName || "Guardian" }),
18089
- screen.step === "connected" && /* @__PURE__ */ jsxs65("span", { className: "text-xs text-[var(--ui-kit-fg-muted)] ml-auto", children: [
18090
- "v",
18091
- screen.info.fwVer
18092
- ] })
18093
- ] }),
18094
- waitingConfirm && /* @__PURE__ */ jsxs65("div", { className: "flex items-center gap-2 p-3 rounded-lg bg-[var(--ui-kit-bg)] text-sm animate-pulse", children: [
18095
- /* @__PURE__ */ jsx73(Loader23, { className: "w-4 h-4 animate-spin" }),
18096
- /* @__PURE__ */ jsx73("span", { children: "Confirm on your device..." })
18004
+ },
18005
+ children: /* @__PURE__ */ jsx73(ArrowLeft9, { className: "h-4 w-4 flex-none" })
18006
+ }
18007
+ ),
18008
+ /* @__PURE__ */ jsx73(HardDrive, { className: "h-5 w-5 flex-none" }),
18009
+ /* @__PURE__ */ jsx73("span", { className: "text-xl font-semibold", children: deviceName || "Guardian" }),
18010
+ screen.step === "connected" && /* @__PURE__ */ jsxs65("span", { className: "text-xs text-[var(--ui-kit-fg-muted)] ml-auto", children: [
18011
+ "v",
18012
+ screen.info.fwVer
18013
+ ] })
18014
+ ] }),
18015
+ waitingConfirm && /* @__PURE__ */ jsxs65("div", { className: "flex items-center gap-2 p-3 rounded-lg bg-[var(--ui-kit-bg)] text-sm animate-pulse", children: [
18016
+ /* @__PURE__ */ jsx73(Loader23, { className: "w-4 h-4 animate-spin" }),
18017
+ /* @__PURE__ */ jsx73("span", { children: "Confirm on your device..." })
18018
+ ] }),
18019
+ statusMessage && /* @__PURE__ */ jsx73("div", { className: "text-sm text-green-500 p-2", children: statusMessage }),
18020
+ errorMessage && /* @__PURE__ */ jsx73("div", { className: "text-sm text-[var(--ui-kit-bg-error)] p-2", children: errorMessage }),
18021
+ screen.step === "connecting" && /* @__PURE__ */ jsx73("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ jsx73(Loader23, { className: "w-6 h-6 animate-spin text-[var(--ui-kit-fg-muted)]" }) }),
18022
+ screen.step === "error" && /* @__PURE__ */ jsx73("div", { className: "text-sm text-[var(--ui-kit-bg-error)] text-center py-8", children: screen.message }),
18023
+ screen.step === "new-device" && /* @__PURE__ */ jsxs65("div", { className: "flex flex-col items-center gap-4 py-8", children: [
18024
+ /* @__PURE__ */ jsx73(Cpu, { className: "w-10 h-10 text-[var(--ui-kit-fg-muted)]" }),
18025
+ /* @__PURE__ */ jsxs65("div", { className: "text-center", children: [
18026
+ /* @__PURE__ */ jsx73("p", { className: "text-sm font-semibold", children: "New device detected" }),
18027
+ /* @__PURE__ */ jsxs65("p", { className: "text-xs text-[var(--ui-kit-fg-muted)] mt-1", children: [
18028
+ screen.info.deviceId,
18029
+ " \xB7 v",
18030
+ screen.info.fwVer
18031
+ ] })
18032
+ ] }),
18033
+ /* @__PURE__ */ jsx73(
18034
+ Button,
18035
+ {
18036
+ variant: "default",
18037
+ size: "large",
18038
+ className: "w-full",
18039
+ onClick: () => {
18040
+ setPage("device-link" /* DEVICE_LINK */);
18041
+ },
18042
+ children: "Link Device"
18043
+ }
18044
+ )
18045
+ ] }),
18046
+ screen.step === "connected" && /* @__PURE__ */ jsxs65(Fragment18, { children: [
18047
+ screen.keyshares.length === 0 && /* @__PURE__ */ jsx73("div", { className: "text-sm text-[var(--ui-kit-fg-muted)] text-center py-4", children: "No keyshares stored on this device" }),
18048
+ screen.keyshares.length > 0 && /* @__PURE__ */ jsxs65("div", { className: "text-xs text-[var(--ui-kit-fg-muted)] text-right", children: [
18049
+ screen.keyshares.length,
18050
+ " keyshare",
18051
+ screen.keyshares.length > 1 ? "s" : "",
18052
+ " \xB7",
18053
+ " ",
18054
+ formatSize(screen.keyshares.reduce((s, e) => s + e.size, 0))
18055
+ ] }),
18056
+ screen.keyshares.map(({ id, size }) => /* @__PURE__ */ jsxs65("div", { className: "flex items-center gap-3 p-3 rounded-lg bg-[var(--ui-kit-bg)]", children: [
18057
+ /* @__PURE__ */ jsx73(Cpu, { className: "w-5 h-5 text-[var(--ui-kit-fg-muted)] shrink-0" }),
18058
+ /* @__PURE__ */ jsxs65("div", { className: "flex-1 min-w-0", children: [
18059
+ /* @__PURE__ */ jsx73("span", { className: "text-sm font-mono truncate block text-[var(--ui-kit-fg)]", children: id }),
18060
+ /* @__PURE__ */ jsx73("span", { className: "text-xs text-[var(--ui-kit-fg-muted)]", children: formatSize(size) })
18097
18061
  ] }),
18098
- statusMessage && /* @__PURE__ */ jsx73("div", { className: "text-sm text-green-500 p-2", children: statusMessage }),
18099
- errorMessage && /* @__PURE__ */ jsx73("div", { className: "text-sm text-[var(--ui-kit-bg-error)] p-2", children: errorMessage }),
18100
- screen.step === "connecting" && /* @__PURE__ */ jsx73("div", { className: "flex justify-center py-8", children: /* @__PURE__ */ jsx73(Loader23, { className: "w-6 h-6 animate-spin text-[var(--ui-kit-fg-muted)]" }) }),
18101
- screen.step === "error" && /* @__PURE__ */ jsx73("div", { className: "text-sm text-[var(--ui-kit-bg-error)] text-center py-8", children: screen.message }),
18102
- screen.step === "new-device" && /* @__PURE__ */ jsxs65("div", { className: "flex flex-col items-center gap-4 py-8", children: [
18103
- /* @__PURE__ */ jsx73(Cpu, { className: "w-10 h-10 text-[var(--ui-kit-fg-muted)]" }),
18104
- /* @__PURE__ */ jsxs65("div", { className: "text-center", children: [
18105
- /* @__PURE__ */ jsx73("p", { className: "text-sm font-semibold", children: "New device detected" }),
18106
- /* @__PURE__ */ jsxs65("p", { className: "text-xs text-[var(--ui-kit-fg-muted)] mt-1", children: [
18107
- screen.info.deviceId,
18108
- " \xB7 v",
18109
- screen.info.fwVer
18110
- ] })
18111
- ] }),
18062
+ /* @__PURE__ */ jsx73(
18063
+ Button,
18064
+ {
18065
+ variant: "ghost",
18066
+ size: "icon",
18067
+ disabled: isWorking,
18068
+ onClick: () => {
18069
+ guardianRef.current?.close();
18070
+ const store = useLayoutDataStore.getState();
18071
+ store.setPageParams({ key: "device-restore" /* DEVICE_RESTORE */, keyshareId: id, deviceId, deviceName });
18072
+ store.setPage("device-restore" /* DEVICE_RESTORE */);
18073
+ },
18074
+ title: "Restore",
18075
+ children: /* @__PURE__ */ jsx73(Download, { className: "w-4 h-4" })
18076
+ }
18077
+ ),
18078
+ /* @__PURE__ */ jsx73(
18079
+ Button,
18080
+ {
18081
+ variant: "ghost",
18082
+ size: "icon",
18083
+ disabled: isWorking,
18084
+ onClick: () => handleDelete(id),
18085
+ title: "Delete",
18086
+ className: "text-[var(--ui-kit-bg-error)]",
18087
+ children: /* @__PURE__ */ jsx73(Trash2, { className: "w-4 h-4" })
18088
+ }
18089
+ )
18090
+ ] }, id)),
18091
+ actionState?.action === "overwrite" && actionState.substep === "confirm" && /* @__PURE__ */ jsxs65("div", { className: "flex items-center justify-between gap-2 p-3 rounded-lg bg-[var(--ui-kit-bg)]", children: [
18092
+ /* @__PURE__ */ jsx73("span", { className: "text-sm", children: "Keyshare exists. Overwrite? (requires button press on device)" }),
18093
+ /* @__PURE__ */ jsxs65("div", { className: "flex gap-2", children: [
18112
18094
  /* @__PURE__ */ jsx73(
18113
18095
  Button,
18114
18096
  {
18115
- variant: "default",
18116
- size: "large",
18117
- className: "w-full",
18097
+ variant: "ghost",
18098
+ size: "small",
18118
18099
  onClick: () => {
18119
- setPage("device-link" /* DEVICE_LINK */);
18120
- },
18121
- children: "Link Device"
18122
- }
18123
- )
18124
- ] }),
18125
- screen.step === "connected" && /* @__PURE__ */ jsxs65(Fragment18, { children: [
18126
- screen.keyshares.length === 0 && /* @__PURE__ */ jsx73("div", { className: "text-sm text-[var(--ui-kit-fg-muted)] text-center py-4", children: "No keyshares stored on this device" }),
18127
- screen.keyshares.length > 0 && /* @__PURE__ */ jsxs65("div", { className: "text-xs text-[var(--ui-kit-fg-muted)] text-right", children: [
18128
- screen.keyshares.length,
18129
- " keyshare",
18130
- screen.keyshares.length > 1 ? "s" : "",
18131
- " \xB7 ",
18132
- formatSize(screen.keyshares.reduce((s, e) => s + e.size, 0))
18133
- ] }),
18134
- screen.keyshares.map(({ id, size }) => /* @__PURE__ */ jsxs65("div", { className: "flex items-center gap-3 p-3 rounded-lg bg-[var(--ui-kit-bg)]", children: [
18135
- /* @__PURE__ */ jsx73(Cpu, { className: "w-5 h-5 text-[var(--ui-kit-fg-muted)] shrink-0" }),
18136
- /* @__PURE__ */ jsxs65("div", { className: "flex-1 min-w-0", children: [
18137
- /* @__PURE__ */ jsx73("span", { className: "text-sm font-mono truncate block text-[var(--ui-kit-fg)]", children: id }),
18138
- /* @__PURE__ */ jsx73("span", { className: "text-xs text-[var(--ui-kit-fg-muted)]", children: formatSize(size) })
18139
- ] }),
18140
- /* @__PURE__ */ jsx73(
18141
- Button,
18142
- {
18143
- variant: "ghost",
18144
- size: "icon",
18145
- disabled: isWorking,
18146
- onClick: () => {
18147
- guardianRef.current?.close();
18148
- const store = useLayoutDataStore.getState();
18149
- store.setPageParams({ key: "device-restore" /* DEVICE_RESTORE */, keyshareId: id, deviceId, deviceName });
18150
- store.setPage("device-restore" /* DEVICE_RESTORE */);
18151
- },
18152
- title: "Restore",
18153
- children: /* @__PURE__ */ jsx73(Download, { className: "w-4 h-4" })
18154
- }
18155
- ),
18156
- /* @__PURE__ */ jsx73(
18157
- Button,
18158
- {
18159
- variant: "ghost",
18160
- size: "icon",
18161
- disabled: isWorking,
18162
- onClick: () => handleDelete(id),
18163
- title: "Delete",
18164
- className: "text-[var(--ui-kit-bg-error)]",
18165
- children: /* @__PURE__ */ jsx73(Trash2, { className: "w-4 h-4" })
18166
- }
18167
- )
18168
- ] }, id)),
18169
- actionState?.action === "overwrite" && actionState.substep === "confirm" && /* @__PURE__ */ jsxs65("div", { className: "flex items-center justify-between gap-2 p-3 rounded-lg bg-[var(--ui-kit-bg)]", children: [
18170
- /* @__PURE__ */ jsx73("span", { className: "text-sm", children: "Keyshare exists. Overwrite? (requires button press on device)" }),
18171
- /* @__PURE__ */ jsxs65("div", { className: "flex gap-2", children: [
18172
- /* @__PURE__ */ jsx73(Button, { variant: "ghost", size: "small", onClick: () => {
18173
18100
  setActionState(null);
18174
18101
  setPassword("");
18175
- }, children: "Cancel" }),
18176
- /* @__PURE__ */ jsx73(Button, { variant: "outline", size: "small", onClick: handleOverwrite, children: "Overwrite" })
18177
- ] })
18178
- ] }),
18179
- actionState?.action === "backup" && actionState.substep === "password" ? /* @__PURE__ */ jsxs65("div", { className: "flex gap-2", children: [
18180
- /* @__PURE__ */ jsx73(
18181
- "input",
18182
- {
18183
- type: "password",
18184
- autoComplete: "one-time-code",
18185
- "data-1p-ignore": true,
18186
- "data-lpignore": "true",
18187
- value: password,
18188
- onChange: (e) => setPassword(e.target.value),
18189
- onKeyDown: (e) => e.key === "Enter" && password && handleBackup(),
18190
- placeholder: "Encryption password",
18191
- className: "flex-1 text-sm px-3 py-2 rounded-lg bg-[var(--ui-kit-bg)] border border-[var(--ui-kit-bd)] text-[var(--ui-kit-fg)] focus:outline-none focus:border-[var(--ui-kit-primary)]",
18192
- autoFocus: true
18193
- }
18194
- ),
18195
- /* @__PURE__ */ jsx73(Button, { variant: "default", disabled: !password, onClick: handleBackup, children: "Backup" }),
18196
- /* @__PURE__ */ jsx73(Button, { variant: "ghost", onClick: () => {
18197
- setActionState(null);
18198
- setPassword("");
18199
- }, children: "Cancel" })
18200
- ] }) : /* @__PURE__ */ jsxs65(
18201
- Button,
18202
- {
18203
- variant: "default",
18204
- size: "large",
18205
- className: "w-full",
18206
- disabled: isWorking,
18207
- onClick: () => {
18208
- setStatusMessage(null);
18209
- setErrorMessage(null);
18210
- setActionState({ action: "backup", substep: "password" });
18211
18102
  },
18212
- children: [
18213
- /* @__PURE__ */ jsx73(Upload, { className: "w-4 h-4" }),
18214
- /* @__PURE__ */ jsx73("span", { children: "Backup Current Keyshare" })
18215
- ]
18103
+ children: "Cancel"
18216
18104
  }
18217
18105
  ),
18218
- actionState?.substep === "working" && /* @__PURE__ */ jsx73("div", { className: "flex justify-center py-2", children: /* @__PURE__ */ jsx73(Loader23, { className: "w-5 h-5 animate-spin" }) })
18106
+ /* @__PURE__ */ jsx73(Button, { variant: "outline", size: "small", onClick: handleOverwrite, children: "Overwrite" })
18219
18107
  ] })
18220
- ] })
18221
- }
18222
- );
18108
+ ] }),
18109
+ actionState?.action === "backup" && actionState.substep === "password" ? /* @__PURE__ */ jsxs65("div", { className: "flex gap-2", children: [
18110
+ /* @__PURE__ */ jsx73(
18111
+ "input",
18112
+ {
18113
+ type: "password",
18114
+ autoComplete: "one-time-code",
18115
+ "data-1p-ignore": true,
18116
+ "data-lpignore": "true",
18117
+ value: password,
18118
+ onChange: (e) => setPassword(e.target.value),
18119
+ onKeyDown: (e) => e.key === "Enter" && password && handleBackup(),
18120
+ placeholder: "Encryption password",
18121
+ className: "flex-1 text-sm px-3 py-2 rounded-lg bg-[var(--ui-kit-bg)] border border-[var(--ui-kit-bd)] text-[var(--ui-kit-fg)] focus:outline-none focus:border-[var(--ui-kit-primary)]",
18122
+ autoFocus: true
18123
+ }
18124
+ ),
18125
+ /* @__PURE__ */ jsx73(Button, { variant: "default", disabled: !password, onClick: handleBackup, children: "Backup" }),
18126
+ /* @__PURE__ */ jsx73(
18127
+ Button,
18128
+ {
18129
+ variant: "ghost",
18130
+ onClick: () => {
18131
+ setActionState(null);
18132
+ setPassword("");
18133
+ },
18134
+ children: "Cancel"
18135
+ }
18136
+ )
18137
+ ] }) : /* @__PURE__ */ jsxs65(
18138
+ Button,
18139
+ {
18140
+ variant: "default",
18141
+ size: "large",
18142
+ className: "w-full",
18143
+ disabled: isWorking,
18144
+ onClick: () => {
18145
+ setStatusMessage(null);
18146
+ setErrorMessage(null);
18147
+ setActionState({ action: "backup", substep: "password" });
18148
+ },
18149
+ children: [
18150
+ /* @__PURE__ */ jsx73(Upload, { className: "w-4 h-4" }),
18151
+ /* @__PURE__ */ jsx73("span", { children: "Backup Current Keyshare" })
18152
+ ]
18153
+ }
18154
+ ),
18155
+ actionState?.substep === "working" && /* @__PURE__ */ jsx73("div", { className: "flex justify-center py-2", children: /* @__PURE__ */ jsx73(Loader23, { className: "w-5 h-5 animate-spin" }) })
18156
+ ] })
18157
+ ] });
18223
18158
  }
18224
18159
  var init_DeviceManageScreen = __esm({
18225
18160
  "src/internal/components/DevicesMenu/DeviceManageScreen.tsx"() {
18226
- init_Expandable2();
18227
- init_button();
18228
- init_useLayoutDataStore();
18229
- init_useLayoutStore();
18230
18161
  init_SessionContext();
18231
- init_iframe_manager();
18232
18162
  init_guardian_backup();
18163
+ init_useLayoutDataStore();
18164
+ init_iframe_manager();
18165
+ init_Expandable2();
18166
+ init_button();
18233
18167
  }
18234
18168
  });
18235
18169
 
18236
18170
  // src/internal/components/DevicesMenu/DeviceRestoreScreen.tsx
18237
- import { useCallback as useCallback20, useState as useState16 } from "react";
18238
18171
  import { AlertTriangle as AlertTriangle2, ArrowLeft as ArrowLeft10, Download as Download2, Loader2 as Loader24 } from "lucide-react";
18172
+ import { useCallback as useCallback20, useState as useState16 } from "react";
18239
18173
  import { Fragment as Fragment19, jsx as jsx74, jsxs as jsxs66 } from "react/jsx-runtime";
18240
18174
  function DeviceRestoreScreen() {
18241
18175
  const setPage = useLayoutDataStore((s) => s.setPage);
18242
18176
  const pageParams = useLayoutDataStore((s) => s.pageParams);
18243
- const maxScrollHeight = useLayoutStore((s) => s.maxScrollHeight);
18244
18177
  const session = useSession((st) => st.session);
18245
18178
  const userId = session?.mpcUserId || "";
18246
18179
  const keyshareId = pageParams?.keyshareId;
@@ -18276,82 +18209,74 @@ function DeviceRestoreScreen() {
18276
18209
  setIsWorking(false);
18277
18210
  }
18278
18211
  }, [password, keyshareId, userId, deviceId]);
18279
- return /* @__PURE__ */ jsx74(
18280
- "div",
18281
- {
18282
- style: { "--ui-kit-scrollbar-mah": `${maxScrollHeight}px` },
18283
- className: "list-scrollbar-y w-full",
18284
- children: /* @__PURE__ */ jsxs66(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
18285
- /* @__PURE__ */ jsxs66("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
18286
- /* @__PURE__ */ jsx74(Button, { variant: "ghost", size: "icon", onClick: () => setPage("device-manage" /* DEVICE_MANAGE */), children: /* @__PURE__ */ jsx74(ArrowLeft10, { className: "h-4 w-4 flex-none" }) }),
18287
- /* @__PURE__ */ jsx74("span", { className: "text-xl font-semibold", children: "Restore Keyshare" })
18288
- ] }),
18289
- /* @__PURE__ */ jsxs66("div", { className: "flex gap-3 p-3 rounded-lg bg-[var(--ui-kit-bg)] border border-[var(--ui-kit-bg-error)]", children: [
18290
- /* @__PURE__ */ jsx74(AlertTriangle2, { className: "w-5 h-5 text-[var(--ui-kit-bg-error)] shrink-0 mt-0.5" }),
18291
- /* @__PURE__ */ jsxs66("div", { className: "text-sm", children: [
18292
- /* @__PURE__ */ jsx74("p", { className: "font-semibold text-[var(--ui-kit-bg-error)]", children: "This will replace your current keyshare" }),
18293
- /* @__PURE__ */ jsxs66("p", { className: "text-[var(--ui-kit-fg-muted)] mt-1", children: [
18294
- "Your existing keyshare will be overwritten with the backup from ",
18295
- deviceName || "Guardian",
18296
- " device. Make sure you have a backup of your current keyshare before proceeding."
18297
- ] })
18298
- ] })
18299
- ] }),
18300
- /* @__PURE__ */ jsx74("div", { className: "text-xs text-[var(--ui-kit-fg-muted)] font-mono truncate px-1", children: keyshareId }),
18301
- /* @__PURE__ */ jsx74(
18302
- "input",
18303
- {
18304
- type: "password",
18305
- autoComplete: "one-time-code",
18306
- "data-1p-ignore": true,
18307
- "data-lpignore": "true",
18308
- value: password,
18309
- onChange: (e) => setPassword(e.target.value),
18310
- onKeyDown: (e) => e.key === "Enter" && password && !isWorking && handleRestore(),
18311
- placeholder: "Encryption password",
18312
- className: "w-full text-sm px-3 py-2 rounded-lg bg-[var(--ui-kit-bg)] border border-[var(--ui-kit-bd)] text-[var(--ui-kit-fg)] focus:outline-none focus:border-[var(--ui-kit-primary)]",
18313
- autoFocus: true,
18314
- disabled: isWorking
18315
- }
18316
- ),
18317
- /* @__PURE__ */ jsx74(
18318
- Button,
18319
- {
18320
- variant: "default",
18321
- size: "large",
18322
- className: "w-full",
18323
- disabled: !password || isWorking,
18324
- onClick: handleRestore,
18325
- children: isWorking ? /* @__PURE__ */ jsxs66(Fragment19, { children: [
18326
- /* @__PURE__ */ jsx74(Loader24, { className: "w-4 h-4 animate-spin" }),
18327
- /* @__PURE__ */ jsx74("span", { children: "Restoring \u2014 confirm on your device..." })
18328
- ] }) : /* @__PURE__ */ jsxs66(Fragment19, { children: [
18329
- /* @__PURE__ */ jsx74(Download2, { className: "w-4 h-4" }),
18330
- /* @__PURE__ */ jsx74("span", { children: "Restore from Guardian" })
18331
- ] })
18332
- }
18333
- ),
18334
- statusMessage && /* @__PURE__ */ jsx74("div", { className: "text-sm text-green-500 p-2 text-center", children: statusMessage }),
18335
- errorMessage && /* @__PURE__ */ jsx74("div", { className: "text-sm text-[var(--ui-kit-bg-error)] p-2 text-center", children: errorMessage })
18212
+ return /* @__PURE__ */ jsxs66(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
18213
+ /* @__PURE__ */ jsxs66("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
18214
+ /* @__PURE__ */ jsx74(Button, { variant: "ghost", size: "icon", onClick: () => setPage("device-manage" /* DEVICE_MANAGE */), children: /* @__PURE__ */ jsx74(ArrowLeft10, { className: "h-4 w-4 flex-none" }) }),
18215
+ /* @__PURE__ */ jsx74("span", { className: "text-xl font-semibold", children: "Restore Keyshare" })
18216
+ ] }),
18217
+ /* @__PURE__ */ jsxs66("div", { className: "flex gap-3 p-3 rounded-lg bg-[var(--ui-kit-bg)] border border-[var(--ui-kit-bg-error)]", children: [
18218
+ /* @__PURE__ */ jsx74(AlertTriangle2, { className: "w-5 h-5 text-[var(--ui-kit-bg-error)] shrink-0 mt-0.5" }),
18219
+ /* @__PURE__ */ jsxs66("div", { className: "text-sm", children: [
18220
+ /* @__PURE__ */ jsx74("p", { className: "font-semibold text-[var(--ui-kit-bg-error)]", children: "This will replace your current keyshare" }),
18221
+ /* @__PURE__ */ jsxs66("p", { className: "text-[var(--ui-kit-fg-muted)] mt-1", children: [
18222
+ "Your existing keyshare will be overwritten with the backup from ",
18223
+ deviceName || "Guardian",
18224
+ " device. Make sure you have a backup of your current keyshare before proceeding."
18225
+ ] })
18336
18226
  ] })
18337
- }
18338
- );
18227
+ ] }),
18228
+ /* @__PURE__ */ jsx74("div", { className: "text-xs text-[var(--ui-kit-fg-muted)] font-mono truncate px-1", children: keyshareId }),
18229
+ /* @__PURE__ */ jsx74(
18230
+ "input",
18231
+ {
18232
+ type: "password",
18233
+ autoComplete: "one-time-code",
18234
+ "data-1p-ignore": true,
18235
+ "data-lpignore": "true",
18236
+ value: password,
18237
+ onChange: (e) => setPassword(e.target.value),
18238
+ onKeyDown: (e) => e.key === "Enter" && password && !isWorking && handleRestore(),
18239
+ placeholder: "Encryption password",
18240
+ className: "w-full text-sm px-3 py-2 rounded-lg bg-[var(--ui-kit-bg)] border border-[var(--ui-kit-bd)] text-[var(--ui-kit-fg)] focus:outline-none focus:border-[var(--ui-kit-primary)]",
18241
+ autoFocus: true,
18242
+ disabled: isWorking
18243
+ }
18244
+ ),
18245
+ /* @__PURE__ */ jsx74(
18246
+ Button,
18247
+ {
18248
+ variant: "default",
18249
+ size: "large",
18250
+ className: "w-full",
18251
+ disabled: !password || isWorking,
18252
+ onClick: handleRestore,
18253
+ children: isWorking ? /* @__PURE__ */ jsxs66(Fragment19, { children: [
18254
+ /* @__PURE__ */ jsx74(Loader24, { className: "w-4 h-4 animate-spin" }),
18255
+ /* @__PURE__ */ jsx74("span", { children: "Restoring \u2014 confirm on your device..." })
18256
+ ] }) : /* @__PURE__ */ jsxs66(Fragment19, { children: [
18257
+ /* @__PURE__ */ jsx74(Download2, { className: "w-4 h-4" }),
18258
+ /* @__PURE__ */ jsx74("span", { children: "Restore from Guardian" })
18259
+ ] })
18260
+ }
18261
+ ),
18262
+ statusMessage && /* @__PURE__ */ jsx74("div", { className: "text-sm text-green-500 p-2 text-center", children: statusMessage }),
18263
+ errorMessage && /* @__PURE__ */ jsx74("div", { className: "text-sm text-[var(--ui-kit-bg-error)] p-2 text-center", children: errorMessage })
18264
+ ] });
18339
18265
  }
18340
18266
  var init_DeviceRestoreScreen = __esm({
18341
18267
  "src/internal/components/DevicesMenu/DeviceRestoreScreen.tsx"() {
18342
- init_Expandable2();
18343
- init_button();
18344
- init_useLayoutDataStore();
18345
- init_useLayoutStore();
18346
18268
  init_SessionContext();
18347
- init_iframe_manager();
18348
18269
  init_guardian_backup();
18270
+ init_useLayoutDataStore();
18271
+ init_iframe_manager();
18272
+ init_Expandable2();
18273
+ init_button();
18349
18274
  }
18350
18275
  });
18351
18276
 
18352
18277
  // src/internal/components/DevicesMenu/DevicesMenu.tsx
18278
+ import { ArrowLeft as ArrowLeft11, CheckCircle, Cpu as Cpu2, HardDrive as HardDrive2, Loader2 as Loader25, Monitor, RefreshCw, Trash2 as Trash22 } from "lucide-react";
18353
18279
  import { useState as useState17 } from "react";
18354
- import { ArrowLeft as ArrowLeft11, Cpu as Cpu2, Monitor, CheckCircle, Trash2 as Trash22, Loader2 as Loader25, RefreshCw, HardDrive as HardDrive2 } from "lucide-react";
18355
18280
  import { jsx as jsx75, jsxs as jsxs67 } from "react/jsx-runtime";
18356
18281
  function DeviceIcon({ deviceType }) {
18357
18282
  const Icon2 = deviceType === "iot" ? Cpu2 : Monitor;
@@ -18421,7 +18346,11 @@ function DeviceRow({ device }) {
18421
18346
  {
18422
18347
  onClick: () => {
18423
18348
  const store = useLayoutDataStore.getState();
18424
- store.setPageParams({ key: "device-manage" /* DEVICE_MANAGE */, deviceId: device.deviceId, deviceName: device.deviceName });
18349
+ store.setPageParams({
18350
+ key: "device-manage" /* DEVICE_MANAGE */,
18351
+ deviceId: device.deviceId,
18352
+ deviceName: device.deviceName
18353
+ });
18425
18354
  store.setPage("device-manage" /* DEVICE_MANAGE */);
18426
18355
  },
18427
18356
  className: "text-[var(--ui-kit-fg-muted)] hover:text-[var(--ui-kit-fg)] transition-colors shrink-0",
@@ -18441,50 +18370,32 @@ function DeviceRow({ device }) {
18441
18370
  }
18442
18371
  function DevicesMenu() {
18443
18372
  const setPage = useLayoutDataStore((s) => s.setPage);
18444
- const maxScrollHeight = useLayoutStore((s) => s.maxScrollHeight);
18445
18373
  const { data, isLoading, error, refetch, isFetching } = useDevices();
18446
18374
  const devices = data?.devices ?? [];
18447
- return /* @__PURE__ */ jsx75(
18448
- "div",
18449
- {
18450
- style: { "--ui-kit-scrollbar-mah": `${maxScrollHeight}px` },
18451
- className: "list-scrollbar-y w-full",
18452
- children: /* @__PURE__ */ jsxs67(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
18453
- /* @__PURE__ */ jsxs67("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
18454
- /* @__PURE__ */ jsx75(Button, { variant: "ghost", size: "icon", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx75(ArrowLeft11, { className: "h-4 w-4 flex-none" }) }),
18455
- /* @__PURE__ */ jsx75("span", { className: "text-xl font-semibold", children: "Devices" }),
18456
- isLoading && /* @__PURE__ */ jsx75(Loader25, { className: "w-4 h-4 animate-spin" }),
18457
- /* @__PURE__ */ jsx75("div", { className: "flex-1" }),
18458
- /* @__PURE__ */ jsx75(Button, { variant: "ghost", size: "icon", onClick: () => refetch(), disabled: isFetching, children: /* @__PURE__ */ jsx75(RefreshCw, { className: `h-4 w-4 flex-none ${isFetching ? "animate-spin" : ""}` }) })
18459
- ] }),
18460
- error && /* @__PURE__ */ jsx75("div", { className: "text-sm text-[var(--ui-kit-bg-error)] text-center py-4", children: "Failed to load devices" }),
18461
- !isLoading && !error && devices.length === 0 && /* @__PURE__ */ jsx75("div", { className: "text-sm text-[var(--ui-kit-fg-muted)] text-center py-8", children: "No linked devices" }),
18462
- devices.map((device) => /* @__PURE__ */ jsx75(DeviceRow, { device }, device.deviceId)),
18463
- /* @__PURE__ */ jsxs67(
18464
- Button,
18465
- {
18466
- variant: "default",
18467
- size: "large",
18468
- className: "w-full",
18469
- onClick: () => setPage("device-link" /* DEVICE_LINK */),
18470
- children: [
18471
- /* @__PURE__ */ jsx75(Cpu2, { className: "w-4 h-4" }),
18472
- /* @__PURE__ */ jsx75("span", { children: "Add Device" })
18473
- ]
18474
- }
18475
- )
18476
- ] })
18477
- }
18478
- );
18375
+ return /* @__PURE__ */ jsxs67(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
18376
+ /* @__PURE__ */ jsxs67("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
18377
+ /* @__PURE__ */ jsx75(Button, { variant: "ghost", size: "icon", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx75(ArrowLeft11, { className: "h-4 w-4 flex-none" }) }),
18378
+ /* @__PURE__ */ jsx75("span", { className: "text-xl font-semibold", children: "Devices" }),
18379
+ isLoading && /* @__PURE__ */ jsx75(Loader25, { className: "w-4 h-4 animate-spin" }),
18380
+ /* @__PURE__ */ jsx75("div", { className: "flex-1" }),
18381
+ /* @__PURE__ */ jsx75(Button, { variant: "ghost", size: "icon", onClick: () => refetch(), disabled: isFetching, children: /* @__PURE__ */ jsx75(RefreshCw, { className: `h-4 w-4 flex-none ${isFetching ? "animate-spin" : ""}` }) })
18382
+ ] }),
18383
+ error && /* @__PURE__ */ jsx75("div", { className: "text-sm text-[var(--ui-kit-bg-error)] text-center py-4", children: "Failed to load devices" }),
18384
+ !isLoading && !error && devices.length === 0 && /* @__PURE__ */ jsx75("div", { className: "text-sm text-[var(--ui-kit-fg-muted)] text-center py-8", children: "No linked devices" }),
18385
+ devices.map((device) => /* @__PURE__ */ jsx75(DeviceRow, { device }, device.deviceId)),
18386
+ /* @__PURE__ */ jsxs67(Button, { variant: "default", size: "large", className: "w-full", onClick: () => setPage("device-link" /* DEVICE_LINK */), children: [
18387
+ /* @__PURE__ */ jsx75(Cpu2, { className: "w-4 h-4" }),
18388
+ /* @__PURE__ */ jsx75("span", { children: "Add Device" })
18389
+ ] })
18390
+ ] });
18479
18391
  }
18480
18392
  var init_DevicesMenu = __esm({
18481
18393
  "src/internal/components/DevicesMenu/DevicesMenu.tsx"() {
18482
- init_Expandable2();
18483
- init_button();
18484
- init_useLayoutDataStore();
18485
- init_useLayoutStore();
18486
18394
  init_devices();
18487
18395
  init_guardian_backup();
18396
+ init_useLayoutDataStore();
18397
+ init_Expandable2();
18398
+ init_button();
18488
18399
  }
18489
18400
  });
18490
18401
 
@@ -19362,10 +19273,11 @@ var init_MethodSelector = __esm({
19362
19273
  var KEYSHARE_BACKUP_MENU_TOUR, KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY;
19363
19274
  var init_onboarding_setup4 = __esm({
19364
19275
  "src/internal/components/KeyshareRestoreMenu/onboarding.setup.ts"() {
19276
+ init_constants();
19365
19277
  init_hooks();
19366
19278
  KEYSHARE_BACKUP_MENU_TOUR = [
19367
19279
  {
19368
- elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
19280
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"keysare-backup" /* KEYSARE_BACKUP */}`,
19369
19281
  title: "passport:backupMenu.onboarding.backupMenu.title",
19370
19282
  description: "passport:backupMenu.onboarding.backupMenu.description",
19371
19283
  onNext: () => {
@@ -19390,7 +19302,7 @@ var init_onboarding_setup4 = __esm({
19390
19302
  }
19391
19303
  },
19392
19304
  {
19393
- elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
19305
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"keysare-backup" /* KEYSARE_BACKUP */}`,
19394
19306
  title: "passport:backupMenu.onboarding.backupEncryptionPassword.title",
19395
19307
  description: "passport:backupMenu.onboarding.backupEncryptionPassword.description",
19396
19308
  onNext: () => {
@@ -19401,7 +19313,7 @@ var init_onboarding_setup4 = __esm({
19401
19313
  }
19402
19314
  },
19403
19315
  {
19404
- elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
19316
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"keysare-backup" /* KEYSARE_BACKUP */}`,
19405
19317
  title: "passport:backupMenu.onboarding.backupEncryptionPasskey.title",
19406
19318
  description: "passport:backupMenu.onboarding.backupEncryptionPasskey.description",
19407
19319
  onNext: () => {
@@ -19421,7 +19333,7 @@ var init_onboarding_setup4 = __esm({
19421
19333
  ];
19422
19334
  KEYSHARE_BACKUP_MENU_TOUR_NO_PASSKEY = [
19423
19335
  {
19424
- elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
19336
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"keysare-backup" /* KEYSARE_BACKUP */}`,
19425
19337
  title: "passport:backupMenu.onboarding.backupMenu.title",
19426
19338
  description: "passport:backupMenu.onboarding.backupMenu.description",
19427
19339
  onNext: () => {
@@ -19436,7 +19348,7 @@ var init_onboarding_setup4 = __esm({
19436
19348
  }
19437
19349
  },
19438
19350
  {
19439
- elId: "embarkai-keyshare-backup-menu-onboarding" /* backupMenu */,
19351
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"keysare-backup" /* KEYSARE_BACKUP */}`,
19440
19352
  title: "passport:backupMenu.onboarding.backupEncryptionPassword.title",
19441
19353
  description: "passport:backupMenu.onboarding.backupEncryptionPassword.description",
19442
19354
  onNext: () => {
@@ -20324,7 +20236,6 @@ var init_KeyshareRestoreMenu = __esm({
20324
20236
  const { callbacksRef } = useProviderConfig();
20325
20237
  const { t } = useT();
20326
20238
  const address = useSession((st) => st.address);
20327
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
20328
20239
  const error = useRestoreStore((st) => st.error);
20329
20240
  const success = useRestoreStore((st) => st.success);
20330
20241
  const currentRestoreMethod = useRestoreStore((st) => st.method);
@@ -20407,106 +20318,99 @@ var init_KeyshareRestoreMenu = __esm({
20407
20318
  }
20408
20319
  });
20409
20320
  const RestoreComponent = currentRestoreMethod ? RESTORE_COMPONENTS[currentRestoreMethod] : null;
20410
- return /* @__PURE__ */ jsx84(
20411
- "div",
20412
- {
20413
- style: { "--ui-kit-scrollbar-mah": `${maxScrollHeight}px` },
20414
- className: "list-scrollbar-y w-full",
20415
- children: /* @__PURE__ */ jsxs76(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
20416
- isBackupStatusLoading && /* @__PURE__ */ jsxs76("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)] text-center justify-center items-center", children: [
20417
- /* @__PURE__ */ jsx84(Loader14, { className: "w-4 h-4 animate-spin" }),
20418
- /* @__PURE__ */ jsx84("span", { className: "block w-full text-xs leading-4", children: t("passport:restoreMenu.check") })
20321
+ return /* @__PURE__ */ jsxs76(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
20322
+ isBackupStatusLoading && /* @__PURE__ */ jsxs76("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)] text-center justify-center items-center", children: [
20323
+ /* @__PURE__ */ jsx84(Loader14, { className: "w-4 h-4 animate-spin" }),
20324
+ /* @__PURE__ */ jsx84("span", { className: "block w-full text-xs leading-4", children: t("passport:restoreMenu.check") })
20325
+ ] }),
20326
+ !success && !isBackupStatusLoading && !isDisconnecting && !hasServerBackup && /* @__PURE__ */ jsx84(
20327
+ NoBackupFound,
20328
+ {
20329
+ isLoading: isRestoringFromServer || isRestoringFromCloud || isRestoringFromFile || isDisconnecting,
20330
+ restoreFromFile
20331
+ }
20332
+ ),
20333
+ !success && !isBackupStatusLoading && !isDisconnecting && hasServerBackup && /* @__PURE__ */ jsxs76(Fragment27, { children: [
20334
+ /* @__PURE__ */ jsxs76("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
20335
+ /* @__PURE__ */ jsxs76("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
20336
+ /* @__PURE__ */ jsx84(CloudDownload2, { className: "w-6 h-6" }),
20337
+ /* @__PURE__ */ jsx84("span", { className: "font-bold text-xl leading-6", children: t("passport:restoreMenu.title") })
20419
20338
  ] }),
20420
- !success && !isBackupStatusLoading && !isDisconnecting && !hasServerBackup && /* @__PURE__ */ jsx84(
20421
- NoBackupFound,
20339
+ /* @__PURE__ */ jsx84(
20340
+ Switch,
20422
20341
  {
20423
- isLoading: isRestoringFromServer || isRestoringFromCloud || isRestoringFromFile || isDisconnecting,
20424
- restoreFromFile
20425
- }
20426
- ),
20427
- !success && !isBackupStatusLoading && !isDisconnecting && hasServerBackup && /* @__PURE__ */ jsxs76(Fragment27, { children: [
20428
- /* @__PURE__ */ jsxs76("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
20429
- /* @__PURE__ */ jsxs76("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
20430
- /* @__PURE__ */ jsx84(CloudDownload2, { className: "w-6 h-6" }),
20431
- /* @__PURE__ */ jsx84("span", { className: "font-bold text-xl leading-6", children: t("passport:restoreMenu.title") })
20432
- ] }),
20433
- /* @__PURE__ */ jsx84(
20434
- Switch,
20435
- {
20436
- name: "advanced-restore-flow-toggle",
20437
- labels: { checked: t("passport:common.standard"), unchecked: t("passport:common.advanced") },
20438
- checked: currentRestoreMethod !== "server",
20439
- onChange: () => {
20440
- const { setError, setRestorePassword, setRestoreFile, setMethod } = useRestoreStore.getState();
20441
- if (!!error) setError(null);
20442
- if (currentRestoreMethod === "server") {
20443
- setRestorePassword("");
20444
- setMethod(null);
20445
- } else {
20446
- setRestoreFile(null);
20447
- setMethod("server");
20448
- }
20449
- }
20342
+ name: "advanced-restore-flow-toggle",
20343
+ labels: { checked: t("passport:common.standard"), unchecked: t("passport:common.advanced") },
20344
+ checked: currentRestoreMethod !== "server",
20345
+ onChange: () => {
20346
+ const { setError, setRestorePassword, setRestoreFile, setMethod } = useRestoreStore.getState();
20347
+ if (!!error) setError(null);
20348
+ if (currentRestoreMethod === "server") {
20349
+ setRestorePassword("");
20350
+ setMethod(null);
20351
+ } else {
20352
+ setRestoreFile(null);
20353
+ setMethod("server");
20450
20354
  }
20451
- )
20452
- ] }),
20453
- /* @__PURE__ */ jsx84(MethodSelector, { mode: "restore", serverRecoveryStatus }),
20454
- !!currentRestoreMethod && /* @__PURE__ */ jsx84(
20455
- RestoreComponent,
20456
- {
20457
- isLoading: isRestoringFromFile || isRestoringFromServer || isRestoringFromCloud || isDisconnecting,
20458
- fileHandler: restoreFromFile,
20459
- serverHandler: restoreFromServer2,
20460
- cloudHandler: restoreFromCloud
20461
20355
  }
20462
- )
20463
- ] }),
20464
- !success && !isBackupStatusLoading && /* @__PURE__ */ jsxs76(
20465
- Button,
20466
- {
20467
- size: "large",
20468
- variant: "ghost",
20469
- onClick: () => {
20470
- const {
20471
- setError,
20472
- setShowPassword,
20473
- setUsePasskey,
20474
- setRestoreFile,
20475
- setRestorePassword,
20476
- setSuccess,
20477
- setMethod
20478
- } = useRestoreStore.getState();
20479
- setError(null);
20480
- setShowPassword(false);
20481
- setUsePasskey(false);
20482
- setRestoreFile(null);
20483
- setRestorePassword("");
20484
- setSuccess(null);
20485
- setMethod(null);
20486
- disconnect();
20487
- },
20488
- disabled: isDisconnecting || isRestoringFromFile || isRestoringFromServer,
20489
- className: "w-fit mx-auto",
20490
- children: [
20491
- isDisconnecting ? /* @__PURE__ */ jsx84(Loader14, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx84(UserCircle2, { className: "w-4 h-4" }),
20492
- /* @__PURE__ */ jsx84("span", { children: t("passport:restoreMenu.tryAnotherAccount") })
20493
- ]
20494
20356
  }
20495
- ),
20496
- error && /* @__PURE__ */ jsxs76(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
20497
- /* @__PURE__ */ jsx84(AlertCircle2, { className: "h-4 w-4 flex-shrink-0" }),
20498
- /* @__PURE__ */ jsx84("span", { className: "w-full flex-1 block", children: error })
20499
- ] }),
20500
- success && /* @__PURE__ */ jsxs76(Fragment27, { children: [
20501
- /* @__PURE__ */ jsxs76(Highlight, { type: "success", className: "flex gap-[var(--ui-kit-gap)]", children: [
20502
- /* @__PURE__ */ jsx84(CheckCircle2, { className: "h-4 w-4 flex-shrink-0" }),
20503
- /* @__PURE__ */ jsx84("span", { className: "w-full flex-1 block", children: success })
20504
- ] }),
20505
- /* @__PURE__ */ jsx84(Button, { variant: "default", size: "large", className: "w-full", onClick: () => onRestoreSuccess(), children: "Done" })
20506
- ] })
20507
- ] })
20508
- }
20509
- );
20357
+ )
20358
+ ] }),
20359
+ /* @__PURE__ */ jsx84(MethodSelector, { mode: "restore", serverRecoveryStatus }),
20360
+ !!currentRestoreMethod && /* @__PURE__ */ jsx84(
20361
+ RestoreComponent,
20362
+ {
20363
+ isLoading: isRestoringFromFile || isRestoringFromServer || isRestoringFromCloud || isDisconnecting,
20364
+ fileHandler: restoreFromFile,
20365
+ serverHandler: restoreFromServer2,
20366
+ cloudHandler: restoreFromCloud
20367
+ }
20368
+ )
20369
+ ] }),
20370
+ !success && !isBackupStatusLoading && /* @__PURE__ */ jsxs76(
20371
+ Button,
20372
+ {
20373
+ size: "large",
20374
+ variant: "ghost",
20375
+ onClick: () => {
20376
+ const {
20377
+ setError,
20378
+ setShowPassword,
20379
+ setUsePasskey,
20380
+ setRestoreFile,
20381
+ setRestorePassword,
20382
+ setSuccess,
20383
+ setMethod
20384
+ } = useRestoreStore.getState();
20385
+ setError(null);
20386
+ setShowPassword(false);
20387
+ setUsePasskey(false);
20388
+ setRestoreFile(null);
20389
+ setRestorePassword("");
20390
+ setSuccess(null);
20391
+ setMethod(null);
20392
+ disconnect();
20393
+ },
20394
+ disabled: isDisconnecting || isRestoringFromFile || isRestoringFromServer,
20395
+ className: "w-fit mx-auto",
20396
+ children: [
20397
+ isDisconnecting ? /* @__PURE__ */ jsx84(Loader14, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx84(UserCircle2, { className: "w-4 h-4" }),
20398
+ /* @__PURE__ */ jsx84("span", { children: t("passport:restoreMenu.tryAnotherAccount") })
20399
+ ]
20400
+ }
20401
+ ),
20402
+ error && /* @__PURE__ */ jsxs76(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
20403
+ /* @__PURE__ */ jsx84(AlertCircle2, { className: "h-4 w-4 flex-shrink-0" }),
20404
+ /* @__PURE__ */ jsx84("span", { className: "w-full flex-1 block", children: error })
20405
+ ] }),
20406
+ success && /* @__PURE__ */ jsxs76(Fragment27, { children: [
20407
+ /* @__PURE__ */ jsxs76(Highlight, { type: "success", className: "flex gap-[var(--ui-kit-gap)]", children: [
20408
+ /* @__PURE__ */ jsx84(CheckCircle2, { className: "h-4 w-4 flex-shrink-0" }),
20409
+ /* @__PURE__ */ jsx84("span", { className: "w-full flex-1 block", children: success })
20410
+ ] }),
20411
+ /* @__PURE__ */ jsx84(Button, { variant: "default", size: "large", className: "w-full", onClick: () => onRestoreSuccess(), children: "Done" })
20412
+ ] })
20413
+ ] });
20510
20414
  };
20511
20415
  }
20512
20416
  });
@@ -20521,7 +20425,6 @@ function KeyshareBackupMenu() {
20521
20425
  const hasServerVault = useSession((st) => st.hasServerVault);
20522
20426
  const { t } = useT();
20523
20427
  const setPage = useLayoutDataStore((st) => st.setPage);
20524
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
20525
20428
  const currentBackupMethod = useRestoreStore((st) => st.method);
20526
20429
  const usePasskey = useRestoreStore((st) => st.usePasskey);
20527
20430
  const error = useRestoreStore((st) => st.error);
@@ -20560,118 +20463,110 @@ function KeyshareBackupMenu() {
20560
20463
  createPasskey
20561
20464
  } = useCreateBackup();
20562
20465
  const BackupComponent = !!currentBackupMethod ? COMPONENTS[currentBackupMethod] : null;
20563
- return /* @__PURE__ */ jsx85(
20564
- "div",
20565
- {
20566
- ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-menu-onboarding" /* backupMenu */, inst),
20567
- style: { "--ui-kit-scrollbar-mah": `${maxScrollHeight}px` },
20568
- className: "list-scrollbar-y w-full",
20569
- children: /* @__PURE__ */ jsxs77(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
20570
- !!isRecoveryLoading && (hasServerVault || !currentBackupMethod) && /* @__PURE__ */ jsx85("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx85(Loader15, { className: "w-4 h-4 animate-spin" }) }),
20571
- (!isRecoveryLoading || !hasServerVault) && !hasRecoveryData2 && /* @__PURE__ */ jsxs77("div", { className: "flex items-center justify-center gap-2 px-5 py-[var(--ui-kit-pd)]", children: [
20572
- /* @__PURE__ */ jsx85(LockIcon, { className: "w-6 h-6" }),
20573
- /* @__PURE__ */ jsx85("span", { className: "font-bold text-xl leading-6", children: t("passport:backupMenu.title") })
20574
- ] }),
20575
- !isRecoveryLoading && !!hasRecoveryData2 && /* @__PURE__ */ jsxs77(
20576
- "div",
20577
- {
20578
- ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-advanced-onboarding" /* backupAdvanced */, inst),
20579
- className: "flex items-center justify-between gap-[var(--ui-kit-gap)]",
20580
- children: [
20581
- /* @__PURE__ */ jsxs77("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
20582
- /* @__PURE__ */ jsx85(
20583
- Button,
20584
- {
20585
- variant: "ghost",
20586
- size: "icon",
20587
- title: "Back",
20588
- onClick: () => {
20589
- const {
20590
- setSuccess,
20591
- setError,
20592
- setRestorePassword,
20593
- setRestoreFile,
20594
- setShowPassword,
20595
- setUsePasskey,
20596
- setMethod,
20597
- setSelectedCloudProvider
20598
- } = useRestoreStore.getState();
20599
- setRestorePassword("");
20600
- setRestoreFile(null);
20601
- setShowPassword(false);
20602
- setSelectedCloudProvider(null);
20603
- setUsePasskey(false);
20604
- setError(null);
20605
- setSuccess(null);
20606
- setMethod(null);
20607
- setPage("settings" /* SETTINGS */);
20608
- },
20609
- children: /* @__PURE__ */ jsx85(ArrowLeft13, { className: "h-4 w-4" })
20610
- }
20611
- ),
20612
- /* @__PURE__ */ jsx85("span", { className: "text-xl font-semibold leading-8", children: t("passport:backupMenu.title") })
20613
- ] }),
20614
- /* @__PURE__ */ jsx85(
20615
- Switch,
20616
- {
20617
- name: "advanced-restore-flow-toggle",
20618
- labels: { checked: t("passport:common.standard"), unchecked: t("passport:common.advanced") },
20619
- checked: currentBackupMethod !== "server",
20620
- onChange: () => {
20621
- const { setError, setRestorePassword, setRestoreFile, setMethod } = useRestoreStore.getState();
20622
- if (!!error) setError(null);
20623
- if (currentBackupMethod === "server") {
20624
- setRestorePassword("");
20625
- setMethod(null);
20626
- } else {
20627
- setRestoreFile(null);
20628
- setMethod("server");
20629
- }
20630
- }
20631
- }
20632
- )
20633
- ]
20634
- }
20635
- ),
20636
- !isRecoveryLoading && !!hasRecoveryData2 && !currentBackupMethod && /* @__PURE__ */ jsx85(MethodSelector, { mode: "backup", serverRecoveryStatus }),
20637
- (!isRecoveryLoading || !hasServerVault) && !!currentBackupMethod && /* @__PURE__ */ jsx85(Fragment28, { children: /* @__PURE__ */ jsx85(
20638
- BackupComponent,
20639
- {
20640
- mode: "backup",
20641
- isLoading: isPasswordBackupCreating || isCloudBackupCreating || isLocalBackupCreating || isPasskeyCreating,
20642
- fileHandler: createLocalBackup,
20643
- serverHandler: createPasswordBackup,
20644
- cloudHandler: createCloudBackup,
20645
- createPasskeyHandler: createPasskey
20646
- }
20647
- ) }),
20648
- !isRecoveryLoading && !currentBackupMethod && !hasRecoveryData2 && /* @__PURE__ */ jsxs77(Highlight, { type: "warning", className: "flex gap-[var(--ui-kit-gap)]", children: [
20649
- /* @__PURE__ */ jsx85(AlertCircle3, { className: "h-4 w-4 flex-shrink-0" }),
20650
- /* @__PURE__ */ jsx85("span", { className: "block flex-1 font-semibold", children: "No Backup Found" })
20651
- ] }),
20652
- error && /* @__PURE__ */ jsxs77(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
20653
- /* @__PURE__ */ jsx85(AlertCircle3, { className: "h-4 w-4 flex-shrink-0" }),
20654
- /* @__PURE__ */ jsx85("span", { className: "block w-full flex-1", children: error })
20655
- ] }),
20656
- success && /* @__PURE__ */ jsxs77(Highlight, { type: "success", className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
20657
- /* @__PURE__ */ jsxs77("div", { className: "w-full flex gap-[var(--ui-kit-gap)]", children: [
20658
- /* @__PURE__ */ jsx85(CheckCircle22, { className: "h-4 w-4 flex-shrink-0" }),
20659
- /* @__PURE__ */ jsx85("span", { className: "block w-full flex-1", children: success })
20466
+ return /* @__PURE__ */ jsxs77(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
20467
+ !!isRecoveryLoading && (hasServerVault || !currentBackupMethod) && /* @__PURE__ */ jsx85("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx85(Loader15, { className: "w-4 h-4 animate-spin" }) }),
20468
+ (!isRecoveryLoading || !hasServerVault) && !hasRecoveryData2 && /* @__PURE__ */ jsxs77("div", { className: "flex items-center justify-center gap-2 px-5 py-[var(--ui-kit-pd)]", children: [
20469
+ /* @__PURE__ */ jsx85(LockIcon, { className: "w-6 h-6" }),
20470
+ /* @__PURE__ */ jsx85("span", { className: "font-bold text-xl leading-6", children: t("passport:backupMenu.title") })
20471
+ ] }),
20472
+ !isRecoveryLoading && !!hasRecoveryData2 && /* @__PURE__ */ jsxs77(
20473
+ "div",
20474
+ {
20475
+ ref: (inst) => onboarder.registerElement("embarkai-keyshare-backup-advanced-onboarding" /* backupAdvanced */, inst),
20476
+ className: "flex items-center justify-between gap-[var(--ui-kit-gap)]",
20477
+ children: [
20478
+ /* @__PURE__ */ jsxs77("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
20479
+ /* @__PURE__ */ jsx85(
20480
+ Button,
20481
+ {
20482
+ variant: "ghost",
20483
+ size: "icon",
20484
+ title: "Back",
20485
+ onClick: () => {
20486
+ const {
20487
+ setSuccess,
20488
+ setError,
20489
+ setRestorePassword,
20490
+ setRestoreFile,
20491
+ setShowPassword,
20492
+ setUsePasskey,
20493
+ setMethod,
20494
+ setSelectedCloudProvider
20495
+ } = useRestoreStore.getState();
20496
+ setRestorePassword("");
20497
+ setRestoreFile(null);
20498
+ setShowPassword(false);
20499
+ setSelectedCloudProvider(null);
20500
+ setUsePasskey(false);
20501
+ setError(null);
20502
+ setSuccess(null);
20503
+ setMethod(null);
20504
+ setPage("settings" /* SETTINGS */);
20505
+ },
20506
+ children: /* @__PURE__ */ jsx85(ArrowLeft13, { className: "h-4 w-4" })
20507
+ }
20508
+ ),
20509
+ /* @__PURE__ */ jsx85("span", { className: "text-xl font-semibold leading-8", children: t("passport:backupMenu.title") })
20660
20510
  ] }),
20661
20511
  /* @__PURE__ */ jsx85(
20662
- Button,
20512
+ Switch,
20663
20513
  {
20664
- variant: "default",
20665
- size: "large",
20666
- className: "w-full",
20667
- onClick: () => useRestoreStore.getState().setSuccess(null),
20668
- children: t("passport:common.continue")
20514
+ name: "advanced-restore-flow-toggle",
20515
+ labels: { checked: t("passport:common.standard"), unchecked: t("passport:common.advanced") },
20516
+ checked: currentBackupMethod !== "server",
20517
+ onChange: () => {
20518
+ const { setError, setRestorePassword, setRestoreFile, setMethod } = useRestoreStore.getState();
20519
+ if (!!error) setError(null);
20520
+ if (currentBackupMethod === "server") {
20521
+ setRestorePassword("");
20522
+ setMethod(null);
20523
+ } else {
20524
+ setRestoreFile(null);
20525
+ setMethod("server");
20526
+ }
20527
+ }
20669
20528
  }
20670
20529
  )
20671
- ] })
20672
- ] })
20673
- }
20674
- );
20530
+ ]
20531
+ }
20532
+ ),
20533
+ !isRecoveryLoading && !!hasRecoveryData2 && !currentBackupMethod && /* @__PURE__ */ jsx85(MethodSelector, { mode: "backup", serverRecoveryStatus }),
20534
+ (!isRecoveryLoading || !hasServerVault) && !!currentBackupMethod && /* @__PURE__ */ jsx85(Fragment28, { children: /* @__PURE__ */ jsx85(
20535
+ BackupComponent,
20536
+ {
20537
+ mode: "backup",
20538
+ isLoading: isPasswordBackupCreating || isCloudBackupCreating || isLocalBackupCreating || isPasskeyCreating,
20539
+ fileHandler: createLocalBackup,
20540
+ serverHandler: createPasswordBackup,
20541
+ cloudHandler: createCloudBackup,
20542
+ createPasskeyHandler: createPasskey
20543
+ }
20544
+ ) }),
20545
+ !isRecoveryLoading && !currentBackupMethod && !hasRecoveryData2 && /* @__PURE__ */ jsxs77(Highlight, { type: "warning", className: "flex gap-[var(--ui-kit-gap)]", children: [
20546
+ /* @__PURE__ */ jsx85(AlertCircle3, { className: "h-4 w-4 flex-shrink-0" }),
20547
+ /* @__PURE__ */ jsx85("span", { className: "block flex-1 font-semibold", children: "No Backup Found" })
20548
+ ] }),
20549
+ error && /* @__PURE__ */ jsxs77(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
20550
+ /* @__PURE__ */ jsx85(AlertCircle3, { className: "h-4 w-4 flex-shrink-0" }),
20551
+ /* @__PURE__ */ jsx85("span", { className: "block w-full flex-1", children: error })
20552
+ ] }),
20553
+ success && /* @__PURE__ */ jsxs77(Highlight, { type: "success", className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
20554
+ /* @__PURE__ */ jsxs77("div", { className: "w-full flex gap-[var(--ui-kit-gap)]", children: [
20555
+ /* @__PURE__ */ jsx85(CheckCircle22, { className: "h-4 w-4 flex-shrink-0" }),
20556
+ /* @__PURE__ */ jsx85("span", { className: "block w-full flex-1", children: success })
20557
+ ] }),
20558
+ /* @__PURE__ */ jsx85(
20559
+ Button,
20560
+ {
20561
+ variant: "default",
20562
+ size: "large",
20563
+ className: "w-full",
20564
+ onClick: () => useRestoreStore.getState().setSuccess(null),
20565
+ children: t("passport:common.continue")
20566
+ }
20567
+ )
20568
+ ] })
20569
+ ] });
20675
20570
  }
20676
20571
  var COMPONENTS;
20677
20572
  var init_KeyshareBackupMenu = __esm({
@@ -20679,7 +20574,6 @@ var init_KeyshareBackupMenu = __esm({
20679
20574
  init_SessionContext();
20680
20575
  init_i18n();
20681
20576
  init_useLayoutDataStore();
20682
- init_useLayoutStore();
20683
20577
  init_vaultClient();
20684
20578
  init_Expandable2();
20685
20579
  init_Onboarding();
@@ -20902,34 +20796,20 @@ import { ArrowLeft as ArrowLeft14 } from "lucide-react";
20902
20796
  import { jsx as jsx87, jsxs as jsxs79 } from "react/jsx-runtime";
20903
20797
  function KycMenu() {
20904
20798
  const setPage = useLayoutDataStore((st) => st.setPage);
20905
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
20906
- return /* @__PURE__ */ jsxs79(
20907
- "div",
20908
- {
20909
- style: {
20910
- "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
20911
- "--ui-kit-list-scrollbar-pd-r": "4px",
20912
- "paddingTop": "var(--ui-kit-pd)",
20913
- "paddingBottom": "var(--ui-kit-pd)",
20914
- "paddingLeft": "4px"
20915
- },
20916
- className: "list-scrollbar-y w-full flex flex-col gap-[var(--ui-kit-gap)]",
20917
- children: [
20918
- /* @__PURE__ */ jsxs79("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
20919
- /* @__PURE__ */ jsx87(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx87(ArrowLeft14, { className: "h-4 w-4" }) }),
20920
- /* @__PURE__ */ jsx87("span", { className: "text-xl font-semibold", children: "KYC" })
20921
- ] }),
20922
- /* @__PURE__ */ jsx87(KycContent, {})
20923
- ]
20924
- }
20925
- );
20799
+ return /* @__PURE__ */ jsxs79(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
20800
+ /* @__PURE__ */ jsxs79("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
20801
+ /* @__PURE__ */ jsx87(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx87(ArrowLeft14, { className: "h-4 w-4" }) }),
20802
+ /* @__PURE__ */ jsx87("span", { className: "text-xl font-semibold", children: "KYC" })
20803
+ ] }),
20804
+ /* @__PURE__ */ jsx87(KycContent, {})
20805
+ ] });
20926
20806
  }
20927
20807
  var KycContent;
20928
20808
  var init_KycMenu = __esm({
20929
20809
  "src/internal/components/KYC/KycMenu.tsx"() {
20930
20810
  init_ProviderContext();
20931
20811
  init_useLayoutDataStore();
20932
- init_useLayoutStore();
20812
+ init_Expandable2();
20933
20813
  init_button();
20934
20814
  init_SumsubIframe();
20935
20815
  KycContent = () => {
@@ -21008,51 +20888,47 @@ import { jsx as jsx89, jsxs as jsxs81 } from "react/jsx-runtime";
21008
20888
  function LanguagesMenu() {
21009
20889
  const config = useProviderConfig().config;
21010
20890
  const { t, i18n } = useT();
21011
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
21012
20891
  const langOpenedFromMenu = useLayoutDataStore((st) => st.langOpenedFromMenu);
21013
- const setPage = useLayoutDataStore((st) => st.setPage);
21014
20892
  const languageList = getAvailableLanguages(config.current.translations);
21015
- return /* @__PURE__ */ jsx89(
21016
- "div",
21017
- {
21018
- style: {
21019
- "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
21020
- "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
20893
+ return /* @__PURE__ */ jsxs81(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
20894
+ /* @__PURE__ */ jsxs81("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
20895
+ /* @__PURE__ */ jsx89(
20896
+ Button,
20897
+ {
20898
+ variant: "ghost",
20899
+ size: "icon",
20900
+ title: "Back",
20901
+ onClick: () => useLayoutDataStore.getState().setPage(langOpenedFromMenu),
20902
+ children: /* @__PURE__ */ jsx89(ArrowLeft15, { className: "h-4 w-4" })
20903
+ }
20904
+ ),
20905
+ /* @__PURE__ */ jsx89("span", { className: "text-xl font-semibold", children: t("passport:common.language") })
20906
+ ] }),
20907
+ /* @__PURE__ */ jsx89("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)] py-[var(--ui-kit-pd)]", children: languageList.map((langKey) => /* @__PURE__ */ jsxs81(
20908
+ Button,
20909
+ {
20910
+ size: "large",
20911
+ variant: i18n.resolvedLanguage === langKey ? "default" : "ghost",
20912
+ className: "justify-between",
20913
+ onClick: () => {
20914
+ i18n.changeLanguage(langKey);
20915
+ localStorage.setItem(LOCAL_STORAGE_I18N_KEY, langKey);
20916
+ useLayoutDataStore.getState().setPage(langOpenedFromMenu);
20917
+ },
20918
+ children: [
20919
+ /* @__PURE__ */ jsx89("span", { children: LANGUAGES[langKey]?.name }),
20920
+ /* @__PURE__ */ jsx89("span", { className: "text-2xl leading-6", children: LANGUAGES[langKey]?.flags })
20921
+ ]
21021
20922
  },
21022
- className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
21023
- children: /* @__PURE__ */ jsxs81(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
21024
- /* @__PURE__ */ jsxs81("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
21025
- /* @__PURE__ */ jsx89(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage(langOpenedFromMenu), children: /* @__PURE__ */ jsx89(ArrowLeft15, { className: "h-4 w-4" }) }),
21026
- /* @__PURE__ */ jsx89("span", { className: "text-xl font-semibold", children: t("passport:common.language") })
21027
- ] }),
21028
- /* @__PURE__ */ jsx89("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)] py-[var(--ui-kit-pd)]", children: languageList.map((langKey) => /* @__PURE__ */ jsxs81(
21029
- Button,
21030
- {
21031
- size: "large",
21032
- variant: i18n.resolvedLanguage === langKey ? "default" : "ghost",
21033
- className: "justify-between",
21034
- onClick: () => {
21035
- i18n.changeLanguage(langKey);
21036
- localStorage.setItem(LOCAL_STORAGE_I18N_KEY, langKey);
21037
- setPage(langOpenedFromMenu);
21038
- },
21039
- children: [
21040
- /* @__PURE__ */ jsx89("span", { children: LANGUAGES[langKey]?.name }),
21041
- /* @__PURE__ */ jsx89("span", { className: "text-2xl leading-6", children: LANGUAGES[langKey]?.flags })
21042
- ]
21043
- },
21044
- langKey
21045
- )) })
21046
- ] })
21047
- }
21048
- );
20923
+ langKey
20924
+ )) })
20925
+ ] });
21049
20926
  }
21050
20927
  var init_LanguagesMenu = __esm({
21051
20928
  "src/internal/components/LanguagesMenu/LanguagesMenu.tsx"() {
21052
20929
  init_ProviderContext();
21053
20930
  init_i18n();
21054
20931
  init_useLayoutDataStore();
21055
- init_useLayoutStore();
21056
20932
  init_Expandable2();
21057
20933
  init_button();
21058
20934
  }
@@ -21101,12 +20977,16 @@ import { jsx as jsx90, jsxs as jsxs82 } from "react/jsx-runtime";
21101
20977
  function MainMenu() {
21102
20978
  const address = useSession((st) => st.address);
21103
20979
  const { t } = useT();
21104
- const setPage = useLayoutDataStore((st) => st.setPage);
21105
- const setTransitionPageHeight = useLayoutDataStore((st) => st.setTransitionPageHeight);
21106
- useEffect34(() => setTransitionPageHeight(DEFAULT_MAIN_MENU_HEIGHT), []);
20980
+ useEffect34(
20981
+ () => (
20982
+ // actual height measurement of the main menu on mount. prevents layout animations jumps
20983
+ useLayoutDataStore.getState().setTransitionPageHeight(DEFAULT_MAIN_MENU_HEIGHT)
20984
+ ),
20985
+ []
20986
+ );
21107
20987
  useOnboardingTourAvailable(true);
21108
20988
  useProvidersList();
21109
- return /* @__PURE__ */ jsx90("div", { className: "w-full p-[var(--ui-kit-pd)] flex flex-col gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx90("div", { className: "w-full grid grid-cols-4 gap-0 md:gap-[var(--ui-kit-gap)] py-[10px] md:py-1", children: MAIN_MENU_BUTTONS.map(({ id, onboardingId, label, icon: Icon2 }) => /* @__PURE__ */ jsxs82(
20989
+ return /* @__PURE__ */ jsx90(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx90("div", { className: "w-full grid grid-cols-4 gap-0 md:gap-[var(--ui-kit-gap)] py-[10px] md:py-1", children: MAIN_MENU_BUTTONS.map(({ id, onboardingId, label, icon: Icon2 }) => /* @__PURE__ */ jsxs82(
21110
20990
  Button,
21111
20991
  {
21112
20992
  ref: (inst) => onboarder.registerElement(onboardingId, inst),
@@ -21114,7 +20994,7 @@ function MainMenu() {
21114
20994
  variant: "ghost",
21115
20995
  disabled: !address,
21116
20996
  className: "flex-col w-full h-fit p-0",
21117
- onClick: () => setPage(id),
20997
+ onClick: () => useLayoutDataStore.getState().setPage(id),
21118
20998
  children: [
21119
20999
  /* @__PURE__ */ jsx90(Icon2, { className: "w-5 h-5 md:w-8 md:h-8" }),
21120
21000
  /* @__PURE__ */ jsx90("span", { className: "text-xs font-semibold", children: t(label) })
@@ -21130,6 +21010,7 @@ var init_MainMenu = __esm({
21130
21010
  init_useT();
21131
21011
  init_constants();
21132
21012
  init_useLayoutDataStore();
21013
+ init_Expandable2();
21133
21014
  init_useProvidersList();
21134
21015
  init_Onboarding();
21135
21016
  init_button();
@@ -21499,20 +21380,6 @@ var init_NicknameEditForm = __esm({
21499
21380
  }
21500
21381
  });
21501
21382
 
21502
- // src/internal/components/NicknameMenu/onboarding.setup.ts
21503
- var NICKNAME_MENU_TOUR;
21504
- var init_onboarding_setup6 = __esm({
21505
- "src/internal/components/NicknameMenu/onboarding.setup.ts"() {
21506
- NICKNAME_MENU_TOUR = [
21507
- {
21508
- elId: "embarkai-nickname-menu-onboarding" /* nicknameMenu */,
21509
- title: "passport:nicknameMenu.onboarding.nicknameMenu.title",
21510
- description: "passport:nicknameMenu.onboarding.nicknameMenu.description"
21511
- }
21512
- ];
21513
- }
21514
- });
21515
-
21516
21383
  // src/internal/components/NicknameMenu/NicknameMenu.tsx
21517
21384
  import { useQuery as useQuery14 } from "@tanstack/react-query";
21518
21385
  import dayjs4 from "dayjs";
@@ -21539,79 +21406,71 @@ function NicknameMenu() {
21539
21406
  });
21540
21407
  const resolvedError = nicknameError || nicknameInfoError?.message || null;
21541
21408
  useEffect37(() => () => useNicknameStore.getState().reset(), []);
21542
- return /* @__PURE__ */ jsx92(
21543
- "div",
21544
- {
21545
- ref: (inst) => onboarder.registerElement("embarkai-nickname-menu-onboarding" /* nicknameMenu */, inst),
21546
- style: { "--ui-kit-scrollbar-mah": `${maxScrollHeight}px` },
21547
- className: "list-scrollbar-y w-full",
21548
- children: /* @__PURE__ */ jsxs84(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: [
21549
- /* @__PURE__ */ jsxs84("div", { className: "flex items-center gap-[var(--ui-kit-gap)] ", children: [
21550
- /* @__PURE__ */ jsx92(
21551
- Button,
21552
- {
21553
- variant: "ghost",
21554
- size: "icon",
21555
- title: t("passport:common.back"),
21556
- onClick: () => useLayoutDataStore.getState().setPage("settings" /* SETTINGS */),
21557
- children: /* @__PURE__ */ jsx92(ArrowLeft16, { className: "h-4 w-4 flex-none" })
21558
- }
21559
- ),
21560
- /* @__PURE__ */ jsxs84("div", { className: "flex gap-[var(--ui-kit-gap)] items-center w-fit", children: [
21561
- /* @__PURE__ */ jsx92("span", { className: "text-xl font-semibold", children: t("passport:nicknameMenu.title") }),
21562
- isNicknameInfoLoading && /* @__PURE__ */ jsx92(Loader16, { className: "w-4 h-4 animate-spin" })
21563
- ] })
21564
- ] }),
21565
- /* @__PURE__ */ jsx92(NicknameEditForm, { nicknameInfo, isInitialUser }),
21566
- !nicknameInfo?.canChange && nicknameInfo?.cooldownEndsAt && /* @__PURE__ */ jsx92(Highlight, { type: "info", children: t("passport:nicknameMenu.cooldownMessage", {
21567
- canChangeAt: dayjs4(nicknameInfo.cooldownEndsAt).format("MMM D, YYYY"),
21568
- days: String(getDaysRemaining(nicknameInfo.cooldownEndsAt))
21569
- }) }),
21570
- !nicknameSuccess && !!nicknameInfo && /* @__PURE__ */ jsxs84("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between text-[10px]", children: [
21571
- /* @__PURE__ */ jsxs84("span", { children: [
21572
- /* @__PURE__ */ jsx92("span", { className: "text-[var(--ui-kit-fg-muted)]", children: nicknameInfo.changedAt ? t("passport:nicknameMenu.lastChanged") : t("passport:common.created") }),
21573
- /* @__PURE__ */ jsx92("span", { children: ": " }),
21574
- /* @__PURE__ */ jsx92("strong", { className: "text-[var(--ui-kit-fg)]", children: dayjs4(nicknameInfo.changedAt || nicknameInfo.createdAt).format("MMM D, YYYY") })
21575
- ] }),
21576
- /* @__PURE__ */ jsxs84("span", { children: [
21577
- /* @__PURE__ */ jsx92("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:nicknameMenu.timesChanged") }),
21578
- /* @__PURE__ */ jsx92("span", { children: ": " }),
21579
- /* @__PURE__ */ jsx92("strong", { className: "text-[var(--ui-kit-fg)]", children: nicknameInfo.changeCount })
21580
- ] })
21581
- ] }),
21582
- !!nicknameSuccess && /* @__PURE__ */ jsx92(Highlight, { type: "success", children: nicknameSuccess }),
21583
- isInitialUser && /* @__PURE__ */ jsxs84(Highlight, { type: "success", children: [
21584
- /* @__PURE__ */ jsx92("p", {
21585
- //@ts-expect-error i18n typings
21586
- children: t("passport:nicknameMenu.initialUser.welcome", {
21587
- nickname: nicknameInfo?.handle || "N/A"
21588
- })
21589
- }),
21590
- /* @__PURE__ */ jsx92("p", { children: t("passport:nicknameMenu.initialUser.message") }),
21591
- /* @__PURE__ */ jsxs84(
21592
- Button,
21593
- {
21594
- variant: "default",
21595
- size: "large",
21596
- title: t("passport:common.continue"),
21597
- onClick: () => {
21598
- const { openPostAuthNavigation, setPage } = useLayoutDataStore.getState();
21599
- if (!openPostAuthNavigation()) setPage(null);
21600
- },
21601
- className: "w-full",
21602
- children: [
21603
- t("passport:common.continue"),
21604
- " (",
21605
- nicknameInfo?.handle,
21606
- ")"
21607
- ]
21608
- }
21609
- )
21610
- ] }),
21611
- !!resolvedError?.length && /* @__PURE__ */ jsx92(Highlight, { type: "error", children: resolvedError })
21409
+ return /* @__PURE__ */ jsxs84(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
21410
+ /* @__PURE__ */ jsxs84("div", { className: "flex items-center gap-[var(--ui-kit-gap)] ", children: [
21411
+ /* @__PURE__ */ jsx92(
21412
+ Button,
21413
+ {
21414
+ variant: "ghost",
21415
+ size: "icon",
21416
+ title: t("passport:common.back"),
21417
+ onClick: () => useLayoutDataStore.getState().setPage("settings" /* SETTINGS */),
21418
+ children: /* @__PURE__ */ jsx92(ArrowLeft16, { className: "h-4 w-4 flex-none" })
21419
+ }
21420
+ ),
21421
+ /* @__PURE__ */ jsxs84("div", { className: "flex gap-[var(--ui-kit-gap)] items-center w-fit", children: [
21422
+ /* @__PURE__ */ jsx92("span", { className: "text-xl font-semibold", children: t("passport:nicknameMenu.title") }),
21423
+ isNicknameInfoLoading && /* @__PURE__ */ jsx92(Loader16, { className: "w-4 h-4 animate-spin" })
21612
21424
  ] })
21613
- }
21614
- );
21425
+ ] }),
21426
+ /* @__PURE__ */ jsx92(NicknameEditForm, { nicknameInfo, isInitialUser }),
21427
+ !nicknameInfo?.canChange && nicknameInfo?.cooldownEndsAt && /* @__PURE__ */ jsx92(Highlight, { type: "info", children: t("passport:nicknameMenu.cooldownMessage", {
21428
+ canChangeAt: dayjs4(nicknameInfo.cooldownEndsAt).format("MMM D, YYYY"),
21429
+ days: String(getDaysRemaining(nicknameInfo.cooldownEndsAt))
21430
+ }) }),
21431
+ !nicknameSuccess && !!nicknameInfo && /* @__PURE__ */ jsxs84("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between text-[10px]", children: [
21432
+ /* @__PURE__ */ jsxs84("span", { children: [
21433
+ /* @__PURE__ */ jsx92("span", { className: "text-[var(--ui-kit-fg-muted)]", children: nicknameInfo.changedAt ? t("passport:nicknameMenu.lastChanged") : t("passport:common.created") }),
21434
+ /* @__PURE__ */ jsx92("span", { children: ": " }),
21435
+ /* @__PURE__ */ jsx92("strong", { className: "text-[var(--ui-kit-fg)]", children: dayjs4(nicknameInfo.changedAt || nicknameInfo.createdAt).format("MMM D, YYYY") })
21436
+ ] }),
21437
+ /* @__PURE__ */ jsxs84("span", { children: [
21438
+ /* @__PURE__ */ jsx92("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:nicknameMenu.timesChanged") }),
21439
+ /* @__PURE__ */ jsx92("span", { children: ": " }),
21440
+ /* @__PURE__ */ jsx92("strong", { className: "text-[var(--ui-kit-fg)]", children: nicknameInfo.changeCount })
21441
+ ] })
21442
+ ] }),
21443
+ !!nicknameSuccess && /* @__PURE__ */ jsx92(Highlight, { type: "success", children: nicknameSuccess }),
21444
+ isInitialUser && /* @__PURE__ */ jsxs84(Highlight, { type: "success", children: [
21445
+ /* @__PURE__ */ jsx92("p", {
21446
+ //@ts-expect-error i18n typings
21447
+ children: t("passport:nicknameMenu.initialUser.welcome", {
21448
+ nickname: nicknameInfo?.handle || "N/A"
21449
+ })
21450
+ }),
21451
+ /* @__PURE__ */ jsx92("p", { children: t("passport:nicknameMenu.initialUser.message") }),
21452
+ /* @__PURE__ */ jsxs84(
21453
+ Button,
21454
+ {
21455
+ variant: "default",
21456
+ size: "large",
21457
+ title: t("passport:common.continue"),
21458
+ onClick: () => {
21459
+ const { openPostAuthNavigation, setPage } = useLayoutDataStore.getState();
21460
+ if (!openPostAuthNavigation()) setPage(null);
21461
+ },
21462
+ className: "w-full",
21463
+ children: [
21464
+ t("passport:common.continue"),
21465
+ " (",
21466
+ nicknameInfo?.handle,
21467
+ ")"
21468
+ ]
21469
+ }
21470
+ )
21471
+ ] }),
21472
+ !!resolvedError?.length && /* @__PURE__ */ jsx92(Highlight, { type: "error", children: resolvedError })
21473
+ ] });
21615
21474
  }
21616
21475
  var init_NicknameMenu = __esm({
21617
21476
  "src/internal/components/NicknameMenu/NicknameMenu.tsx"() {
@@ -21632,6 +21491,21 @@ var init_NicknameMenu = __esm({
21632
21491
  }
21633
21492
  });
21634
21493
 
21494
+ // src/internal/components/NicknameMenu/onboarding.setup.ts
21495
+ var NICKNAME_MENU_TOUR;
21496
+ var init_onboarding_setup6 = __esm({
21497
+ "src/internal/components/NicknameMenu/onboarding.setup.ts"() {
21498
+ init_constants();
21499
+ NICKNAME_MENU_TOUR = [
21500
+ {
21501
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"nickname-settings" /* NICKNAME_SETTINGS */}`,
21502
+ title: "passport:nicknameMenu.onboarding.nicknameMenu.title",
21503
+ description: "passport:nicknameMenu.onboarding.nicknameMenu.description"
21504
+ }
21505
+ ];
21506
+ }
21507
+ });
21508
+
21635
21509
  // src/internal/components/NicknameMenu/index.ts
21636
21510
  var init_NicknameMenu2 = __esm({
21637
21511
  "src/internal/components/NicknameMenu/index.ts"() {
@@ -22537,7 +22411,6 @@ function PortfolioMenu() {
22537
22411
  const { t } = useT();
22538
22412
  const qc = useQueryClient21();
22539
22413
  const address = useSession((st) => st.address);
22540
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
22541
22414
  const {
22542
22415
  assets: blockscoutAssets,
22543
22416
  refreshBalances: refreshBlockscoutBalances,
@@ -22554,57 +22427,47 @@ function PortfolioMenu() {
22554
22427
  Promise.all(shownProjectAssets.map((asset) => qc.invalidateQueries({ queryKey: asset.balanceQueryKey })));
22555
22428
  refreshBlockscoutBalances();
22556
22429
  }, [qc, shownProjectAssets, refreshBlockscoutBalances]);
22557
- return /* @__PURE__ */ jsx95(
22558
- "div",
22559
- {
22560
- style: {
22561
- "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
22562
- "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
22430
+ return /* @__PURE__ */ jsxs87(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
22431
+ /* @__PURE__ */ jsxs87("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
22432
+ /* @__PURE__ */ jsx95(
22433
+ Button,
22434
+ {
22435
+ variant: "ghost",
22436
+ size: "icon",
22437
+ title: "Back",
22438
+ onClick: () => useLayoutDataStore.getState().setPage("main-menu" /* MAIN_MENU */),
22439
+ children: /* @__PURE__ */ jsx95(ArrowLeft17, { className: "h-4 w-4" })
22440
+ }
22441
+ ),
22442
+ /* @__PURE__ */ jsx95("span", { className: "text-xl font-semibold", children: t("passport:portfolioMenu.title") }),
22443
+ /* @__PURE__ */ jsx95(
22444
+ Button,
22445
+ {
22446
+ title: "Refresh balances",
22447
+ variant: "ghost",
22448
+ size: "icon",
22449
+ onClick: refreshAllAssetsBalances,
22450
+ disabled: isBlockscoutLoading || isBlockscoutFetching,
22451
+ children: isBlockscoutLoading || isBlockscoutFetching ? /* @__PURE__ */ jsx95(Loader17, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx95(RefreshCw2, { className: "h-4 w-4" })
22452
+ }
22453
+ )
22454
+ ] }),
22455
+ isBlockscoutLoading && /* @__PURE__ */ jsx95("div", { className: "w-full flex items-center justify-center gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx95(Loader17, { className: "w-4 h-4 animate-spin" }) }),
22456
+ !isBlockscoutLoading && blockscoutAssets?.length === 0 && /* @__PURE__ */ jsxs87(Highlight, { type: "info", className: "flex flex-col items-center justify-center gap-[var(--ui-kit-gap)]", children: [
22457
+ /* @__PURE__ */ jsx95(Gem, { className: "w-8 h-8" }),
22458
+ /* @__PURE__ */ jsx95("span", { className: "block", children: t("passport:portfolioMenu.noAssets") })
22459
+ ] }),
22460
+ !isBlockscoutLoading && shownProjectAssets?.map((asset, index) => /* @__PURE__ */ jsx95(PortfolioItem, { isProjectAsset: true, address, asset }, `project-${asset.symbol}-${index}`)),
22461
+ !isBlockscoutLoading && blockscoutAssets?.length > 0 && blockscoutAssets.map((asset, index) => /* @__PURE__ */ jsx95(
22462
+ PortfolioItem,
22463
+ {
22464
+ address,
22465
+ asset
22563
22466
  },
22564
- className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
22565
- children: /* @__PURE__ */ jsxs87(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
22566
- /* @__PURE__ */ jsxs87("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
22567
- /* @__PURE__ */ jsx95(
22568
- Button,
22569
- {
22570
- variant: "ghost",
22571
- size: "icon",
22572
- title: "Back",
22573
- onClick: () => useLayoutDataStore.getState().setPage("main-menu" /* MAIN_MENU */),
22574
- children: /* @__PURE__ */ jsx95(ArrowLeft17, { className: "h-4 w-4" })
22575
- }
22576
- ),
22577
- /* @__PURE__ */ jsx95("span", { className: "text-xl font-semibold", children: t("passport:portfolioMenu.title") }),
22578
- /* @__PURE__ */ jsx95(
22579
- Button,
22580
- {
22581
- title: "Refresh balances",
22582
- variant: "ghost",
22583
- size: "icon",
22584
- onClick: refreshAllAssetsBalances,
22585
- disabled: isBlockscoutLoading || isBlockscoutFetching,
22586
- children: isBlockscoutLoading || isBlockscoutFetching ? /* @__PURE__ */ jsx95(Loader17, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx95(RefreshCw2, { className: "h-4 w-4" })
22587
- }
22588
- )
22589
- ] }),
22590
- isBlockscoutLoading && /* @__PURE__ */ jsx95("div", { className: "w-full flex items-center justify-center gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx95(Loader17, { className: "w-4 h-4 animate-spin" }) }),
22591
- !isBlockscoutLoading && blockscoutAssets?.length === 0 && /* @__PURE__ */ jsxs87(Highlight, { type: "info", className: "flex flex-col items-center justify-center gap-[var(--ui-kit-gap)]", children: [
22592
- /* @__PURE__ */ jsx95(Gem, { className: "w-8 h-8" }),
22593
- /* @__PURE__ */ jsx95("span", { className: "block", children: t("passport:portfolioMenu.noAssets") })
22594
- ] }),
22595
- !isBlockscoutLoading && shownProjectAssets?.map((asset, index) => /* @__PURE__ */ jsx95(PortfolioItem, { isProjectAsset: true, address, asset }, `project-${asset.symbol}-${index}`)),
22596
- !isBlockscoutLoading && blockscoutAssets?.length > 0 && blockscoutAssets.map((asset, index) => /* @__PURE__ */ jsx95(
22597
- PortfolioItem,
22598
- {
22599
- address,
22600
- asset
22601
- },
22602
- `${asset.type}-${asset.address || "native"}-${asset.tokenId || index}`
22603
- )),
22604
- blockscoutError && /* @__PURE__ */ jsx95(Highlight, { type: "error", children: blockscoutError?.message })
22605
- ] })
22606
- }
22607
- );
22467
+ `${asset.type}-${asset.address || "native"}-${asset.tokenId || index}`
22468
+ )),
22469
+ blockscoutError && /* @__PURE__ */ jsx95(Highlight, { type: "error", children: blockscoutError?.message })
22470
+ ] });
22608
22471
  }
22609
22472
  var init_PortfolioMenu = __esm({
22610
22473
  "src/internal/components/PortfolioMenu/PortfolioMenu.tsx"() {
@@ -22613,7 +22476,6 @@ var init_PortfolioMenu = __esm({
22613
22476
  init_i18n();
22614
22477
  init_useBlockscoutAssets2();
22615
22478
  init_useLayoutDataStore();
22616
- init_useLayoutStore();
22617
22479
  init_Expandable2();
22618
22480
  init_button();
22619
22481
  init_highlight();
@@ -22708,21 +22570,6 @@ var init_nickname_fingerprint = __esm({
22708
22570
  }
22709
22571
  });
22710
22572
 
22711
- // src/internal/components/ReceiveMenu/onboarding.setup.ts
22712
- var RECEIVE_MENU_ONBOARDING_ID, RECEIVE_MENU_TOUR;
22713
- var init_onboarding_setup7 = __esm({
22714
- "src/internal/components/ReceiveMenu/onboarding.setup.ts"() {
22715
- RECEIVE_MENU_ONBOARDING_ID = "embarkai-receive-menu-onboarding";
22716
- RECEIVE_MENU_TOUR = [
22717
- {
22718
- elId: RECEIVE_MENU_ONBOARDING_ID,
22719
- title: "passport:receiveMenu.onboarding.receiveMenu.title",
22720
- description: "passport:receiveMenu.onboarding.receiveMenu.description"
22721
- }
22722
- ];
22723
- }
22724
- });
22725
-
22726
22573
  // src/internal/components/ReceiveMenu/ReceiveMenu.tsx
22727
22574
  import { useQuery as useQuery19 } from "@tanstack/react-query";
22728
22575
  import { ArrowLeft as ArrowLeft18, AtSignIcon as AtSignIcon2, CheckCircle2 as CheckCircle23, Copy as Copy2, FingerprintIcon, LoaderIcon as LoaderIcon12, Wallet2Icon as Wallet2Icon3 } from "lucide-react";
@@ -22740,7 +22587,6 @@ function ReceiveMenu() {
22740
22587
  queryKey: [QUERY_KEYS.nicknameInfo, address],
22741
22588
  queryFn: async () => await getNicknameInfo()
22742
22589
  });
22743
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
22744
22590
  const [qrCodeUrl, setQrCodeUrl] = useState23("");
22745
22591
  const [isAddressCopied, setAddressCopied] = useState23(false);
22746
22592
  const [isNicknameCopied, setNicknameCopied] = useState23(false);
@@ -22762,107 +22608,96 @@ function ReceiveMenu() {
22762
22608
  color: { dark: "#000000", light: "#ffffff" }
22763
22609
  }).then((url) => setQrCodeUrl(url)).catch((err) => console.error("Failed to generate QR code:", err));
22764
22610
  }, [address]);
22765
- return /* @__PURE__ */ jsxs88(
22766
- "div",
22767
- {
22768
- ref: (inst) => onboarder.registerElement(RECEIVE_MENU_ONBOARDING_ID, inst),
22769
- style: {
22770
- "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
22771
- "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
22772
- },
22773
- className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)] flex flex-col gap-[var(--ui-kit-gap)]",
22774
- children: [
22775
- /* @__PURE__ */ jsxs88("div", { className: "w-full flex items-center gap-[var(--ui-kit-gap)]", children: [
22776
- /* @__PURE__ */ jsx96(
22777
- Button,
22778
- {
22779
- variant: "ghost",
22780
- size: "icon",
22781
- title: "Back",
22782
- onClick: () => useLayoutDataStore.getState().setPage("main-menu" /* MAIN_MENU */),
22783
- children: /* @__PURE__ */ jsx96(ArrowLeft18, { className: "h-4 w-4" })
22784
- }
22785
- ),
22786
- /* @__PURE__ */ jsx96("span", { className: "text-xl font-semibold", children: t("passport:receiveMenu.title") })
22787
- ] }),
22788
- /* @__PURE__ */ jsx96("span", { className: "text-xs text-[var(--ui-kit-fg-muted)]", children: t("passport:receiveMenu.scanQR") }),
22789
- /* @__PURE__ */ jsxs88(Highlight, { className: "text-center", type: "warning", children: [
22790
- /* @__PURE__ */ jsx96("strong", { className: "block w-full", children: `${t("passport:common.network")}: ${chainConfig.name}` }),
22791
- /* @__PURE__ */ jsx96("span", { className: "block w-full", children: t("passport:receiveMenu.warning") })
22792
- ] }),
22793
- /* @__PURE__ */ jsx96("div", { className: "flex items-center justify-center p-[var(--ui-kit-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl && /* @__PURE__ */ jsx96("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) }),
22794
- /* @__PURE__ */ jsx96("span", { className: "block text-xs leading-4 text-[var(--ui-kit-fg-muted)]", children: t("passport:receiveMenu.share.address") }),
22795
- /* @__PURE__ */ jsxs88(
22796
- Button,
22797
- {
22798
- title: "Copy address",
22799
- variant: "secondary",
22800
- size: "medium",
22801
- className: "w-full",
22802
- onClick: () => {
22803
- if (!address) return;
22804
- navigator.clipboard.writeText(address);
22805
- setAddressCopied(true);
22806
- setTimeout(() => setAddressCopied(false), 2e3);
22807
- },
22808
- children: [
22809
- /* @__PURE__ */ jsx96(Wallet2Icon3, { className: "h-4 w-4 flex-none" }),
22810
- /* @__PURE__ */ jsxs88("span", { className: cn2("text-[10px] flex-1 block", { "text-[var(--ui-kit-bg-success)]": isAddressCopied }), children: [
22811
- address.slice(0, 10),
22812
- "...",
22813
- address.slice(-6)
22814
- ] }),
22815
- isAddressCopied ? /* @__PURE__ */ jsx96(CheckCircle23, { className: "h-4 w-4 text-[var(--ui-kit-bg-success)] flex-none" }) : /* @__PURE__ */ jsx96(Copy2, { className: "h-4 w-4 flex-none" })
22816
- ]
22817
- }
22818
- ),
22819
- /* @__PURE__ */ jsx96("span", { className: "block text-xs leading-4 text-[var(--ui-kit-fg-muted)]", children: t("passport:receiveMenu.share.nickname") }),
22820
- /* @__PURE__ */ jsx96(
22821
- Button,
22822
- {
22823
- title: "Copy nickname",
22824
- variant: "secondary",
22825
- size: "medium",
22826
- className: "w-full",
22827
- onClick: () => {
22828
- const nickname = nicknameInfo.handle;
22829
- navigator.clipboard.writeText(nickname);
22830
- setNicknameCopied(true);
22831
- setTimeout(() => setNicknameCopied(false), 2e3);
22832
- },
22833
- children: isNicknameInfoLoading ? /* @__PURE__ */ jsx96("div", { className: "flex-1", children: /* @__PURE__ */ jsx96(LoaderIcon12, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ jsxs88(Fragment32, { children: [
22834
- /* @__PURE__ */ jsx96(AtSignIcon2, { className: "h-4 w-4 flex-none" }),
22835
- /* @__PURE__ */ jsx96("span", { className: cn2("text-xs flex-1", { "text-[var(--ui-kit-bg-success)]": isNicknameCopied }), children: nicknameInfo.handle }),
22836
- isNicknameCopied ? /* @__PURE__ */ jsx96(CheckCircle23, { className: "h-4 w-4 text-[var(--ui-kit-bg-success)] flex-none" }) : /* @__PURE__ */ jsx96(Copy2, { className: "h-4 w-4 flex-none" })
22837
- ] })
22838
- }
22839
- ),
22840
- fingerprint && /* @__PURE__ */ jsxs88(Fragment32, { children: [
22841
- /* @__PURE__ */ jsx96("span", { className: "block text-xs leading-4 text-[var(--ui-kit-fg-muted)]", children: t("passport:receiveMenu.share.identity") }),
22842
- /* @__PURE__ */ jsxs88(
22843
- Button,
22844
- {
22845
- title: "Copy fingerprint",
22846
- variant: "secondary",
22847
- size: "medium",
22848
- className: "w-full justify-between",
22849
- onClick: () => {
22850
- if (!fingerprint) return;
22851
- navigator.clipboard.writeText(fingerprint);
22852
- setFingerprintCopied(true);
22853
- setTimeout(() => setFingerprintCopied(false), 2e3);
22854
- },
22855
- children: [
22856
- /* @__PURE__ */ jsx96(FingerprintIcon, { className: "w-4 h-4 flex-none" }),
22857
- /* @__PURE__ */ jsx96("span", { className: cn2("text-xs font-bold flex-1", { "text-[var(--ui-kit-bg-success)]": fingerprintCopied }), children: fingerprint }),
22858
- fingerprintCopied ? /* @__PURE__ */ jsx96(CheckCircle23, { className: "w-4 h-4 text-[var(--ui-kit-bg-success)] flex-none" }) : /* @__PURE__ */ jsx96(Copy2, { className: "w-4 h-4 flex-none" })
22859
- ]
22860
- }
22861
- )
22611
+ return /* @__PURE__ */ jsxs88(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
22612
+ /* @__PURE__ */ jsxs88("div", { className: "w-full flex items-center gap-[var(--ui-kit-gap)]", children: [
22613
+ /* @__PURE__ */ jsx96(
22614
+ Button,
22615
+ {
22616
+ variant: "ghost",
22617
+ size: "icon",
22618
+ title: "Back",
22619
+ onClick: () => useLayoutDataStore.getState().setPage("main-menu" /* MAIN_MENU */),
22620
+ children: /* @__PURE__ */ jsx96(ArrowLeft18, { className: "h-4 w-4" })
22621
+ }
22622
+ ),
22623
+ /* @__PURE__ */ jsx96("span", { className: "text-xl font-semibold", children: t("passport:receiveMenu.title") })
22624
+ ] }),
22625
+ /* @__PURE__ */ jsx96("span", { className: "text-xs text-[var(--ui-kit-fg-muted)]", children: t("passport:receiveMenu.scanQR") }),
22626
+ /* @__PURE__ */ jsxs88(Highlight, { className: "text-center", type: "warning", children: [
22627
+ /* @__PURE__ */ jsx96("strong", { className: "block w-full", children: `${t("passport:common.network")}: ${chainConfig.name}` }),
22628
+ /* @__PURE__ */ jsx96("span", { className: "block w-full", children: t("passport:receiveMenu.warning") })
22629
+ ] }),
22630
+ /* @__PURE__ */ jsx96("div", { className: "flex items-center justify-center p-[var(--ui-kit-pd)]", style: { minHeight: "216px" }, children: qrCodeUrl && /* @__PURE__ */ jsx96("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) }),
22631
+ /* @__PURE__ */ jsx96("span", { className: "block text-xs leading-4 text-[var(--ui-kit-fg-muted)]", children: t("passport:receiveMenu.share.address") }),
22632
+ /* @__PURE__ */ jsxs88(
22633
+ Button,
22634
+ {
22635
+ title: "Copy address",
22636
+ variant: "secondary",
22637
+ size: "medium",
22638
+ className: "w-full",
22639
+ onClick: () => {
22640
+ if (!address) return;
22641
+ navigator.clipboard.writeText(address);
22642
+ setAddressCopied(true);
22643
+ setTimeout(() => setAddressCopied(false), 2e3);
22644
+ },
22645
+ children: [
22646
+ /* @__PURE__ */ jsx96(Wallet2Icon3, { className: "h-4 w-4 flex-none" }),
22647
+ /* @__PURE__ */ jsxs88("span", { className: cn2("text-[10px] flex-1 block", { "text-[var(--ui-kit-bg-success)]": isAddressCopied }), children: [
22648
+ address.slice(0, 10),
22649
+ "...",
22650
+ address.slice(-6)
22651
+ ] }),
22652
+ isAddressCopied ? /* @__PURE__ */ jsx96(CheckCircle23, { className: "h-4 w-4 text-[var(--ui-kit-bg-success)] flex-none" }) : /* @__PURE__ */ jsx96(Copy2, { className: "h-4 w-4 flex-none" })
22653
+ ]
22654
+ }
22655
+ ),
22656
+ /* @__PURE__ */ jsx96("span", { className: "block text-xs leading-4 text-[var(--ui-kit-fg-muted)]", children: t("passport:receiveMenu.share.nickname") }),
22657
+ /* @__PURE__ */ jsx96(
22658
+ Button,
22659
+ {
22660
+ title: "Copy nickname",
22661
+ variant: "secondary",
22662
+ size: "medium",
22663
+ className: "w-full",
22664
+ onClick: () => {
22665
+ const nickname = nicknameInfo.handle;
22666
+ navigator.clipboard.writeText(nickname);
22667
+ setNicknameCopied(true);
22668
+ setTimeout(() => setNicknameCopied(false), 2e3);
22669
+ },
22670
+ children: isNicknameInfoLoading ? /* @__PURE__ */ jsx96("div", { className: "flex-1", children: /* @__PURE__ */ jsx96(LoaderIcon12, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ jsxs88(Fragment32, { children: [
22671
+ /* @__PURE__ */ jsx96(AtSignIcon2, { className: "h-4 w-4 flex-none" }),
22672
+ /* @__PURE__ */ jsx96("span", { className: cn2("text-xs flex-1", { "text-[var(--ui-kit-bg-success)]": isNicknameCopied }), children: nicknameInfo.handle }),
22673
+ isNicknameCopied ? /* @__PURE__ */ jsx96(CheckCircle23, { className: "h-4 w-4 text-[var(--ui-kit-bg-success)] flex-none" }) : /* @__PURE__ */ jsx96(Copy2, { className: "h-4 w-4 flex-none" })
22862
22674
  ] })
22863
- ]
22864
- }
22865
- );
22675
+ }
22676
+ ),
22677
+ fingerprint && /* @__PURE__ */ jsxs88(Fragment32, { children: [
22678
+ /* @__PURE__ */ jsx96("span", { className: "block text-xs leading-4 text-[var(--ui-kit-fg-muted)]", children: t("passport:receiveMenu.share.identity") }),
22679
+ /* @__PURE__ */ jsxs88(
22680
+ Button,
22681
+ {
22682
+ title: "Copy fingerprint",
22683
+ variant: "secondary",
22684
+ size: "medium",
22685
+ className: "w-full justify-between",
22686
+ onClick: () => {
22687
+ if (!fingerprint) return;
22688
+ navigator.clipboard.writeText(fingerprint);
22689
+ setFingerprintCopied(true);
22690
+ setTimeout(() => setFingerprintCopied(false), 2e3);
22691
+ },
22692
+ children: [
22693
+ /* @__PURE__ */ jsx96(FingerprintIcon, { className: "w-4 h-4 flex-none" }),
22694
+ /* @__PURE__ */ jsx96("span", { className: cn2("text-xs font-bold flex-1", { "text-[var(--ui-kit-bg-success)]": fingerprintCopied }), children: fingerprint }),
22695
+ fingerprintCopied ? /* @__PURE__ */ jsx96(CheckCircle23, { className: "w-4 h-4 text-[var(--ui-kit-bg-success)] flex-none" }) : /* @__PURE__ */ jsx96(Copy2, { className: "w-4 h-4 flex-none" })
22696
+ ]
22697
+ }
22698
+ )
22699
+ ] })
22700
+ ] });
22866
22701
  }
22867
22702
  var init_ReceiveMenu = __esm({
22868
22703
  "src/internal/components/ReceiveMenu/ReceiveMenu.tsx"() {
@@ -22871,13 +22706,27 @@ var init_ReceiveMenu = __esm({
22871
22706
  init_nickname();
22872
22707
  init_profile();
22873
22708
  init_useLayoutDataStore();
22874
- init_useLayoutStore();
22875
22709
  init_nickname_fingerprint();
22876
22710
  init_utils();
22711
+ init_Expandable2();
22877
22712
  init_Onboarding();
22878
22713
  init_button();
22879
22714
  init_highlight();
22880
- init_onboarding_setup7();
22715
+ }
22716
+ });
22717
+
22718
+ // src/internal/components/ReceiveMenu/onboarding.setup.ts
22719
+ var RECEIVE_MENU_TOUR;
22720
+ var init_onboarding_setup7 = __esm({
22721
+ "src/internal/components/ReceiveMenu/onboarding.setup.ts"() {
22722
+ init_constants();
22723
+ RECEIVE_MENU_TOUR = [
22724
+ {
22725
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"receive" /* RECEIVE */}`,
22726
+ title: "passport:receiveMenu.onboarding.receiveMenu.title",
22727
+ description: "passport:receiveMenu.onboarding.receiveMenu.description"
22728
+ }
22729
+ ];
22881
22730
  }
22882
22731
  });
22883
22732
 
@@ -22893,9 +22742,10 @@ var init_ReceiveMenu2 = __esm({
22893
22742
  var SECURITY_MENU_TOUR;
22894
22743
  var init_onboarding_setup8 = __esm({
22895
22744
  "src/internal/components/SecurityMenu/onboarding.setup.ts"() {
22745
+ init_constants();
22896
22746
  SECURITY_MENU_TOUR = [
22897
22747
  {
22898
- elId: "embarkai-security-menu-onboarding" /* securityMenu */,
22748
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"security" /* SECURITY */}`,
22899
22749
  title: "passport:securityMenu.onboarding.securityMenu.title",
22900
22750
  description: "passport:securityMenu.onboarding.securityMenu.description"
22901
22751
  },
@@ -23011,8 +22861,8 @@ function Application(props) {
23011
22861
  "p-2 rounded-[var(--ui-kit-el-bdrs)] bg-[var(--ui-kit-secondary)]",
23012
22862
  {
23013
22863
  "cursor-default": !appUrl,
23014
- "cursor-pointer transition-colors duration-200": !!appUrl,
23015
- "hover:bg-[var(--ui-kit-secondary-h)] active:bg-[var(--ui-kit-secondary-a)]": !!appUrl
22864
+ "cursor-pointer transition-opacity duration-200": !!appUrl,
22865
+ "hover:opacity-80 active:opacity-60": !!appUrl
23016
22866
  }
23017
22867
  ),
23018
22868
  onClick: () => {
@@ -23508,53 +23358,40 @@ import { ArrowLeft as ArrowLeft19 } from "lucide-react";
23508
23358
  import { Fragment as Fragment36, jsx as jsx102, jsxs as jsxs94 } from "react/jsx-runtime";
23509
23359
  function SecurityMenu() {
23510
23360
  const { t } = useT();
23511
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
23512
23361
  const appToUntrust = useSecurityStore((st) => st.appToUntrust);
23513
23362
  useOnboardingTourAvailable(!appToUntrust);
23514
- return /* @__PURE__ */ jsx102(
23515
- "div",
23516
- {
23517
- ref: (inst) => onboarder.registerElement("embarkai-security-menu-onboarding" /* securityMenu */, inst),
23518
- style: {
23519
- "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
23520
- "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
23521
- },
23522
- className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
23523
- children: /* @__PURE__ */ jsxs94(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
23524
- /* @__PURE__ */ jsxs94("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
23525
- /* @__PURE__ */ jsx102(
23526
- Button,
23527
- {
23528
- variant: "ghost",
23529
- size: "icon",
23530
- title: t("passport:common.back"),
23531
- onClick: () => {
23532
- const { appToUntrust: appToUntrust2, untrustApp } = useSecurityStore.getState();
23533
- if (!!appToUntrust2) {
23534
- untrustApp(null);
23535
- } else {
23536
- useLayoutDataStore.getState().setPage("settings" /* SETTINGS */);
23537
- }
23538
- },
23539
- children: /* @__PURE__ */ jsx102(ArrowLeft19, { className: "h-4 w-4" })
23363
+ return /* @__PURE__ */ jsxs94(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
23364
+ /* @__PURE__ */ jsxs94("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
23365
+ /* @__PURE__ */ jsx102(
23366
+ Button,
23367
+ {
23368
+ variant: "ghost",
23369
+ size: "icon",
23370
+ title: t("passport:common.back"),
23371
+ onClick: () => {
23372
+ const { appToUntrust: appToUntrust2, untrustApp } = useSecurityStore.getState();
23373
+ if (!!appToUntrust2) {
23374
+ untrustApp(null);
23375
+ } else {
23376
+ useLayoutDataStore.getState().setPage("settings" /* SETTINGS */);
23540
23377
  }
23541
- ),
23542
- /* @__PURE__ */ jsx102("span", { className: "text-xl font-semibold", children: t("passport:securityMenu.title") })
23543
- ] }),
23544
- appToUntrust && /* @__PURE__ */ jsx102(UntrustApplication, {}),
23545
- !appToUntrust && /* @__PURE__ */ jsxs94(Fragment36, { children: [
23546
- /* @__PURE__ */ jsx102(Keyshare, {}),
23547
- /* @__PURE__ */ jsx102(ConnectedApps, {})
23548
- ] })
23549
- ] })
23550
- }
23551
- );
23378
+ },
23379
+ children: /* @__PURE__ */ jsx102(ArrowLeft19, { className: "h-4 w-4" })
23380
+ }
23381
+ ),
23382
+ /* @__PURE__ */ jsx102("span", { className: "text-xl font-semibold", children: t("passport:securityMenu.title") })
23383
+ ] }),
23384
+ appToUntrust && /* @__PURE__ */ jsx102(UntrustApplication, {}),
23385
+ !appToUntrust && /* @__PURE__ */ jsxs94(Fragment36, { children: [
23386
+ /* @__PURE__ */ jsx102(Keyshare, {}),
23387
+ /* @__PURE__ */ jsx102(ConnectedApps, {})
23388
+ ] })
23389
+ ] });
23552
23390
  }
23553
23391
  var init_SecurityMenu = __esm({
23554
23392
  "src/internal/components/SecurityMenu/SecurityMenu.tsx"() {
23555
23393
  init_i18n();
23556
23394
  init_useLayoutDataStore();
23557
- init_useLayoutStore();
23558
23395
  init_Expandable2();
23559
23396
  init_Onboarding();
23560
23397
  init_button();
@@ -24604,6 +24441,7 @@ var init_useSendStore = __esm({
24604
24441
  var TOUR_SEND_ASSET, TOUR_BRIDGE_QUOTE, SEND_MENU_TOUR, BRIDGE_MENU_TOUR;
24605
24442
  var init_onboarding_setup9 = __esm({
24606
24443
  "src/internal/components/SendMenu/onboarding.setup.ts"() {
24444
+ init_constants();
24607
24445
  init_useBridgeStore();
24608
24446
  init_useSendStore();
24609
24447
  TOUR_SEND_ASSET = {
@@ -24623,7 +24461,7 @@ var init_onboarding_setup9 = __esm({
24623
24461
  };
24624
24462
  SEND_MENU_TOUR = [
24625
24463
  {
24626
- elId: "sendmenu-page" /* sendMenu */,
24464
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"send" /* SEND */}`,
24627
24465
  title: "passport:sendMenu.onboarding.sendMenu.title",
24628
24466
  description: "passport:sendMenu.onboarding.sendMenu.description",
24629
24467
  waitSecs: 4,
@@ -24652,7 +24490,7 @@ var init_onboarding_setup9 = __esm({
24652
24490
  ];
24653
24491
  BRIDGE_MENU_TOUR = [
24654
24492
  {
24655
- elId: "sendmenu-page" /* sendMenu */,
24493
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"send" /* SEND */}`,
24656
24494
  title: "passport:bridgeMenu.onboarding.bridgeMenu.title",
24657
24495
  description: "passport:bridgeMenu.onboarding.bridgeMenu.description",
24658
24496
  waitSecs: 5
@@ -27301,7 +27139,6 @@ function SendFlowSelector() {
27301
27139
  const { t } = useT();
27302
27140
  const { config } = useProviderConfig();
27303
27141
  useSendMenuParams();
27304
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
27305
27142
  const selectorFlow = useFlowSelectorStore((st) => st.flow);
27306
27143
  const menuTitle = useFlowSelectorStore((st) => st.menuTitle);
27307
27144
  const isUiLocked = useFlowSelectorStore((st) => st.isUiLocked);
@@ -27326,81 +27163,69 @@ function SendFlowSelector() {
27326
27163
  }, []);
27327
27164
  const isSendFlowInitialState = selectorFlow === "send" && sendStep === "input" || selectorFlow === "bridge" && bridgeStep === "select";
27328
27165
  const isFlowSelectorButtonsShown = !!config?.current?.features?.showAssetBridge && isSendFlowInitialState;
27329
- return /* @__PURE__ */ jsx120(
27330
- "div",
27331
- {
27332
- ref: (inst) => onboarder.registerElement("sendmenu-page" /* sendMenu */, inst),
27333
- style: {
27334
- "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
27335
- "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
27336
- },
27337
- className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
27338
- children: /* @__PURE__ */ jsxs109(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
27339
- /* @__PURE__ */ jsxs109("div", { className: "flex items-center justify-between", children: [
27340
- /* @__PURE__ */ jsxs109("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
27341
- /* @__PURE__ */ jsx120(
27342
- Button,
27343
- {
27344
- variant: "ghost",
27345
- size: "icon",
27346
- disabled: isUiLocked,
27347
- onClick: () => {
27348
- useFlowSelectorStore.getState().setError(null);
27349
- const { setPage } = useLayoutDataStore.getState();
27350
- if (selectorFlow === "bridge") {
27351
- const { bridgeStep: bridgeStep2, setBridgeStep } = useBridgeStore.getState();
27352
- switch (bridgeStep2) {
27353
- case "select":
27354
- return setPage("main-menu" /* MAIN_MENU */);
27355
- // case ''
27356
- case "tx-history-details":
27357
- return setBridgeStep("tx-history");
27358
- default:
27359
- return setBridgeStep("select");
27360
- }
27361
- }
27362
- if (selectorFlow === "send") {
27363
- const { txStep, setTxStep } = useSendStore.getState();
27364
- switch (txStep) {
27365
- case "input":
27366
- return setPage("main-menu" /* MAIN_MENU */);
27367
- default:
27368
- return setTxStep("input");
27369
- }
27370
- }
27371
- },
27372
- children: /* @__PURE__ */ jsx120(ArrowLeft20, { className: "h-4 w-4" })
27166
+ return /* @__PURE__ */ jsxs109(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
27167
+ /* @__PURE__ */ jsxs109("div", { className: "flex items-center justify-between", children: [
27168
+ /* @__PURE__ */ jsxs109("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
27169
+ /* @__PURE__ */ jsx120(
27170
+ Button,
27171
+ {
27172
+ variant: "ghost",
27173
+ size: "icon",
27174
+ disabled: isUiLocked,
27175
+ onClick: () => {
27176
+ useFlowSelectorStore.getState().setError(null);
27177
+ const { setPage } = useLayoutDataStore.getState();
27178
+ if (selectorFlow === "bridge") {
27179
+ const { bridgeStep: bridgeStep2, setBridgeStep } = useBridgeStore.getState();
27180
+ switch (bridgeStep2) {
27181
+ case "select":
27182
+ return setPage("main-menu" /* MAIN_MENU */);
27183
+ // case ''
27184
+ case "tx-history-details":
27185
+ return setBridgeStep("tx-history");
27186
+ default:
27187
+ return setBridgeStep("select");
27188
+ }
27373
27189
  }
27374
- ),
27375
- /* @__PURE__ */ jsx120("span", { className: "text-xl font-semibold", children: menuTitle })
27376
- ] }),
27377
- /* @__PURE__ */ jsx120("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx120(BridgeHistorySwitch, {}) })
27378
- ] }),
27379
- isFlowSelectorButtonsShown && /* @__PURE__ */ jsx120(SelectorFlowButtons, {}),
27380
- availableFlows[selectorFlow],
27381
- sendOrBridgeError && /* @__PURE__ */ jsxs109(Highlight, { type: "error", className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
27382
- /* @__PURE__ */ jsx120("span", { children: sendOrBridgeError }),
27383
- /* @__PURE__ */ jsx120(
27384
- Button,
27385
- {
27386
- variant: "default",
27387
- size: "medium",
27388
- className: "w-full",
27389
- onClick: () => useFlowSelectorStore.getState().setError(null),
27390
- children: t("passport:common.hide")
27391
- }
27392
- )
27393
- ] })
27394
- ] })
27395
- }
27396
- );
27190
+ if (selectorFlow === "send") {
27191
+ const { txStep, setTxStep } = useSendStore.getState();
27192
+ switch (txStep) {
27193
+ case "input":
27194
+ return setPage("main-menu" /* MAIN_MENU */);
27195
+ default:
27196
+ return setTxStep("input");
27197
+ }
27198
+ }
27199
+ },
27200
+ children: /* @__PURE__ */ jsx120(ArrowLeft20, { className: "h-4 w-4" })
27201
+ }
27202
+ ),
27203
+ /* @__PURE__ */ jsx120("span", { className: "text-xl font-semibold", children: menuTitle })
27204
+ ] }),
27205
+ /* @__PURE__ */ jsx120("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: /* @__PURE__ */ jsx120(BridgeHistorySwitch, {}) })
27206
+ ] }),
27207
+ isFlowSelectorButtonsShown && /* @__PURE__ */ jsx120(SelectorFlowButtons, {}),
27208
+ availableFlows[selectorFlow],
27209
+ sendOrBridgeError && /* @__PURE__ */ jsxs109(Highlight, { type: "error", className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
27210
+ /* @__PURE__ */ jsx120("span", { children: sendOrBridgeError }),
27211
+ /* @__PURE__ */ jsx120(
27212
+ Button,
27213
+ {
27214
+ variant: "default",
27215
+ size: "medium",
27216
+ className: "w-full",
27217
+ onClick: () => useFlowSelectorStore.getState().setError(null),
27218
+ children: t("passport:common.hide")
27219
+ }
27220
+ )
27221
+ ] })
27222
+ ] });
27397
27223
  }
27398
27224
  var init_SendFlowSelector = __esm({
27399
27225
  "src/internal/components/SendMenu/SendFlowSelector.tsx"() {
27400
27226
  init_ProviderContext();
27401
27227
  init_i18n();
27402
27228
  init_useLayoutDataStore();
27403
- init_useLayoutStore();
27404
27229
  init_utils();
27405
27230
  init_Expandable2();
27406
27231
  init_Onboarding();
@@ -28080,20 +27905,6 @@ var init_api4 = __esm({
28080
27905
  }
28081
27906
  });
28082
27907
 
28083
- // src/internal/components/TransactionsMenu/onboarding.setup.ts
28084
- var TRANSACTIONS_MENU_TOUR;
28085
- var init_onboarding_setup10 = __esm({
28086
- "src/internal/components/TransactionsMenu/onboarding.setup.ts"() {
28087
- TRANSACTIONS_MENU_TOUR = [
28088
- {
28089
- elId: "embarkai-transactions-menu-onboarding" /* transactionsMenu */,
28090
- title: "passport:transactionsMenu.onboarding.transactionsMenu.title",
28091
- description: "passport:transactionsMenu.onboarding.transactionsMenu.description"
28092
- }
28093
- ];
28094
- }
28095
- });
28096
-
28097
27908
  // src/internal/components/TransactionsMenu/utils.ts
28098
27909
  function formatIntl(price, fractionDigits) {
28099
27910
  const formatter = Intl.NumberFormat("en-US", {
@@ -28192,8 +28003,8 @@ function TransactionsGroup(props) {
28192
28003
  onClick: () => openInExplorer2(parent.parentHash),
28193
28004
  className: cn2(
28194
28005
  "w-full flex flex-col gap-1 p-[var(--ui-kit-pd)] rounded-[var(--ui-kit-el-bdrs)]",
28195
- "transition-colors cursor-pointer",
28196
- "bg-[var(--ui-kit-secondary)] hover:bg-[var(--ui-kit-secondary-h)] active:bg-[var(--ui-kit-secondary-a)]"
28006
+ "transition-opacity cursor-pointer",
28007
+ "bg-[var(--ui-kit-secondary)] hover:opacity-80 active:opacity-60"
28197
28008
  ),
28198
28009
  children: [
28199
28010
  /* @__PURE__ */ jsxs110("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
@@ -28295,7 +28106,6 @@ function TransactionsMenu() {
28295
28106
  const { t } = useT();
28296
28107
  useOnboardingTourAvailable(true);
28297
28108
  const setPage = useLayoutDataStore((st) => st.setPage);
28298
- const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
28299
28109
  const [expandedGroups, setExpandedGroups] = useState28({});
28300
28110
  const historySupported = isTransactionHistorySupported(chainConfig?.id);
28301
28111
  const {
@@ -28314,57 +28124,45 @@ function TransactionsMenu() {
28314
28124
  [qc, chainConfig.id, address]
28315
28125
  );
28316
28126
  const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
28317
- return /* @__PURE__ */ jsx122(
28318
- "div",
28319
- {
28320
- ref: (inst) => onboarder.registerElement("embarkai-transactions-menu-onboarding" /* transactionsMenu */, inst),
28321
- style: {
28322
- "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
28323
- "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
28127
+ return /* @__PURE__ */ jsxs111(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
28128
+ /* @__PURE__ */ jsxs111("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
28129
+ /* @__PURE__ */ jsx122(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx122(ArrowLeft21, { className: "h-4 w-4" }) }),
28130
+ /* @__PURE__ */ jsx122("span", { className: "text-xl font-semibold", children: t("passport:transactionsMenu.title") }),
28131
+ historySupported && /* @__PURE__ */ jsx122(
28132
+ Button,
28133
+ {
28134
+ variant: "ghost",
28135
+ size: "icon",
28136
+ onClick: refreshTxHistory,
28137
+ disabled: isTxHistoryFetching,
28138
+ title: "Refresh transactions",
28139
+ children: isTxHistoryFetching ? /* @__PURE__ */ jsx122(Loader28, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx122(RefreshCw3, { className: "h-4 w-4" })
28140
+ }
28141
+ )
28142
+ ] }),
28143
+ !historySupported && /* @__PURE__ */ jsx122(Highlight, { type: "warning", children: /* @__PURE__ */ jsx122("span", { children: t("passport:transactionsMenu.comingSoon") }) }),
28144
+ historySupported && isTxHistoryLoading && /* @__PURE__ */ jsx122("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx122(Loader28, { className: "w-4 h-4 animate-spin" }) }),
28145
+ historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx122(Highlight, { type: "info", children: /* @__PURE__ */ jsx122("span", { children: t("passport:transactionsMenu.noTransactions") }) }),
28146
+ historySupported && !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs111(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
28147
+ /* @__PURE__ */ jsx122(XCircle, { className: "w-4 h-4 flex-none" }),
28148
+ /* @__PURE__ */ jsx122("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
28149
+ ] }),
28150
+ historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx122("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx122(
28151
+ TransactionsGroup,
28152
+ {
28153
+ group,
28154
+ expanded: expandedGroups[group.id] ?? false,
28155
+ onToggleExpanded: (groupId) => setExpandedGroups((prev) => ({ ...prev, [groupId]: !prev[groupId] }))
28324
28156
  },
28325
- className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
28326
- children: /* @__PURE__ */ jsxs111(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
28327
- /* @__PURE__ */ jsxs111("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
28328
- /* @__PURE__ */ jsx122(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx122(ArrowLeft21, { className: "h-4 w-4" }) }),
28329
- /* @__PURE__ */ jsx122("span", { className: "text-xl font-semibold", children: t("passport:transactionsMenu.title") }),
28330
- historySupported && /* @__PURE__ */ jsx122(
28331
- Button,
28332
- {
28333
- variant: "ghost",
28334
- size: "icon",
28335
- onClick: refreshTxHistory,
28336
- disabled: isTxHistoryFetching,
28337
- title: "Refresh transactions",
28338
- children: isTxHistoryFetching ? /* @__PURE__ */ jsx122(Loader28, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx122(RefreshCw3, { className: "h-4 w-4" })
28339
- }
28340
- )
28341
- ] }),
28342
- !historySupported && /* @__PURE__ */ jsx122(Highlight, { type: "warning", children: /* @__PURE__ */ jsx122("span", { children: t("passport:transactionsMenu.comingSoon") }) }),
28343
- historySupported && isTxHistoryLoading && /* @__PURE__ */ jsx122("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx122(Loader28, { className: "w-4 h-4 animate-spin" }) }),
28344
- historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx122(Highlight, { type: "info", children: /* @__PURE__ */ jsx122("span", { children: t("passport:transactionsMenu.noTransactions") }) }),
28345
- historySupported && !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs111(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
28346
- /* @__PURE__ */ jsx122(XCircle, { className: "w-4 h-4 flex-none" }),
28347
- /* @__PURE__ */ jsx122("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
28348
- ] }),
28349
- historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx122("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx122(
28350
- TransactionsGroup,
28351
- {
28352
- group,
28353
- expanded: expandedGroups[group.id] ?? false,
28354
- onToggleExpanded: (groupId) => setExpandedGroups((prev) => ({ ...prev, [groupId]: !prev[groupId] }))
28355
- },
28356
- group.id
28357
- )) })
28358
- ] })
28359
- }
28360
- );
28157
+ group.id
28158
+ )) })
28159
+ ] });
28361
28160
  }
28362
28161
  var init_TransactionsMenu = __esm({
28363
28162
  "src/internal/components/TransactionsMenu/TransactionsMenu.tsx"() {
28364
28163
  init_SessionContext();
28365
28164
  init_i18n();
28366
28165
  init_useLayoutDataStore();
28367
- init_useLayoutStore();
28368
28166
  init_Expandable2();
28369
28167
  init_Onboarding();
28370
28168
  init_button();
@@ -28375,6 +28173,21 @@ var init_TransactionsMenu = __esm({
28375
28173
  }
28376
28174
  });
28377
28175
 
28176
+ // src/internal/components/TransactionsMenu/onboarding.setup.ts
28177
+ var TRANSACTIONS_MENU_TOUR;
28178
+ var init_onboarding_setup10 = __esm({
28179
+ "src/internal/components/TransactionsMenu/onboarding.setup.ts"() {
28180
+ init_constants();
28181
+ TRANSACTIONS_MENU_TOUR = [
28182
+ {
28183
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"transactions" /* TRANSACTIONS */}`,
28184
+ title: "passport:transactionsMenu.onboarding.transactionsMenu.title",
28185
+ description: "passport:transactionsMenu.onboarding.transactionsMenu.description"
28186
+ }
28187
+ ];
28188
+ }
28189
+ });
28190
+
28378
28191
  // src/internal/components/TransactionsMenu/index.ts
28379
28192
  var init_TransactionsMenu2 = __esm({
28380
28193
  "src/internal/components/TransactionsMenu/index.ts"() {
@@ -28402,21 +28215,6 @@ var init_constants8 = __esm({
28402
28215
  }
28403
28216
  });
28404
28217
 
28405
- // src/internal/components/SettingsMenu/onboarding.setup.ts
28406
- var SETTINGS_MENU_ONBOARDING_ID, SETTINGS_MENU_TOUR;
28407
- var init_onboarding_setup11 = __esm({
28408
- "src/internal/components/SettingsMenu/onboarding.setup.ts"() {
28409
- SETTINGS_MENU_ONBOARDING_ID = "embarkai-settings-menu-onboarding";
28410
- SETTINGS_MENU_TOUR = [
28411
- {
28412
- elId: SETTINGS_MENU_ONBOARDING_ID,
28413
- title: "passport:common.onboarding.settingsMenu.title",
28414
- description: "passport:common.onboarding.settingsMenu.description"
28415
- }
28416
- ];
28417
- }
28418
- });
28419
-
28420
28218
  // src/internal/components/SettingsMenu/SettingsMenu.tsx
28421
28219
  import { useQuery as useQuery27 } from "@tanstack/react-query";
28422
28220
  import { ArrowLeft as ArrowLeft22, HardDrive as HardDrive3 } from "lucide-react";
@@ -28473,41 +28271,30 @@ function SettingsMenu() {
28473
28271
  queryFn: getNicknameInfo
28474
28272
  });
28475
28273
  const highlightedKeys = settingsNotifications.map((n) => n.target);
28476
- return /* @__PURE__ */ jsxs112(
28477
- "div",
28478
- {
28479
- ref: (inst) => onboarder.registerElement(SETTINGS_MENU_ONBOARDING_ID, inst),
28480
- style: {
28481
- "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
28482
- "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
28274
+ return /* @__PURE__ */ jsxs112(Expandable, { isExpanded: true, contentClassName: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
28275
+ /* @__PURE__ */ jsxs112("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
28276
+ /* @__PURE__ */ jsx123(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx123(ArrowLeft22, { className: "h-4 w-4" }) }),
28277
+ /* @__PURE__ */ jsx123("span", { className: "text-xl font-semibold", children: t("passport:common.settings") })
28278
+ ] }),
28279
+ /* @__PURE__ */ jsx123("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: settingsButtons.map((el) => ({ ...el, onClick: () => setPage(el.id) })).map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ jsxs112(
28280
+ Button,
28281
+ {
28282
+ variant: "secondary",
28283
+ size: "large",
28284
+ onClick,
28285
+ disabled: !address,
28286
+ className: cn2(
28287
+ "w-full items-center justify-start",
28288
+ highlightedKeys.includes(id) && "animate-glow-warning"
28289
+ ),
28290
+ children: [
28291
+ /* @__PURE__ */ jsx123(Icon2, { className: "w-4 h-4" }),
28292
+ /* @__PURE__ */ jsx123("span", { children: t(name) })
28293
+ ]
28483
28294
  },
28484
- className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)] flex flex-col gap-[var(--ui-kit-gap)]",
28485
- children: [
28486
- /* @__PURE__ */ jsxs112("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
28487
- /* @__PURE__ */ jsx123(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx123(ArrowLeft22, { className: "h-4 w-4" }) }),
28488
- /* @__PURE__ */ jsx123("span", { className: "text-xl font-semibold", children: t("passport:common.settings") })
28489
- ] }),
28490
- /* @__PURE__ */ jsx123("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: settingsButtons.map((el) => ({ ...el, onClick: () => setPage(el.id) })).map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ jsxs112(
28491
- Button,
28492
- {
28493
- variant: "secondary",
28494
- size: "large",
28495
- onClick,
28496
- disabled: !address,
28497
- className: cn2(
28498
- "w-full items-center justify-start",
28499
- highlightedKeys.includes(id) && "animate-glow-warning"
28500
- ),
28501
- children: [
28502
- /* @__PURE__ */ jsx123(Icon2, { className: "w-4 h-4" }),
28503
- /* @__PURE__ */ jsx123("span", { children: t(name) })
28504
- ]
28505
- },
28506
- id
28507
- )) })
28508
- ]
28509
- }
28510
- );
28295
+ id
28296
+ )) })
28297
+ ] });
28511
28298
  }
28512
28299
  var init_SettingsMenu = __esm({
28513
28300
  "src/internal/components/SettingsMenu/SettingsMenu.tsx"() {
@@ -28520,12 +28307,27 @@ var init_SettingsMenu = __esm({
28520
28307
  init_useLayoutStore();
28521
28308
  init_pro_mode();
28522
28309
  init_utils();
28310
+ init_Expandable2();
28523
28311
  init_useProvidersList();
28524
28312
  init_Onboarding();
28525
28313
  init_TransactionsMenu2();
28526
28314
  init_button();
28527
28315
  init_constants8();
28528
- init_onboarding_setup11();
28316
+ }
28317
+ });
28318
+
28319
+ // src/internal/components/SettingsMenu/onboarding.setup.ts
28320
+ var SETTINGS_MENU_TOUR;
28321
+ var init_onboarding_setup11 = __esm({
28322
+ "src/internal/components/SettingsMenu/onboarding.setup.ts"() {
28323
+ init_constants();
28324
+ SETTINGS_MENU_TOUR = [
28325
+ {
28326
+ elId: `${EMBARKAI_DIALOG_ONBOARDING_ID}-${"settings" /* SETTINGS */}`,
28327
+ title: "passport:common.onboarding.settingsMenu.title",
28328
+ description: "passport:common.onboarding.settingsMenu.description"
28329
+ }
28330
+ ];
28529
28331
  }
28530
28332
  });
28531
28333
 
@@ -28751,35 +28553,25 @@ import { useCallback as useCallback31, useEffect as useEffect50 } from "react";
28751
28553
  import { jsx as jsx125 } from "react/jsx-runtime";
28752
28554
  function usePageMapper() {
28753
28555
  const page = useLayoutDataStore((st) => st.page);
28754
- const {
28755
- setDialogTitle,
28756
- setDialogDescription,
28757
- setIsDialogForced,
28758
- setDialogContent,
28759
- setIsDialogOpen,
28760
- setIsDialogClosing
28761
- } = useLayoutStore();
28762
28556
  const closeDialog = useCallback31(() => {
28763
- setIsDialogClosing(true);
28557
+ useLayoutStore.setState({ isDialogAnimating: true });
28764
28558
  setTimeout(() => {
28765
- setDialogContent(null);
28766
- setDialogDescription(null);
28767
- setDialogTitle(null);
28768
- setIsDialogForced(false);
28769
- setIsDialogClosing(false);
28770
- setIsDialogOpen(false);
28559
+ useLayoutStore.setState({
28560
+ dialogContent: null,
28561
+ isDialogAnimating: false,
28562
+ isDialogOpen: false,
28563
+ isDialogForced: false
28564
+ // closing via page === null should reset forced state
28565
+ });
28771
28566
  }, CLEAR_DIALOG_TIMEOUT);
28772
- }, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
28773
- const openDialog = useCallback31(
28774
- (pageItem) => {
28775
- const PageContentComponent = pageItem.component;
28776
- setDialogTitle(pageItem.title);
28777
- setDialogDescription(pageItem.description);
28778
- setDialogContent(/* @__PURE__ */ jsx125(PageContentComponent, {}));
28779
- setIsDialogOpen(true);
28780
- },
28781
- [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
28782
- );
28567
+ }, []);
28568
+ const openDialog = useCallback31((pageItem) => {
28569
+ useLayoutStore.setState({
28570
+ dialogContent: /* @__PURE__ */ jsx125(pageItem.component, {}),
28571
+ isDialogOpen: true
28572
+ // isDialogAnimating: true
28573
+ });
28574
+ }, []);
28783
28575
  useEffect50(() => {
28784
28576
  if (page === null) return closeDialog();
28785
28577
  const pageItem = PAGE_MAP[page];
@@ -28848,7 +28640,7 @@ var init_package = __esm({
28848
28640
  "package.json"() {
28849
28641
  package_default = {
28850
28642
  name: "@embarkai/ui-kit",
28851
- version: "0.4.92",
28643
+ version: "0.4.94",
28852
28644
  description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
28853
28645
  type: "module",
28854
28646
  main: "./dist/index.cjs",
@@ -29111,9 +28903,9 @@ var init_Footer2 = __esm({
29111
28903
  var EMBARKAI_HEADER_ONBOARDING_ID, EMBARKAI_HEADER_TOUR_BUTTON_ID, ONBOARDING_TOURS;
29112
28904
  var init_onborading_setup = __esm({
29113
28905
  "src/internal/components/Header/onborading.setup.ts"() {
28906
+ init_constants();
29114
28907
  init_BuyMenu2();
29115
28908
  init_ChainsMenu2();
29116
- init_Dialog2();
29117
28909
  init_Footer2();
29118
28910
  init_KeyshareRestoreMenu2();
29119
28911
  init_MainMenu2();
@@ -29328,7 +29120,7 @@ import { forwardRef as forwardRef6 } from "react";
29328
29120
  import { jsx as jsx128, jsxs as jsxs116 } from "react/jsx-runtime";
29329
29121
  function useDecideContentStyles() {
29330
29122
  const isMobileView = useLayoutStore((st) => st.isMobileView);
29331
- const isClosing = useLayoutStore((st) => !!st.isDialogOpen && !!st.isDialogClosing);
29123
+ const isClosing = useLayoutStore((st) => !!st.isDialogOpen && !!st.isDialogAnimating);
29332
29124
  const mobileStyles = isMobileView ? { "--ui-kit-bdrs": "20px 20px 0px 0px" } : {};
29333
29125
  return {
29334
29126
  isClosing,
@@ -29512,12 +29304,10 @@ function Dialog2() {
29512
29304
  const className = config.current?.ui?.dialogClassName;
29513
29305
  const session = useSession((st) => st.session);
29514
29306
  const hasServerVault = useSession((st) => st.hasServerVault);
29307
+ const { colorMode, maxScrollHeight, isDialogOpen, dialogContent, isDialogForced } = useLayoutStore();
29515
29308
  const page = useLayoutDataStore((st) => st.page);
29516
29309
  const transitionPageHeight = useLayoutDataStore((st) => st.transitionPageHeight);
29517
- const setPage = useLayoutDataStore((st) => st.setPage);
29518
- const setPostAuthNavigation = useLayoutDataStore((st) => st.setPostAuthNavigation);
29519
- const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
29520
- useEffect52(() => setIsSettings(!!session), [session, setIsSettings]);
29310
+ useEffect52(() => useLayoutStore.setState({ isSettings: !!session }), [session]);
29521
29311
  usePageMapper();
29522
29312
  useAutoConnect();
29523
29313
  useBackupStatusChanges();
@@ -29532,6 +29322,7 @@ function Dialog2() {
29532
29322
  onOpenChange: (open) => {
29533
29323
  if (isDialogForced) return;
29534
29324
  if (!open) {
29325
+ const { setPostAuthNavigation, setPage } = useLayoutDataStore.getState();
29535
29326
  setPostAuthNavigation(null);
29536
29327
  setPage(null);
29537
29328
  }
@@ -29543,18 +29334,29 @@ function Dialog2() {
29543
29334
  colorMode,
29544
29335
  className,
29545
29336
  children: [
29546
- /* @__PURE__ */ jsx130(VisuallyHidden, { children: /* @__PURE__ */ jsx130(DialogTitle, { children: dialogTitle }) }),
29547
- /* @__PURE__ */ jsx130(DialogDescription, { className: "sr-only", children: dialogDescription }),
29337
+ /* @__PURE__ */ jsx130(VisuallyHidden, { children: /* @__PURE__ */ jsx130(DialogTitle, { children: "embarkAI" }) }),
29338
+ /* @__PURE__ */ jsx130(DialogDescription, { className: "sr-only", children: "embarkAI wallet" }),
29548
29339
  !isHeaderHidden && /* @__PURE__ */ jsx130(Header, {}),
29549
29340
  /* @__PURE__ */ jsx130(AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx130(
29550
29341
  motion.div,
29551
29342
  {
29343
+ style: { overflow: "hidden" },
29552
29344
  initial: { opacity: 0, height: transitionPageHeight },
29553
29345
  animate: { opacity: 1, height: "auto" },
29554
29346
  exit: { opacity: 0, height: transitionPageHeight },
29555
- style: { overflow: "hidden" },
29556
29347
  transition: Y_ANIMATION_SETUP,
29557
- children: dialogContent
29348
+ children: /* @__PURE__ */ jsx130(
29349
+ "div",
29350
+ {
29351
+ ref: (inst) => onboarder.registerElement(`${EMBARKAI_DIALOG_ONBOARDING_ID}-${page}`, inst),
29352
+ style: {
29353
+ "--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
29354
+ "--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
29355
+ },
29356
+ className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
29357
+ children: dialogContent
29358
+ }
29359
+ )
29558
29360
  },
29559
29361
  page || "empty"
29560
29362
  ) }),
@@ -29565,7 +29367,6 @@ function Dialog2() {
29565
29367
  }
29566
29368
  );
29567
29369
  }
29568
- var EMBARKAI_DIALOG_ONBOARDING_ID;
29569
29370
  var init_Dialog = __esm({
29570
29371
  "src/internal/components/Dialog/Dialog.tsx"() {
29571
29372
  init_ProviderContext();
@@ -29584,7 +29385,6 @@ var init_Dialog = __esm({
29584
29385
  init_Onboarding();
29585
29386
  init_dialog();
29586
29387
  init_visually_hidden();
29587
- EMBARKAI_DIALOG_ONBOARDING_ID = "embark-main-dialog-content";
29588
29388
  }
29589
29389
  });
29590
29390
 
@@ -32352,7 +32152,7 @@ var init_ProviderContext = __esm({
32352
32152
  });
32353
32153
 
32354
32154
  // src/styles/built.css
32355
- 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 .sticky{position:sticky}.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 .float-right{float:right}.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-\\[30dvw\\]{width:30dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.embarkai-ui-scope .w-\\[60dvw\\]{width:60dvw}.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-7xl{max-width:80rem}.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-\\[420px\\]{max-width:420px}.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-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-10{padding-left:2.5rem;padding-right:2.5rem}.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-light{font-weight:300}.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-\\[inset_0_0_0_1px_var\\(--ui-kit-bd\\)\\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.embarkai-ui-scope .shadow-\\[inset_0_0_0_1px_var\\(--ui-kit-bd\\)\\]{--tw-shadow:inset 0 0 0 1px var(--ui-kit-bd);--tw-shadow-colored:inset 0 0 0 1px 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)}:root{--w3m-z-index:10001!important}.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-secondary:var(--embark-ui-secondary,#e4e4e4);--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-secondary:var(--embark-ui-secondary,#2a2a2a);--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-h\\)\\]:focus-within{background-color:var(--ui-kit-secondary-h)}.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-a\\)\\]:hover{background-color:var(--ui-kit-secondary-a)}.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 .md\\:text-3xl{font-size:1.875rem;line-height:2.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}`;
32155
+ 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 .sticky{position:sticky}.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 .float-right{float:right}.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-\\[30dvw\\]{width:30dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.embarkai-ui-scope .w-\\[60dvw\\]{width:60dvw}.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-7xl{max-width:80rem}.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-\\[420px\\]{max-width:420px}.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-not-allowed{cursor:not-allowed}.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-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-10{padding-left:2.5rem;padding-right:2.5rem}.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-light{font-weight:300}.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-\\[inset_0_0_0_1px_var\\(--ui-kit-bd\\)\\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.embarkai-ui-scope .shadow-\\[inset_0_0_0_1px_var\\(--ui-kit-bd\\)\\]{--tw-shadow:inset 0 0 0 1px var(--ui-kit-bd);--tw-shadow-colored:inset 0 0 0 1px 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 .ring-0{--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 .ring-offset-0{--tw-ring-offset-width:0px}.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)}:root{--w3m-z-index:10001!important}.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-secondary:var(--embark-ui-secondary,#e4e4e4);--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-secondary:var(--embark-ui-secondary,#2a2a2a);--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\\: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-\\[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\\:border-\\[var\\(--ui-kit-bd\\)\\]:focus-within{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .focus-within\\:opacity-100:focus-within{opacity:1}.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-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-within\\:hover\\:opacity-100:hover:focus-within{opacity:1}.embarkai-ui-scope .focus\\:border-\\[var\\(--ui-kit-primary\\)\\]:focus{border-color:var(--ui-kit-primary)}.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\\: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\\: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 .md\\:text-3xl{font-size:1.875rem;line-height:2.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}`;
32356
32156
 
32357
32157
  // src/index.ts
32358
32158
  init_ProviderContext();