@agg-market/ui 0.0.1 → 0.0.4

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 (174) hide show
  1. package/dist/badge.d.mts +2 -2
  2. package/dist/badge.d.ts +2 -2
  3. package/dist/badge.mjs +2 -2
  4. package/dist/button.d.mts +2 -2
  5. package/dist/button.d.ts +2 -2
  6. package/dist/button.js +1 -0
  7. package/dist/button.mjs +3 -3
  8. package/dist/card.mjs +2 -2
  9. package/dist/chart.mjs +3 -3
  10. package/dist/{chunk-YUIZZ6XE.mjs → chunk-3O4U3E5I.mjs} +1 -1
  11. package/dist/{chunk-JLLMIPIX.mjs → chunk-4VUDTWH7.mjs} +1 -1
  12. package/dist/{chunk-MG243DSX.mjs → chunk-AEMAY3MR.mjs} +1 -1
  13. package/dist/{chunk-765JPQDG.mjs → chunk-BJNHDIDW.mjs} +4 -4
  14. package/dist/{chunk-LY6474C4.mjs → chunk-BLSHXIAH.mjs} +36 -71
  15. package/dist/{chunk-DQ6XFBYJ.mjs → chunk-DYEWXEEY.mjs} +1 -1
  16. package/dist/{chunk-OUOIDPGX.mjs → chunk-EXF4SESB.mjs} +1 -1
  17. package/dist/chunk-F236MLT6.mjs +1337 -0
  18. package/dist/{chunk-PAQ542ER.mjs → chunk-GHB3GOCW.mjs} +4 -2
  19. package/dist/{chunk-GC3QIIH7.mjs → chunk-GJ4U5NCE.mjs} +23 -1
  20. package/dist/chunk-HM3CGN32.mjs +669 -0
  21. package/dist/chunk-I4YUYVJJ.mjs +472 -0
  22. package/dist/{chunk-NFYS557L.mjs → chunk-JH5VMNDL.mjs} +3 -3
  23. package/dist/{chunk-TTOR7JCT.mjs → chunk-JRS2M5GY.mjs} +1 -1
  24. package/dist/{chunk-QXFDXXDB.mjs → chunk-LWTQD345.mjs} +3 -3
  25. package/dist/{chunk-QE46DVJG.mjs → chunk-MNSHWA6M.mjs} +3 -3
  26. package/dist/{chunk-H7P6DIX4.mjs → chunk-MXBPDNMC.mjs} +7 -7
  27. package/dist/{chunk-VYNVBJK6.mjs → chunk-NDG43KGL.mjs} +1 -1
  28. package/dist/chunk-O2XH4A3G.mjs +654 -0
  29. package/dist/{chunk-KDBYDMYV.mjs → chunk-OBCHURW5.mjs} +1 -1
  30. package/dist/{chunk-FZTAHWOS.mjs → chunk-OGI343OV.mjs} +2 -2
  31. package/dist/{chunk-HJOBAMDU.mjs → chunk-P23GR7NX.mjs} +2 -2
  32. package/dist/{chunk-J6L5BLKX.mjs → chunk-PGSPYQOW.mjs} +2 -2
  33. package/dist/{chunk-J7OETCZ7.mjs → chunk-QFQHD2V6.mjs} +19 -20
  34. package/dist/chunk-RGZQHSNJ.mjs +845 -0
  35. package/dist/{chunk-7XRKA6XF.mjs → chunk-RXACBTON.mjs} +5 -5
  36. package/dist/{chunk-2PGUPOXY.mjs → chunk-USLTNDJA.mjs} +15 -11
  37. package/dist/{chunk-FACIYUNK.mjs → chunk-VC7LTPQD.mjs} +2 -2
  38. package/dist/{chunk-CKTAVEW2.mjs → chunk-VIP7HSOU.mjs} +2 -2
  39. package/dist/{chunk-5MN6ZNFA.mjs → chunk-VUDJ3PYM.mjs} +9 -9
  40. package/dist/{chunk-MRHSN2B7.mjs → chunk-W2DMBW4E.mjs} +13 -9
  41. package/dist/{chunk-7CD7GIZC.mjs → chunk-XELWY7SO.mjs} +157 -50
  42. package/dist/chunk-ZDF7QP4G.mjs +160 -0
  43. package/dist/{chunk-4NK2FNAG.mjs → chunk-ZHKMDK5M.mjs} +244 -112
  44. package/dist/{chunk-C4OI72SM.mjs → chunk-ZVBVGWSP.mjs} +1 -0
  45. package/dist/chunk-ZYREURXK.mjs +470 -0
  46. package/dist/connect-button.js +767 -292
  47. package/dist/connect-button.mjs +8 -8
  48. package/dist/deposit-modal.d.mts +34 -0
  49. package/dist/deposit-modal.d.ts +34 -0
  50. package/dist/deposit-modal.js +2787 -0
  51. package/dist/deposit-modal.mjs +15 -0
  52. package/dist/event-list-item-details.js +271 -173
  53. package/dist/event-list-item-details.mjs +13 -13
  54. package/dist/event-list-item.js +903 -426
  55. package/dist/event-list-item.mjs +11 -11
  56. package/dist/event-list.js +1104 -517
  57. package/dist/event-list.mjs +14 -14
  58. package/dist/event-market-page.d.mts +1 -1
  59. package/dist/event-market-page.d.ts +1 -1
  60. package/dist/event-market-page.js +1513 -685
  61. package/dist/event-market-page.mjs +23 -23
  62. package/dist/hello-world.mjs +3 -3
  63. package/dist/home-page.d.mts +1 -1
  64. package/dist/home-page.d.ts +1 -1
  65. package/dist/home-page.js +1120 -533
  66. package/dist/home-page.mjs +15 -15
  67. package/dist/icon.d.mts +74 -4
  68. package/dist/icon.d.ts +74 -4
  69. package/dist/icon.js +668 -123
  70. package/dist/icon.mjs +32 -4
  71. package/dist/index.d.mts +16 -8
  72. package/dist/index.d.ts +16 -8
  73. package/dist/index.js +5309 -2151
  74. package/dist/index.mjs +80 -32
  75. package/dist/loading-icon.d.mts +1 -1
  76. package/dist/loading-icon.d.ts +1 -1
  77. package/dist/loading-icon.js +1 -0
  78. package/dist/loading-icon.mjs +3 -3
  79. package/dist/market-details.d.mts +2 -2
  80. package/dist/market-details.d.ts +2 -2
  81. package/dist/market-details.js +1097 -411
  82. package/dist/market-details.mjs +16 -16
  83. package/dist/modal.mjs +3 -3
  84. package/dist/number-value.mjs +2 -2
  85. package/dist/onboarding-modal.js +1249 -672
  86. package/dist/onboarding-modal.mjs +8 -8
  87. package/dist/place-order.d.mts +1 -1
  88. package/dist/place-order.d.ts +1 -1
  89. package/dist/place-order.js +1091 -506
  90. package/dist/place-order.mjs +12 -12
  91. package/dist/profile-modal.d.mts +66 -0
  92. package/dist/profile-modal.d.ts +66 -0
  93. package/dist/profile-modal.js +2429 -0
  94. package/dist/profile-modal.mjs +14 -0
  95. package/dist/{registry-CVn79H3I.d.mts → registry-DfSCFAdC.d.mts} +72 -0
  96. package/dist/{registry-CVn79H3I.d.ts → registry-DfSCFAdC.d.ts} +72 -0
  97. package/dist/search.d.mts +5 -23
  98. package/dist/search.d.ts +5 -23
  99. package/dist/search.js +740 -265
  100. package/dist/search.mjs +6 -6
  101. package/dist/select.d.mts +2 -0
  102. package/dist/select.d.ts +2 -0
  103. package/dist/select.js +814 -187
  104. package/dist/select.mjs +5 -5
  105. package/dist/settlement.d.mts +1 -1
  106. package/dist/settlement.d.ts +1 -1
  107. package/dist/settlement.js +891 -417
  108. package/dist/settlement.mjs +9 -9
  109. package/dist/skeleton.js +1 -1
  110. package/dist/skeleton.mjs +3 -3
  111. package/dist/styles.css +1 -1
  112. package/dist/switch-button.mjs +2 -2
  113. package/dist/tabs.js +854 -227
  114. package/dist/tabs.mjs +6 -6
  115. package/dist/tailwind.css +1 -1
  116. package/dist/types-Bed6Q0EK.d.mts +3 -0
  117. package/dist/types-Bed6Q0EK.d.ts +3 -0
  118. package/dist/{types-8VUuQVZq.d.mts → types-DkGlbmXq.d.mts} +24 -24
  119. package/dist/{types-8VUuQVZq.d.ts → types-DkGlbmXq.d.ts} +24 -24
  120. package/dist/typography.mjs +2 -2
  121. package/dist/user-profile-page.d.mts +133 -0
  122. package/dist/user-profile-page.d.ts +133 -0
  123. package/dist/user-profile-page.js +3335 -0
  124. package/dist/user-profile-page.mjs +15 -0
  125. package/dist/venue-logo.d.mts +2 -2
  126. package/dist/venue-logo.d.ts +2 -2
  127. package/dist/venue-logo.js +28 -70
  128. package/dist/venue-logo.mjs +2 -2
  129. package/dist/{venue-logo.types-Bg8eXtGp.d.ts → venue-logo.types-BSAuY84j.d.ts} +1 -1
  130. package/dist/{venue-logo.types-B1iPJgiD.d.mts → venue-logo.types-DACqcTvY.d.mts} +1 -1
  131. package/dist/withdraw-modal.d.mts +36 -0
  132. package/dist/withdraw-modal.d.ts +36 -0
  133. package/dist/withdraw-modal.js +2442 -0
  134. package/dist/withdraw-modal.mjs +14 -0
  135. package/package.json +275 -101
  136. package/dist/chunk-3DV3D2LH.mjs +0 -155
  137. package/dist/chunk-44UEI6KD.mjs +0 -280
  138. package/dist/chunk-4ADCXJE6.mjs +0 -297
  139. package/dist/chunk-4GSXVVSA.mjs +0 -64
  140. package/dist/chunk-4XWCYUV3.mjs +0 -355
  141. package/dist/chunk-6RRBINER.mjs +0 -50
  142. package/dist/chunk-AOFP74IB.mjs +0 -850
  143. package/dist/chunk-CB2MLGCJ.mjs +0 -279
  144. package/dist/chunk-DA6KZWSK.mjs +0 -807
  145. package/dist/chunk-DBD5GHHD.mjs +0 -147
  146. package/dist/chunk-FUJQIYOF.mjs +0 -37
  147. package/dist/chunk-GPBLZGJ2.mjs +0 -136
  148. package/dist/chunk-H4LELROL.mjs +0 -262
  149. package/dist/chunk-H7YEBGYY.mjs +0 -42
  150. package/dist/chunk-IJG5I642.mjs +0 -462
  151. package/dist/chunk-IY2AA3OL.mjs +0 -50
  152. package/dist/chunk-KBRLFTJT.mjs +0 -741
  153. package/dist/chunk-L6E6Q4C4.mjs +0 -217
  154. package/dist/chunk-M23S2DVV.mjs +0 -581
  155. package/dist/chunk-MXWRCVRJ.mjs +0 -285
  156. package/dist/chunk-NNSY462N.mjs +0 -212
  157. package/dist/chunk-P5PFQX75.mjs +0 -31
  158. package/dist/chunk-P674XRDY.mjs +0 -481
  159. package/dist/chunk-R3DRVI4J.mjs +0 -741
  160. package/dist/chunk-V5WIYMKS.mjs +0 -25
  161. package/dist/chunk-VAZE267Q.mjs +0 -82
  162. package/dist/chunk-VLIJ7PQK.mjs +0 -792
  163. package/dist/chunk-WIWJ6DIE.mjs +0 -323
  164. package/dist/chunk-XDAEEJYR.mjs +0 -142
  165. package/dist/event-list-item-details.types-CxWr4Qn1.d.ts +0 -53
  166. package/dist/event-list-item-details.types-DRi99PZq.d.mts +0 -53
  167. package/dist/event-list-item.types-B1490EQm.d.mts +0 -46
  168. package/dist/event-list-item.types-B1490EQm.d.ts +0 -46
  169. package/dist/event-list.types-Bpp6Vn-t.d.mts +0 -13
  170. package/dist/event-list.types-Bpp6Vn-t.d.ts +0 -13
  171. package/dist/types-CayJ8tWA.d.mts +0 -3
  172. package/dist/types-CayJ8tWA.d.ts +0 -3
  173. package/dist/venue-logo.types-4hmCg3D3.d.ts +0 -17
  174. package/dist/venue-logo.types-QNDwiQ77.d.mts +0 -17
