@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
@@ -9,13 +9,13 @@ import {
9
9
  isErrorWithStatus,
10
10
  useEventListTabs,
11
11
  useEventListTabsHeaderOverflow
12
- } from "./chunk-I2WBGEWK.mjs";
12
+ } from "./chunk-4ILR2YH3.mjs";
13
13
  import {
14
14
  DEPOSIT_MODAL_OPEN_EVENT,
15
15
  PlaceOrder,
16
16
  SettlementDetails,
17
17
  WITHDRAW_MODAL_OPEN_EVENT
18
- } from "./chunk-CGNDMLQL.mjs";
18
+ } from "./chunk-XDZLCWUZ.mjs";
19
19
  import {
20
20
  AggErrorBoundary,
21
21
  Button,
@@ -43,8 +43,9 @@ import {
43
43
  cn,
44
44
  filterOpenEvents,
45
45
  resolveTabVenus,
46
+ shortenAddress,
46
47
  venueLogoNames
47
- } from "./chunk-6NS7D73S.mjs";
48
+ } from "./chunk-TLGQ4LID.mjs";
48
49
 
49
50
  // src/pages/home/index.tsx
50
51
  import {
@@ -105,7 +106,7 @@ var resolveEventMarketPageStickyState = ({
105
106
  contentClassName: cn("lg:items-stretch!"),
106
107
  sidebarClassName: cn(
107
108
  "py-4 sm:py-6 md:py-8",
108
- "lg:self-start lg:sticky lg:top-[var(--agg-event-market-sidebar-top)] lg:max-h-[calc(100dvh-var(--agg-event-market-sidebar-top))] lg:overflow-y-auto lg:overscroll-contain",
109
+ "lg:self-start lg:sticky lg:top-[var(--agg-event-market-sidebar-top)] lg:max-h-[calc(100vh-var(--agg-event-market-sidebar-top))] lg:overflow-y-auto lg:overscroll-contain",
109
110
  stickyOrderPanel == null ? void 0 : stickyOrderPanel.className
110
111
  ),
111
112
  placeOrder: "",
@@ -285,7 +286,6 @@ var EventMarketPageNotFoundState = ({
285
286
  );
286
287
  };
287
288
  var EventMarketPageLoadingState = ({
288
- settlement: _settlement,
289
289
  classNames,
290
290
  stickyOrderPanel
291
291
  }) => {
@@ -342,7 +342,7 @@ var EventMarketPageLoadingState = ({
342
342
  {
343
343
  className: cn(
344
344
  "agg-sidebar",
345
- "hidden w-full shrink-0 lg:block lg:w-[343px] lg:shrink-0",
345
+ "hidden w-full shrink-0 lg:block lg:w-[342px] lg:shrink-0",
346
346
  stickyOrderPanelState == null ? void 0 : stickyOrderPanelState.sidebarClassName,
347
347
  classNames == null ? void 0 : classNames.sidebar
348
348
  ),
@@ -451,7 +451,7 @@ var EventMarketPageContent = ({
451
451
  "aside",
452
452
  {
453
453
  className: cn(
454
- "agg-sidebar hidden w-full lg:block lg:max-w-[360px] lg:shrink-0",
454
+ "agg-sidebar hidden w-full lg:block lg:max-w-[342px] lg:shrink-0",
455
455
  stickyOrderPanelState == null ? void 0 : stickyOrderPanelState.sidebarClassName,
456
456
  classNames == null ? void 0 : classNames.sidebar
457
457
  ),
@@ -498,7 +498,6 @@ var EventMarketPage = (props) => {
498
498
  return /* @__PURE__ */ jsx(
499
499
  EventMarketPageLoadingState,
500
500
  {
501
- settlement: props.settlement,
502
501
  classNames: props.classNames,
503
502
  stickyOrderPanel: props.stickyOrderPanel
504
503
  }
@@ -511,7 +510,6 @@ var EventMarketPage = (props) => {
511
510
  return /* @__PURE__ */ jsx(
512
511
  EventMarketPageLoadingState,
513
512
  {
514
- settlement: props.settlement,
515
513
  classNames: props.classNames,
516
514
  stickyOrderPanel: props.stickyOrderPanel
517
515
  }
@@ -741,11 +739,32 @@ var HomeSearchResults = ({
741
739
  ]
742
740
  }
743
741
  ),
742
+ !isError && openEvents.length === 0 ? /* @__PURE__ */ jsx2("div", { className: "col-span-full w-full", children: /* @__PURE__ */ jsx2(
743
+ StateMessage,
744
+ {
745
+ title: labels.eventList.emptyTitle,
746
+ description: labels.eventList.emptyDescription,
747
+ classNames: {
748
+ title: "!text-agg-base leading-agg-6",
749
+ description: "!text-agg-sm leading-agg-5"
750
+ },
751
+ icon: /* @__PURE__ */ jsx2(Icon, { name: "search-empty" })
752
+ }
753
+ ) }) : null,
754
+ isError ? /* @__PURE__ */ jsx2(
755
+ StateMessage,
756
+ {
757
+ title: labels.eventList.errorTitle,
758
+ description: labels.eventList.errorDescription,
759
+ icon: /* @__PURE__ */ jsx2(Icon, { name: "warning" })
760
+ }
761
+ ) : null,
744
762
  /* @__PURE__ */ jsxs2(
745
763
  "div",
746
764
  {
747
765
  className: cn(
748
766
  "agg-event-list-grid grid grid-cols-[repeat(auto-fill,minmax(240px,1fr))] md:grid-cols-[repeat(auto-fill,minmax(360px,1fr))] gap-4 transition-opacity duration-200",
767
+ "empty:hidden",
749
768
  isPlaceholderData && "opacity-60"
750
769
  ),
751
770
  children: [
@@ -780,27 +799,7 @@ var HomeSearchResults = ({
780
799
  }
781
800
  },
782
801
  `search-results-loading-${index}`
783
- )) : null,
784
- !isError && openEvents.length === 0 ? /* @__PURE__ */ jsx2("div", { className: "col-span-full w-full", children: /* @__PURE__ */ jsx2(
785
- StateMessage,
786
- {
787
- title: labels.eventList.emptyTitle,
788
- description: labels.eventList.emptyDescription,
789
- classNames: {
790
- title: "!text-agg-base leading-agg-6",
791
- description: "!text-agg-sm leading-agg-5"
792
- },
793
- icon: /* @__PURE__ */ jsx2(Icon, { name: "search-empty" })
794
- }
795
- ) }) : null,
796
- isError ? /* @__PURE__ */ jsx2(
797
- StateMessage,
798
- {
799
- title: labels.eventList.errorTitle,
800
- description: labels.eventList.errorDescription,
801
- icon: /* @__PURE__ */ jsx2(Icon, { name: "warning" })
802
- }
803
- ) : null
802
+ )) : null
804
803
  ]
805
804
  }
806
805
  ),
@@ -1377,13 +1376,13 @@ var AmountTimeStack = ({
1377
1376
  var TradeTypeCell = ({
1378
1377
  activity,
1379
1378
  tone
1380
- }) => /* @__PURE__ */ jsxs4("div", { className: "hidden w-22 shrink-0 items-center gap-3 sm:flex", children: [
1379
+ }) => /* @__PURE__ */ jsxs4("div", { className: "hidden w-[108px] shrink-0 items-center gap-3 sm:flex", children: [
1381
1380
  /* @__PURE__ */ jsx4(VenueLogo, { venue: activity.venue, size: "small", className: "shrink-0" }),
1382
1381
  /* @__PURE__ */ jsx4(
1383
1382
  "p",
1384
1383
  {
1385
1384
  className: cn(
1386
- "agg-activity-type w-15 font-agg-sans text-agg-sm leading-agg-5 font-agg-normal",
1385
+ "agg-activity-type w-20 font-agg-sans text-agg-sm leading-agg-5 font-agg-normal",
1387
1386
  tone.primary
1388
1387
  ),
1389
1388
  children: activity.type
@@ -1393,7 +1392,7 @@ var TradeTypeCell = ({
1393
1392
  var TransferTypeCell = ({
1394
1393
  activity,
1395
1394
  tone
1396
- }) => /* @__PURE__ */ jsxs4("div", { className: "hidden w-[88px] shrink-0 items-center gap-3 sm:flex", children: [
1395
+ }) => /* @__PURE__ */ jsxs4("div", { className: "hidden w-[108px] shrink-0 items-center gap-3 sm:flex", children: [
1397
1396
  /* @__PURE__ */ jsx4(
1398
1397
  Icon,
1399
1398
  {
@@ -1406,7 +1405,7 @@ var TransferTypeCell = ({
1406
1405
  "p",
1407
1406
  {
1408
1407
  className: cn(
1409
- "agg-activity-type w-15 font-agg-sans text-agg-sm leading-agg-5 font-agg-normal",
1408
+ "agg-activity-type w-20 font-agg-sans text-agg-sm leading-agg-5 font-agg-normal",
1410
1409
  tone.primary
1411
1410
  ),
1412
1411
  children: activity.type
@@ -1523,7 +1522,6 @@ var TransferRow = ({
1523
1522
  onClick
1524
1523
  }) => {
1525
1524
  const tone = resolveToneClasses(activity);
1526
- const isDeposit = activity.kind === "deposit";
1527
1525
  const transferIconName = TRANSFER_ICON[activity.kind];
1528
1526
  return /* @__PURE__ */ jsx4("button", { type: "button", className, onClick, children: /* @__PURE__ */ jsxs4(
1529
1527
  "div",
@@ -1549,7 +1547,7 @@ var TransferRow = ({
1549
1547
  ] }) }),
1550
1548
  /* @__PURE__ */ jsxs4("div", { className: "flex w-full items-center justify-between sm:contents", children: [
1551
1549
  /* @__PURE__ */ jsxs4("div", { className: "flex min-w-0 flex-1 items-center gap-3 sm:gap-4", children: [
1552
- /* @__PURE__ */ jsx4("div", { className: "agg-activity-deposit-square hidden h-15 w-15 shrink-0 items-center justify-center rounded-agg-lg bg-agg-secondary-hover sm:flex", children: isDeposit ? /* @__PURE__ */ jsx4(Icon, { name: "badge-check-thin", size: "medium", className: "text-agg-muted-foreground" }) : /* @__PURE__ */ jsx4(Icon, { name: transferIconName, size: "medium", className: "text-agg-foreground" }) }),
1550
+ /* @__PURE__ */ jsx4("div", { className: "agg-activity-deposit-square hidden h-15 w-15 shrink-0 items-center justify-center rounded-agg-lg bg-agg-secondary-hover sm:flex", children: /* @__PURE__ */ jsx4(Icon, { name: "badge-check-thin", size: "medium", className: "text-agg-muted-foreground" }) }),
1553
1551
  /* @__PURE__ */ jsxs4("div", { className: "flex min-w-0 flex-1 flex-col justify-center gap-1", children: [
1554
1552
  /* @__PURE__ */ jsx4(
1555
1553
  "p",
@@ -1558,7 +1556,7 @@ var TransferRow = ({
1558
1556
  "min-w-0 overflow-hidden text-ellipsis whitespace-nowrap font-agg-sans text-agg-sm leading-agg-5 font-agg-bold sm:text-agg-base sm:leading-agg-6",
1559
1557
  tone.primary
1560
1558
  ),
1561
- children: isDeposit ? "Successful deposit" : activity.title
1559
+ children: activity.title
1562
1560
  }
1563
1561
  ),
1564
1562
  /* @__PURE__ */ jsx4(
@@ -2659,6 +2657,7 @@ var twoDecimalUsdFormatter = new Intl.NumberFormat("en-US", {
2659
2657
  maximumFractionDigits: 2
2660
2658
  });
2661
2659
  var DEFAULT_TOKEN_DECIMALS = 6;
2660
+ var LEGACY_TWELVE_DECIMAL_SCALE = BigInt("1000000000000");
2662
2661
  var TOKEN_DECIMALS_BY_SYMBOL = {
2663
2662
  BNB: 18,
2664
2663
  ETH: 18,
@@ -2674,11 +2673,6 @@ var TOKEN_DECIMALS_BY_CHAIN_AND_SYMBOL = {
2674
2673
  USDT: 18
2675
2674
  }
2676
2675
  };
2677
- var shortenAddress = (address) => {
2678
- if (!address) return void 0;
2679
- if (address.length <= 12) return address;
2680
- return `${address.slice(0, 6)}...${address.slice(-5)}`;
2681
- };
2682
2676
  var parseRawMicroValue = (value) => {
2683
2677
  if (!value) return null;
2684
2678
  if (value.startsWith("0x") || value.startsWith("0X")) {
@@ -2727,9 +2721,38 @@ var parseRawTokenValue = (value, decimals) => {
2727
2721
  return parsed / __pow(10, decimals);
2728
2722
  }
2729
2723
  };
2724
+ var shouldUseLegacyEighteenDecimalFallback = ({
2725
+ value,
2726
+ parsed,
2727
+ decimals,
2728
+ tokenSymbol,
2729
+ chainId
2730
+ }) => {
2731
+ if (parsed == null || decimals !== 6 || value.includes(".")) return false;
2732
+ const normalizedSymbol = tokenSymbol.trim().toUpperCase();
2733
+ if (normalizedSymbol !== "USDC" && normalizedSymbol !== "USDT") return false;
2734
+ const normalizedChainId = chainId == null ? void 0 : chainId.trim();
2735
+ if (normalizedChainId === "56") return false;
2736
+ if (!/^\d+$/.test(value)) return false;
2737
+ try {
2738
+ const raw = BigInt(value);
2739
+ if (raw % LEGACY_TWELVE_DECIMAL_SCALE !== BigInt(0)) return false;
2740
+ const parsedAsEighteen = Number(raw / LEGACY_TWELVE_DECIMAL_SCALE) / 1e6;
2741
+ return Number.isFinite(parsedAsEighteen) && parsed > 1e6 && parsedAsEighteen < 1e6;
2742
+ } catch (e) {
2743
+ return false;
2744
+ }
2745
+ };
2730
2746
  var formatTokenAmountTwoDecimals = (value, tokenSymbol, chainId) => {
2731
- const parsed = parseRawTokenValue(value, getTokenDecimals(tokenSymbol, chainId));
2747
+ const decimals = getTokenDecimals(tokenSymbol, chainId);
2748
+ const parsed = parseRawTokenValue(value, decimals);
2732
2749
  if (parsed == null) return "0.00";
2750
+ if (value && shouldUseLegacyEighteenDecimalFallback({ value, parsed, decimals, tokenSymbol, chainId })) {
2751
+ const fallbackParsed = parseRawTokenValue(value, 18);
2752
+ if (fallbackParsed != null) {
2753
+ return twoDecimalNumberFormatter.format(fallbackParsed);
2754
+ }
2755
+ }
2733
2756
  return twoDecimalNumberFormatter.format(parsed);
2734
2757
  };
2735
2758
  var getFilledUsdValue = (filledAmountRaw) => {
@@ -3070,9 +3093,10 @@ var UserProfilePage = ({
3070
3093
  const walletAccounts = (_d = (_c = fullUser == null ? void 0 : fullUser.accounts) == null ? void 0 : _c.filter((a) => a.provider === "wallet" || a.provider === "solana_wallet")) != null ? _d : [];
3071
3094
  const connectedWallets = walletAccounts.map((a) => {
3072
3095
  var _a2;
3096
+ const chain = a.provider === "solana_wallet" ? "solana" : "evm";
3073
3097
  return {
3074
- chain: a.provider === "solana_wallet" ? "solana" : "evm",
3075
- displayAddress: (_a2 = shortenAddress(a.providerAccountId)) != null ? _a2 : a.providerAccountId
3098
+ chain,
3099
+ displayAddress: (_a2 = shortenAddress(a.providerAccountId, { chain })) != null ? _a2 : a.providerAccountId
3076
3100
  };
3077
3101
  });
3078
3102
  return {