@agg-build/ui 1.0.0 → 1.0.2

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.
Files changed (104) hide show
  1. package/dist/{chunk-75IGOQ4N.mjs → chunk-3IY2GA2D.mjs} +69 -45
  2. package/dist/{chunk-I2WBGEWK.mjs → chunk-4ILR2YH3.mjs} +319 -344
  3. package/dist/{chunk-C7T56TJR.mjs → chunk-PEVG67XU.mjs} +369 -19
  4. package/dist/{chunk-6NS7D73S.mjs → chunk-TLGQ4LID.mjs} +1556 -1204
  5. package/dist/{chunk-DMKKNK76.mjs → chunk-WFS772A3.mjs} +800 -592
  6. package/dist/{chunk-CGNDMLQL.mjs → chunk-XDZLCWUZ.mjs} +511 -899
  7. package/dist/{chunk-2QJXRRYP.mjs → chunk-YSCHNVBZ.mjs} +3 -2
  8. package/dist/events.js +2081 -1673
  9. package/dist/events.mjs +3 -3
  10. package/dist/index.js +4890 -4318
  11. package/dist/index.mjs +195 -118
  12. package/dist/modals.js +1568 -1242
  13. package/dist/modals.mjs +3 -3
  14. package/dist/pages.js +3007 -2904
  15. package/dist/pages.mjs +6 -6
  16. package/dist/primitives.js +1507 -1207
  17. package/dist/primitives.mjs +13 -1
  18. package/dist/styles.css +1 -1
  19. package/dist/tailwind.css +1 -1
  20. package/dist/trading.js +3920 -3734
  21. package/dist/trading.mjs +10 -12
  22. package/dist/types/deposit/steps/card-payment-pending.d.mts +3 -1
  23. package/dist/types/deposit/steps/card-payment-pending.d.ts +3 -1
  24. package/dist/types/deposit/steps/crypto-transfer.d.mts +1 -1
  25. package/dist/types/deposit/steps/crypto-transfer.d.ts +1 -1
  26. package/dist/types/events/item/event-list-item.utils.d.mts +57 -0
  27. package/dist/types/events/item/event-list-item.utils.d.ts +57 -0
  28. package/dist/types/events/item-details/event-list-item-details.types.d.mts +16 -1
  29. package/dist/types/events/item-details/event-list-item-details.types.d.ts +16 -1
  30. package/dist/types/events/item-details/settlement-summary.d.mts +6 -2
  31. package/dist/types/events/item-details/settlement-summary.d.ts +6 -2
  32. package/dist/types/events/list/event-list.types.d.mts +1 -1
  33. package/dist/types/events/list/event-list.types.d.ts +1 -1
  34. package/dist/types/events/list/event-list.utils.d.mts +1 -1
  35. package/dist/types/events/list/event-list.utils.d.ts +1 -1
  36. package/dist/types/events/market-details/market-details.types.d.mts +8 -0
  37. package/dist/types/events/market-details/market-details.types.d.ts +8 -0
  38. package/dist/types/pages/event-market/event-market.types.d.mts +1 -3
  39. package/dist/types/pages/event-market/event-market.types.d.ts +1 -3
  40. package/dist/types/primitives/copy-button/index.d.mts +25 -0
  41. package/dist/types/primitives/copy-button/index.d.ts +25 -0
  42. package/dist/types/primitives/icon/index.d.mts +3 -1
  43. package/dist/types/primitives/icon/index.d.ts +3 -1
  44. package/dist/types/primitives/icon/registry.d.mts +8 -0
  45. package/dist/types/primitives/icon/registry.d.ts +8 -0
  46. package/dist/types/primitives/icon/svg/apps.d.mts +5 -0
  47. package/dist/types/primitives/icon/svg/apps.d.ts +5 -0
  48. package/dist/types/primitives/icon/svg/circle-overlap.d.mts +5 -0
  49. package/dist/types/primitives/icon/svg/circle-overlap.d.ts +5 -0
  50. package/dist/types/primitives/index.d.mts +2 -0
  51. package/dist/types/primitives/index.d.ts +2 -0
  52. package/dist/types/primitives/select/index.d.mts +1 -1
  53. package/dist/types/primitives/select/index.d.ts +1 -1
  54. package/dist/types/primitives/select/select.types.d.mts +1 -1
  55. package/dist/types/primitives/select/select.types.d.ts +1 -1
  56. package/dist/types/primitives/select/select.utils.d.mts +0 -1
  57. package/dist/types/primitives/select/select.utils.d.ts +0 -1
  58. package/dist/types/primitives/skeleton/index.d.mts +2 -1
  59. package/dist/types/primitives/skeleton/index.d.ts +2 -1
  60. package/dist/types/primitives/skeleton/views/place-order-skeleton-view.d.mts +4 -0
  61. package/dist/types/primitives/skeleton/views/place-order-skeleton-view.d.ts +4 -0
  62. package/dist/types/primitives/toast/index.d.mts +4 -0
  63. package/dist/types/primitives/toast/index.d.ts +4 -0
  64. package/dist/types/primitives/toast/toast.types.d.mts +31 -0
  65. package/dist/types/primitives/toast/toast.types.d.ts +31 -0
  66. package/dist/types/primitives/typography/index.d.mts +1 -1
  67. package/dist/types/primitives/typography/index.d.ts +1 -1
  68. package/dist/types/primitives/typography/typography.types.d.mts +3 -1
  69. package/dist/types/primitives/typography/typography.types.d.ts +3 -1
  70. package/dist/types/shared/utils.d.mts +3 -1
  71. package/dist/types/shared/utils.d.ts +3 -1
  72. package/dist/types/trading/index.d.mts +0 -1
  73. package/dist/types/trading/index.d.ts +0 -1
  74. package/dist/types/trading/place-order/index.place-order.constants.d.mts +8 -0
  75. package/dist/types/trading/place-order/index.place-order.constants.d.ts +8 -0
  76. package/dist/types/trading/place-order/index.place-order.types.d.mts +6 -1
  77. package/dist/types/trading/place-order/index.place-order.types.d.ts +6 -1
  78. package/dist/types/trading/place-order/index.place-order.utils.d.mts +4 -11
  79. package/dist/types/trading/place-order/index.place-order.utils.d.ts +4 -11
  80. package/dist/types/trading/settlement/index.d.mts +9 -6
  81. package/dist/types/trading/settlement/index.d.ts +9 -6
  82. package/dist/types/trading/settlement/settlement-text-renderer.d.mts +8 -0
  83. package/dist/types/trading/settlement/settlement-text-renderer.d.ts +8 -0
  84. package/dist/types/trading/settlement/settlement-text.utils.d.mts +36 -0
  85. package/dist/types/trading/settlement/settlement-text.utils.d.ts +36 -0
  86. package/dist/types/trading/types.d.mts +0 -19
  87. package/dist/types/trading/types.d.ts +0 -19
  88. package/dist/types/trading/utils.d.mts +0 -1
  89. package/dist/types/trading/utils.d.ts +0 -1
  90. package/dist/types/withdraw/index.d.mts +2 -2
  91. package/dist/types/withdraw/index.d.ts +2 -2
  92. package/dist/types/withdraw/steps/withdraw-amount.d.mts +6 -3
  93. package/dist/types/withdraw/steps/withdraw-amount.d.ts +6 -3
  94. package/dist/types/withdraw/steps/withdraw-success.d.mts +8 -1
  95. package/dist/types/withdraw/steps/withdraw-success.d.ts +8 -1
  96. package/dist/types/withdraw/steps/withdraw-success.utils.d.mts +36 -0
  97. package/dist/types/withdraw/steps/withdraw-success.utils.d.ts +36 -0
  98. package/dist/types/withdraw/withdraw-modal.types.d.mts +25 -15
  99. package/dist/types/withdraw/withdraw-modal.types.d.ts +25 -15
  100. package/package.json +6 -5
  101. package/dist/types/primitives/card/card.constants.d.mts +0 -4
  102. package/dist/types/primitives/card/card.constants.d.ts +0 -4
  103. package/dist/types/trading/settlement/settlement-details.utils.d.mts +0 -7
  104. package/dist/types/trading/settlement/settlement-details.utils.d.ts +0 -7
@@ -10,7 +10,7 @@ import {
10
10
  ChevronLeftIcon,
11
11
  ChevronRightIcon,
12
12
  CloseIcon,
13
- CopyIcon,
13
+ CopyButton,
14
14
  CreateAccountIcon,
15
15
  CreditCardIcon,
16
16
  DocumentIcon,
@@ -37,11 +37,13 @@ import {
37
37
  __spreadValues,
38
38
  cn,
39
39
  formatCompactUsd,
40
+ getMotionClassName,
41
+ shortenAddress,
40
42
  venueLogoLabels
41
- } from "./chunk-6NS7D73S.mjs";
43
+ } from "./chunk-TLGQ4LID.mjs";
42
44
 
43
45
  // src/deposit/index.tsx
44
- import { useEffect as useEffect3, useMemo, useRef, useState as useState3 } from "react";
46
+ import { useEffect as useEffect3, useMemo, useRef, useState as useState2 } from "react";
45
47
  import { useAggAuthState, useAggUiConfig, useDepositAddresses, useLabels as useLabels10 } from "@agg-build/hooks";
46
48
  import { SVM_CHAIN_IDS, useDepositFlow } from "@agg-build/hooks/deposit";
47
49
 