@@ -1,147 +0,0 @@
1
- import {
2
- defaultSettlementDifferencesTitle,
3
- defaultSettlementSectionLabel,
4
- getTradingVenueLabel
5
- } from "./chunk-4GSXVVSA.mjs";
6
- import {
7
- Skeleton,
8
- skeletonViews
9
- } from "./chunk-P674XRDY.mjs";
10
- import {
11
- VenueLogo
12
- } from "./chunk-4ADCXJE6.mjs";
13
- import {
14
- Icon
15
- } from "./chunk-DA6KZWSK.mjs";
16
- import {
17
- Card
18
- } from "./chunk-P5PFQX75.mjs";
19
- import {
20
- cn
21
- } from "./chunk-GC3QIIH7.mjs";
22
-
23
- // src/trading/settlement/index.tsx
24
- import { useEffect, useState } from "react";
25
- import { useLabels } from "@agg/hooks";
26
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
27
- var getSettlementHeaderClassName = () => {
28
- return "flex items-center justify-between gap-4";
29
- };
30
- var Settlement = ({
31
- sectionLabel = defaultSettlementSectionLabel,
32
- question,
33
- differencesTitle = defaultSettlementDifferencesTitle,
34
- differences,
35
- venues,
36
- defaultExpandedVenue,
37
- expandedVenue,
38
- isLoading = false,
39
- onExpandedVenueChange,
40
- onShowMore,
41
- className
42
- }) => {
43
- var _a, _b;
44
- const labels = useLabels();
45
- const resolvedSectionLabel = sectionLabel === defaultSettlementSectionLabel ? labels.trading.settlementSection : sectionLabel;
46
- const resolvedDifferencesTitle = differencesTitle === defaultSettlementDifferencesTitle ? labels.trading.settlementDifferencesTitle : differencesTitle;
47
- if (isLoading) {
48
- return /* @__PURE__ */ jsx(
49
- Skeleton,
50
- {
51
- ariaLabel: labels.trading.settlementLoading,
52
- className,
53
- view: skeletonViews.settlement
54
- }
55
- );
56
- }
57
- const [internalExpandedVenue, setInternalExpandedVenue] = (
58
- // eslint-disable-next-line react-hooks/rules-of-hooks
59
- useState((_b = defaultExpandedVenue != null ? defaultExpandedVenue : (_a = venues[0]) == null ? void 0 : _a.venue) != null ? _b : null)
60
- );
61
- useEffect(() => {
62
- if (expandedVenue === void 0)
63
- return;
64
- setInternalExpandedVenue(expandedVenue);
65
- }, [expandedVenue]);
66
- const resolvedExpandedVenue = expandedVenue === void 0 ? internalExpandedVenue : expandedVenue;
67
- const handleVenueClick = (venue) => {
68
- const nextVenue = resolvedExpandedVenue === venue ? null : venue;
69
- if (expandedVenue === void 0) {
70
- setInternalExpandedVenue(nextVenue);
71
- }
72
- onExpandedVenueChange == null ? void 0 : onExpandedVenueChange(nextVenue);
73
- };
74
- return /* @__PURE__ */ jsxs(
75
- Card,
76
- {
77
- className: cn(
78
- "gap-5 rounded-agg-xl border border-agg-separator bg-agg-secondary p-5 shadow-none hover:shadow-none",
79
- className
80
- ),
81
- children: [
82
- /* @__PURE__ */ jsxs("div", { className: getSettlementHeaderClassName(), children: [
83
- /* @__PURE__ */ jsx("p", { className: "text-agg-xs font-agg-bold leading-agg-4 uppercase text-agg-muted-foreground", children: resolvedSectionLabel }),
84
- /* @__PURE__ */ jsx("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: question })
85
- ] }),
86
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
87
- /* @__PURE__ */ jsx("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: resolvedDifferencesTitle }),
88
- /* @__PURE__ */ jsx("ul", { className: "list-disc pl-5 text-agg-sm leading-agg-5 text-agg-foreground", children: differences.map((difference) => /* @__PURE__ */ jsx("li", { children: difference }, difference)) })
89
- ] }),
90
- /* @__PURE__ */ jsx("div", { className: "h-px w-full bg-agg-separator" }),
91
- /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-3", children: venues.map((venue) => {
92
- const venueLabel = getTradingVenueLabel(venue.venue, venue.label);
93
- const isExpanded = resolvedExpandedVenue === venue.venue;
94
- return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col", isExpanded ? "gap-2" : "gap-0"), children: [
95
- /* @__PURE__ */ jsxs(
96
- "button",
97
- {
98
- type: "button",
99
- className: "flex items-center gap-2 text-left",
100
- "aria-expanded": isExpanded,
101
- "aria-label": labels.trading.settlementDetailsAria(venueLabel),
102
- onClick: () => handleVenueClick(venue.venue),
103
- children: [
104
- /* @__PURE__ */ jsx(VenueLogo, { venue: venue.venue, size: "s", ariaLabel: venueLabel }),
105
- /* @__PURE__ */ jsx("span", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: venueLabel }),
106
- /* @__PURE__ */ jsx(
107
- Icon,
108
- {
109
- name: isExpanded ? "chevron-up" : "chevron-down",
110
- size: "s",
111
- className: "text-agg-foreground",
112
- color: "currentColor"
113
- }
114
- )
115
- ]
116
- }
117
- ),
118
- isExpanded ? /* @__PURE__ */ jsxs("p", { className: "text-agg-sm leading-agg-5 text-agg-foreground", children: [
119
- venue.description,
120
- venue.showMoreLabel ? /* @__PURE__ */ jsxs(Fragment, { children: [
121
- " ",
122
- /* @__PURE__ */ jsx(
123
- "button",
124
- {
125
- type: "button",
126
- className: "font-agg-normal text-agg-foreground underline-offset-2 hover:underline",
127
- "aria-label": labels.trading.settlementShowMoreAria(
128
- venue.showMoreLabel,
129
- venueLabel
130
- ),
131
- onClick: () => onShowMore == null ? void 0 : onShowMore(venue.venue),
132
- children: venue.showMoreLabel
133
- }
134
- )
135
- ] }) : null
136
- ] }) : null
137
- ] }, venue.venue);
138
- }) })
139
- ]
140
- }
141
- );
142
- };
143
- Settlement.displayName = "Settlement";
144
-
145
- export {
146
- Settlement
147
- };
@@ -1,37 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __objRest = (source, exclude) => {
21
- var target = {};
22
- for (var prop in source)
23
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
- target[prop] = source[prop];
25
- if (source != null && __getOwnPropSymbols)
26
- for (var prop of __getOwnPropSymbols(source)) {
27
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
- target[prop] = source[prop];
29
- }
30
- return target;
31
- };
32
-
33
- export {
34
- __spreadValues,
35
- __spreadProps,
36
- __objRest
37
- };
@@ -1,136 +0,0 @@
1
- import {
2
- iconSizeClasses
3
- } from "./chunk-C4OI72SM.mjs";
4
- import {
5
- __objRest,
6
- __spreadProps,
7
- __spreadValues,
8
- cn,
9
- getMotionClassName
10
- } from "./chunk-GC3QIIH7.mjs";
11
-
12
- // src/primitives/button/index.tsx
13
- import { useSdkUiConfig } from "@agg/hooks";
14
-
15
- // src/primitives/button/button.constants.ts
16
- var sizeClasses = {
17
- xxs: cn("h-6 px-2.5 gap-1", "text-agg-xs leading-agg-4"),
18
- xs: cn("h-7 px-3 gap-1", "text-agg-xs leading-agg-4"),
19
- s: cn("h-8 px-4 gap-1.5", "text-agg-sm leading-agg-5"),
20
- m: cn("h-9 px-5 gap-1.5", "text-agg-sm leading-agg-5"),
21
- l: cn("h-10 px-6 gap-2", "text-agg-base leading-agg-6"),
22
- xl: cn("h-11 px-7 gap-2", "text-agg-base leading-agg-6"),
23
- xxl: cn("h-12 px-8 gap-2", "text-agg-base leading-agg-6")
24
- };
25
- var iconSizeClasses2 = {
26
- xxs: iconSizeClasses.xs,
27
- xs: iconSizeClasses.xs,
28
- s: iconSizeClasses.s,
29
- m: iconSizeClasses.s,
30
- l: iconSizeClasses.s,
31
- xl: iconSizeClasses.s,
32
- xxl: iconSizeClasses.s
33
- };
34
- var iconSlotClasses = {
35
- xxs: "[&_svg]:h-3 [&_svg]:w-3",
36
- xs: "[&_svg]:h-3 [&_svg]:w-3",
37
- s: "[&_svg]:h-4 [&_svg]:w-4",
38
- m: "[&_svg]:h-4 [&_svg]:w-4",
39
- l: "[&_svg]:h-4 [&_svg]:w-4",
40
- xl: "[&_svg]:h-4 [&_svg]:w-4",
41
- xxl: "[&_svg]:h-4 [&_svg]:w-4"
42
- };
43
- var variantClasses = {
44
- primary: cn(
45
- "bg-agg-primary text-agg-on-primary",
46
- "hover:bg-agg-primary-hover",
47
- "disabled:bg-agg-separator disabled:text-agg-on-primary",
48
- "focus-visible:ring-agg-primary-hover"
49
- ),
50
- secondary: cn(
51
- "border border-agg-separator bg-agg-secondary text-agg-foreground",
52
- "hover:bg-agg-secondary-hover",
53
- "disabled:bg-agg-secondary disabled:text-agg-muted-foreground disabled:border-agg-separator",
54
- "focus-visible:ring-agg-separator"
55
- ),
56
- tertiary: cn(
57
- "bg-transparent text-agg-foreground",
58
- "hover:bg-agg-secondary-hover",
59
- "disabled:bg-transparent disabled:text-agg-muted-foreground",
60
- "focus-visible:ring-agg-separator"
61
- )
62
- };
63
- var baseButtonClasses = cn(
64
- "cursor-pointer disabled:cursor-not-allowed",
65
- "inline-flex items-center justify-center rounded-agg-full font-agg-sans font-agg-bold text-center",
66
- "whitespace-nowrap",
67
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-agg-secondary"
68
- );
69
-
70
- // src/primitives/button/index.tsx
71
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
72
- var Button = (_a) => {
73
- var _b = _a, {
74
- children,
75
- variant = "primary",
76
- size = "m",
77
- isLoading = false,
78
- disabled,
79
- prefix,
80
- suffix,
81
- type = "button",
82
- className,
83
- "aria-label": ariaLabel
84
- } = _b, other = __objRest(_b, [
85
- "children",
86
- "variant",
87
- "size",
88
- "isLoading",
89
- "disabled",
90
- "prefix",
91
- "suffix",
92
- "type",
93
- "className",
94
- "aria-label"
95
- ]);
96
- const { enableAnimations } = useSdkUiConfig();
97
- const isDisabled = disabled || isLoading;
98
- return /* @__PURE__ */ jsx(
99
- "button",
100
- __spreadProps(__spreadValues({
101
- type,
102
- className: cn(
103
- baseButtonClasses,
104
- getMotionClassName(enableAnimations, "transition-colors"),
105
- sizeClasses[size],
106
- iconSlotClasses[size],
107
- variantClasses[variant],
108
- className
109
- ),
110
- disabled: isDisabled,
111
- "aria-busy": isLoading,
112
- "aria-label": ariaLabel
113
- }, other), {
114
- children: isLoading ? /* @__PURE__ */ jsx(
115
- "span",
116
- {
117
- className: cn(
118
- "inline-block rounded-agg-full border-2 border-current border-r-transparent",
119
- getMotionClassName(enableAnimations, "animate-spin"),
120
- iconSizeClasses2[size]
121
- ),
122
- "aria-hidden": "true"
123
- }
124
- ) : /* @__PURE__ */ jsxs(Fragment, { children: [
125
- prefix != null ? prefix : null,
126
- /* @__PURE__ */ jsx("span", { children }),
127
- suffix != null ? suffix : null
128
- ] })
129
- })
130
- );
131
- };
132
- Button.displayName = "Button";
133
-
134
- export {
135
- Button
136
- };
@@ -1,262 +0,0 @@
1
- import {
2
- EventListItem
3
- } from "./chunk-MRHSN2B7.mjs";
4
- import {
5
- Tabs
6
- } from "./chunk-VLIJ7PQK.mjs";
7
- import {
8
- Skeleton
9
- } from "./chunk-P674XRDY.mjs";
10
- import {
11
- VenueLogo
12
- } from "./chunk-4ADCXJE6.mjs";
13
- import {
14
- Icon
15
- } from "./chunk-DA6KZWSK.mjs";
16
- import {
17
- Typography
18
- } from "./chunk-DQ6XFBYJ.mjs";
19
- import {
20
- __spreadProps,
21
- __spreadValues,
22
- cn
23
- } from "./chunk-GC3QIIH7.mjs";
24
-
25
- // src/events/list/index.tsx
26
- import { useEffect, useMemo, useRef, useState } from "react";
27
- import { useEvents, useLabels } from "@agg/hooks";
28
-
29
- // src/events/list/event-list.constants.ts
30
- var POLYMARKET_VENUE = "polymarket";
31
- var KALSHI_VENUE = "kalshi";
32
- var POLYMARKET_VENUE_LOGO = "polymarket";
33
- var KALSHI_VENUE_LOGO = "kalshi";
34
- var getDefaultEventListTabs = (labels) => {
35
- return [
36
- {
37
- value: "matched",
38
- label: labels.eventList.matchedTab,
39
- iconName: "arrows-to-dot"
40
- },
41
- {
42
- value: "polymarket",
43
- label: labels.venues.polymarket,
44
- venueLogo: POLYMARKET_VENUE_LOGO,
45
- venues: [POLYMARKET_VENUE]
46
- },
47
- {
48
- value: "kalshi",
49
- label: labels.venues.kalshi,
50
- venueLogo: KALSHI_VENUE_LOGO,
51
- venues: [KALSHI_VENUE]
52
- }
53
- ];
54
- };
55
-
56
- // src/events/list/event-list.utils.ts
57
- var mapEventToEventListItemEvent = (event) => {
58
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
59
- const fallbackVenueEvent = event.venueEvents[0];
60
- if (!fallbackVenueEvent)
61
- return null;
62
- const mergedVenueMarkets = event.markets.flatMap((m) => m.venueMarkets);
63
- if ((mergedVenueMarkets == null ? void 0 : mergedVenueMarkets.length) === 0)
64
- return null;
65
- return __spreadProps(__spreadValues({}, event), {
66
- id: event.id,
67
- title: event.title || fallbackVenueEvent.title,
68
- description: (_b = (_a = event.description) != null ? _a : fallbackVenueEvent.description) != null ? _b : null,
69
- volume: (_d = (_c = event.volume) != null ? _c : fallbackVenueEvent.volume) != null ? _d : null,
70
- startDate: (_f = (_e = event.startDate) != null ? _e : fallbackVenueEvent.startDate) != null ? _f : null,
71
- endDate: (_h = (_g = event.endDate) != null ? _g : fallbackVenueEvent.endDate) != null ? _h : null,
72
- creationDate: (_j = (_i = event.creationDate) != null ? _i : fallbackVenueEvent.creationDate) != null ? _j : null
73
- });
74
- };
75
- var filterEventsByTabValue = (events, _tabValue) => {
76
- return events;
77
- };
78
- var resolveTabVenus = (tab) => {
79
- if (!tab)
80
- return void 0;
81
- if (tab.venues && tab.venues.length > 0)
82
- return tab.venues;
83
- if (tab.value === "polymarket" || tab.value === "kalshi") {
84
- return tab.value === "polymarket" ? ["polymarket"] : ["kalshi"];
85
- }
86
- return void 0;
87
- };
88
-
89
- // src/events/list/index.tsx
90
- import { jsx, jsxs } from "react/jsx-runtime";
91
- var renderTabIcon = (tab, isActive) => {
92
- if (tab.venueLogo) {
93
- return /* @__PURE__ */ jsx(VenueLogo, { venue: tab.venueLogo, size: "xs" });
94
- }
95
- if (!tab.iconName)
96
- return null;
97
- return /* @__PURE__ */ jsx(
98
- Icon,
99
- {
100
- name: tab.iconName,
101
- size: "s",
102
- color: isActive ? "var(--agg-color-primary)" : "var(--agg-color-foreground)"
103
- }
104
- );
105
- };
106
- var EventList = ({
107
- title,
108
- maxItemsPerRow = 3,
109
- limit = 3,
110
- maxVisibleItems,
111
- showVenueLogo = true,
112
- search,
113
- categoryIds
114
- }) => {
115
- var _a, _b;
116
- const labels = useLabels();
117
- const defaultEventListTabs = useMemo(() => {
118
- return getDefaultEventListTabs(labels);
119
- }, [labels]);
120
- const [activeTabValue, setActiveTabValue] = useState(
121
- (_b = (_a = defaultEventListTabs[0]) == null ? void 0 : _a.value) != null ? _b : "matched"
122
- );
123
- const activeTab = useMemo(() => {
124
- return defaultEventListTabs.find((tab) => tab.value === activeTabValue);
125
- }, [activeTabValue]);
126
- const venues = useMemo(() => {
127
- return resolveTabVenus(activeTab);
128
- }, [activeTab]);
129
- const resolvedMaxVisibleItems = useMemo(() => {
130
- if (!Number.isFinite(maxVisibleItems))
131
- return void 0;
132
- return Math.max(1, Math.floor(maxVisibleItems));
133
- }, [maxVisibleItems]);
134
- const requestLimit = resolvedMaxVisibleItems != null ? resolvedMaxVisibleItems : limit;
135
- const shouldPaginate = resolvedMaxVisibleItems == null;
136
- const { events, isLoading, isError, fetchNextPage, hasNextPage, isFetchingNextPage } = useEvents({
137
- venues,
138
- search,
139
- categoryIds,
140
- limit: requestLimit
141
- });
142
- const filteredEvents = useMemo(() => {
143
- return filterEventsByTabValue(events, activeTabValue);
144
- }, [events, activeTabValue]);
145
- const tileEvents = useMemo(() => {
146
- const normalizedEvents = filteredEvents.map((event) => mapEventToEventListItemEvent(event)).filter((event) => event != null);
147
- if (resolvedMaxVisibleItems == null)
148
- return normalizedEvents;
149
- return normalizedEvents.slice(0, resolvedMaxVisibleItems);
150
- }, [filteredEvents, resolvedMaxVisibleItems]);
151
- const tabsItems = useMemo(() => {
152
- return defaultEventListTabs.map((tab) => {
153
- const isActive = tab.value === activeTabValue;
154
- return {
155
- value: tab.value,
156
- label: tab.label,
157
- icon: renderTabIcon(tab, isActive),
158
- disabled: tab.disabled
159
- };
160
- });
161
- }, [activeTabValue]);
162
- const resolvedMaxItemsPerRow = Number.isFinite(maxItemsPerRow) ? Math.max(1, Math.floor(maxItemsPerRow)) : 1;
163
- const loadingPlaceholderCount = isFetchingNextPage ? Math.min(resolvedMaxItemsPerRow, resolvedMaxVisibleItems != null ? resolvedMaxVisibleItems : Infinity) : 0;
164
- const shouldRenderLoadingState = isLoading && tileEvents.length === 0;
165
- const loadMoreRef = useRef(null);
166
- useEffect(() => {
167
- if (!shouldPaginate)
168
- return;
169
- if (!hasNextPage)
170
- return;
171
- const target = loadMoreRef.current;
172
- if (!target)
173
- return;
174
- const observer = new IntersectionObserver(
175
- (entries) => {
176
- const entry = entries[0];
177
- if (!(entry == null ? void 0 : entry.isIntersecting))
178
- return;
179
- if (isLoading || isFetchingNextPage || !hasNextPage)
180
- return;
181
- void fetchNextPage();
182
- },
183
- {
184
- rootMargin: "320px 0px"
185
- }
186
- );
187
- observer.observe(target);
188
- return () => {
189
- observer.disconnect();
190
- };
191
- }, [fetchNextPage, hasNextPage, isFetchingNextPage, isLoading, shouldPaginate]);
192
- const gridStyle = {
193
- ["--agg-event-list-columns"]: String(resolvedMaxItemsPerRow)
194
- };
195
- const gridClassName = cn(
196
- "grid grid-cols-1 gap-5",
197
- "md:[grid-template-columns:repeat(var(--agg-event-list-columns),minmax(0,1fr))]"
198
- );
199
- if (shouldRenderLoadingState) {
200
- return /* @__PURE__ */ jsx(Skeleton, { view: "event-list", ariaLabel: labels.eventList.loading(title) });
201
- }
202
- return /* @__PURE__ */ jsxs("section", { className: "flex w-full flex-col gap-5", children: [
203
- /* @__PURE__ */ jsxs("header", { className: "flex flex-col md:flex-row w-full flex-nowrap items-start md:items-center justify-between gap-2 md:gap-4", children: [
204
- /* @__PURE__ */ jsx(Typography, { as: "h2", variant: "value", className: "truncate [&::first-letter]:uppercase", children: title }),
205
- /* @__PURE__ */ jsx(
206
- Tabs,
207
- {
208
- ariaLabel: labels.eventList.tabsAria(title),
209
- className: "max-w-full",
210
- items: tabsItems,
211
- value: activeTabValue,
212
- onChange: setActiveTabValue
213
- }
214
- )
215
- ] }),
216
- /* @__PURE__ */ jsxs("div", { className: gridClassName, style: gridStyle, children: [
217
- tileEvents.map((event) => /* @__PURE__ */ jsx(
218
- EventListItem,
219
- {
220
- event,
221
- showVenueLogo,
222
- classNames: {
223
- root: "w-full min-w-0 max-w-none"
224
- }
225
- },
226
- event.id
227
- )),
228
- Array.from({ length: loadingPlaceholderCount }).map((_, index) => /* @__PURE__ */ jsx(
229
- EventListItem,
230
- {
231
- isLoading: true,
232
- classNames: {
233
- root: "w-full min-w-0 max-w-none"
234
- }
235
- },
236
- `loading-${index}`
237
- )),
238
- !isLoading && !isError && (tileEvents == null ? void 0 : tileEvents.length) === 0 ? /* @__PURE__ */ jsx(
239
- Typography,
240
- {
241
- variant: "body",
242
- className: "w-full col-span-full flex flex-col items-center justify-center h-32",
243
- children: labels.eventList.empty
244
- }
245
- ) : null,
246
- isError ? /* @__PURE__ */ jsx(
247
- Typography,
248
- {
249
- variant: "body",
250
- className: "w-full col-span-full flex flex-col items-center justify-center h-32",
251
- children: labels.eventList.error
252
- }
253
- ) : null
254
- ] }),
255
- shouldPaginate && hasNextPage ? /* @__PURE__ */ jsx("div", { ref: loadMoreRef, className: "h-px w-full", "aria-hidden": true }) : null
256
- ] });
257
- };
258
- EventList.displayName = "EventList";
259
-
260
- export {
261
- EventList
262
- };
@@ -1,42 +0,0 @@
1
- import {
2
- cn
3
- } from "./chunk-GC3QIIH7.mjs";
4
-
5
- // src/primitives/number-value.tsx
6
- import { useMemo } from "react";
7
- import { useSdkUiConfig } from "@agg/hooks";
8
- import { jsx } from "react/jsx-runtime";
9
- var NumberValue = ({
10
- value,
11
- format = "number",
12
- fallback = "\u2014",
13
- className,
14
- ariaLabel
15
- }) => {
16
- const config = useSdkUiConfig();
17
- const formatted = useMemo(() => {
18
- if (value == null)
19
- return fallback;
20
- if (format === "date") {
21
- if (value instanceof Date)
22
- return config.formatDate(value);
23
- return fallback;
24
- }
25
- if (typeof value !== "number")
26
- return fallback;
27
- if (format === "percent")
28
- return config.formatPercent(value);
29
- if (format === "currency")
30
- return config.formatCurrency(value);
31
- if (format === "compactCurrency") {
32
- return config.formatCompactCurrency(value);
33
- }
34
- return config.formatNumber(value);
35
- }, [config, fallback, format, value]);
36
- return /* @__PURE__ */ jsx("span", { className: cn("font-agg-sans", className), "aria-label": ariaLabel, children: formatted });
37
- };
38
- NumberValue.displayName = "NumberValue";
39
-
40
- export {
41
- NumberValue
42
- };