@@ -462,7 +464,6 @@ var CardDepositStep = ({
462
464
  };
463
465
 
464
466
  // src/deposit/steps/crypto-transfer.tsx
465
- import { useState as useState2, useCallback } from "react";
466
467
  import { useLabels as useLabels3 } from "@agg-build/hooks";
467
468
 
468
469
  // src/deposit/components/DepositQRCode.tsx
@@ -556,12 +557,6 @@ var CryptoTransferStep = ({
556
557
  }) => {
557
558
  var _a;
558
559
  const labels = useLabels3();
559
- const [isCopied, setIsCopied] = useState2(false);
560
- const handleCopy = useCallback(() => {
561
- onCopyAddress();
562
- setIsCopied(true);
563
- window.setTimeout(() => setIsCopied(false), 2e3);
564
- }, [onCopyAddress]);
565
560
  const selectedNetworkOption = networkOptions.find((n) => n.value === selectedNetwork);
566
561
  const networkLogoUrl = (_a = selectedNetworkOption == null ? void 0 : selectedNetworkOption.iconUrl) != null ? _a : "";
567
562
  const networkLogo = selectedNetworkOption == null ? void 0 : selectedNetworkOption.icon;
@@ -622,17 +617,15 @@ var CryptoTransferStep = ({
622
617
  /* @__PURE__ */ jsx4("p", { className: "agg-type-label-strong text-agg-foreground", children: labels.deposit.sendCrypto.depositAddressLabel }),
623
618
  /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2 rounded border border-agg-separator bg-agg-secondary h-10 px-3", children: [
624
619
  isLoadingAddress ? /* @__PURE__ */ jsx4("div", { className: "h-4 flex-1 animate-pulse rounded bg-agg-muted-foreground/20" }) : /* @__PURE__ */ jsx4("p", { className: "agg-type-body flex-1 min-w-0 truncate text-agg-foreground", children: depositAddress }),
625
- /* @__PURE__ */ jsxs4(
626
- "button",
620
+ /* @__PURE__ */ jsx4(
621
+ CopyButton,
627
622
  {
628
- type: "button",
623
+ value: depositAddress,
624
+ label: labels.deposit.sendCrypto.copy,
625
+ copiedLabel: labels.deposit.sendCrypto.copied,
629
626
  disabled: isLoadingAddress || !!addressError || !depositAddress,
630
- className: "shrink-0 inline-flex items-center gap-1 text-agg-primary hover:text-agg-primary/80 transition-colors disabled:opacity-40 disabled:cursor-not-allowed",
631
- onClick: handleCopy,
632
- children: [
633
- isCopied ? /* @__PURE__ */ jsx4(CheckCircleIcon, { className: "h-4 w-4" }) : /* @__PURE__ */ jsx4(CopyIcon, { className: "h-4 w-4" }),
634
- /* @__PURE__ */ jsx4("span", { className: "agg-type-label-strong", children: isCopied ? labels.deposit.sendCrypto.copied : labels.deposit.sendCrypto.copy })
635
- ]
627
+ onCopy: onCopyAddress,
628
+ className: "text-agg-primary hover:text-agg-primary/80"
636
629
  }
637
630
  )
638
631
  ] }),
@@ -924,6 +917,7 @@ import { useLabels as useLabels6 } from "@agg-build/hooks";
924
917
  import { jsx as jsx7, jsxs as jsxs7 } from "react/jsx-runtime";
925
918
  var CardPaymentPendingStep = ({
926
919
  providerName,
920
+ walletAddress,
927
921
  onClose,
928
922
  onViewActivity,
929
923
  onChooseAnotherProvider
@@ -946,6 +940,20 @@ var CardPaymentPendingStep = ({
946
940
  /* @__PURE__ */ jsx7("h3", { className: "text-agg-2xl leading-agg-8 font-agg-bold text-agg-foreground", children: labels.deposit.cardFlow.pendingTitle(providerName) }),
947
941
  /* @__PURE__ */ jsx7("p", { className: "agg-type-body text-agg-foreground", children: labels.deposit.cardFlow.pendingDescription })
948
942
  ] }),
943
+ walletAddress ? /* @__PURE__ */ jsxs7("div", { className: "flex w-full flex-col items-center gap-3 rounded-agg-md bg-agg-secondary-hover p-5", children: [
944
+ /* @__PURE__ */ jsx7("p", { className: "agg-type-label text-agg-foreground w-full", children: labels.deposit.cardFlow.pendingWalletAddressHelp }),
945
+ /* @__PURE__ */ jsxs7("div", { className: "flex w-full h-10 items-center gap-2 rounded border border-agg-separator bg-agg-secondary px-3 py-[10px]", children: [
946
+ /* @__PURE__ */ jsx7("p", { className: "agg-type-body flex-1 min-w-0 truncate text-agg-foreground", children: walletAddress }),
947
+ /* @__PURE__ */ jsx7(
948
+ CopyButton,
949
+ {
950
+ value: walletAddress,
951
+ "aria-label": labels.deposit.cardFlow.pendingCopyAddress,
952
+ className: "text-agg-muted-foreground hover:text-agg-foreground"
953
+ }
954
+ )
955
+ ] })
956
+ ] }) : null,
949
957
  /* @__PURE__ */ jsxs7("div", { className: "flex items-start justify-center gap-3", children: [
950
958
  /* @__PURE__ */ jsx7(Button, { variant: "secondary", size: "large", className: "w-[120px]", onClick: onClose, children: labels.common.close }),
951
959
  /* @__PURE__ */ jsx7(Button, { variant: "primary", size: "large", onClick: onViewActivity, children: labels.deposit.cardFlow.viewActivity })
@@ -1189,27 +1197,28 @@ function DepositModalControlled({
1189
1197
  const { walletActions } = useAggUiConfig();
1190
1198
  const labels = useLabels10();
1191
1199
  const defaultMethod = isWeb3User ? "wallet" : "crypto";
1192
- const [step, setStep] = useState3(
1200
+ const [step, setStep] = useState2(
1193
1201
  () => pendingCardPurchaseSummary ? "card-success" : "method"
1194
1202
  );
1195
- const [highlightedMethod, setHighlightedMethod] = useState3(defaultMethod);
1203
+ const [highlightedMethod, setHighlightedMethod] = useState2(defaultMethod);
1196
1204
  const walletSubmitInFlightRef = useRef(false);
1197
- const [isWalletSubmitting, setIsWalletSubmitting] = useState3(false);
1198
- const [cardProviders, setCardProviders] = useState3([]);
1199
- const [quotesLoading, setQuotesLoading] = useState3(false);
1200
- const [quotesError, setQuotesError] = useState3(null);
1201
- const [sessionError, setSessionError] = useState3(null);
1202
- const [pendingProviderName, setPendingProviderName] = useState3("");
1205
+ const [isWalletSubmitting, setIsWalletSubmitting] = useState2(false);
1206
+ const [cardProviders, setCardProviders] = useState2([]);
1207
+ const [quotesLoading, setQuotesLoading] = useState2(false);
1208
+ const [quotesError, setQuotesError] = useState2(null);
1209
+ const [sessionError, setSessionError] = useState2(null);
1210
+ const [pendingProviderName, setPendingProviderName] = useState2("");
1211
+ const [pendingProviderWalletAddress, setPendingProviderWalletAddress] = useState2("");
1203
1212
  useEffect3(() => {
1204
1213
  if (pendingCardPurchaseSummary) {
1205
1214
  clearPendingCardSession();
1206
1215
  setStep("card-success");
1207
1216
  }
1208
1217
  }, [pendingCardPurchaseSummary]);
1209
- const [walletChainId, setWalletChainId] = useState3("");
1210
- const [walletToken, setWalletToken] = useState3("");
1211
- const [sendChainId, setSendChainId] = useState3("");
1212
- const [sendToken, setSendToken] = useState3("");
1218
+ const [walletChainId, setWalletChainId] = useState2("");
1219
+ const [walletToken, setWalletToken] = useState2("");
1220
+ const [sendChainId, setSendChainId] = useState2("");
1221
+ const [sendToken, setSendToken] = useState2("");
1213
1222
  const {
1214
1223
  isReady,
1215
1224
  isTimedOut,
@@ -1373,6 +1382,7 @@ function DepositModalControlled({
1373
1382
  });
1374
1383
  window.open(session.widgetUrl, "_blank", "noopener,noreferrer");
1375
1384
  setPendingProviderName((_m = selectedProvider == null ? void 0 : selectedProvider.name) != null ? _m : providerId);
1385
+ setPendingProviderWalletAddress(depositAddr);
1376
1386
  setStep("card-payment-pending");
1377
1387
  } catch (err) {
1378
1388
  setSessionError(err instanceof Error ? err.message : "Failed to create session");
@@ -1390,6 +1400,7 @@ function DepositModalControlled({
1390
1400
  setQuotesError(null);
1391
1401
  setSessionError(null);
1392
1402
  setPendingProviderName("");
1403
+ setPendingProviderWalletAddress("");
1393
1404
  setStep("card-deposit");
1394
1405
  };
1395
1406
  const handleDoneCryptoTransfer = () => {
@@ -1419,6 +1430,7 @@ function DepositModalControlled({
1419
1430
  setQuotesError(null);
1420
1431
  setSessionError(null);
1421
1432
  setPendingProviderName("");
1433
+ setPendingProviderWalletAddress("");
1422
1434
  clearPendingCardSession();
1423
1435
  }
1424
1436
  onOpenChange(isOpen);
@@ -1559,6 +1571,7 @@ function DepositModalControlled({
1559
1571
  CardPaymentPendingStep,
1560
1572
  {
1561
1573
  providerName: pendingProviderName,
1574
+ walletAddress: pendingProviderWalletAddress || void 0,
1562
1575
  onClose: () => handleOpenChange(false),
1563
1576
  onViewActivity: handleViewActivity,
1564
1577
  onChooseAnotherProvider: handleChooseAnotherProvider
@@ -1595,11 +1608,6 @@ function DepositModalControlled({
1595
1608
  setSendChainId(id);
1596
1609
  setSendToken("");
1597
1610
  },
1598
- onCopyAddress: () => {
1599
- var _a2;
1600
- if (depositAddress) (_a2 = navigator.clipboard) == null ? void 0 : _a2.writeText(depositAddress).catch(() => {
1601
- });
1602
- },
1603
1611
  onDone: handleDoneCryptoTransfer
1604
1612
  }
1605
1613
  ) : null
@@ -1614,42 +1622,12 @@ var DepositModal = (props) => {
1614
1622
  DepositModal.displayName = "DepositModal";
1615
1623
 
1616
1624
  // src/withdraw/index.tsx
1617
- import { useMemo as useMemo2, useState as useState4 } from "react";
1625
+ import { useEffect as useEffect5, useState as useState4 } from "react";
1626
+ import { useWithdrawFlow } from "@agg-build/hooks/withdraw";
1618
1627
 
1619
1628
  // src/withdraw/steps/withdraw-method.tsx
1620
1629
  import { useLabels as useLabels11 } from "@agg-build/hooks";
1621
1630
  import { Fragment as Fragment7, jsx as jsx12, jsxs as jsxs12 } from "react/jsx-runtime";
1622
- var WithdrawMethodCard = ({
1623
- icon,
1624
- title,
1625
- description,
1626
- onContinue
1627
- }) => /* @__PURE__ */ jsxs12(
1628
- "div",
1629
- {
1630
- className: cn(
1631
- "flex items-center gap-3 sm:gap-4 rounded-xl border border-agg-separator bg-agg-secondary p-3 sm:p-4",
1632
- "hover:bg-agg-secondary-hover transition-colors cursor-pointer"
1633
- ),
1634
- role: "button",
1635
- tabIndex: 0,
1636
- onClick: onContinue,
1637
- onKeyDown: (e) => {
1638
- if (e.key === "Enter" || e.key === " ") {
1639
- e.preventDefault();
1640
- onContinue();
1641
- }
1642
- },
1643
- children: [
1644
- /* @__PURE__ */ jsx12("div", { className: "shrink-0 flex items-center justify-center h-10 w-10 rounded-lg bg-agg-secondary-hover", children: icon }),
1645
- /* @__PURE__ */ jsxs12("div", { className: "flex-1 min-w-0", children: [
1646
- /* @__PURE__ */ jsx12("p", { className: "agg-type-body-strong text-agg-foreground", children: title }),
1647
- /* @__PURE__ */ jsx12("p", { className: "agg-type-label text-agg-muted-foreground", children: description })
1648
- ] }),
1649
- /* @__PURE__ */ jsx12("div", { className: "shrink-0 text-agg-muted-foreground", children: /* @__PURE__ */ jsx12(ChevronRightIcon, { className: "h-5 w-5" }) })
1650
- ]
1651
- }
1652
- );
1653
1631
  var WithdrawMethodStep = ({
1654
1632
  balance,
1655
1633
  onSelectMethod
@@ -1663,13 +1641,30 @@ var WithdrawMethodStep = ({
1663
1641
  " ",
1664
1642
  formatCompactUsd(balance)
1665
1643
  ] }),
1666
- /* @__PURE__ */ jsx12(
1667
- WithdrawMethodCard,
1644
+ /* @__PURE__ */ jsxs12(
1645
+ "div",
1668
1646
  {
1669
- icon: /* @__PURE__ */ jsx12(CreditCardIcon, { className: "h-6 w-6 text-agg-muted-foreground" }),
1670
- title: labels.withdraw.methods.cardTitle,
1671
- description: labels.withdraw.methods.cardDescription,
1672
- onContinue: () => onSelectMethod("card")
1647
+ className: cn(
1648
+ "flex items-center gap-3 sm:gap-4 rounded-xl border border-agg-separator bg-agg-secondary p-3 sm:p-4",
1649
+ "hover:bg-agg-secondary-hover transition-colors cursor-pointer"
1650
+ ),
1651
+ role: "button",
1652
+ tabIndex: 0,
1653
+ onClick: () => onSelectMethod("wallet"),
1654
+ onKeyDown: (e) => {
1655
+ if (e.key === "Enter" || e.key === " ") {
1656
+ e.preventDefault();
1657
+ onSelectMethod("wallet");
1658
+ }
1659
+ },
1660
+ children: [
1661
+ /* @__PURE__ */ jsx12("div", { className: "shrink-0 flex items-center justify-center h-10 w-10 rounded-lg bg-agg-secondary-hover", children: /* @__PURE__ */ jsx12(WalletIcon, { className: "h-6 w-6 text-agg-muted-foreground" }) }),
1662
+ /* @__PURE__ */ jsxs12("div", { className: "flex-1 min-w-0", children: [
1663
+ /* @__PURE__ */ jsx12("p", { className: "agg-type-body-strong text-agg-foreground", children: labels.withdraw.methods.walletTitle }),
1664
+ /* @__PURE__ */ jsx12("p", { className: "agg-type-label text-agg-muted-foreground", children: labels.withdraw.methods.walletDescription })
1665
+ ] }),
1666
+ /* @__PURE__ */ jsx12("div", { className: "shrink-0 text-agg-muted-foreground", children: /* @__PURE__ */ jsx12(ChevronRightIcon, { className: "h-5 w-5" }) })
1667
+ ]
1673
1668
  }
1674
1669
  )
1675
1670
  ] }) })
@@ -1681,26 +1676,34 @@ import { useLabels as useLabels12 } from "@agg-build/hooks";
1681
1676
  import { Fragment as Fragment8, jsx as jsx13, jsxs as jsxs13 } from "react/jsx-runtime";
1682
1677
  var WithdrawAmountStep = ({
1683
1678
  amount,
1684
- currency,
1685
1679
  destinationWallet,
1680
+ balanceDisplay,
1686
1681
  tokenOptions,
1687
1682
  networkOptions,
1688
1683
  selectedToken,
1689
1684
  selectedNetwork,
1685
+ isConfirming = false,
1686
+ error,
1690
1687
  onBack,
1691
1688
  onAmountChange,
1692
- onCurrencyChange,
1689
+ onDestinationChange,
1693
1690
  onTokenChange,
1694
1691
  onNetworkChange,
1692
+ onMaxClick,
1695
1693
  onContinue
1696
1694
  }) => {
1697
1695
  const labels = useLabels12();
1698
- const isValid = Number(amount) > 0;
1696
+ const SOLANA_CHAIN_ID = "792703809";
1697
+ const isSolanaDest = selectedNetwork === SOLANA_CHAIN_ID;
1698
+ const trimmedDestination = destinationWallet.trim();
1699
+ const isValidAddress = isSolanaDest ? /^[1-9A-HJ-NP-Za-km-z]{32,44}$/.test(trimmedDestination) : /^0x[a-fA-F0-9]{40}$/.test(trimmedDestination);
1700
+ const isValid = Number(amount) > 0 && isValidAddress;
1701
+ const isDisabled = !isValid || isConfirming;
1699
1702
  return /* @__PURE__ */ jsxs13(Fragment8, { children: [
1700
1703
  /* @__PURE__ */ jsx13(
1701
1704
  Modal.Header,
1702
1705
  {
1703
- title: labels.withdraw.cardFlow.title,
1706
+ title: labels.withdraw.walletFlow.title,
1704
1707
  hideBorder: true,
1705
1708
  leftElement: /* @__PURE__ */ jsx13(
1706
1709
  "button",
@@ -1708,323 +1711,529 @@ var WithdrawAmountStep = ({
1708
1711
  type: "button",
1709
1712
  className: "mr-2 flex items-center justify-center text-agg-foreground transition-colors hover:cursor-pointer hover:text-agg-foreground/80",
1710
1713
  onClick: onBack,
1711
- "aria-label": "Go back",
1714
+ "aria-label": labels.withdraw.back,
1712
1715
  children: /* @__PURE__ */ jsx13(ChevronLeftIcon, { className: "h-6 w-6" })
1713
1716
  }
1714
1717
  )
1715
1718
  }
1716
1719
  ),
1717
1720
  /* @__PURE__ */ jsx13(Modal.Body, { classNames: { root: "px-5 pt-0 pb-6 sm:px-8 sm:pt-0 sm:pb-8" }, children: /* @__PURE__ */ jsxs13("div", { className: "flex flex-col gap-5", children: [
1718
- /* @__PURE__ */ jsxs13("div", { className: "flex gap-3 items-end", children: [
1719
- /* @__PURE__ */ jsxs13("div", { className: "flex-1 flex flex-col gap-2", children: [
1720
- /* @__PURE__ */ jsx13("p", { className: "agg-type-label-strong text-agg-foreground", children: labels.withdraw.cardFlow.amountLabel }),
1721
- /* @__PURE__ */ jsxs13("div", { className: "flex h-10 items-center gap-2 rounded border border-agg-separator bg-agg-secondary px-3", children: [
1722
- /* @__PURE__ */ jsx13(
1723
- "input",
1724
- {
1725
- type: "text",
1726
- inputMode: "decimal",
1727
- "aria-label": labels.withdraw.cardFlow.amountLabel,
1728
- className: cn(
1729
- "agg-type-body w-full bg-transparent outline-none",
1730
- isValid ? "text-agg-foreground" : "text-agg-muted-foreground"
1731
- ),
1732
- placeholder: "0.00",
1733
- value: amount,
1734
- onChange: (event) => onAmountChange(event.target.value)
1735
- }
1736
- ),
1737
- /* @__PURE__ */ jsx13("span", { className: "agg-type-body text-agg-muted-foreground", children: "$" })
1738
- ] })
1739
- ] }),
1740
- /* @__PURE__ */ jsx13("div", { className: "w-[100px]", children: /* @__PURE__ */ jsx13(
1741
- Select,
1721
+ /* @__PURE__ */ jsxs13("div", { className: "flex flex-col gap-2", children: [
1722
+ /* @__PURE__ */ jsx13("p", { className: "agg-type-label-strong text-agg-foreground", children: labels.withdraw.walletFlow.recipientAddressLabel }),
1723
+ /* @__PURE__ */ jsx13(
1724
+ "input",
1742
1725
  {
1743
- items: [{ value: currency, label: currency }],
1744
- value: currency,
1745
- onChange: onCurrencyChange,
1746
- ariaLabel: labels.withdraw.cardFlow.currencyLabel
1726
+ type: "text",
1727
+ "aria-label": labels.withdraw.walletFlow.recipientAddressLabel,
1728
+ className: cn(
1729
+ "agg-type-body w-full h-10 rounded border border-agg-separator bg-agg-secondary px-3 outline-none",
1730
+ "text-agg-foreground placeholder:text-agg-muted-foreground",
1731
+ "focus:border-agg-primary transition-colors"
1732
+ ),
1733
+ placeholder: isSolanaDest ? "FwR3..." : "0x971d...",
1734
+ value: destinationWallet,
1735
+ onChange: (e) => onDestinationChange(e.target.value)
1747
1736
  }
1748
- ) })
1737
+ )
1749
1738
  ] }),
1750
- /* @__PURE__ */ jsxs13("div", { className: "flex gap-5", children: [
1739
+ /* @__PURE__ */ jsxs13("div", { className: "flex flex-col gap-2", children: [
1740
+ /* @__PURE__ */ jsxs13("div", { className: "flex items-center justify-between", children: [
1741
+ /* @__PURE__ */ jsx13("p", { className: "agg-type-label-strong text-agg-foreground", children: labels.withdraw.walletFlow.amountLabel }),
1742
+ /* @__PURE__ */ jsx13("p", { className: "agg-type-label text-agg-muted-foreground", children: balanceDisplay })
1743
+ ] }),
1744
+ /* @__PURE__ */ jsxs13("div", { className: "flex h-10 items-center gap-2 rounded border border-agg-separator bg-agg-secondary px-3 focus-within:border-agg-primary transition-colors", children: [
1745
+ /* @__PURE__ */ jsx13(
1746
+ "input",
1747
+ {
1748
+ type: "text",
1749
+ inputMode: "decimal",
1750
+ "aria-label": labels.withdraw.walletFlow.amountLabel,
1751
+ className: cn(
1752
+ "agg-type-body flex-1 min-w-0 bg-transparent outline-none",
1753
+ Number(amount) > 0 ? "text-agg-foreground" : "text-agg-muted-foreground"
1754
+ ),
1755
+ placeholder: "0.00",
1756
+ value: amount,
1757
+ onChange: (e) => onAmountChange(e.target.value)
1758
+ }
1759
+ ),
1760
+ /* @__PURE__ */ jsx13("span", { className: "agg-type-body text-agg-muted-foreground shrink-0", children: selectedToken }),
1761
+ onMaxClick ? /* @__PURE__ */ jsx13(
1762
+ "button",
1763
+ {
1764
+ type: "button",
1765
+ className: "agg-type-label-strong text-agg-primary hover:opacity-80 transition-opacity cursor-pointer shrink-0",
1766
+ onClick: onMaxClick,
1767
+ children: labels.withdraw.walletFlow.max
1768
+ }
1769
+ ) : null
1770
+ ] })
1771
+ ] }),
1772
+ /* @__PURE__ */ jsxs13("div", { className: "flex flex-col gap-3 sm:flex-row sm:gap-5", children: [
1751
1773
  /* @__PURE__ */ jsxs13("div", { className: "flex-1 flex flex-col gap-2 min-w-0", children: [
1752
- /* @__PURE__ */ jsx13("p", { className: "agg-type-label-strong text-agg-foreground", children: labels.withdraw.cardFlow.tokenLabel }),
1774
+ /* @__PURE__ */ jsx13("p", { className: "agg-type-label-strong text-agg-foreground", children: labels.withdraw.walletFlow.tokenLabel }),
1753
1775
  /* @__PURE__ */ jsx13(
1754
1776
  Select,
1755
1777
  {
1756
1778
  items: tokenOptions,
1757
1779
  value: selectedToken,
1758
1780
  onChange: onTokenChange,
1759
- ariaLabel: labels.withdraw.cardFlow.tokenLabel
1781
+ ariaLabel: labels.withdraw.walletFlow.tokenLabel
1760
1782
  }
1761
1783
  )
1762
1784
  ] }),
1763
1785
  /* @__PURE__ */ jsxs13("div", { className: "flex-1 flex flex-col gap-2 min-w-0", children: [
1764
- /* @__PURE__ */ jsx13("p", { className: "agg-type-label-strong text-agg-foreground", children: labels.withdraw.cardFlow.networkLabel }),
1786
+ /* @__PURE__ */ jsx13("p", { className: "agg-type-label-strong text-agg-foreground", children: labels.withdraw.walletFlow.networkLabel }),
1765
1787
  /* @__PURE__ */ jsx13(
1766
1788
  Select,
1767
1789
  {
1768
1790
  items: networkOptions,
1769
1791
  value: selectedNetwork,
1770
1792
  onChange: onNetworkChange,
1771
- ariaLabel: labels.withdraw.cardFlow.networkLabel
1793
+ ariaLabel: labels.withdraw.walletFlow.networkLabel
1772
1794
  }
1773
1795
  )
1774
1796
  ] })
1775
1797
  ] }),
1776
- /* @__PURE__ */ jsxs13("div", { className: "flex flex-col gap-2", children: [
1777
- /* @__PURE__ */ jsx13("p", { className: "agg-type-label-strong text-agg-foreground", children: labels.withdraw.cardFlow.destinationWalletLabel }),
1778
- /* @__PURE__ */ jsx13("div", { className: "flex h-10 items-center rounded border border-agg-separator bg-agg-secondary px-3", children: /* @__PURE__ */ jsx13("p", { className: "agg-type-body truncate text-agg-foreground", children: destinationWallet }) })
1779
- ] }),
1780
1798
  /* @__PURE__ */ jsx13(
1781
1799
  Button,
1782
1800
  {
1783
- variant: isValid ? "primary" : "secondary",
1801
+ variant: isValid && !isConfirming ? "primary" : "secondary",
1784
1802
  size: "large",
1785
1803
  className: "w-full",
1786
- disabled: !isValid,
1804
+ disabled: isDisabled,
1787
1805
  onClick: onContinue,
1788
- children: labels.withdraw.cardFlow.getQuotes
1806
+ children: isConfirming ? labels.common.loading : labels.withdraw.walletFlow.confirm
1789
1807
  }
1790
- )
1808
+ ),
1809
+ error ? /* @__PURE__ */ jsx13("p", { className: "agg-type-label text-agg-error text-center", role: "alert", children: error }) : null
1791
1810
  ] }) })
1792
1811
  ] });
1793
1812
  };
1794
1813
 
1795
- // src/withdraw/steps/withdraw-provider.tsx
1796
- import { useLabels as useLabels13 } from "@agg-build/hooks";
1797
- import { Fragment as Fragment9, jsx as jsx14, jsxs as jsxs14 } from "react/jsx-runtime";
1798
- var WithdrawProviderItem = ({ provider, onSelect }) => {
1799
- const labels = useLabels13();
1800
- const badgeText = provider.badge === "best" ? labels.withdraw.cardFlow.providerBadges.best : provider.badge === "low-kyc" ? labels.withdraw.cardFlow.providerBadges.lowKyc : void 0;
1801
- return /* @__PURE__ */ jsx14(
1802
- "button",
1803
- {
1804
- type: "button",
1805
- className: "w-full rounded-xl border border-agg-separator px-4 py-3 text-left bg-agg-secondary hover:bg-agg-secondary-hover transition-colors cursor-pointer",
1806
- onClick: () => onSelect(provider.id),
1807
- children: /* @__PURE__ */ jsxs14("div", { className: "flex items-center justify-between gap-4", children: [
1808
- /* @__PURE__ */ jsxs14("div", { className: "flex items-center gap-2", children: [
1809
- /* @__PURE__ */ jsx14("p", { className: "text-agg-base leading-agg-6 font-agg-bold text-agg-foreground", children: provider.name }),
1810
- badgeText ? /* @__PURE__ */ jsx14(
1811
- "span",
1812
- {
1813
- className: `rounded border px-2 py-[2px] text-[10px] leading-[14px] font-agg-bold uppercase ${provider.badge === "best" ? "border-agg-primary/50 text-agg-primary bg-agg-secondary" : "border-agg-separator text-agg-foreground bg-agg-secondary"}`,
1814
- children: badgeText
1815
- }
1816
- ) : null
1817
- ] }),
1818
- /* @__PURE__ */ jsxs14("div", { className: "flex items-center gap-4", children: [
1819
- /* @__PURE__ */ jsxs14("div", { className: "text-right", children: [
1820
- /* @__PURE__ */ jsx14("p", { className: "agg-type-body text-agg-foreground", children: provider.quote }),
1821
- /* @__PURE__ */ jsxs14("p", { className: "agg-type-label text-agg-muted-foreground", children: [
1822
- labels.withdraw.cardFlow.feeLabel,
1823
- " ",
1824
- provider.fee
1825
- ] })
1826
- ] }),
1827
- /* @__PURE__ */ jsx14(ChevronRightIcon, { className: "h-5 w-5 text-agg-muted-foreground" })
1828
- ] })
1829
- ] })
1830
- }
1831
- );
1814
+ // src/withdraw/steps/withdraw-success.tsx
1815
+ import { useEffect as useEffect4, useState as useState3 } from "react";
1816
+ import { useLabels as useLabels13, useSdkUiConfig } from "@agg-build/hooks";
1817
+ import { useWithdrawalLifecycle } from "@agg-build/hooks/withdraw";
1818
+
1819
+ // src/withdraw/steps/withdraw-success.utils.ts
1820
+ var CHAIN_LABELS = {
1821
+ 1: "Ethereum",
1822
+ 10: "Optimism",
1823
+ 56: "BNB Chain",
1824
+ 137: "Polygon",
1825
+ 8453: "Base",
1826
+ 42161: "Arbitrum",
1827
+ 43114: "Avalanche",
1828
+ 11155111: "Sepolia",
1829
+ 792703809: "Solana"
1832
1830
  };
1833
- var WithdrawProviderStep = ({
1834
- token,
1835
- amount,
1836
- currency,
1837
- providers,
1838
- onBack,
1839
- onSelectProvider
1831
+ var resolveChainLabel = (chainId) => {
1832
+ var _a;
1833
+ return (_a = CHAIN_LABELS[chainId]) != null ? _a : `Chain ${chainId}`;
1834
+ };
1835
+ var legStepStatusFor = (legStatus) => {
1836
+ switch (legStatus) {
1837
+ case "confirmed":
1838
+ return "complete";
1839
+ case "failed":
1840
+ return "error";
1841
+ case "submitted":
1842
+ case "planned":
1843
+ default:
1844
+ return "pending";
1845
+ }
1846
+ };
1847
+ var legStepLabel = (leg, labels) => {
1848
+ if (leg.type === "bridge") {
1849
+ return labels.bridge(resolveChainLabel(leg.sourceChainId), resolveChainLabel(leg.destChainId));
1850
+ }
1851
+ return labels.transfer(resolveChainLabel(leg.destChainId));
1852
+ };
1853
+ var finalStepStatusFor = (status) => {
1854
+ switch (status) {
1855
+ case "completed":
1856
+ return "complete";
1857
+ case "partial":
1858
+ return "warning";
1859
+ case "failed":
1860
+ return "error";
1861
+ case "pending":
1862
+ case "bridging":
1863
+ case "transferring":
1864
+ default:
1865
+ return "pending";
1866
+ }
1867
+ };
1868
+ var finalStepLabelFor = (status, pending, walletFlowLabels) => {
1869
+ var _a;
1870
+ if (pending || status === null) {
1871
+ return walletFlowLabels.lifecycle.pending;
1872
+ }
1873
+ return (_a = walletFlowLabels.lifecycle[status]) != null ? _a : walletFlowLabels.lifecycle.pending;
1874
+ };
1875
+ var buildWithdrawalLifecycleSteps = ({
1876
+ pending,
1877
+ status,
1878
+ legs,
1879
+ walletFlowLabels
1840
1880
  }) => {
1841
- const labels = useLabels13();
1842
- return /* @__PURE__ */ jsxs14(Fragment9, { children: [
1843
- /* @__PURE__ */ jsx14(
1844
- Modal.Header,
1845
- {
1846
- title: labels.withdraw.cardFlow.selectProviderTitle,
1847
- hideBorder: true,
1848
- leftElement: /* @__PURE__ */ jsx14(
1849
- "button",
1850
- {
1851
- type: "button",
1852
- className: "mr-2 flex items-center justify-center text-agg-foreground transition-colors hover:cursor-pointer hover:text-agg-foreground/80",
1853
- onClick: onBack,
1854
- "aria-label": labels.withdraw.back,
1855
- children: /* @__PURE__ */ jsx14(ChevronLeftIcon, { className: "h-6 w-6" })
1856
- }
1857
- )
1858
- }
1859
- ),
1860
- /* @__PURE__ */ jsx14(Modal.Body, { classNames: { root: "px-5 pt-0 pb-6 sm:px-8 sm:pt-0 sm:pb-8" }, children: /* @__PURE__ */ jsxs14("div", { className: "flex flex-col gap-4", children: [
1861
- /* @__PURE__ */ jsxs14("p", { className: "agg-type-body text-agg-foreground", children: [
1862
- /* @__PURE__ */ jsx14("span", { className: "font-agg-bold", children: token }),
1863
- " $",
1864
- amount,
1865
- " ",
1866
- currency
1867
- ] }),
1868
- /* @__PURE__ */ jsx14("div", { className: "flex flex-col gap-4", children: providers.map((provider) => /* @__PURE__ */ jsx14(
1869
- WithdrawProviderItem,
1870
- {
1871
- provider,
1872
- onSelect: onSelectProvider
1873
- },
1874
- provider.id
1875
- )) })
1876
- ] }) })
1877
- ] });
1881
+ const stepLabels = walletFlowLabels.lifecycle.steps;
1882
+ const legSteps = legs.map((leg, index) => ({
1883
+ id: `leg-${index}-${leg.type}-${leg.sourceChainId}-${leg.destChainId}`,
1884
+ label: legStepLabel(leg, stepLabels),
1885
+ status: legStepStatusFor(leg.status)
1886
+ }));
1887
+ const groups = legSteps.length > 0 ? [legSteps] : [];
1888
+ const finalStep = {
1889
+ id: `final-${status != null ? status : "pending"}`,
1890
+ label: finalStepLabelFor(status, pending, walletFlowLabels),
1891
+ status: finalStepStatusFor(status != null ? status : "pending")
1892
+ };
1893
+ return {
1894
+ groups,
1895
+ finalStep,
1896
+ hasDetails: legSteps.length > 0
1897
+ };
1878
1898
  };
1879
1899
 
1880
1900
  // src/withdraw/steps/withdraw-success.tsx
1881
- import { useLabels as useLabels14 } from "@agg-build/hooks";
1882
- import { jsx as jsx15, jsxs as jsxs15 } from "react/jsx-runtime";
1883
- var SummaryRow3 = ({ label, value }) => /* @__PURE__ */ jsxs15("div", { className: "flex items-center justify-between border-b border-agg-separator py-2 last:border-b-0", children: [
1884
- /* @__PURE__ */ jsx15("p", { className: "text-[12px] leading-4 font-agg-bold uppercase text-agg-muted-foreground", children: label }),
1885
- /* @__PURE__ */ jsx15("p", { className: "agg-type-label text-agg-foreground", children: value })
1901
+ import { jsx as jsx14, jsxs as jsxs14 } from "react/jsx-runtime";
1902
+ var SummaryRow3 = ({ label, value }) => /* @__PURE__ */ jsxs14("div", { className: "flex items-center justify-between border-b border-agg-separator py-2 last:border-b-0", children: [
1903
+ /* @__PURE__ */ jsx14("p", { className: "text-[12px] leading-4 font-agg-bold uppercase text-agg-muted-foreground", children: label }),
1904
+ /* @__PURE__ */ jsx14("p", { className: "agg-type-label text-agg-foreground", children: value })
1886
1905
  ] });
1906
+ var LoadingGlyph = ({
1907
+ className,
1908
+ enableAnimations
1909
+ }) => /* @__PURE__ */ jsx14(
1910
+ "span",
1911
+ {
1912
+ "aria-hidden": "true",
1913
+ className: cn(
1914
+ "inline-block rounded-full border-2 border-current border-r-transparent",
1915
+ getMotionClassName(enableAnimations, "animate-spin"),
1916
+ className
1917
+ )
1918
+ }
1919
+ );
1920
+ var stepIconClassNameFor = (status) => {
1921
+ switch (status) {
1922
+ case "complete":
1923
+ return "text-agg-primary";
1924
+ case "warning":
1925
+ return "text-agg-warning";
1926
+ case "error":
1927
+ return "text-agg-error";
1928
+ case "pending":
1929
+ default:
1930
+ return "text-agg-primary";
1931
+ }
1932
+ };
1933
+ var stepIconNameFor = (status) => {
1934
+ return status === "warning" || status === "error" ? "warning-filled" : "check-circle";
1935
+ };
1887
1936
  var WithdrawSuccessStep = ({
1888
1937
  summary,
1938
+ tokenSymbol,
1939
+ withdrawalId,
1889
1940
  onDone,
1890
1941
  onClose
1891
1942
  }) => {
1892
- const labels = useLabels14();
1893
- return /* @__PURE__ */ jsx15("div", { className: "relative", children: /* @__PURE__ */ jsxs15(Modal.Body, { classNames: { root: "px-5 py-8 sm:px-8 sm:py-10" }, children: [
1894
- /* @__PURE__ */ jsx15(
1943
+ var _a;
1944
+ const labels = useLabels13();
1945
+ const {
1946
+ features: { enableAnimations }
1947
+ } = useSdkUiConfig();
1948
+ const { state } = useWithdrawalLifecycle(withdrawalId);
1949
+ const [isTimelineExpanded, setIsTimelineExpanded] = useState3(true);
1950
+ const walletFlowLabels = labels.withdraw.walletFlow;
1951
+ const { groups, finalStep, hasDetails } = buildWithdrawalLifecycleSteps({
1952
+ pending: state.pending,
1953
+ status: state.status,
1954
+ legs: state.legs,
1955
+ walletFlowLabels
1956
+ });
1957
+ useEffect4(() => {
1958
+ if (!state.terminal) return;
1959
+ if (state.status !== "completed") return;
1960
+ const timer = window.setTimeout(() => onClose(), 1500);
1961
+ return () => window.clearTimeout(timer);
1962
+ }, [onClose, state.status, state.terminal]);
1963
+ const { titleCopy, descriptionCopy } = (() => {
1964
+ if (state.terminal && state.status === "completed") {
1965
+ return {
1966
+ titleCopy: walletFlowLabels.successTitleCompleted,
1967
+ descriptionCopy: walletFlowLabels.successDescriptionCompleted(tokenSymbol)
1968
+ };
1969
+ }
1970
+ if (state.terminal && state.status === "partial") {
1971
+ return {
1972
+ titleCopy: walletFlowLabels.successTitlePartial,
1973
+ descriptionCopy: walletFlowLabels.successDescriptionPartial(tokenSymbol)
1974
+ };
1975
+ }
1976
+ if (state.terminal && state.status === "failed") {
1977
+ return {
1978
+ titleCopy: walletFlowLabels.successTitleFailed,
1979
+ descriptionCopy: walletFlowLabels.successDescriptionFailed(tokenSymbol)
1980
+ };
1981
+ }
1982
+ return {
1983
+ titleCopy: walletFlowLabels.successTitle,
1984
+ descriptionCopy: walletFlowLabels.successDescription(tokenSymbol)
1985
+ };
1986
+ })();
1987
+ return /* @__PURE__ */ jsx14("div", { className: "relative", children: /* @__PURE__ */ jsxs14(Modal.Body, { classNames: { root: "px-5 py-8 sm:px-8 sm:py-10" }, children: [
1988
+ /* @__PURE__ */ jsx14(
1895
1989
  "button",
1896
1990
  {
1897
1991
  type: "button",
1898
- className: "absolute right-8 top-7 flex items-center justify-center text-agg-foreground transition-colors hover:text-agg-foreground/80",
1992
+ className: "absolute right-8 top-7 flex items-center justify-center text-agg-foreground transition-colors hover:text-agg-foreground/80 cursor-pointer",
1899
1993
  onClick: onClose,
1900
1994
  "aria-label": labels.common.close,
1901
- children: /* @__PURE__ */ jsx15(CloseIcon, { className: "h-6 w-6" })
1995
+ children: /* @__PURE__ */ jsx14(CloseIcon, { className: "h-6 w-6" })
1902
1996
  }
1903
1997
  ),
1904
- /* @__PURE__ */ jsxs15("div", { className: "flex flex-col items-center gap-8", children: [
1905
- /* @__PURE__ */ jsx15("div", { className: "flex h-[60px] w-[60px] items-center justify-center rounded-full border border-agg-success/50 bg-agg-success/15", children: /* @__PURE__ */ jsx15(SuccessCheckIcon, { className: "h-6 w-6 text-agg-success" }) }),
1906
- /* @__PURE__ */ jsxs15("div", { className: "flex flex-col items-center gap-3 text-center", children: [
1907
- /* @__PURE__ */ jsx15("h3", { className: "text-agg-2xl leading-agg-8 font-agg-bold text-agg-foreground", children: labels.withdraw.cardFlow.successTitle }),
1908
- /* @__PURE__ */ jsx15("p", { className: "agg-type-body text-agg-foreground", children: labels.withdraw.cardFlow.successDescription })
1909
- ] }),
1910
- /* @__PURE__ */ jsxs15("div", { className: "w-full rounded-lg border border-agg-separator bg-agg-secondary px-3 py-1", children: [
1911
- /* @__PURE__ */ jsx15(
1912
- SummaryRow3,
1998
+ /* @__PURE__ */ jsxs14("div", { className: "flex flex-col items-center gap-8", children: [
1999
+ /* @__PURE__ */ jsxs14("div", { className: "flex flex-col items-center gap-3 text-center", children: [
2000
+ /* @__PURE__ */ jsx14("h3", { className: "text-agg-2xl leading-agg-8 font-agg-bold text-agg-foreground", children: titleCopy }),
2001
+ /* @__PURE__ */ jsx14(
2002
+ "p",
1913
2003
  {
1914
- label: labels.withdraw.summary.amountReceived,
1915
- value: summary.amountReceived
2004
+ className: "agg-type-body text-agg-muted-foreground",
2005
+ "data-lifecycle-status": (_a = state.status) != null ? _a : "submitted",
2006
+ "data-lifecycle-terminal": state.terminal ? "true" : "false",
2007
+ children: descriptionCopy
1916
2008
  }
1917
2009
  ),
1918
- /* @__PURE__ */ jsx15(SummaryRow3, { label: labels.withdraw.summary.network, value: summary.network }),
1919
- /* @__PURE__ */ jsx15(
1920
- SummaryRow3,
2010
+ state.errorMessage ? /* @__PURE__ */ jsx14("p", { className: "agg-type-body text-agg-destructive", children: state.errorMessage }) : null
2011
+ ] }),
2012
+ hasDetails || !state.pending ? /* @__PURE__ */ jsxs14("div", { className: "agg-withdraw-success-timeline flex w-full flex-col gap-2", children: [
2013
+ hasDetails ? /* @__PURE__ */ jsx14(
2014
+ "div",
1921
2015
  {
1922
- label: labels.withdraw.cardFlow.summary.provider,
1923
- value: summary.provider
2016
+ "aria-hidden": !isTimelineExpanded,
2017
+ className: cn(
2018
+ "grid overflow-hidden",
2019
+ isTimelineExpanded ? "grid-rows-[1fr] opacity-100" : "grid-rows-[0fr] opacity-0",
2020
+ !isTimelineExpanded && "pointer-events-none",
2021
+ getMotionClassName(
2022
+ enableAnimations,
2023
+ "transition-[grid-template-rows,opacity] duration-200 ease-[cubic-bezier(0.22,1,0.36,1)]"
2024
+ )
2025
+ ),
2026
+ children: /* @__PURE__ */ jsx14("div", { className: "min-h-0", children: /* @__PURE__ */ jsx14("div", { className: "flex flex-col gap-4 pb-2", children: groups.map((group, groupIndex) => /* @__PURE__ */ jsx14(
2027
+ "div",
2028
+ {
2029
+ className: "flex flex-col gap-2",
2030
+ children: group.map((step) => /* @__PURE__ */ jsxs14(
2031
+ "div",
2032
+ {
2033
+ className: "flex items-center gap-2 text-agg-sm leading-agg-5 text-agg-foreground",
2034
+ "data-step-status": step.status,
2035
+ children: [
2036
+ step.status === "pending" ? /* @__PURE__ */ jsx14(
2037
+ LoadingGlyph,
2038
+ {
2039
+ enableAnimations,
2040
+ className: cn(
2041
+ "h-3 w-3 shrink-0",
2042
+ stepIconClassNameFor(step.status)
2043
+ )
2044
+ }
2045
+ ) : /* @__PURE__ */ jsx14(
2046
+ Icon,
2047
+ {
2048
+ name: stepIconNameFor(step.status),
2049
+ size: "small",
2050
+ className: cn(
2051
+ "h-3 w-3 shrink-0",
2052
+ stepIconClassNameFor(step.status)
2053
+ ),
2054
+ "aria-hidden": "true"
2055
+ }
2056
+ ),
2057
+ /* @__PURE__ */ jsx14("p", { className: "min-w-0 flex-1", children: step.label })
2058
+ ]
2059
+ },
2060
+ step.id
2061
+ ))
2062
+ },
2063
+ `withdraw-step-group-${groupIndex}`
2064
+ )) }) })
1924
2065
  }
1925
- ),
1926
- /* @__PURE__ */ jsx15(
2066
+ ) : null,
2067
+ hasDetails ? /* @__PURE__ */ jsxs14(
2068
+ "button",
2069
+ {
2070
+ type: "button",
2071
+ "aria-expanded": isTimelineExpanded,
2072
+ className: cn(
2073
+ "flex w-full items-center gap-2 text-left text-agg-sm leading-agg-5 text-agg-foreground",
2074
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-agg-primary focus-visible:ring-offset-0 focus-visible:ring-offset-agg-secondary",
2075
+ "cursor-pointer"
2076
+ ),
2077
+ onClick: () => setIsTimelineExpanded((current) => !current),
2078
+ children: [
2079
+ finalStep.status === "pending" ? /* @__PURE__ */ jsx14(
2080
+ LoadingGlyph,
2081
+ {
2082
+ enableAnimations,
2083
+ className: cn("h-3 w-3 shrink-0", stepIconClassNameFor(finalStep.status))
2084
+ }
2085
+ ) : /* @__PURE__ */ jsx14(
2086
+ Icon,
2087
+ {
2088
+ name: stepIconNameFor(finalStep.status),
2089
+ size: "small",
2090
+ className: cn("h-3 w-3 shrink-0", stepIconClassNameFor(finalStep.status)),
2091
+ "aria-hidden": "true"
2092
+ }
2093
+ ),
2094
+ /* @__PURE__ */ jsx14("p", { className: "min-w-0 flex-1", children: finalStep.label }),
2095
+ /* @__PURE__ */ jsx14(
2096
+ Icon,
2097
+ {
2098
+ name: isTimelineExpanded ? "chevron-up" : "chevron-down",
2099
+ size: "small",
2100
+ className: "h-4 w-4 shrink-0 text-agg-muted-foreground",
2101
+ "aria-hidden": "true"
2102
+ }
2103
+ )
2104
+ ]
2105
+ }
2106
+ ) : null
2107
+ ] }) : null,
2108
+ /* @__PURE__ */ jsxs14("div", { className: "w-full rounded-lg border border-agg-separator bg-agg-secondary px-3 py-1", children: [
2109
+ /* @__PURE__ */ jsx14(
1927
2110
  SummaryRow3,
1928
2111
  {
1929
- label: labels.withdraw.cardFlow.summary.toWallet,
1930
- value: summary.toWallet
2112
+ label: walletFlowLabels.summary.amountReceived,
2113
+ value: summary.amountReceived
1931
2114
  }
1932
2115
  ),
1933
- /* @__PURE__ */ jsx15(SummaryRow3, { label: labels.withdraw.cardFlow.summary.fees, value: summary.fees })
2116
+ /* @__PURE__ */ jsx14(SummaryRow3, { label: walletFlowLabels.summary.network, value: summary.network }),
2117
+ /* @__PURE__ */ jsx14(SummaryRow3, { label: walletFlowLabels.summary.toWallet, value: summary.toWallet }),
2118
+ /* @__PURE__ */ jsx14(SummaryRow3, { label: walletFlowLabels.summary.fees, value: summary.fees })
1934
2119
  ] }),
1935
- /* @__PURE__ */ jsx15(Button, { variant: "secondary", size: "large", className: "w-[120px]", onClick: onDone, children: labels.withdraw.done })
2120
+ /* @__PURE__ */ jsx14(Button, { variant: "secondary", size: "large", className: "w-[160px]", onClick: onDone, children: labels.withdraw.done })
1936
2121
  ] })
1937
2122
  ] }) });
1938
2123
  };
1939
2124
 
1940
2125
  // src/withdraw/index.tsx
1941
- import { jsx as jsx16, jsxs as jsxs16 } from "react/jsx-runtime";
1942
- var WithdrawModal = ({
2126
+ import { jsx as jsx15, jsxs as jsxs15 } from "react/jsx-runtime";
2127
+ function isControlledWithdrawModalProps(props) {
2128
+ return "withdrawFlow" in props;
2129
+ }
2130
+ function WithdrawModalSelfDriven({
2131
+ open,
2132
+ onOpenChange
2133
+ }) {
2134
+ const withdrawProps = useWithdrawFlow({ open, onOpenChange });
2135
+ return /* @__PURE__ */ jsx15(WithdrawModalControlled, __spreadValues({}, withdrawProps));
2136
+ }
2137
+ function WithdrawModalControlled({
1943
2138
  open,
1944
2139
  onOpenChange,
1945
2140
  withdrawFlow,
1946
- onSelectWithdrawMethod,
2141
+ onWithdrawDestinationChange,
1947
2142
  onWithdrawAmountChange,
1948
- onWithdrawCurrencyChange,
1949
2143
  onWithdrawTokenChange,
1950
2144
  onWithdrawNetworkChange,
1951
- onGetWithdrawQuotes,
2145
+ onMaxClick,
1952
2146
  onSelectWithdrawProvider,
1953
2147
  onDoneWithdraw
1954
- }) => {
2148
+ }) {
1955
2149
  const [step, setStep] = useState4("method");
1956
- const handleBackToMethod = () => {
1957
- setStep("method");
1958
- };
1959
- const handleSelectMethod = (method) => {
1960
- setStep("withdraw-amount");
1961
- onSelectWithdrawMethod == null ? void 0 : onSelectWithdrawMethod(method);
1962
- };
2150
+ const [isConfirming, setIsConfirming] = useState4(false);
2151
+ const [confirmError, setConfirmError] = useState4(null);
2152
+ useEffect5(() => {
2153
+ if (!open) {
2154
+ setStep("method");
2155
+ setIsConfirming(false);
2156
+ setConfirmError(null);
2157
+ }
2158
+ }, [open]);
1963
2159
  const handleOpenChange = (isOpen) => {
1964
2160
  if (!isOpen) {
1965
2161
  setStep("method");
2162
+ setIsConfirming(false);
2163
+ setConfirmError(null);
1966
2164
  }
1967
2165
  onOpenChange(isOpen);
1968
2166
  };
1969
- const fallbackNetworkOptions = useMemo2(() => mapNetworksToOptions(), []);
1970
- const withdrawTokenOptions = withTokenIcons(
1971
- mergeSelectOptionsUnique(withdrawFlow.tokenOptions, DEFAULT_CURRENCY_OPTIONS)
1972
- );
1973
- const withdrawNetworkOptions = withNetworkIcons(
1974
- mergeSelectOptionsUnique(withdrawFlow.networkOptions, fallbackNetworkOptions)
1975
- );
1976
- return /* @__PURE__ */ jsx16(Modal, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs16(Modal.Container, { maxWidth: "600px", "aria-label": "Withdraw", children: [
1977
- step === "method" ? /* @__PURE__ */ jsx16(WithdrawMethodStep, { balance: withdrawFlow.balance, onSelectMethod: handleSelectMethod }) : null,
1978
- step === "withdraw-amount" ? /* @__PURE__ */ jsx16(
2167
+ const handleBack = () => {
2168
+ setConfirmError(null);
2169
+ setStep("method");
2170
+ };
2171
+ const handleConfirm = () => __async(null, null, function* () {
2172
+ setIsConfirming(true);
2173
+ setConfirmError(null);
2174
+ try {
2175
+ yield onSelectWithdrawProvider("wallet");
2176
+ setStep("success");
2177
+ } catch (err) {
2178
+ setConfirmError(err instanceof Error ? err.message : "Withdrawal failed. Please try again.");
2179
+ } finally {
2180
+ setIsConfirming(false);
2181
+ }
2182
+ });
2183
+ const withdrawTokenOptions = withTokenIcons(withdrawFlow.tokenOptions);
2184
+ const withdrawNetworkOptions = withNetworkIcons(withdrawFlow.networkOptions);
2185
+ return /* @__PURE__ */ jsx15(Modal, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs15(Modal.Container, { maxWidth: "600px", "aria-label": "Withdraw", children: [
2186
+ step === "method" ? /* @__PURE__ */ jsx15(
2187
+ WithdrawMethodStep,
2188
+ {
2189
+ balance: withdrawFlow.balance,
2190
+ onSelectMethod: () => setStep("withdraw-amount")
2191
+ }
2192
+ ) : null,
2193
+ step === "withdraw-amount" ? /* @__PURE__ */ jsx15(
1979
2194
  WithdrawAmountStep,
1980
2195
  {
1981
2196
  amount: withdrawFlow.amount,
1982
- currency: withdrawFlow.currency,
1983
2197
  destinationWallet: withdrawFlow.destinationWallet,
2198
+ balanceDisplay: withdrawFlow.balanceDisplay,
1984
2199
  tokenOptions: withdrawTokenOptions,
1985
2200
  networkOptions: withdrawNetworkOptions,
1986
2201
  selectedToken: withdrawFlow.selectedToken,
1987
2202
  selectedNetwork: withdrawFlow.selectedNetwork,
1988
- onBack: handleBackToMethod,
2203
+ isConfirming,
2204
+ error: confirmError,
2205
+ onBack: handleBack,
1989
2206
  onAmountChange: onWithdrawAmountChange,
1990
- onCurrencyChange: onWithdrawCurrencyChange,
2207
+ onDestinationChange: onWithdrawDestinationChange,
1991
2208
  onTokenChange: onWithdrawTokenChange,
1992
2209
  onNetworkChange: onWithdrawNetworkChange,
1993
- onContinue: () => {
1994
- onGetWithdrawQuotes == null ? void 0 : onGetWithdrawQuotes();
1995
- setStep("provider");
1996
- }
2210
+ onMaxClick,
2211
+ onContinue: handleConfirm
1997
2212
  }
1998
2213
  ) : null,
1999
- step === "provider" ? /* @__PURE__ */ jsx16(
2000
- WithdrawProviderStep,
2001
- {
2002
- token: withdrawFlow.selectedToken,
2003
- amount: withdrawFlow.amount,
2004
- currency: withdrawFlow.currency,
2005
- providers: withdrawFlow.providers,
2006
- onBack: () => setStep("withdraw-amount"),
2007
- onSelectProvider: (providerId) => {
2008
- onSelectWithdrawProvider(providerId);
2009
- setStep("success");
2010
- }
2011
- }
2012
- ) : null,
2013
- step === "success" ? /* @__PURE__ */ jsx16(
2214
+ step === "success" ? /* @__PURE__ */ jsx15(
2014
2215
  WithdrawSuccessStep,
2015
2216
  {
2016
2217
  summary: withdrawFlow.purchaseSummary,
2218
+ tokenSymbol: withdrawFlow.selectedToken,
2219
+ withdrawalId: withdrawFlow.withdrawalId,
2017
2220
  onDone: onDoneWithdraw,
2018
- onClose: () => onOpenChange(false)
2221
+ onClose: () => handleOpenChange(false)
2019
2222
  }
2020
2223
  ) : null
2021
2224
  ] }) });
2225
+ }
2226
+ var WithdrawModal = (props) => {
2227
+ if (isControlledWithdrawModalProps(props)) {
2228
+ return /* @__PURE__ */ jsx15(WithdrawModalControlled, __spreadValues({}, props));
2229
+ }
2230
+ return /* @__PURE__ */ jsx15(WithdrawModalSelfDriven, __spreadValues({}, props));
2022
2231
  };
2023
2232
  WithdrawModal.displayName = "WithdrawModal";
2024
2233
 
2025
2234
  // src/onboarding/index.tsx
2026
- import { useCallback as useCallback6, useEffect as useEffect4, useState as useState9 } from "react";
2027
- import { useLabels as useLabels20 } from "@agg-build/hooks";
2235
+ import { useCallback as useCallback5, useEffect as useEffect6, useState as useState9 } from "react";
2236
+ import { useLabels as useLabels19 } from "@agg-build/hooks";
2028
2237
  import * as Dialog3 from "@radix-ui/react-dialog";
2029
2238
 
2030
2239
  // src/onboarding/onboarding-modal.constants.ts
@@ -2043,30 +2252,30 @@ var ONBOARDING_STEPS = {
2043
2252
  var ONCHAIN_VENUES = [Venue.polymarket, Venue.opinion, Venue.predict];
2044
2253
 
2045
2254
  // src/onboarding/steps/how-it-works.tsx
2046
- import { useCallback as useCallback2, useRef as useRef2, useState as useState5 } from "react";
2047
- import { useLabels as useLabels15 } from "@agg-build/hooks";
2048
- import { jsx as jsx17, jsxs as jsxs17 } from "react/jsx-runtime";
2255
+ import { useCallback, useRef as useRef2, useState as useState5 } from "react";
2256
+ import { useLabels as useLabels14 } from "@agg-build/hooks";
2257
+ import { jsx as jsx16, jsxs as jsxs16 } from "react/jsx-runtime";
2049
2258
  var defaultIcons = {
2050
- createAccount: /* @__PURE__ */ jsx17(CreateAccountIcon, { className: "h-[28px] w-[28px] text-agg-muted-foreground" }),
2051
- linkAccounts: /* @__PURE__ */ jsx17(LinkAccountsIcon, { className: "h-[28px] w-[28px] text-agg-muted-foreground" }),
2052
- bestPrices: /* @__PURE__ */ jsx17(BestPricesIcon, { className: "h-[28px] w-[28px] text-agg-muted-foreground" }),
2053
- stayInControl: /* @__PURE__ */ jsx17(StayInControlIcon, { className: "h-[28px] w-[28px] text-agg-muted-foreground" })
2259
+ createAccount: /* @__PURE__ */ jsx16(CreateAccountIcon, { className: "h-[28px] w-[28px] text-agg-muted-foreground" }),
2260
+ linkAccounts: /* @__PURE__ */ jsx16(LinkAccountsIcon, { className: "h-[28px] w-[28px] text-agg-muted-foreground" }),
2261
+ bestPrices: /* @__PURE__ */ jsx16(BestPricesIcon, { className: "h-[28px] w-[28px] text-agg-muted-foreground" }),
2262
+ stayInControl: /* @__PURE__ */ jsx16(StayInControlIcon, { className: "h-[28px] w-[28px] text-agg-muted-foreground" })
2054
2263
  };
2055
2264
  var HowItWorksStep = ({ onContinue, icons }) => {
2056
- const labels = useLabels15();
2265
+ const labels = useLabels14();
2057
2266
  const scrollRef = useRef2(null);
2058
2267
  const [showTopGradient, setShowTopGradient] = useState5(false);
2059
2268
  const [showBottomGradient, setShowBottomGradient] = useState5(true);
2060
- const handleScroll = useCallback2(() => {
2269
+ const handleScroll = useCallback(() => {
2061
2270
  const el = scrollRef.current;
2062
2271
  if (!el) return;
2063
2272
  setShowTopGradient(el.scrollTop > 0);
2064
2273
  setShowBottomGradient(el.scrollTop + el.clientHeight < el.scrollHeight - 1);
2065
2274
  }, []);
2066
- return /* @__PURE__ */ jsxs17("div", { className: "flex flex-col gap-6 h-[600px] sm:h-auto", children: [
2067
- /* @__PURE__ */ jsx17("h2", { className: "text-center text-agg-2xl font-agg-bold text-agg-foreground", children: labels.onboarding.howItWorks.title }),
2068
- /* @__PURE__ */ jsxs17("div", { className: "relative flex-1 min-h-0 sm:flex-initial", children: [
2069
- /* @__PURE__ */ jsx17(
2275
+ return /* @__PURE__ */ jsxs16("div", { className: "flex flex-col gap-6 h-[600px] sm:h-auto", children: [
2276
+ /* @__PURE__ */ jsx16("h2", { className: "text-center text-agg-2xl font-agg-bold text-agg-foreground", children: labels.onboarding.howItWorks.title }),
2277
+ /* @__PURE__ */ jsxs16("div", { className: "relative flex-1 min-h-0 sm:flex-initial", children: [
2278
+ /* @__PURE__ */ jsx16(
2070
2279
  "div",
2071
2280
  {
2072
2281
  ref: scrollRef,
@@ -2076,7 +2285,7 @@ var HowItWorksStep = ({ onContinue, icons }) => {
2076
2285
  var _a;
2077
2286
  const icon = (_a = icons == null ? void 0 : icons[featureKey]) != null ? _a : defaultIcons[featureKey];
2078
2287
  const feature = labels.onboarding.howItWorks.features[featureKey];
2079
- return /* @__PURE__ */ jsxs17(
2288
+ return /* @__PURE__ */ jsxs16(
2080
2289
  "div",
2081
2290
  {
2082
2291
  className: cn(
@@ -2085,11 +2294,11 @@ var HowItWorksStep = ({ onContinue, icons }) => {
2085
2294
  "bg-agg-secondary-hover"
2086
2295
  ),
2087
2296
  children: [
2088
- /* @__PURE__ */ jsxs17("div", { className: "flex flex-col flex-1 min-w-0 gap-[6px]", children: [
2089
- /* @__PURE__ */ jsx17("p", { className: "text-agg-base font-agg-bold leading-agg-6 text-agg-foreground", children: feature.title }),
2090
- /* @__PURE__ */ jsx17("p", { className: "text-agg-sm leading-agg-5 text-agg-foreground", children: feature.description })
2297
+ /* @__PURE__ */ jsxs16("div", { className: "flex flex-col flex-1 min-w-0 gap-[6px]", children: [
2298
+ /* @__PURE__ */ jsx16("p", { className: "text-agg-base font-agg-bold leading-agg-6 text-agg-foreground", children: feature.title }),
2299
+ /* @__PURE__ */ jsx16("p", { className: "text-agg-sm leading-agg-5 text-agg-foreground", children: feature.description })
2091
2300
  ] }),
2092
- icon ? /* @__PURE__ */ jsx17("div", { className: "hidden shrink-0 items-center justify-center text-agg-muted-foreground sm:flex", children: icon }) : null
2301
+ icon ? /* @__PURE__ */ jsx16("div", { className: "hidden shrink-0 items-center justify-center text-agg-muted-foreground sm:flex", children: icon }) : null
2093
2302
  ]
2094
2303
  },
2095
2304
  featureKey
@@ -2097,7 +2306,7 @@ var HowItWorksStep = ({ onContinue, icons }) => {
2097
2306
  })
2098
2307
  }
2099
2308
  ),
2100
- /* @__PURE__ */ jsx17(
2309
+ /* @__PURE__ */ jsx16(
2101
2310
  "div",
2102
2311
  {
2103
2312
  className: cn(
@@ -2108,7 +2317,7 @@ var HowItWorksStep = ({ onContinue, icons }) => {
2108
2317
  )
2109
2318
  }
2110
2319
  ),
2111
- /* @__PURE__ */ jsx17(
2320
+ /* @__PURE__ */ jsx16(
2112
2321
  "div",
2113
2322
  {
2114
2323
  className: cn(
@@ -2120,26 +2329,26 @@ var HowItWorksStep = ({ onContinue, icons }) => {
2120
2329
  }
2121
2330
  )
2122
2331
  ] }),
2123
- /* @__PURE__ */ jsx17(Button, { variant: "primary", size: "large", className: "w-full", onClick: onContinue, children: labels.onboarding.howItWorks.continue })
2332
+ /* @__PURE__ */ jsx16(Button, { variant: "primary", size: "large", className: "w-full", onClick: onContinue, children: labels.onboarding.howItWorks.continue })
2124
2333
  ] });
2125
2334
  };
2126
2335
  HowItWorksStep.displayName = "HowItWorksStep";
2127
2336
 
2128
2337
  // src/onboarding/steps/profile-setup.tsx
2129
- import { useCallback as useCallback3, useRef as useRef3, useState as useState6 } from "react";
2130
- import { useLabels as useLabels16 } from "@agg-build/hooks";
2131
- import { jsx as jsx18, jsxs as jsxs18 } from "react/jsx-runtime";
2338
+ import { useCallback as useCallback2, useRef as useRef3, useState as useState6 } from "react";
2339
+ import { useLabels as useLabels15 } from "@agg-build/hooks";
2340
+ import { jsx as jsx17, jsxs as jsxs17 } from "react/jsx-runtime";
2132
2341
  var ProfileSetupStep = ({ onContinue }) => {
2133
- const labels = useLabels16();
2342
+ const labels = useLabels15();
2134
2343
  const [username, setUsername] = useState6("");
2135
2344
  const [avatarFile, setAvatarFile] = useState6();
2136
2345
  const [avatarPreview, setAvatarPreview] = useState6();
2137
2346
  const fileInputRef = useRef3(null);
2138
- const handleAvatarClick = useCallback3(() => {
2347
+ const handleAvatarClick = useCallback2(() => {
2139
2348
  var _a;
2140
2349
  (_a = fileInputRef.current) == null ? void 0 : _a.click();
2141
2350
  }, []);
2142
- const handleFileChange = useCallback3((e) => {
2351
+ const handleFileChange = useCallback2((e) => {
2143
2352
  var _a;
2144
2353
  const file = (_a = e.target.files) == null ? void 0 : _a[0];
2145
2354
  if (!file) return;
@@ -2151,18 +2360,18 @@ var ProfileSetupStep = ({ onContinue }) => {
2151
2360
  };
2152
2361
  reader.readAsDataURL(file);
2153
2362
  }, []);
2154
- const handleContinue = useCallback3(() => {
2363
+ const handleContinue = useCallback2(() => {
2155
2364
  onContinue({
2156
2365
  username,
2157
2366
  avatarFile,
2158
2367
  avatarPreview
2159
2368
  });
2160
2369
  }, [username, avatarFile, avatarPreview, onContinue]);
2161
- return /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-7", children: [
2162
- /* @__PURE__ */ jsx18("h2", { className: "text-center text-agg-2xl font-agg-bold text-agg-foreground", children: labels.onboarding.profileSetup.title }),
2163
- /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-5 items-center w-full", children: [
2164
- /* @__PURE__ */ jsxs18("div", { className: "flex justify-center", children: [
2165
- /* @__PURE__ */ jsxs18(
2370
+ return /* @__PURE__ */ jsxs17("div", { className: "flex flex-col gap-7", children: [
2371
+ /* @__PURE__ */ jsx17("h2", { className: "text-center text-agg-2xl font-agg-bold text-agg-foreground", children: labels.onboarding.profileSetup.title }),
2372
+ /* @__PURE__ */ jsxs17("div", { className: "flex flex-col gap-5 items-center w-full", children: [
2373
+ /* @__PURE__ */ jsxs17("div", { className: "flex justify-center", children: [
2374
+ /* @__PURE__ */ jsxs17(
2166
2375
  "button",
2167
2376
  {
2168
2377
  type: "button",
@@ -2178,13 +2387,13 @@ var ProfileSetupStep = ({ onContinue }) => {
2178
2387
  ),
2179
2388
  "aria-label": labels.onboarding.profileSetup.uploadProfilePictureAria,
2180
2389
  children: [
2181
- !avatarPreview ? /* @__PURE__ */ jsx18(
2390
+ !avatarPreview ? /* @__PURE__ */ jsx17(
2182
2391
  "svg",
2183
2392
  {
2184
2393
  "aria-hidden": true,
2185
2394
  viewBox: "0 0 80 80",
2186
2395
  className: "pointer-events-none absolute inset-0 h-full w-full text-agg-separator group-hover:text-agg-muted-foreground",
2187
- children: /* @__PURE__ */ jsx18(
2396
+ children: /* @__PURE__ */ jsx17(
2188
2397
  "circle",
2189
2398
  {
2190
2399
  cx: "40",
@@ -2198,18 +2407,18 @@ var ProfileSetupStep = ({ onContinue }) => {
2198
2407
  )
2199
2408
  }
2200
2409
  ) : null,
2201
- avatarPreview ? /* @__PURE__ */ jsx18(
2410
+ avatarPreview ? /* @__PURE__ */ jsx17(
2202
2411
  RemoteImage,
2203
2412
  {
2204
2413
  src: avatarPreview,
2205
2414
  alt: labels.onboarding.profileSetup.profilePreviewAlt,
2206
2415
  className: "h-full w-full object-cover"
2207
2416
  }
2208
- ) : /* @__PURE__ */ jsx18(ProfileIcon, { className: "h-7 w-7 text-agg-muted-foreground" })
2417
+ ) : /* @__PURE__ */ jsx17(ProfileIcon, { className: "h-7 w-7 text-agg-muted-foreground" })
2209
2418
  ]
2210
2419
  }
2211
2420
  ),
2212
- /* @__PURE__ */ jsx18(
2421
+ /* @__PURE__ */ jsx17(
2213
2422
  "input",
2214
2423
  {
2215
2424
  ref: fileInputRef,
@@ -2221,8 +2430,8 @@ var ProfileSetupStep = ({ onContinue }) => {
2221
2430
  }
2222
2431
  )
2223
2432
  ] }),
2224
- /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-2 w-full", children: [
2225
- /* @__PURE__ */ jsx18(
2433
+ /* @__PURE__ */ jsxs17("div", { className: "flex flex-col gap-2 w-full", children: [
2434
+ /* @__PURE__ */ jsx17(
2226
2435
  "label",
2227
2436
  {
2228
2437
  htmlFor: "onboarding-username",
@@ -2230,7 +2439,7 @@ var ProfileSetupStep = ({ onContinue }) => {
2230
2439
  children: labels.onboarding.profileSetup.usernameLabel
2231
2440
  }
2232
2441
  ),
2233
- /* @__PURE__ */ jsx18(
2442
+ /* @__PURE__ */ jsx17(
2234
2443
  "input",
2235
2444
  {
2236
2445
  id: "onboarding-username",
@@ -2254,17 +2463,17 @@ var ProfileSetupStep = ({ onContinue }) => {
2254
2463
  )
2255
2464
  ] })
2256
2465
  ] }),
2257
- /* @__PURE__ */ jsx18(Button, { variant: "primary", size: "large", className: "w-full", onClick: handleContinue, children: labels.onboarding.profileSetup.continue })
2466
+ /* @__PURE__ */ jsx17(Button, { variant: "primary", size: "large", className: "w-full", onClick: handleContinue, children: labels.onboarding.profileSetup.continue })
2258
2467
  ] });
2259
2468
  };
2260
2469
  ProfileSetupStep.displayName = "ProfileSetupStep";
2261
2470
 
2262
2471
  // src/onboarding/steps/connect-accounts.tsx
2263
2472
  import { Venue as Venue2 } from "@agg-build/sdk";
2264
- import { useLabels as useLabels17 } from "@agg-build/hooks";
2265
- import { jsx as jsx19, jsxs as jsxs19 } from "react/jsx-runtime";
2473
+ import { useLabels as useLabels16 } from "@agg-build/hooks";
2474
+ import { jsx as jsx18, jsxs as jsxs18 } from "react/jsx-runtime";
2266
2475
  var OnchainVenueLogos = () => {
2267
- return /* @__PURE__ */ jsx19("div", { className: "flex gap-1 sm:gap-0 sm:-space-x-5", children: ONCHAIN_VENUES.map((venue, index) => /* @__PURE__ */ jsx19("div", { style: { zIndex: ONCHAIN_VENUES.length - index }, children: /* @__PURE__ */ jsx19(VenueLogo, { venue, variant: "logo", size: "medium", className: "sm:h-8 sm:w-8" }) }, venue)) });
2476
+ return /* @__PURE__ */ jsx18("div", { className: "flex gap-1 sm:gap-0 sm:-space-x-5", children: ONCHAIN_VENUES.map((venue, index) => /* @__PURE__ */ jsx18("div", { style: { zIndex: ONCHAIN_VENUES.length - index }, children: /* @__PURE__ */ jsx18(VenueLogo, { venue, variant: "logo", size: "medium", className: "sm:h-8 sm:w-8" }) }, venue)) });
2268
2477
  };
2269
2478
  var VenueCard = ({
2270
2479
  logos,
@@ -2275,8 +2484,8 @@ var VenueCard = ({
2275
2484
  onConnect,
2276
2485
  connected = false
2277
2486
  }) => {
2278
- const labels = useLabels17();
2279
- const action = connected ? /* @__PURE__ */ jsx19(CheckCircleIcon, { className: "h-6 w-6 text-agg-success" }) : /* @__PURE__ */ jsx19(
2487
+ const labels = useLabels16();
2488
+ const action = connected ? /* @__PURE__ */ jsx18(CheckCircleIcon, { className: "h-6 w-6 text-agg-success" }) : /* @__PURE__ */ jsx18(
2280
2489
  Button,
2281
2490
  {
2282
2491
  variant: "tertiary",
@@ -2286,18 +2495,18 @@ var VenueCard = ({
2286
2495
  children: labels.onboarding.connectAccounts.connect
2287
2496
  }
2288
2497
  );
2289
- const mobileAction = connected ? /* @__PURE__ */ jsx19(CheckCircleIcon, { className: "h-6 w-6 text-agg-success" }) : /* @__PURE__ */ jsx19(
2498
+ const mobileAction = connected ? /* @__PURE__ */ jsx18(CheckCircleIcon, { className: "h-6 w-6 text-agg-success" }) : /* @__PURE__ */ jsx18(
2290
2499
  Button,
2291
2500
  {
2292
2501
  variant: "tertiary",
2293
2502
  size: "medium",
2294
2503
  className: "!h-auto !px-0 !py-0 text-agg-primary hover:bg-transparent hover:text-agg-primary-hover",
2295
2504
  onClick: onConnect,
2296
- suffix: /* @__PURE__ */ jsx19(ChevronRightIcon, { className: "h-4 w-4" }),
2505
+ suffix: /* @__PURE__ */ jsx18(ChevronRightIcon, { className: "h-4 w-4" }),
2297
2506
  children: labels.onboarding.connectAccounts.connectAccount
2298
2507
  }
2299
2508
  );
2300
- return /* @__PURE__ */ jsxs19(
2509
+ return /* @__PURE__ */ jsxs18(
2301
2510
  "div",
2302
2511
  {
2303
2512
  className: cn(
@@ -2305,23 +2514,23 @@ var VenueCard = ({
2305
2514
  connected ? "bg-agg-success/5" : "bg-agg-secondary-hover hover:bg-agg-tertiary"
2306
2515
  ),
2307
2516
  children: [
2308
- /* @__PURE__ */ jsxs19("div", { className: "hidden sm:flex items-center justify-between", children: [
2309
- /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-5", children: [
2310
- /* @__PURE__ */ jsx19("div", { className: "shrink-0", children: logos }),
2311
- /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-[2px]", children: [
2312
- /* @__PURE__ */ jsx19("p", { className: "text-agg-base font-agg-bold text-agg-foreground", children: title }),
2313
- /* @__PURE__ */ jsx19("p", { className: "text-agg-sm text-agg-foreground", children: description })
2517
+ /* @__PURE__ */ jsxs18("div", { className: "hidden sm:flex items-center justify-between", children: [
2518
+ /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-5", children: [
2519
+ /* @__PURE__ */ jsx18("div", { className: "shrink-0", children: logos }),
2520
+ /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-[2px]", children: [
2521
+ /* @__PURE__ */ jsx18("p", { className: "text-agg-base font-agg-bold text-agg-foreground", children: title }),
2522
+ /* @__PURE__ */ jsx18("p", { className: "text-agg-sm text-agg-foreground", children: description })
2314
2523
  ] })
2315
2524
  ] }),
2316
- /* @__PURE__ */ jsx19("div", { className: "shrink-0", children: action })
2525
+ /* @__PURE__ */ jsx18("div", { className: "shrink-0", children: action })
2317
2526
  ] }),
2318
- /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-3 sm:hidden", children: [
2319
- /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-3", children: [
2320
- /* @__PURE__ */ jsx19("div", { className: "shrink-0", children: logos }),
2321
- /* @__PURE__ */ jsx19("p", { className: "text-agg-lg font-agg-bold text-agg-foreground", children: mobileTitle != null ? mobileTitle : title })
2527
+ /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-3 sm:hidden", children: [
2528
+ /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-3", children: [
2529
+ /* @__PURE__ */ jsx18("div", { className: "shrink-0", children: logos }),
2530
+ /* @__PURE__ */ jsx18("p", { className: "text-agg-lg font-agg-bold text-agg-foreground", children: mobileTitle != null ? mobileTitle : title })
2322
2531
  ] }),
2323
- /* @__PURE__ */ jsxs19("div", { className: "flex flex-col items-start gap-2", children: [
2324
- /* @__PURE__ */ jsx19("p", { className: "text-agg-base text-agg-foreground", children: mobileDescription != null ? mobileDescription : description }),
2532
+ /* @__PURE__ */ jsxs18("div", { className: "flex flex-col items-start gap-2", children: [
2533
+ /* @__PURE__ */ jsx18("p", { className: "text-agg-base text-agg-foreground", children: mobileDescription != null ? mobileDescription : description }),
2325
2534
  mobileAction
2326
2535
  ] })
2327
2536
  ] })
@@ -2336,15 +2545,15 @@ var ConnectAccountsStep = ({
2336
2545
  connectedOnchain = false,
2337
2546
  connectedKalshi = false
2338
2547
  }) => {
2339
- const labels = useLabels17();
2548
+ const labels = useLabels16();
2340
2549
  const canContinue = connectedOnchain || connectedKalshi;
2341
- return /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-6", children: [
2342
- /* @__PURE__ */ jsx19("h2", { className: "text-center text-agg-2xl font-agg-bold text-agg-foreground", children: labels.onboarding.connectAccounts.title }),
2343
- /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-4", children: [
2344
- /* @__PURE__ */ jsx19(
2550
+ return /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-6", children: [
2551
+ /* @__PURE__ */ jsx18("h2", { className: "text-center text-agg-2xl font-agg-bold text-agg-foreground", children: labels.onboarding.connectAccounts.title }),
2552
+ /* @__PURE__ */ jsxs18("div", { className: "flex flex-col gap-4", children: [
2553
+ /* @__PURE__ */ jsx18(
2345
2554
  VenueCard,
2346
2555
  {
2347
- logos: /* @__PURE__ */ jsx19(OnchainVenueLogos, {}),
2556
+ logos: /* @__PURE__ */ jsx18(OnchainVenueLogos, {}),
2348
2557
  title: labels.onboarding.connectAccounts.onchainTitle,
2349
2558
  mobileTitle: labels.onboarding.connectAccounts.onchainMobileTitle(
2350
2559
  ONCHAIN_VENUES.length - 1
@@ -2355,10 +2564,10 @@ var ConnectAccountsStep = ({
2355
2564
  connected: connectedOnchain
2356
2565
  }
2357
2566
  ),
2358
- /* @__PURE__ */ jsx19(
2567
+ /* @__PURE__ */ jsx18(
2359
2568
  VenueCard,
2360
2569
  {
2361
- logos: /* @__PURE__ */ jsx19("div", { className: "sm:flex sm:w-14 sm:items-center sm:justify-center", children: /* @__PURE__ */ jsx19(
2570
+ logos: /* @__PURE__ */ jsx18("div", { className: "sm:flex sm:w-14 sm:items-center sm:justify-center", children: /* @__PURE__ */ jsx18(
2362
2571
  VenueLogo,
2363
2572
  {
2364
2573
  venue: Venue2.kalshi,
@@ -2376,7 +2585,7 @@ var ConnectAccountsStep = ({
2376
2585
  }
2377
2586
  )
2378
2587
  ] }),
2379
- /* @__PURE__ */ jsx19(
2588
+ /* @__PURE__ */ jsx18(
2380
2589
  Button,
2381
2590
  {
2382
2591
  variant: "primary",
@@ -2393,25 +2602,25 @@ ConnectAccountsStep.displayName = "ConnectAccountsStep";
2393
2602
 
2394
2603
  // src/onboarding/steps/connect-kalshi-modal.tsx
2395
2604
  import { Venue as Venue3 } from "@agg-build/sdk";
2396
- import { useCallback as useCallback4, useState as useState7 } from "react";
2397
- import { useLabels as useLabels18 } from "@agg-build/hooks";
2605
+ import { useCallback as useCallback3, useState as useState7 } from "react";
2606
+ import { useLabels as useLabels17 } from "@agg-build/hooks";
2398
2607
  import * as Dialog from "@radix-ui/react-dialog";
2399
- import { jsx as jsx20, jsxs as jsxs20 } from "react/jsx-runtime";
2608
+ import { jsx as jsx19, jsxs as jsxs19 } from "react/jsx-runtime";
2400
2609
  var ConnectKalshiModal = ({
2401
2610
  open,
2402
2611
  onOpenChange,
2403
2612
  onVerify
2404
2613
  }) => {
2405
- const labels = useLabels18();
2614
+ const labels = useLabels17();
2406
2615
  const [apiKeyId, setApiKeyId] = useState7("");
2407
2616
  const [privateKey, setPrivateKey] = useState7("");
2408
2617
  const [verifying, setVerifying] = useState7(false);
2409
2618
  const [error, setError] = useState7();
2410
2619
  const canVerify = apiKeyId.trim().length > 0 && privateKey.trim().length > 0;
2411
- const handleCancel = useCallback4(() => {
2620
+ const handleCancel = useCallback3(() => {
2412
2621
  onOpenChange(false);
2413
2622
  }, [onOpenChange]);
2414
- const handleVerify = useCallback4(() => __async(null, null, function* () {
2623
+ const handleVerify = useCallback3(() => __async(null, null, function* () {
2415
2624
  if (!canVerify || verifying) return;
2416
2625
  setVerifying(true);
2417
2626
  setError(void 0);
@@ -2440,7 +2649,7 @@ var ConnectKalshiModal = ({
2440
2649
  privateKey,
2441
2650
  verifying
2442
2651
  ]);
2443
- const handleOpenChange = useCallback4(
2652
+ const handleOpenChange = useCallback3(
2444
2653
  (value) => {
2445
2654
  if (value) {
2446
2655
  setApiKeyId("");
@@ -2452,15 +2661,15 @@ var ConnectKalshiModal = ({
2452
2661
  },
2453
2662
  [onOpenChange]
2454
2663
  );
2455
- return /* @__PURE__ */ jsx20(Modal, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs20(
2664
+ return /* @__PURE__ */ jsx19(Modal, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs19(
2456
2665
  Modal.Container,
2457
2666
  {
2458
2667
  maxWidth: "600px",
2459
2668
  "aria-label": labels.onboarding.connectKalshiModal.ariaLabel,
2460
2669
  classNames: { container: "!rounded-agg-lg" },
2461
2670
  children: [
2462
- /* @__PURE__ */ jsx20(Dialog.Title, { className: "sr-only", children: labels.onboarding.connectKalshiModal.title }),
2463
- /* @__PURE__ */ jsx20(
2671
+ /* @__PURE__ */ jsx19(Dialog.Title, { className: "sr-only", children: labels.onboarding.connectKalshiModal.title }),
2672
+ /* @__PURE__ */ jsx19(
2464
2673
  Modal.Header,
2465
2674
  {
2466
2675
  hideClose: false,
@@ -2471,8 +2680,8 @@ var ConnectKalshiModal = ({
2471
2680
  }
2472
2681
  }
2473
2682
  ),
2474
- /* @__PURE__ */ jsx20(Modal.Body, { classNames: { root: "!px-5 !pt-0 !pb-[60px] sm:!px-8" }, children: /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-8 items-center", children: [
2475
- /* @__PURE__ */ jsx20(
2683
+ /* @__PURE__ */ jsx19(Modal.Body, { classNames: { root: "!px-5 !pt-0 !pb-[60px] sm:!px-8" }, children: /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-8 items-center", children: [
2684
+ /* @__PURE__ */ jsx19(
2476
2685
  VenueLogo,
2477
2686
  {
2478
2687
  venue: Venue3.kalshi,
@@ -2481,54 +2690,54 @@ var ConnectKalshiModal = ({
2481
2690
  className: "h-[60px] w-[60px]"
2482
2691
  }
2483
2692
  ),
2484
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-4 items-center text-center", children: [
2485
- /* @__PURE__ */ jsx20("h2", { className: "text-agg-2xl font-agg-bold text-agg-foreground", children: labels.onboarding.connectKalshiModal.title }),
2486
- /* @__PURE__ */ jsx20("p", { className: "text-agg-base leading-agg-6 text-agg-foreground", children: labels.onboarding.connectKalshiModal.description })
2693
+ /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-4 items-center text-center", children: [
2694
+ /* @__PURE__ */ jsx19("h2", { className: "text-agg-2xl font-agg-bold text-agg-foreground", children: labels.onboarding.connectKalshiModal.title }),
2695
+ /* @__PURE__ */ jsx19("p", { className: "text-agg-base leading-agg-6 text-agg-foreground", children: labels.onboarding.connectKalshiModal.description })
2487
2696
  ] }),
2488
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-4 w-full", children: [
2489
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-3 rounded-agg-lg bg-agg-secondary-hover p-4", children: [
2490
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-1", children: [
2491
- /* @__PURE__ */ jsx20("p", { className: "text-agg-xs font-agg-bold uppercase leading-agg-4 text-agg-muted-foreground", children: labels.onboarding.connectKalshiModal.stepOne.label }),
2492
- /* @__PURE__ */ jsx20("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: labels.onboarding.connectKalshiModal.stepOne.title })
2697
+ /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-4 w-full", children: [
2698
+ /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-3 rounded-agg-lg bg-agg-secondary-hover p-4", children: [
2699
+ /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-1", children: [
2700
+ /* @__PURE__ */ jsx19("p", { className: "text-agg-xs font-agg-bold uppercase leading-agg-4 text-agg-muted-foreground", children: labels.onboarding.connectKalshiModal.stepOne.label }),
2701
+ /* @__PURE__ */ jsx19("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: labels.onboarding.connectKalshiModal.stepOne.title })
2493
2702
  ] }),
2494
- /* @__PURE__ */ jsxs20("div", { className: "space-y-0 text-agg-sm leading-agg-5 text-agg-foreground", children: [
2495
- /* @__PURE__ */ jsx20("p", { children: labels.onboarding.connectKalshiModal.stepOne.instructions.signIn }),
2496
- /* @__PURE__ */ jsxs20("p", { children: [
2703
+ /* @__PURE__ */ jsxs19("div", { className: "space-y-0 text-agg-sm leading-agg-5 text-agg-foreground", children: [
2704
+ /* @__PURE__ */ jsx19("p", { children: labels.onboarding.connectKalshiModal.stepOne.instructions.signIn }),
2705
+ /* @__PURE__ */ jsxs19("p", { children: [
2497
2706
  labels.onboarding.connectKalshiModal.stepOne.instructions.goToProfilePrefix,
2498
2707
  " ",
2499
- /* @__PURE__ */ jsx20("span", { className: "font-agg-bold", children: labels.onboarding.connectKalshiModal.stepOne.instructions.profileText }),
2708
+ /* @__PURE__ */ jsx19("span", { className: "font-agg-bold", children: labels.onboarding.connectKalshiModal.stepOne.instructions.profileText }),
2500
2709
  labels.onboarding.connectKalshiModal.stepOne.instructions.goToProfileSeparator,
2501
2710
  " ",
2502
- /* @__PURE__ */ jsx20("span", { className: "text-agg-foreground underline", children: labels.onboarding.connectKalshiModal.stepOne.instructions.profileUrl })
2711
+ /* @__PURE__ */ jsx19("span", { className: "text-agg-foreground underline", children: labels.onboarding.connectKalshiModal.stepOne.instructions.profileUrl })
2503
2712
  ] }),
2504
- /* @__PURE__ */ jsxs20("p", { children: [
2713
+ /* @__PURE__ */ jsxs19("p", { children: [
2505
2714
  labels.onboarding.connectKalshiModal.stepOne.instructions.clickCreateKeyPrefix,
2506
2715
  " ",
2507
- /* @__PURE__ */ jsx20("span", { className: "font-agg-bold", children: labels.onboarding.connectKalshiModal.stepOne.instructions.createKeyText }),
2716
+ /* @__PURE__ */ jsx19("span", { className: "font-agg-bold", children: labels.onboarding.connectKalshiModal.stepOne.instructions.createKeyText }),
2508
2717
  labels.onboarding.connectKalshiModal.stepOne.instructions.clickCreateKeySuffix
2509
2718
  ] }),
2510
- /* @__PURE__ */ jsxs20("p", { children: [
2719
+ /* @__PURE__ */ jsxs19("p", { children: [
2511
2720
  labels.onboarding.connectKalshiModal.stepOne.instructions.selectPermissionsPrefix,
2512
2721
  " ",
2513
- /* @__PURE__ */ jsx20("span", { className: "font-agg-bold", children: labels.onboarding.connectKalshiModal.stepOne.instructions.readWriteText }),
2722
+ /* @__PURE__ */ jsx19("span", { className: "font-agg-bold", children: labels.onboarding.connectKalshiModal.stepOne.instructions.readWriteText }),
2514
2723
  labels.onboarding.connectKalshiModal.stepOne.instructions.selectPermissionsSuffix
2515
2724
  ] }),
2516
- /* @__PURE__ */ jsx20("p", { children: labels.onboarding.connectKalshiModal.stepOne.instructions.createKey })
2725
+ /* @__PURE__ */ jsx19("p", { children: labels.onboarding.connectKalshiModal.stepOne.instructions.createKey })
2517
2726
  ] }),
2518
- /* @__PURE__ */ jsxs20("p", { className: "text-agg-sm leading-agg-5 text-agg-foreground", children: [
2727
+ /* @__PURE__ */ jsxs19("p", { className: "text-agg-sm leading-agg-5 text-agg-foreground", children: [
2519
2728
  labels.onboarding.connectKalshiModal.stepOne.footerLineOne,
2520
- /* @__PURE__ */ jsx20("br", {}),
2729
+ /* @__PURE__ */ jsx19("br", {}),
2521
2730
  labels.onboarding.connectKalshiModal.stepOne.footerLineTwo
2522
2731
  ] })
2523
2732
  ] }),
2524
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-3 rounded-agg-lg bg-agg-secondary-hover p-4", children: [
2525
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-1", children: [
2526
- /* @__PURE__ */ jsx20("p", { className: "text-agg-xs font-agg-bold uppercase leading-agg-4 text-agg-muted-foreground", children: labels.onboarding.connectKalshiModal.stepTwo.label }),
2527
- /* @__PURE__ */ jsx20("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: labels.onboarding.connectKalshiModal.stepTwo.title })
2733
+ /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-3 rounded-agg-lg bg-agg-secondary-hover p-4", children: [
2734
+ /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-1", children: [
2735
+ /* @__PURE__ */ jsx19("p", { className: "text-agg-xs font-agg-bold uppercase leading-agg-4 text-agg-muted-foreground", children: labels.onboarding.connectKalshiModal.stepTwo.label }),
2736
+ /* @__PURE__ */ jsx19("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: labels.onboarding.connectKalshiModal.stepTwo.title })
2528
2737
  ] }),
2529
- /* @__PURE__ */ jsx20("p", { className: "text-agg-sm leading-agg-5 text-agg-foreground", children: labels.onboarding.connectKalshiModal.stepTwo.description }),
2530
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-2", children: [
2531
- /* @__PURE__ */ jsx20(
2738
+ /* @__PURE__ */ jsx19("p", { className: "text-agg-sm leading-agg-5 text-agg-foreground", children: labels.onboarding.connectKalshiModal.stepTwo.description }),
2739
+ /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-2", children: [
2740
+ /* @__PURE__ */ jsx19(
2532
2741
  "label",
2533
2742
  {
2534
2743
  htmlFor: "kalshi-api-key-id",
@@ -2536,7 +2745,7 @@ var ConnectKalshiModal = ({
2536
2745
  children: labels.onboarding.connectKalshiModal.stepTwo.apiKeyIdLabel
2537
2746
  }
2538
2747
  ),
2539
- /* @__PURE__ */ jsx20(
2748
+ /* @__PURE__ */ jsx19(
2540
2749
  "input",
2541
2750
  {
2542
2751
  id: "kalshi-api-key-id",
@@ -2556,8 +2765,8 @@ var ConnectKalshiModal = ({
2556
2765
  }
2557
2766
  )
2558
2767
  ] }),
2559
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-2", children: [
2560
- /* @__PURE__ */ jsx20(
2768
+ /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-2", children: [
2769
+ /* @__PURE__ */ jsx19(
2561
2770
  "label",
2562
2771
  {
2563
2772
  htmlFor: "kalshi-private-key",
@@ -2565,7 +2774,7 @@ var ConnectKalshiModal = ({
2565
2774
  children: labels.onboarding.connectKalshiModal.stepTwo.privateKeyLabel
2566
2775
  }
2567
2776
  ),
2568
- /* @__PURE__ */ jsx20(
2777
+ /* @__PURE__ */ jsx19(
2569
2778
  "textarea",
2570
2779
  {
2571
2780
  id: "kalshi-private-key",
@@ -2587,42 +2796,42 @@ var ConnectKalshiModal = ({
2587
2796
  ] })
2588
2797
  ] })
2589
2798
  ] }),
2590
- /* @__PURE__ */ jsxs20("div", { className: "flex items-center justify-between w-full", children: [
2591
- /* @__PURE__ */ jsx20("p", { className: "text-agg-base text-agg-foreground", children: labels.onboarding.connectKalshiModal.help.label }),
2592
- /* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-3", children: [
2593
- /* @__PURE__ */ jsxs20(
2799
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-center justify-between w-full", children: [
2800
+ /* @__PURE__ */ jsx19("p", { className: "text-agg-base text-agg-foreground", children: labels.onboarding.connectKalshiModal.help.label }),
2801
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-3", children: [
2802
+ /* @__PURE__ */ jsxs19(
2594
2803
  "a",
2595
2804
  {
2596
2805
  href: "#",
2597
2806
  className: "flex items-center gap-2 text-agg-base font-agg-bold text-agg-primary hover:text-agg-primary-hover",
2598
2807
  children: [
2599
- /* @__PURE__ */ jsx20(DocumentIcon, { className: "h-4 w-4" }),
2808
+ /* @__PURE__ */ jsx19(DocumentIcon, { className: "h-4 w-4" }),
2600
2809
  labels.onboarding.connectKalshiModal.help.docsLinkLabel
2601
2810
  ]
2602
2811
  }
2603
2812
  ),
2604
- /* @__PURE__ */ jsx20("span", { className: "h-3 w-px bg-agg-separator" }),
2605
- /* @__PURE__ */ jsxs20(
2813
+ /* @__PURE__ */ jsx19("span", { className: "h-3 w-px bg-agg-separator" }),
2814
+ /* @__PURE__ */ jsxs19(
2606
2815
  "a",
2607
2816
  {
2608
2817
  href: "#",
2609
2818
  className: "flex items-center gap-2 text-agg-base font-agg-bold text-agg-primary hover:text-agg-primary-hover",
2610
2819
  children: [
2611
- /* @__PURE__ */ jsx20(PlaySquareIcon, { className: "h-4 w-4" }),
2820
+ /* @__PURE__ */ jsx19(PlaySquareIcon, { className: "h-4 w-4" }),
2612
2821
  labels.onboarding.connectKalshiModal.help.tutorialLinkLabel
2613
2822
  ]
2614
2823
  }
2615
2824
  )
2616
2825
  ] })
2617
2826
  ] }),
2618
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-5 items-center", children: [
2619
- error ? /* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-2", children: [
2620
- /* @__PURE__ */ jsx20(WarningIcon, { className: "h-3.5 w-3.5 shrink-0 text-agg-error" }),
2621
- /* @__PURE__ */ jsx20("p", { className: "text-agg-sm leading-agg-5 text-agg-error", children: error })
2827
+ /* @__PURE__ */ jsxs19("div", { className: "flex flex-col gap-5 items-center", children: [
2828
+ error ? /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-2", children: [
2829
+ /* @__PURE__ */ jsx19(WarningIcon, { className: "h-3.5 w-3.5 shrink-0 text-agg-error" }),
2830
+ /* @__PURE__ */ jsx19("p", { className: "text-agg-sm leading-agg-5 text-agg-error", children: error })
2622
2831
  ] }) : null,
2623
- /* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-3 justify-center", children: [
2624
- /* @__PURE__ */ jsx20(Button, { variant: "secondary", size: "large", onClick: handleCancel, children: labels.onboarding.connectKalshiModal.actions.cancel }),
2625
- /* @__PURE__ */ jsx20(
2832
+ /* @__PURE__ */ jsxs19("div", { className: "flex items-center gap-3 justify-center", children: [
2833
+ /* @__PURE__ */ jsx19(Button, { variant: "secondary", size: "large", onClick: handleCancel, children: labels.onboarding.connectKalshiModal.actions.cancel }),
2834
+ /* @__PURE__ */ jsx19(
2626
2835
  Button,
2627
2836
  {
2628
2837
  variant: "primary",
@@ -2643,22 +2852,22 @@ var ConnectKalshiModal = ({
2643
2852
  ConnectKalshiModal.displayName = "ConnectKalshiModal";
2644
2853
 
2645
2854
  // src/onboarding/steps/connect-onchain-modal.tsx
2646
- import { useCallback as useCallback5, useState as useState8 } from "react";
2647
- import { useLabels as useLabels19 } from "@agg-build/hooks";
2855
+ import { useCallback as useCallback4, useState as useState8 } from "react";
2856
+ import { useLabels as useLabels18 } from "@agg-build/hooks";
2648
2857
  import * as Dialog2 from "@radix-ui/react-dialog";
2649
- import { jsx as jsx21, jsxs as jsxs21 } from "react/jsx-runtime";
2858
+ import { jsx as jsx20, jsxs as jsxs20 } from "react/jsx-runtime";
2650
2859
  var ConnectOnchainModal = ({
2651
2860
  open,
2652
2861
  onOpenChange,
2653
2862
  onConnect
2654
2863
  }) => {
2655
- const labels = useLabels19();
2864
+ const labels = useLabels18();
2656
2865
  const [connecting, setConnecting] = useState8(false);
2657
2866
  const [error, setError] = useState8();
2658
- const handleCancel = useCallback5(() => {
2867
+ const handleCancel = useCallback4(() => {
2659
2868
  onOpenChange(false);
2660
2869
  }, [onOpenChange]);
2661
- const handleConnect = useCallback5(() => __async(null, null, function* () {
2870
+ const handleConnect = useCallback4(() => __async(null, null, function* () {
2662
2871
  if (connecting) return;
2663
2872
  setConnecting(true);
2664
2873
  setError(void 0);
@@ -2673,7 +2882,7 @@ var ConnectOnchainModal = ({
2673
2882
  setConnecting(false);
2674
2883
  }
2675
2884
  }), [connecting, labels.onboarding.connectOnchainModal.fallbackError, onConnect, onOpenChange]);
2676
- const handleOpenChange = useCallback5(
2885
+ const handleOpenChange = useCallback4(
2677
2886
  (value) => {
2678
2887
  if (value) {
2679
2888
  setError(void 0);
@@ -2683,15 +2892,15 @@ var ConnectOnchainModal = ({
2683
2892
  },
2684
2893
  [onOpenChange]
2685
2894
  );
2686
- return /* @__PURE__ */ jsx21(Modal, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs21(
2895
+ return /* @__PURE__ */ jsx20(Modal, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs20(
2687
2896
  Modal.Container,
2688
2897
  {
2689
2898
  maxWidth: "600px",
2690
2899
  "aria-label": labels.onboarding.connectOnchainModal.ariaLabel,
2691
2900
  classNames: { container: "!rounded-agg-lg" },
2692
2901
  children: [
2693
- /* @__PURE__ */ jsx21(Dialog2.Title, { className: "sr-only", children: labels.onboarding.connectOnchainModal.title }),
2694
- /* @__PURE__ */ jsx21(
2902
+ /* @__PURE__ */ jsx20(Dialog2.Title, { className: "sr-only", children: labels.onboarding.connectOnchainModal.title }),
2903
+ /* @__PURE__ */ jsx20(
2695
2904
  Modal.Header,
2696
2905
  {
2697
2906
  hideClose: false,
@@ -2702,26 +2911,26 @@ var ConnectOnchainModal = ({
2702
2911
  }
2703
2912
  }
2704
2913
  ),
2705
- /* @__PURE__ */ jsx21(Modal.Body, { classNames: { root: "!px-5 !pt-0 !pb-[60px] sm:!px-8" }, children: /* @__PURE__ */ jsxs21("div", { className: "flex flex-col gap-8 items-center", children: [
2706
- /* @__PURE__ */ jsxs21("div", { className: "flex flex-col gap-4 items-center text-center", children: [
2707
- /* @__PURE__ */ jsx21("h2", { className: "text-agg-2xl font-agg-bold text-agg-foreground", children: labels.onboarding.connectOnchainModal.title }),
2708
- /* @__PURE__ */ jsx21("p", { className: "text-agg-base text-center leading-agg-6 text-agg-foreground whitespace-pre-line", children: labels.onboarding.connectOnchainModal.description })
2914
+ /* @__PURE__ */ jsx20(Modal.Body, { classNames: { root: "!px-5 !pt-0 !pb-[60px] sm:!px-8" }, children: /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-8 items-center", children: [
2915
+ /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-4 items-center text-center", children: [
2916
+ /* @__PURE__ */ jsx20("h2", { className: "text-agg-2xl font-agg-bold text-agg-foreground", children: labels.onboarding.connectOnchainModal.title }),
2917
+ /* @__PURE__ */ jsx20("p", { className: "text-agg-base text-center leading-agg-6 text-agg-foreground whitespace-pre-line", children: labels.onboarding.connectOnchainModal.description })
2709
2918
  ] }),
2710
- /* @__PURE__ */ jsxs21("div", { className: "flex w-full flex-col items-center gap-4 rounded-agg-xl bg-agg-secondary-hover p-6", children: [
2711
- /* @__PURE__ */ jsx21("p", { className: "text-agg-sm font-agg-bold uppercase leading-agg-5 text-agg-muted-foreground", children: labels.onboarding.connectOnchainModal.supportedVenuesLabel }),
2712
- /* @__PURE__ */ jsx21("div", { className: "flex flex-wrap items-center justify-center gap-x-4 gap-y-3", children: ONCHAIN_VENUES.map((venue, index) => /* @__PURE__ */ jsxs21("div", { className: "flex items-center gap-[6px]", children: [
2713
- index > 0 && /* @__PURE__ */ jsx21("span", { className: "mr-2.5 h-3 w-px bg-agg-separator" }),
2714
- /* @__PURE__ */ jsx21(VenueLogo, { venue, size: "medium" }),
2715
- /* @__PURE__ */ jsx21("span", { className: "text-agg-base text-agg-foreground", children: labels.venues[venue] })
2919
+ /* @__PURE__ */ jsxs20("div", { className: "flex w-full flex-col items-center gap-4 rounded-agg-xl bg-agg-secondary-hover p-6", children: [
2920
+ /* @__PURE__ */ jsx20("p", { className: "text-agg-sm font-agg-bold uppercase leading-agg-5 text-agg-muted-foreground", children: labels.onboarding.connectOnchainModal.supportedVenuesLabel }),
2921
+ /* @__PURE__ */ jsx20("div", { className: "flex flex-wrap items-center justify-center gap-x-4 gap-y-3", children: ONCHAIN_VENUES.map((venue, index) => /* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-[6px]", children: [
2922
+ index > 0 && /* @__PURE__ */ jsx20("span", { className: "mr-2.5 h-3 w-px bg-agg-separator" }),
2923
+ /* @__PURE__ */ jsx20(VenueLogo, { venue, size: "medium" }),
2924
+ /* @__PURE__ */ jsx20("span", { className: "text-agg-base text-agg-foreground", children: labels.venues[venue] })
2716
2925
  ] }, venue)) })
2717
2926
  ] }),
2718
- /* @__PURE__ */ jsxs21("div", { className: "flex flex-col gap-6 items-center", children: [
2719
- /* @__PURE__ */ jsxs21("div", { className: "flex flex-col gap-3 items-center", children: [
2720
- error ? /* @__PURE__ */ jsxs21("div", { className: "flex items-center gap-2", children: [
2721
- /* @__PURE__ */ jsx21(WarningIcon, { className: "h-3.5 w-3.5 shrink-0 text-agg-error" }),
2722
- /* @__PURE__ */ jsx21("p", { className: "text-agg-sm leading-agg-5 text-agg-error", children: error })
2927
+ /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-6 items-center", children: [
2928
+ /* @__PURE__ */ jsxs20("div", { className: "flex flex-col gap-3 items-center", children: [
2929
+ error ? /* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-2", children: [
2930
+ /* @__PURE__ */ jsx20(WarningIcon, { className: "h-3.5 w-3.5 shrink-0 text-agg-error" }),
2931
+ /* @__PURE__ */ jsx20("p", { className: "text-agg-sm leading-agg-5 text-agg-error", children: error })
2723
2932
  ] }) : null,
2724
- /* @__PURE__ */ jsx21(
2933
+ /* @__PURE__ */ jsx20(
2725
2934
  Button,
2726
2935
  {
2727
2936
  variant: "primary",
@@ -2732,7 +2941,7 @@ var ConnectOnchainModal = ({
2732
2941
  }
2733
2942
  )
2734
2943
  ] }),
2735
- /* @__PURE__ */ jsx21(
2944
+ /* @__PURE__ */ jsx20(
2736
2945
  Button,
2737
2946
  {
2738
2947
  variant: "tertiary",
@@ -2751,7 +2960,7 @@ var ConnectOnchainModal = ({
2751
2960
  ConnectOnchainModal.displayName = "ConnectOnchainModal";
2752
2961
 
2753
2962
  // src/onboarding/index.tsx
2754
- import { Fragment as Fragment10, jsx as jsx22, jsxs as jsxs22 } from "react/jsx-runtime";
2963
+ import { Fragment as Fragment9, jsx as jsx21, jsxs as jsxs21 } from "react/jsx-runtime";
2755
2964
  var OnboardingModal = ({
2756
2965
  open,
2757
2966
  onOpenChange,
@@ -2764,7 +2973,7 @@ var OnboardingModal = ({
2764
2973
  connectedKalshi = false
2765
2974
  }) => {
2766
2975
  var _a;
2767
- const labels = useLabels20();
2976
+ const labels = useLabels19();
2768
2977
  const [step, setStep] = useState9(ONBOARDING_STEPS.HOW_IT_WORKS);
2769
2978
  const stepLabels = {
2770
2979
  [ONBOARDING_STEPS.HOW_IT_WORKS]: labels.onboarding.modal.stepHowItWorks,
@@ -2776,56 +2985,56 @@ var OnboardingModal = ({
2776
2985
  const [kalshiConnected, setKalshiConnected] = useState9(false);
2777
2986
  const [onchainModalOpen, setOnchainModalOpen] = useState9(false);
2778
2987
  const [onchainConnected, setOnchainConnected] = useState9(false);
2779
- useEffect4(() => {
2988
+ useEffect6(() => {
2780
2989
  if (open) {
2781
2990
  setStep(ONBOARDING_STEPS.HOW_IT_WORKS);
2782
2991
  setKalshiConnected(false);
2783
2992
  setOnchainConnected(false);
2784
2993
  }
2785
2994
  }, [open]);
2786
- const handleHowItWorksContinue = useCallback6(() => {
2995
+ const handleHowItWorksContinue = useCallback5(() => {
2787
2996
  setStep(ONBOARDING_STEPS.PROFILE_SETUP);
2788
2997
  }, []);
2789
- const handleProfileContinue = useCallback6(
2998
+ const handleProfileContinue = useCallback5(
2790
2999
  (data) => {
2791
3000
  onProfileSubmit == null ? void 0 : onProfileSubmit(data);
2792
3001
  setStep(ONBOARDING_STEPS.CONNECT_ACCOUNTS);
2793
3002
  },
2794
3003
  [onProfileSubmit]
2795
3004
  );
2796
- const handleConnectContinue = useCallback6(() => {
3005
+ const handleConnectContinue = useCallback5(() => {
2797
3006
  onComplete == null ? void 0 : onComplete();
2798
3007
  }, [onComplete]);
2799
- const handleOpenOnchainModal = useCallback6(() => {
3008
+ const handleOpenOnchainModal = useCallback5(() => {
2800
3009
  setOnchainModalOpen(true);
2801
3010
  }, []);
2802
- const handleOnchainConnect = useCallback6(() => __async(null, null, function* () {
3011
+ const handleOnchainConnect = useCallback5(() => __async(null, null, function* () {
2803
3012
  yield onConnectOnchain == null ? void 0 : onConnectOnchain();
2804
3013
  setOnchainConnected(true);
2805
3014
  }), [onConnectOnchain]);
2806
- const handleOpenKalshiModal = useCallback6(() => {
3015
+ const handleOpenKalshiModal = useCallback5(() => {
2807
3016
  setKalshiModalOpen(true);
2808
3017
  }, []);
2809
- const handleKalshiVerify = useCallback6(
3018
+ const handleKalshiVerify = useCallback5(
2810
3019
  (credentials) => __async(null, null, function* () {
2811
3020
  yield onConnectKalshi == null ? void 0 : onConnectKalshi(credentials);
2812
3021
  setKalshiConnected(true);
2813
3022
  }),
2814
3023
  [onConnectKalshi]
2815
3024
  );
2816
- return /* @__PURE__ */ jsxs22(Fragment10, { children: [
2817
- /* @__PURE__ */ jsx22(Modal, { open, onOpenChange, children: /* @__PURE__ */ jsxs22(
3025
+ return /* @__PURE__ */ jsxs21(Fragment9, { children: [
3026
+ /* @__PURE__ */ jsx21(Modal, { open, onOpenChange, children: /* @__PURE__ */ jsxs21(
2818
3027
  Modal.Container,
2819
3028
  {
2820
3029
  maxWidth: "600px",
2821
3030
  "aria-label": resolvedTitle,
2822
3031
  classNames: { container: "!rounded-agg-lg" },
2823
3032
  children: [
2824
- /* @__PURE__ */ jsx22(Dialog3.Title, { className: "sr-only", children: resolvedTitle }),
2825
- /* @__PURE__ */ jsxs22(Modal.Body, { classNames: { root: "px-5 py-6 sm:px-10 sm:py-8" }, children: [
2826
- step === ONBOARDING_STEPS.HOW_IT_WORKS && /* @__PURE__ */ jsx22(HowItWorksStep, { onContinue: handleHowItWorksContinue, icons: howItWorksIcons }),
2827
- step === ONBOARDING_STEPS.PROFILE_SETUP && /* @__PURE__ */ jsx22(ProfileSetupStep, { onContinue: handleProfileContinue }),
2828
- step === ONBOARDING_STEPS.CONNECT_ACCOUNTS && /* @__PURE__ */ jsx22(
3033
+ /* @__PURE__ */ jsx21(Dialog3.Title, { className: "sr-only", children: resolvedTitle }),
3034
+ /* @__PURE__ */ jsxs21(Modal.Body, { classNames: { root: "px-5 py-6 sm:px-10 sm:py-8" }, children: [
3035
+ step === ONBOARDING_STEPS.HOW_IT_WORKS && /* @__PURE__ */ jsx21(HowItWorksStep, { onContinue: handleHowItWorksContinue, icons: howItWorksIcons }),
3036
+ step === ONBOARDING_STEPS.PROFILE_SETUP && /* @__PURE__ */ jsx21(ProfileSetupStep, { onContinue: handleProfileContinue }),
3037
+ step === ONBOARDING_STEPS.CONNECT_ACCOUNTS && /* @__PURE__ */ jsx21(
2829
3038
  ConnectAccountsStep,
2830
3039
  {
2831
3040
  onConnectOnchain: handleOpenOnchainModal,
@@ -2839,7 +3048,7 @@ var OnboardingModal = ({
2839
3048
  ]
2840
3049
  }
2841
3050
  ) }),
2842
- /* @__PURE__ */ jsx22(
3051
+ /* @__PURE__ */ jsx21(
2843
3052
  ConnectOnchainModal,
2844
3053
  {
2845
3054
  open: onchainModalOpen,
@@ -2847,7 +3056,7 @@ var OnboardingModal = ({
2847
3056
  onConnect: handleOnchainConnect
2848
3057
  }
2849
3058
  ),
2850
- /* @__PURE__ */ jsx22(
3059
+ /* @__PURE__ */ jsx21(
2851
3060
  ConnectKalshiModal,
2852
3061
  {
2853
3062
  open: kalshiModalOpen,
@@ -2861,7 +3070,7 @@ OnboardingModal.displayName = "OnboardingModal";
2861
3070
 
2862
3071
  // src/profile/index.tsx
2863
3072
  import { Venue as Venue4 } from "@agg-build/sdk";
2864
- import { useState as useState11, useEffect as useEffect6, useCallback as useCallback9, useMemo as useMemo3 } from "react";
3073
+ import { useState as useState11, useEffect as useEffect8, useCallback as useCallback8, useMemo as useMemo2 } from "react";
2865
3074
  import { useAggClient as useAggClient2, useAggAuthState as useAggAuthState2 } from "@agg-build/hooks";
2866
3075
 
2867
3076
  // src/profile/profile-modal.constants.ts
@@ -2879,9 +3088,9 @@ var PROFILE_TAB_ITEMS = [
2879
3088
  ];
2880
3089
 
2881
3090
  // src/profile/tabs/about-tab.tsx
2882
- import { useCallback as useCallback7, useRef as useRef4 } from "react";
2883
- import { useLabels as useLabels21 } from "@agg-build/hooks";
2884
- import { jsx as jsx23, jsxs as jsxs23 } from "react/jsx-runtime";
3091
+ import { useCallback as useCallback6, useRef as useRef4 } from "react";
3092
+ import { useLabels as useLabels20 } from "@agg-build/hooks";
3093
+ import { jsx as jsx22, jsxs as jsxs22 } from "react/jsx-runtime";
2885
3094
  var AboutTab = ({
2886
3095
  avatarPreview,
2887
3096
  onDeleteProfile: _onDeleteProfile,
@@ -2891,13 +3100,13 @@ var AboutTab = ({
2891
3100
  draftAvatarPreview,
2892
3101
  avatarError: _avatarError
2893
3102
  }) => {
2894
- const labels = useLabels21();
3103
+ const labels = useLabels20();
2895
3104
  const fileInputRef = useRef4(null);
2896
- const handleAvatarClick = useCallback7(() => {
3105
+ const handleAvatarClick = useCallback6(() => {
2897
3106
  var _a;
2898
3107
  (_a = fileInputRef.current) == null ? void 0 : _a.click();
2899
3108
  }, []);
2900
- const handleFileChange = useCallback7(
3109
+ const handleFileChange = useCallback6(
2901
3110
  (e) => {
2902
3111
  var _a;
2903
3112
  const file = (_a = e.target.files) == null ? void 0 : _a[0];
@@ -2913,9 +3122,9 @@ var AboutTab = ({
2913
3122
  );
2914
3123
  const resolvedPreview = draftAvatarPreview != null ? draftAvatarPreview : avatarPreview;
2915
3124
  const hasAvatarPreview = Boolean(resolvedPreview);
2916
- return /* @__PURE__ */ jsxs23("div", { className: "agg-profile-about flex flex-col gap-8", children: [
2917
- /* @__PURE__ */ jsxs23("div", { className: "agg-profile-avatar-section flex w-full flex-col items-stretch sm:items-start", children: [
2918
- /* @__PURE__ */ jsxs23(
3125
+ return /* @__PURE__ */ jsxs22("div", { className: "agg-profile-about flex flex-col gap-8", children: [
3126
+ /* @__PURE__ */ jsxs22("div", { className: "agg-profile-avatar-section flex w-full flex-col items-stretch sm:items-start", children: [
3127
+ /* @__PURE__ */ jsxs22(
2919
3128
  "button",
2920
3129
  {
2921
3130
  type: "button",
@@ -2932,13 +3141,13 @@ var AboutTab = ({
2932
3141
  ),
2933
3142
  "aria-label": labels.onboarding.profileSetup.uploadProfilePictureAria,
2934
3143
  children: [
2935
- !hasAvatarPreview ? /* @__PURE__ */ jsx23(
3144
+ !hasAvatarPreview ? /* @__PURE__ */ jsx22(
2936
3145
  "svg",
2937
3146
  {
2938
3147
  "aria-hidden": true,
2939
3148
  viewBox: "0 0 80 80",
2940
3149
  className: "pointer-events-none absolute inset-0 h-full w-full text-agg-separator group-hover:text-agg-muted-foreground",
2941
- children: /* @__PURE__ */ jsx23(
3150
+ children: /* @__PURE__ */ jsx22(
2942
3151
  "circle",
2943
3152
  {
2944
3153
  cx: "40",
@@ -2952,18 +3161,18 @@ var AboutTab = ({
2952
3161
  )
2953
3162
  }
2954
3163
  ) : null,
2955
- resolvedPreview ? /* @__PURE__ */ jsx23(
3164
+ resolvedPreview ? /* @__PURE__ */ jsx22(
2956
3165
  RemoteImage,
2957
3166
  {
2958
3167
  src: resolvedPreview,
2959
3168
  alt: labels.onboarding.profileSetup.profilePreviewAlt,
2960
3169
  className: "h-full w-full object-cover"
2961
3170
  }
2962
- ) : /* @__PURE__ */ jsx23(Icon, { name: "profile", className: "h-7 w-7 text-agg-muted-foreground" })
3171
+ ) : /* @__PURE__ */ jsx22(Icon, { name: "profile", className: "h-7 w-7 text-agg-muted-foreground" })
2963
3172
  ]
2964
3173
  }
2965
3174
  ),
2966
- /* @__PURE__ */ jsx23(
3175
+ /* @__PURE__ */ jsx22(
2967
3176
  "input",
2968
3177
  {
2969
3178
  ref: fileInputRef,
@@ -2975,8 +3184,8 @@ var AboutTab = ({
2975
3184
  }
2976
3185
  )
2977
3186
  ] }),
2978
- /* @__PURE__ */ jsxs23("div", { className: "agg-form-section flex flex-col gap-2", children: [
2979
- /* @__PURE__ */ jsx23(
3187
+ /* @__PURE__ */ jsxs22("div", { className: "agg-form-section flex flex-col gap-2", children: [
3188
+ /* @__PURE__ */ jsx22(
2980
3189
  "label",
2981
3190
  {
2982
3191
  htmlFor: "profile-username",
@@ -2984,7 +3193,7 @@ var AboutTab = ({
2984
3193
  children: "Username"
2985
3194
  }
2986
3195
  ),
2987
- /* @__PURE__ */ jsx23(
3196
+ /* @__PURE__ */ jsx22(
2988
3197
  "input",
2989
3198
  {
2990
3199
  id: "profile-username",
@@ -3011,11 +3220,11 @@ var AboutTab = ({
3011
3220
  AboutTab.displayName = "AboutTab";
3012
3221
 
3013
3222
  // src/profile/tabs/accounts-wallets-tab.tsx
3014
- import { useCallback as useCallback8, useEffect as useEffect5, useState as useState10 } from "react";
3223
+ import { useCallback as useCallback7, useEffect as useEffect7, useState as useState10 } from "react";
3015
3224
  import { useAggClient, useDepositAddresses as useDepositAddresses2 } from "@agg-build/hooks";
3016
- import { jsx as jsx24, jsxs as jsxs24 } from "react/jsx-runtime";
3017
- var SectionTitle = ({ children }) => /* @__PURE__ */ jsx24("h3", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children });
3018
- var AccountRow = ({ children, className }) => /* @__PURE__ */ jsx24(
3225
+ import { jsx as jsx23, jsxs as jsxs23 } from "react/jsx-runtime";
3226
+ var SectionTitle = ({ children }) => /* @__PURE__ */ jsx23("h3", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children });
3227
+ var AccountRow = ({ children, className }) => /* @__PURE__ */ jsx23(
3019
3228
  "div",
3020
3229
  {
3021
3230
  className: cn(
@@ -3027,7 +3236,7 @@ var AccountRow = ({ children, className }) => /* @__PURE__ */ jsx24(
3027
3236
  children
3028
3237
  }
3029
3238
  );
3030
- var ConnectTextButton = ({ onClick }) => /* @__PURE__ */ jsx24(
3239
+ var ConnectTextButton = ({ onClick }) => /* @__PURE__ */ jsx23(
3031
3240
  "button",
3032
3241
  {
3033
3242
  type: "button",
@@ -3036,7 +3245,7 @@ var ConnectTextButton = ({ onClick }) => /* @__PURE__ */ jsx24(
3036
3245
  children: "Connect"
3037
3246
  }
3038
3247
  );
3039
- var DisconnectTextButton = ({ onClick }) => /* @__PURE__ */ jsx24(
3248
+ var DisconnectTextButton = ({ onClick }) => /* @__PURE__ */ jsx23(
3040
3249
  "button",
3041
3250
  {
3042
3251
  type: "button",
@@ -3054,7 +3263,7 @@ var VerifyIdentityButton = ({ onError }) => {
3054
3263
  enabled: needsDepositAddress,
3055
3264
  poll: true
3056
3265
  });
3057
- useEffect5(() => {
3266
+ useEffect7(() => {
3058
3267
  if (!isInitiating || !isReady) return;
3059
3268
  const redirectUri = window.location.href;
3060
3269
  client.initiateKyc("kalshi", redirectUri).then((res) => {
@@ -3068,25 +3277,25 @@ var VerifyIdentityButton = ({ onError }) => {
3068
3277
  setNeedsDepositAddress(false);
3069
3278
  });
3070
3279
  }, [isReady, isInitiating, client, onError]);
3071
- useEffect5(() => {
3280
+ useEffect7(() => {
3072
3281
  if (isTimedOut && isInitiating) {
3073
3282
  setIsInitiating(false);
3074
3283
  setNeedsDepositAddress(false);
3075
3284
  onError == null ? void 0 : onError(new Error("Deposit address provisioning timed out"));
3076
3285
  }
3077
3286
  }, [isTimedOut, isInitiating, onError]);
3078
- const handleClick = useCallback8(() => {
3287
+ const handleClick = useCallback7(() => {
3079
3288
  setIsInitiating(true);
3080
3289
  setNeedsDepositAddress(true);
3081
3290
  }, []);
3082
- return /* @__PURE__ */ jsx24(
3291
+ return /* @__PURE__ */ jsx23(
3083
3292
  "button",
3084
3293
  {
3085
3294
  type: "button",
3086
3295
  disabled: isInitiating,
3087
3296
  onClick: handleClick,
3088
3297
  className: "shrink-0 cursor-pointer text-agg-sm font-agg-bold leading-agg-5 text-agg-primary whitespace-nowrap disabled:cursor-not-allowed disabled:opacity-60",
3089
- children: isInitiating ? /* @__PURE__ */ jsx24("span", { className: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }) : "Verify Identity"
3298
+ children: isInitiating ? /* @__PURE__ */ jsx23("span", { className: "inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }) : "Verify Identity"
3090
3299
  }
3091
3300
  );
3092
3301
  };
@@ -3094,26 +3303,26 @@ var TradingAccessSection = ({
3094
3303
  venueAccounts,
3095
3304
  onKycError
3096
3305
  }) => {
3097
- return /* @__PURE__ */ jsxs24("div", { className: "agg-trading-access-section flex flex-col gap-3", children: [
3098
- /* @__PURE__ */ jsx24(SectionTitle, { children: "Trading access" }),
3099
- /* @__PURE__ */ jsx24("div", { className: "flex flex-col gap-2", children: TRADING_ACCESS_VENUES.map((venue) => {
3306
+ return /* @__PURE__ */ jsxs23("div", { className: "agg-trading-access-section flex flex-col gap-3", children: [
3307
+ /* @__PURE__ */ jsx23(SectionTitle, { children: "Trading access" }),
3308
+ /* @__PURE__ */ jsx23("div", { className: "flex flex-col gap-2", children: TRADING_ACCESS_VENUES.map((venue) => {
3100
3309
  var _a;
3101
3310
  const venueAccount = venueAccounts == null ? void 0 : venueAccounts.find((va) => va.venue === venue);
3102
3311
  const isKalshi = venue === "kalshi";
3103
3312
  const isVerified = (venueAccount == null ? void 0 : venueAccount.kycStatus) === "verified";
3104
3313
  const displayName = (_a = venueLogoLabels[venue]) != null ? _a : venue;
3105
- return /* @__PURE__ */ jsxs24(AccountRow, { children: [
3106
- /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
3107
- /* @__PURE__ */ jsx24(VenueLogo, { venue, size: "small" }),
3108
- /* @__PURE__ */ jsx24("span", { className: "text-agg-base font-agg-normal leading-6 text-agg-foreground whitespace-nowrap", children: displayName })
3314
+ return /* @__PURE__ */ jsxs23(AccountRow, { children: [
3315
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
3316
+ /* @__PURE__ */ jsx23(VenueLogo, { venue, size: "small" }),
3317
+ /* @__PURE__ */ jsx23("span", { className: "text-agg-base font-agg-normal leading-6 text-agg-foreground whitespace-nowrap", children: displayName })
3109
3318
  ] }),
3110
- isKalshi && !isVerified ? /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-4", children: [
3111
- /* @__PURE__ */ jsx24("span", { className: "text-agg-sm font-agg-normal leading-agg-5 text-agg-muted-foreground whitespace-nowrap", children: "KYC required" }),
3112
- /* @__PURE__ */ jsx24(VerifyIdentityButton, { onError: onKycError })
3113
- ] }) : isKalshi && isVerified ? /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-4", children: [
3114
- /* @__PURE__ */ jsx24("span", { className: "text-agg-sm font-agg-normal leading-agg-5 text-agg-muted-foreground whitespace-nowrap", children: "Verified" }),
3115
- /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-2", children: [
3116
- /* @__PURE__ */ jsx24(
3319
+ isKalshi && !isVerified ? /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-4", children: [
3320
+ /* @__PURE__ */ jsx23("span", { className: "text-agg-sm font-agg-normal leading-agg-5 text-agg-muted-foreground whitespace-nowrap", children: "KYC required" }),
3321
+ /* @__PURE__ */ jsx23(VerifyIdentityButton, { onError: onKycError })
3322
+ ] }) : isKalshi && isVerified ? /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-4", children: [
3323
+ /* @__PURE__ */ jsx23("span", { className: "text-agg-sm font-agg-normal leading-agg-5 text-agg-muted-foreground whitespace-nowrap", children: "Verified" }),
3324
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2", children: [
3325
+ /* @__PURE__ */ jsx23(
3117
3326
  Icon,
3118
3327
  {
3119
3328
  name: "check-badge",
@@ -3121,11 +3330,11 @@ var TradingAccessSection = ({
3121
3330
  color: "var(--agg-color-primary, #536dfe)"
3122
3331
  }
3123
3332
  ),
3124
- /* @__PURE__ */ jsx24("span", { className: "text-agg-sm font-agg-normal leading-agg-5 text-agg-foreground whitespace-nowrap", children: "Available" })
3333
+ /* @__PURE__ */ jsx23("span", { className: "text-agg-sm font-agg-normal leading-agg-5 text-agg-foreground whitespace-nowrap", children: "Available" })
3125
3334
  ] })
3126
- ] }) : /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-2", children: [
3127
- /* @__PURE__ */ jsx24(Icon, { name: "check-badge", size: "small", color: "var(--agg-color-primary, #536dfe)" }),
3128
- /* @__PURE__ */ jsx24("span", { className: "text-agg-sm font-agg-normal leading-agg-5 text-agg-foreground whitespace-nowrap", children: "Available" })
3335
+ ] }) : /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2", children: [
3336
+ /* @__PURE__ */ jsx23(Icon, { name: "check-badge", size: "small", color: "var(--agg-color-primary, #536dfe)" }),
3337
+ /* @__PURE__ */ jsx23("span", { className: "text-agg-sm font-agg-normal leading-agg-5 text-agg-foreground whitespace-nowrap", children: "Available" })
3129
3338
  ] })
3130
3339
  ] }, venue);
3131
3340
  }) })
@@ -3153,37 +3362,37 @@ var AccountsWalletsTab = ({
3153
3362
  const twitter = socialAccounts == null ? void 0 : socialAccounts.twitter;
3154
3363
  const google = socialAccounts == null ? void 0 : socialAccounts.google;
3155
3364
  const apple = socialAccounts == null ? void 0 : socialAccounts.apple;
3156
- return /* @__PURE__ */ jsxs24("div", { className: "agg-accounts-wallets-tab flex flex-col gap-8", children: [
3157
- /* @__PURE__ */ jsx24(TradingAccessSection, { venueAccounts, onKycError }),
3158
- /* @__PURE__ */ jsxs24("div", { className: "agg-social-accounts-section flex flex-col gap-3", children: [
3159
- /* @__PURE__ */ jsx24(SectionTitle, { children: "Social Accounts" }),
3160
- /* @__PURE__ */ jsxs24("div", { className: "agg-social-accounts-list flex flex-col gap-2", children: [
3161
- /* @__PURE__ */ jsxs24(AccountRow, { className: "agg-social-account-row", children: [
3162
- /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
3163
- /* @__PURE__ */ jsx24("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-agg-foreground", children: /* @__PURE__ */ jsx24(Icon, { name: "google", size: "small", color: "currentColor" }) }),
3164
- /* @__PURE__ */ jsx24("span", { className: "text-agg-base font-agg-normal leading-6 text-agg-foreground whitespace-nowrap", children: "Google" })
3365
+ return /* @__PURE__ */ jsxs23("div", { className: "agg-accounts-wallets-tab flex flex-col gap-8", children: [
3366
+ /* @__PURE__ */ jsx23(TradingAccessSection, { venueAccounts, onKycError }),
3367
+ /* @__PURE__ */ jsxs23("div", { className: "agg-social-accounts-section flex flex-col gap-3", children: [
3368
+ /* @__PURE__ */ jsx23(SectionTitle, { children: "Social Accounts" }),
3369
+ /* @__PURE__ */ jsxs23("div", { className: "agg-social-accounts-list flex flex-col gap-2", children: [
3370
+ /* @__PURE__ */ jsxs23(AccountRow, { className: "agg-social-account-row", children: [
3371
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
3372
+ /* @__PURE__ */ jsx23("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-agg-foreground", children: /* @__PURE__ */ jsx23(Icon, { name: "google", size: "small", color: "currentColor" }) }),
3373
+ /* @__PURE__ */ jsx23("span", { className: "text-agg-base font-agg-normal leading-6 text-agg-foreground whitespace-nowrap", children: "Google" })
3165
3374
  ] }),
3166
- (google == null ? void 0 : google.connected) ? /* @__PURE__ */ jsx24(DisconnectTextButton, { onClick: onDisconnectGoogle }) : /* @__PURE__ */ jsx24(ConnectTextButton, { onClick: onConnectGoogle })
3375
+ (google == null ? void 0 : google.connected) ? /* @__PURE__ */ jsx23(DisconnectTextButton, { onClick: onDisconnectGoogle }) : /* @__PURE__ */ jsx23(ConnectTextButton, { onClick: onConnectGoogle })
3167
3376
  ] }),
3168
- /* @__PURE__ */ jsxs24(AccountRow, { className: "agg-social-account-row", children: [
3169
- /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
3170
- /* @__PURE__ */ jsx24("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-agg-foreground", children: /* @__PURE__ */ jsx24(Icon, { name: "apple", size: "small", color: "currentColor" }) }),
3171
- /* @__PURE__ */ jsx24("span", { className: "text-agg-base font-agg-normal leading-6 text-agg-foreground whitespace-nowrap", children: "Apple" })
3377
+ /* @__PURE__ */ jsxs23(AccountRow, { className: "agg-social-account-row", children: [
3378
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
3379
+ /* @__PURE__ */ jsx23("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-agg-foreground", children: /* @__PURE__ */ jsx23(Icon, { name: "apple", size: "small", color: "currentColor" }) }),
3380
+ /* @__PURE__ */ jsx23("span", { className: "text-agg-base font-agg-normal leading-6 text-agg-foreground whitespace-nowrap", children: "Apple" })
3172
3381
  ] }),
3173
- (apple == null ? void 0 : apple.connected) ? /* @__PURE__ */ jsx24(DisconnectTextButton, { onClick: onDisconnectApple }) : /* @__PURE__ */ jsx24(ConnectTextButton, { onClick: onConnectApple })
3382
+ (apple == null ? void 0 : apple.connected) ? /* @__PURE__ */ jsx23(DisconnectTextButton, { onClick: onDisconnectApple }) : /* @__PURE__ */ jsx23(ConnectTextButton, { onClick: onConnectApple })
3174
3383
  ] }),
3175
- /* @__PURE__ */ jsxs24(AccountRow, { className: "agg-social-account-row", children: [
3176
- /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
3177
- /* @__PURE__ */ jsx24("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-agg-foreground", children: /* @__PURE__ */ jsx24(Icon, { name: "twitter", size: "small", color: "currentColor" }) }),
3178
- /* @__PURE__ */ jsx24("span", { className: "text-agg-base font-agg-normal leading-6 text-agg-foreground whitespace-nowrap", children: "X (Twitter)" })
3384
+ /* @__PURE__ */ jsxs23(AccountRow, { className: "agg-social-account-row", children: [
3385
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
3386
+ /* @__PURE__ */ jsx23("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-agg-foreground", children: /* @__PURE__ */ jsx23(Icon, { name: "twitter", size: "small", color: "currentColor" }) }),
3387
+ /* @__PURE__ */ jsx23("span", { className: "text-agg-base font-agg-normal leading-6 text-agg-foreground whitespace-nowrap", children: "X (Twitter)" })
3179
3388
  ] }),
3180
- (twitter == null ? void 0 : twitter.connected) ? /* @__PURE__ */ jsx24(DisconnectTextButton, { onClick: onDisconnectTwitter }) : /* @__PURE__ */ jsx24(ConnectTextButton, { onClick: onConnectTwitter })
3389
+ (twitter == null ? void 0 : twitter.connected) ? /* @__PURE__ */ jsx23(DisconnectTextButton, { onClick: onDisconnectTwitter }) : /* @__PURE__ */ jsx23(ConnectTextButton, { onClick: onConnectTwitter })
3181
3390
  ] })
3182
3391
  ] })
3183
3392
  ] }),
3184
- /* @__PURE__ */ jsxs24("div", { className: "flex flex-col gap-3", children: [
3185
- /* @__PURE__ */ jsx24(SectionTitle, { children: "Email Address" }),
3186
- /* @__PURE__ */ jsxs24(
3393
+ /* @__PURE__ */ jsxs23("div", { className: "flex flex-col gap-3", children: [
3394
+ /* @__PURE__ */ jsx23(SectionTitle, { children: "Email Address" }),
3395
+ /* @__PURE__ */ jsxs23(
3187
3396
  "button",
3188
3397
  {
3189
3398
  type: "button",
@@ -3195,11 +3404,11 @@ var AccountsWalletsTab = ({
3195
3404
  "cursor-pointer hover:bg-agg-secondary-hover"
3196
3405
  ),
3197
3406
  children: [
3198
- /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-3", children: [
3199
- /* @__PURE__ */ jsx24("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-agg-foreground", children: /* @__PURE__ */ jsx24(Icon, { name: "email", size: "small", color: "currentColor" }) }),
3200
- /* @__PURE__ */ jsx24("span", { className: "text-agg-base font-agg-normal leading-6 text-agg-foreground whitespace-nowrap", children: email != null ? email : "Connect email" })
3407
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-3", children: [
3408
+ /* @__PURE__ */ jsx23("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-agg-foreground", children: /* @__PURE__ */ jsx23(Icon, { name: "email", size: "small", color: "currentColor" }) }),
3409
+ /* @__PURE__ */ jsx23("span", { className: "text-agg-base font-agg-normal leading-6 text-agg-foreground whitespace-nowrap", children: email != null ? email : "Connect email" })
3201
3410
  ] }),
3202
- /* @__PURE__ */ jsx24(Icon, { name: "chevron-right", size: "small", color: "currentColor" })
3411
+ /* @__PURE__ */ jsx23(Icon, { name: "chevron-right", size: "small", color: "currentColor" })
3203
3412
  ]
3204
3413
  }
3205
3414
  )
@@ -3209,7 +3418,7 @@ var AccountsWalletsTab = ({
3209
3418
  AccountsWalletsTab.displayName = "AccountsWalletsTab";
3210
3419
 
3211
3420
  // src/profile/index.tsx
3212
- import { jsx as jsx25, jsxs as jsxs25 } from "react/jsx-runtime";
3421
+ import { jsx as jsx24, jsxs as jsxs24 } from "react/jsx-runtime";
3213
3422
  var EVM_WALLET_VENUES = [Venue4.polymarket, Venue4.predict, Venue4.opinion];
3214
3423
  var ProfileModal = ({
3215
3424
  open,
@@ -3247,11 +3456,11 @@ var ProfileModal = ({
3247
3456
  const [draftAvatarPreview, setDraftAvatarPreview] = useState11();
3248
3457
  const [isSaving, setIsSaving] = useState11(false);
3249
3458
  const [avatarTypeError, setAvatarTypeError] = useState11(null);
3250
- useEffect6(() => {
3459
+ useEffect8(() => {
3251
3460
  var _a2;
3252
3461
  setDraftUsername((_a2 = username != null ? username : user == null ? void 0 : user.username) != null ? _a2 : "");
3253
3462
  }, [username, user == null ? void 0 : user.username]);
3254
- const handleOpenChange = useCallback9(
3463
+ const handleOpenChange = useCallback8(
3255
3464
  (isOpen) => {
3256
3465
  var _a2;
3257
3466
  if (!isOpen) {
@@ -3275,7 +3484,7 @@ var ProfileModal = ({
3275
3484
  setDraftAvatarPreview
3276
3485
  ]
3277
3486
  );
3278
- const handleDraftAvatarChange = useCallback9(
3487
+ const handleDraftAvatarChange = useCallback8(
3279
3488
  (file, preview) => {
3280
3489
  const ACCEPTED_AVATAR_TYPES = ["image/jpeg", "image/png", "image/gif", "image/webp"];
3281
3490
  if (file && !ACCEPTED_AVATAR_TYPES.includes(file.type)) {
@@ -3290,7 +3499,7 @@ var ProfileModal = ({
3290
3499
  );
3291
3500
  const originalUsername = (_b = username != null ? username : user == null ? void 0 : user.username) != null ? _b : "";
3292
3501
  const hasChanges = draftUsername !== originalUsername || draftAvatarFile !== void 0;
3293
- const handleSave = useCallback9(() => __async(null, null, function* () {
3502
+ const handleSave = useCallback8(() => __async(null, null, function* () {
3294
3503
  var _a2, _b2;
3295
3504
  setIsSaving(true);
3296
3505
  try {
@@ -3335,7 +3544,7 @@ var ProfileModal = ({
3335
3544
  onSave,
3336
3545
  originalUsername
3337
3546
  ]);
3338
- const handleCancel = useCallback9(() => {
3547
+ const handleCancel = useCallback8(() => {
3339
3548
  handleOpenChange(false);
3340
3549
  }, [handleOpenChange]);
3341
3550
  const isAccountConnected = (providers) => {
@@ -3379,7 +3588,7 @@ var ProfileModal = ({
3379
3588
  if (typeof window === "undefined") return;
3380
3589
  ((_a2 = window.top) != null ? _a2 : window).location.assign(url);
3381
3590
  };
3382
- const handleConnectTwitter = useCallback9(() => __async(null, null, function* () {
3591
+ const handleConnectTwitter = useCallback8(() => __async(null, null, function* () {
3383
3592
  const result = yield startAuth({
3384
3593
  provider: "twitter",
3385
3594
  redirectUrl: resolveRedirectUrl()
@@ -3389,7 +3598,7 @@ var ProfileModal = ({
3389
3598
  navigateTopWindow(result.url);
3390
3599
  }
3391
3600
  }), [onConnectTwitter, startAuth]);
3392
- const handleConnectGoogle = useCallback9(() => __async(null, null, function* () {
3601
+ const handleConnectGoogle = useCallback8(() => __async(null, null, function* () {
3393
3602
  const result = yield startAuth({
3394
3603
  provider: "google",
3395
3604
  redirectUrl: resolveRedirectUrl()
@@ -3399,7 +3608,7 @@ var ProfileModal = ({
3399
3608
  navigateTopWindow(result.url);
3400
3609
  }
3401
3610
  }), [onConnectGoogle, startAuth]);
3402
- const handleConnectApple = useCallback9(() => __async(null, null, function* () {
3611
+ const handleConnectApple = useCallback8(() => __async(null, null, function* () {
3403
3612
  const result = yield startAuth({
3404
3613
  provider: "apple",
3405
3614
  redirectUrl: resolveRedirectUrl()
@@ -3409,22 +3618,22 @@ var ProfileModal = ({
3409
3618
  navigateTopWindow(result.url);
3410
3619
  }
3411
3620
  }), [onConnectApple, startAuth]);
3412
- const handleDisconnectTwitter = useCallback9(() => __async(null, null, function* () {
3621
+ const handleDisconnectTwitter = useCallback8(() => __async(null, null, function* () {
3413
3622
  yield client.disconnectAccount("twitter");
3414
3623
  yield client.getCurrentUser();
3415
3624
  onDisconnectTwitter == null ? void 0 : onDisconnectTwitter();
3416
3625
  }), [client, onDisconnectTwitter]);
3417
- const handleDisconnectGoogle = useCallback9(() => __async(null, null, function* () {
3626
+ const handleDisconnectGoogle = useCallback8(() => __async(null, null, function* () {
3418
3627
  yield client.disconnectAccount("google");
3419
3628
  yield client.getCurrentUser();
3420
3629
  onDisconnectGoogle == null ? void 0 : onDisconnectGoogle();
3421
3630
  }), [client, onDisconnectGoogle]);
3422
- const handleDisconnectApple = useCallback9(() => __async(null, null, function* () {
3631
+ const handleDisconnectApple = useCallback8(() => __async(null, null, function* () {
3423
3632
  yield client.disconnectAccount("apple");
3424
3633
  yield client.getCurrentUser();
3425
3634
  onDisconnectApple == null ? void 0 : onDisconnectApple();
3426
3635
  }), [client, onDisconnectApple]);
3427
- const handleConnectEmail = useCallback9(() => __async(null, null, function* () {
3636
+ const handleConnectEmail = useCallback8(() => __async(null, null, function* () {
3428
3637
  var _a2;
3429
3638
  const typedEmail = typeof window !== "undefined" ? (_a2 = window.prompt("Enter your email to receive a magic link")) == null ? void 0 : _a2.trim() : void 0;
3430
3639
  if (!typedEmail) return;
@@ -3435,7 +3644,7 @@ var ProfileModal = ({
3435
3644
  });
3436
3645
  onConnectEmail == null ? void 0 : onConnectEmail();
3437
3646
  }), [onConnectEmail, startAuth]);
3438
- const handleDisconnectWallet = useCallback9(
3647
+ const handleDisconnectWallet = useCallback8(
3439
3648
  (wallet) => __async(null, null, function* () {
3440
3649
  const normalizedChain = wallet.chain.toLowerCase();
3441
3650
  const provider = normalizedChain === "solana" || normalizedChain === "svm" ? "solana_wallet" : "wallet";
@@ -3445,7 +3654,7 @@ var ProfileModal = ({
3445
3654
  }),
3446
3655
  [client, onDisconnectWallet]
3447
3656
  );
3448
- const providerActionMap = useMemo3(
3657
+ const providerActionMap = useMemo2(
3449
3658
  () => ({
3450
3659
  twitter: {
3451
3660
  connect: () => {
@@ -3487,20 +3696,19 @@ var ProfileModal = ({
3487
3696
  handleDisconnectTwitter
3488
3697
  ]
3489
3698
  );
3490
- const shortenAddress = (address) => {
3491
- if (address.length <= 12) return address;
3492
- return `${address.slice(0, 6)}...${address.slice(-4)}`;
3493
- };
3494
- const resolvedWallets = useMemo3(() => {
3699
+ const resolvedWallets = useMemo2(() => {
3495
3700
  var _a2, _b2;
3496
3701
  if (wallets) return wallets;
3497
- return (_b2 = (_a2 = user == null ? void 0 : user.wallets) == null ? void 0 : _a2.map((wallet) => ({
3498
- chain: wallet.chain,
3499
- address: wallet.address,
3500
- displayAddress: shortenAddress(wallet.address)
3501
- }))) != null ? _b2 : [];
3702
+ return (_b2 = (_a2 = user == null ? void 0 : user.wallets) == null ? void 0 : _a2.map((wallet) => {
3703
+ var _a3;
3704
+ return {
3705
+ chain: wallet.chain,
3706
+ address: wallet.address,
3707
+ displayAddress: (_a3 = shortenAddress(wallet.address, { chain: wallet.chain })) != null ? _a3 : wallet.address
3708
+ };
3709
+ })) != null ? _b2 : [];
3502
3710
  }, [user == null ? void 0 : user.wallets, wallets]);
3503
- const resolvedExchanges = useMemo3(() => {
3711
+ const resolvedExchanges = useMemo2(() => {
3504
3712
  var _a2, _b2;
3505
3713
  if (exchanges !== void 0) return exchanges;
3506
3714
  const walletAccount = (_a2 = user == null ? void 0 : user.accounts) == null ? void 0 : _a2.find(
@@ -3511,7 +3719,7 @@ var ProfileModal = ({
3511
3719
  const displayAddress = (_b2 = shortenAddress(addr)) != null ? _b2 : addr;
3512
3720
  return EVM_WALLET_VENUES.map((venue) => ({ venue, displayAddress, verified: false }));
3513
3721
  }, [exchanges, user == null ? void 0 : user.accounts]);
3514
- const handleDisconnectExchange = useCallback9(
3722
+ const handleDisconnectExchange = useCallback8(
3515
3723
  (venue) => __async(null, null, function* () {
3516
3724
  if (exchanges !== void 0) {
3517
3725
  onDisconnectExchangeProp == null ? void 0 : onDisconnectExchangeProp(venue);
@@ -3523,7 +3731,7 @@ var ProfileModal = ({
3523
3731
  }),
3524
3732
  [client, exchanges, onDisconnectExchangeProp]
3525
3733
  );
3526
- return /* @__PURE__ */ jsx25(Modal, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs25(
3734
+ return /* @__PURE__ */ jsx24(Modal, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs24(
3527
3735
  Modal.Container,
3528
3736
  {
3529
3737
  maxWidth: "800px",
@@ -3532,12 +3740,12 @@ var ProfileModal = ({
3532
3740
  container: cn("agg-profile-modal", "min-h-[37.5rem]")
3533
3741
  },
3534
3742
  children: [
3535
- /* @__PURE__ */ jsx25(Modal.Header, { title: "Edit Profile", classNames: { root: "agg-profile-modal-header" } }),
3536
- /* @__PURE__ */ jsx25(Modal.Body, { classNames: { root: cn("agg-profile-modal-body", "overflow-x-visible") }, children: /* @__PURE__ */ jsxs25("div", { className: "agg-profile-layout flex flex-col sm:flex-row sm:gap-10", children: [
3537
- /* @__PURE__ */ jsxs25("div", { className: "shrink-0", children: [
3538
- /* @__PURE__ */ jsx25("div", { className: "agg-profile-tabs mb-6 flex gap-2 sm:hidden", children: PROFILE_TAB_ITEMS.map((tab) => {
3743
+ /* @__PURE__ */ jsx24(Modal.Header, { title: "Edit Profile", classNames: { root: "agg-profile-modal-header" } }),
3744
+ /* @__PURE__ */ jsx24(Modal.Body, { classNames: { root: cn("agg-profile-modal-body", "overflow-x-visible") }, children: /* @__PURE__ */ jsxs24("div", { className: "agg-profile-layout flex flex-col sm:flex-row sm:gap-10", children: [
3745
+ /* @__PURE__ */ jsxs24("div", { className: "shrink-0", children: [
3746
+ /* @__PURE__ */ jsx24("div", { className: "agg-profile-tabs mb-6 flex gap-2 sm:hidden", children: PROFILE_TAB_ITEMS.map((tab) => {
3539
3747
  const isActive = activeTab === tab.value;
3540
- return /* @__PURE__ */ jsxs25(
3748
+ return /* @__PURE__ */ jsxs24(
3541
3749
  "button",
3542
3750
  {
3543
3751
  type: "button",
@@ -3551,14 +3759,14 @@ var ProfileModal = ({
3551
3759
  isActive ? "font-agg-normal text-agg-foreground bg-agg-secondary-hover border-agg-primary" : "font-agg-normal text-agg-foreground border-transparent"
3552
3760
  ),
3553
3761
  children: [
3554
- /* @__PURE__ */ jsx25(Icon, { name: tab.icon, size: "small", color: "currentColor" }),
3555
- /* @__PURE__ */ jsx25("span", { className: "whitespace-nowrap", children: tab.label })
3762
+ /* @__PURE__ */ jsx24(Icon, { name: tab.icon, size: "small", color: "currentColor" }),
3763
+ /* @__PURE__ */ jsx24("span", { className: "whitespace-nowrap", children: tab.label })
3556
3764
  ]
3557
3765
  },
3558
3766
  tab.value
3559
3767
  );
3560
3768
  }) }),
3561
- /* @__PURE__ */ jsx25(
3769
+ /* @__PURE__ */ jsx24(
3562
3770
  "nav",
3563
3771
  {
3564
3772
  className: cn(
@@ -3574,7 +3782,7 @@ var ProfileModal = ({
3574
3782
  "aria-label": "Profile sections",
3575
3783
  children: PROFILE_TAB_ITEMS.map((tab) => {
3576
3784
  const isActive = activeTab === tab.value;
3577
- return /* @__PURE__ */ jsxs25(
3785
+ return /* @__PURE__ */ jsxs24(
3578
3786
  "button",
3579
3787
  {
3580
3788
  type: "button",
@@ -3590,9 +3798,9 @@ var ProfileModal = ({
3590
3798
  isActive ? "font-agg-normal text-agg-foreground bg-agg-secondary-hover" : "font-agg-normal text-agg-foreground"
3591
3799
  ),
3592
3800
  children: [
3593
- isActive ? /* @__PURE__ */ jsx25("div", { className: "absolute left-0 top-0 bottom-0 w-1 bg-agg-primary" }) : null,
3594
- /* @__PURE__ */ jsx25(Icon, { name: tab.icon, size: "small", color: "currentColor" }),
3595
- /* @__PURE__ */ jsx25("span", { className: "shrink-0 whitespace-nowrap", children: tab.label })
3801
+ isActive ? /* @__PURE__ */ jsx24("div", { className: "absolute left-0 top-0 bottom-0 w-1 bg-agg-primary" }) : null,
3802
+ /* @__PURE__ */ jsx24(Icon, { name: tab.icon, size: "small", color: "currentColor" }),
3803
+ /* @__PURE__ */ jsx24("span", { className: "shrink-0 whitespace-nowrap", children: tab.label })
3596
3804
  ]
3597
3805
  },
3598
3806
  tab.value
@@ -3601,8 +3809,8 @@ var ProfileModal = ({
3601
3809
  }
3602
3810
  )
3603
3811
  ] }),
3604
- /* @__PURE__ */ jsxs25("div", { className: "agg-profile-content min-w-0 flex-1", children: [
3605
- activeTab === PROFILE_TAB_KEYS.ABOUT ? /* @__PURE__ */ jsx25(
3812
+ /* @__PURE__ */ jsxs24("div", { className: "agg-profile-content min-w-0 flex-1", children: [
3813
+ activeTab === PROFILE_TAB_KEYS.ABOUT ? /* @__PURE__ */ jsx24(
3606
3814
  AboutTab,
3607
3815
  {
3608
3816
  username: username != null ? username : user == null ? void 0 : user.username,
@@ -3616,7 +3824,7 @@ var ProfileModal = ({
3616
3824
  avatarError: avatarTypeError
3617
3825
  }
3618
3826
  ) : null,
3619
- activeTab === PROFILE_TAB_KEYS.ACCOUNTS_WALLETS ? /* @__PURE__ */ jsx25(
3827
+ activeTab === PROFILE_TAB_KEYS.ACCOUNTS_WALLETS ? /* @__PURE__ */ jsx24(
3620
3828
  AccountsWalletsTab,
3621
3829
  {
3622
3830
  exchanges: resolvedExchanges,
@@ -3646,9 +3854,9 @@ var ProfileModal = ({
3646
3854
  ) : null
3647
3855
  ] })
3648
3856
  ] }) }),
3649
- /* @__PURE__ */ jsxs25(Modal.Footer, { classNames: { root: "agg-profile-modal-footer" }, children: [
3650
- /* @__PURE__ */ jsx25(Button, { variant: "secondary", size: "large", onClick: handleCancel, className: "min-w-[120px]", children: "Cancel" }),
3651
- /* @__PURE__ */ jsx25(
3857
+ /* @__PURE__ */ jsxs24(Modal.Footer, { classNames: { root: "agg-profile-modal-footer" }, children: [
3858
+ /* @__PURE__ */ jsx24(Button, { variant: "secondary", size: "large", onClick: handleCancel, className: "min-w-[120px]", children: "Cancel" }),
3859
+ /* @__PURE__ */ jsx24(
3652
3860
  Button,
3653
3861
  {
3654
3862
  variant: "primary",
@@ -3667,46 +3875,46 @@ var ProfileModal = ({
3667
3875
  ProfileModal.displayName = "ProfileModal";
3668
3876
 
3669
3877
  // src/geo-block-modal/index.tsx
3670
- import { useLabels as useLabels22 } from "@agg-build/hooks";
3671
- import { useCallback as useCallback10 } from "react";
3672
- import { jsx as jsx26, jsxs as jsxs26 } from "react/jsx-runtime";
3878
+ import { useLabels as useLabels21 } from "@agg-build/hooks";
3879
+ import { useCallback as useCallback9 } from "react";
3880
+ import { jsx as jsx25, jsxs as jsxs25 } from "react/jsx-runtime";
3673
3881
  var GeoBlockModal = ({
3674
3882
  open,
3675
3883
  onOpenChange,
3676
3884
  onConfirm,
3677
3885
  classNames
3678
3886
  }) => {
3679
- const labels = useLabels22();
3680
- const handleConfirm = useCallback10(() => {
3887
+ const labels = useLabels21();
3888
+ const handleConfirm = useCallback9(() => {
3681
3889
  onConfirm == null ? void 0 : onConfirm();
3682
3890
  onOpenChange(false);
3683
3891
  }, [onConfirm, onOpenChange]);
3684
- return /* @__PURE__ */ jsx26(
3892
+ return /* @__PURE__ */ jsx25(
3685
3893
  Modal,
3686
3894
  {
3687
3895
  open,
3688
3896
  onOpenChange,
3689
3897
  "aria-label": labels.trading.geoBlockModalAriaLabel,
3690
- children: /* @__PURE__ */ jsxs26(
3898
+ children: /* @__PURE__ */ jsxs25(
3691
3899
  Modal.Container,
3692
3900
  {
3693
3901
  maxWidth: "480px",
3694
3902
  classNames: { container: cn("!rounded-agg-2xl", classNames == null ? void 0 : classNames.container) },
3695
3903
  children: [
3696
- /* @__PURE__ */ jsx26(Modal.Header, { title: "", hideBorder: true, classNames: { container: "px-8 pt-8 pb-0" } }),
3697
- /* @__PURE__ */ jsx26(Modal.Body, { classNames: { root: cn("!px-10 !pb-12 !pt-0", classNames == null ? void 0 : classNames.body) }, children: /* @__PURE__ */ jsxs26("div", { className: "flex flex-col items-center gap-8", children: [
3698
- /* @__PURE__ */ jsx26(
3904
+ /* @__PURE__ */ jsx25(Modal.Header, { title: "", hideBorder: true, classNames: { container: "px-8 pt-8 pb-0" } }),
3905
+ /* @__PURE__ */ jsx25(Modal.Body, { classNames: { root: cn("!px-10 !pb-12 !pt-0", classNames == null ? void 0 : classNames.body) }, children: /* @__PURE__ */ jsxs25("div", { className: "flex flex-col items-center gap-8", children: [
3906
+ /* @__PURE__ */ jsx25(
3699
3907
  Icon,
3700
3908
  {
3701
3909
  name: "internet-security",
3702
3910
  className: "h-[60px] w-[60px] text-agg-muted-foreground"
3703
3911
  }
3704
3912
  ),
3705
- /* @__PURE__ */ jsxs26("div", { className: "flex flex-col items-center gap-3 text-center", children: [
3706
- /* @__PURE__ */ jsx26("h2", { className: "text-agg-2xl font-agg-bold leading-agg-8 text-agg-foreground", children: labels.trading.geoBlockModalTitle }),
3707
- /* @__PURE__ */ jsx26("p", { className: "text-agg-base font-agg-normal leading-agg-6 text-agg-foreground", children: labels.trading.geoBlockModalDescription })
3913
+ /* @__PURE__ */ jsxs25("div", { className: "flex flex-col items-center gap-3 text-center", children: [
3914
+ /* @__PURE__ */ jsx25("h2", { className: "text-agg-2xl font-agg-bold leading-agg-8 text-agg-foreground", children: labels.trading.geoBlockModalTitle }),
3915
+ /* @__PURE__ */ jsx25("p", { className: "text-agg-base font-agg-normal leading-agg-6 text-agg-foreground", children: labels.trading.geoBlockModalDescription })
3708
3916
  ] }),
3709
- /* @__PURE__ */ jsx26(
3917
+ /* @__PURE__ */ jsx25(
3710
3918
  Button,
3711
3919
  {
3712
3920
  variant: "secondary",