@agg-market/ui 4.0.0 → 6.0.0

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 (516) hide show
  1. package/README.md +26 -26
  2. package/dist/auth.d.mts +1 -0
  3. package/dist/auth.d.ts +1 -0
  4. package/dist/{connect-button.js → auth.js} +6 -4
  5. package/dist/auth.mjs +8 -0
  6. package/dist/chunk-2ICOSP7N.mjs +1211 -0
  7. package/dist/chunk-5ZKPBMRK.mjs +2411 -0
  8. package/dist/{chunk-5K7VXAYM.mjs → chunk-ADGL6RFX.mjs} +2 -4
  9. package/dist/chunk-BXW3VIKV.mjs +90 -0
  10. package/dist/{chart.js → chunk-CN7GI2RJ.mjs} +250 -103
  11. package/dist/chunk-G6YKGVQR.mjs +769 -0
  12. package/dist/{chunk-PZTHM6WG.mjs → chunk-HI4EEDN5.mjs} +897 -357
  13. package/dist/{chunk-5ADMXO3Y.mjs → chunk-INRG3D4M.mjs} +5 -11
  14. package/dist/{chunk-DCORNTCY.mjs → chunk-JE3Z52FD.mjs} +85 -64
  15. package/dist/chunk-KZOQW6NT.mjs +0 -0
  16. package/dist/chunk-LMOJKJOY.mjs +2616 -0
  17. package/dist/{chunk-YJA5VQW6.mjs → chunk-MHCHR65A.mjs} +2 -4
  18. package/dist/{chunk-IGPNIM2B.mjs → chunk-PASXFYKQ.mjs} +2 -4
  19. package/dist/chunk-UBBOLLOS.mjs +999 -0
  20. package/dist/events.d.mts +1 -0
  21. package/dist/events.d.ts +1 -0
  22. package/dist/{event-market-page.js → events.js} +5128 -5274
  23. package/dist/events.mjs +17 -0
  24. package/dist/index.d.mts +1 -78
  25. package/dist/index.d.ts +1 -78
  26. package/dist/index.js +8738 -8534
  27. package/dist/index.mjs +68 -167
  28. package/dist/modals.d.mts +1 -0
  29. package/dist/modals.d.ts +1 -0
  30. package/dist/{deposit-modal.js → modals.js} +1771 -6
  31. package/dist/modals.mjs +25 -0
  32. package/dist/pages.d.mts +1 -0
  33. package/dist/pages.d.ts +1 -0
  34. package/dist/pages.js +7928 -0
  35. package/dist/pages.mjs +16 -0
  36. package/dist/primitives.d.mts +1 -0
  37. package/dist/primitives.d.ts +1 -0
  38. package/dist/{market-details.js → primitives.js} +2980 -3153
  39. package/dist/{icon.mjs → primitives.mjs} +56 -9
  40. package/dist/styles.css +1 -1
  41. package/dist/tailwind.css +1 -1
  42. package/dist/trading.d.mts +1 -0
  43. package/dist/trading.d.ts +1 -0
  44. package/dist/{place-order.js → trading.js} +1907 -1394
  45. package/dist/trading.mjs +65 -0
  46. package/dist/types/auth/connect-button/connect-button.constants.d.mts +10 -0
  47. package/dist/types/auth/connect-button/connect-button.constants.d.ts +10 -0
  48. package/dist/{connect-button.d.mts → types/auth/connect-button/connect-button.types.d.mts} +5 -12
  49. package/dist/{connect-button.d.ts → types/auth/connect-button/connect-button.types.d.ts} +5 -12
  50. package/dist/types/auth/connect-button/index.d.mts +7 -0
  51. package/dist/types/auth/connect-button/index.d.ts +7 -0
  52. package/dist/types/auth/index.d.mts +1 -0
  53. package/dist/types/auth/index.d.ts +1 -0
  54. package/dist/types/constants.d.mts +1 -0
  55. package/dist/types/constants.d.ts +1 -0
  56. package/dist/types/deposit/deposit-modal.constants.d.mts +9 -0
  57. package/dist/types/deposit/deposit-modal.constants.d.ts +9 -0
  58. package/dist/{deposit-modal.d.mts → types/deposit/deposit-modal.types.d.mts} +3 -10
  59. package/dist/{deposit-modal.d.ts → types/deposit/deposit-modal.types.d.ts} +3 -10
  60. package/dist/types/deposit/index.d.mts +6 -0
  61. package/dist/types/deposit/index.d.ts +6 -0
  62. package/dist/types/deposit/steps/card-deposit.d.mts +7 -0
  63. package/dist/types/deposit/steps/card-deposit.d.ts +7 -0
  64. package/dist/types/deposit/steps/crypto-transfer.d.mts +7 -0
  65. package/dist/types/deposit/steps/crypto-transfer.d.ts +7 -0
  66. package/dist/types/deposit/steps/deposit-method.d.mts +7 -0
  67. package/dist/types/deposit/steps/deposit-method.d.ts +7 -0
  68. package/dist/types/deposit/steps/kalshi-deposit.d.mts +5 -0
  69. package/dist/types/deposit/steps/kalshi-deposit.d.ts +5 -0
  70. package/dist/types/deposit/steps/venue-selection.d.mts +7 -0
  71. package/dist/types/deposit/steps/venue-selection.d.ts +7 -0
  72. package/dist/types/events/index.d.mts +4 -0
  73. package/dist/types/events/index.d.ts +4 -0
  74. package/dist/types/events/item/event-list-item.constants.d.mts +1 -0
  75. package/dist/types/events/item/event-list-item.constants.d.ts +1 -0
  76. package/dist/types/events/item/event-list-item.types.d.mts +46 -0
  77. package/dist/types/events/item/event-list-item.types.d.ts +46 -0
  78. package/dist/types/events/item/event-list-item.utils.d.mts +23 -0
  79. package/dist/types/events/item/event-list-item.utils.d.ts +23 -0
  80. package/dist/types/events/item/index.d.mts +6 -0
  81. package/dist/types/events/item/index.d.ts +6 -0
  82. package/dist/types/events/item-details/event-list-item-details.constants.d.mts +10 -0
  83. package/dist/types/events/item-details/event-list-item-details.constants.d.ts +10 -0
  84. package/dist/types/events/item-details/event-list-item-details.types.d.mts +53 -0
  85. package/dist/types/events/item-details/event-list-item-details.types.d.ts +53 -0
  86. package/dist/types/events/item-details/event-list-item-details.utils.d.mts +26 -0
  87. package/dist/types/events/item-details/event-list-item-details.utils.d.ts +26 -0
  88. package/dist/types/events/item-details/index.d.mts +6 -0
  89. package/dist/types/events/item-details/index.d.ts +6 -0
  90. package/dist/types/events/list/event-list.constants.d.mts +3 -0
  91. package/dist/types/events/list/event-list.constants.d.ts +3 -0
  92. package/dist/types/events/list/event-list.types.d.mts +21 -0
  93. package/dist/types/events/list/event-list.types.d.ts +21 -0
  94. package/dist/types/events/list/event-list.utils.d.mts +6 -0
  95. package/dist/types/events/list/event-list.utils.d.ts +6 -0
  96. package/dist/types/events/list/index.d.mts +6 -0
  97. package/dist/types/events/list/index.d.ts +6 -0
  98. package/dist/types/events/market-details/index.d.mts +6 -0
  99. package/dist/types/events/market-details/index.d.ts +6 -0
  100. package/dist/types/events/market-details/market-details.constants.d.mts +9 -0
  101. package/dist/types/events/market-details/market-details.constants.d.ts +9 -0
  102. package/dist/types/events/market-details/market-details.types.d.mts +63 -0
  103. package/dist/types/events/market-details/market-details.types.d.ts +63 -0
  104. package/dist/types/events/market-details/market-details.utils.d.mts +46 -0
  105. package/dist/types/events/market-details/market-details.utils.d.ts +46 -0
  106. package/dist/types/index.d.mts +9 -0
  107. package/dist/types/index.d.ts +9 -0
  108. package/dist/types/modals/index.d.mts +4 -0
  109. package/dist/types/modals/index.d.ts +4 -0
  110. package/dist/types/onboarding/index.d.mts +11 -0
  111. package/dist/types/onboarding/index.d.ts +11 -0
  112. package/dist/types/onboarding/onboarding-modal.constants.d.mts +10 -0
  113. package/dist/types/onboarding/onboarding-modal.constants.d.ts +10 -0
  114. package/dist/types/onboarding/onboarding-modal.types.d.mts +55 -0
  115. package/dist/types/onboarding/onboarding-modal.types.d.ts +55 -0
  116. package/dist/types/onboarding/steps/connect-accounts.d.mts +5 -0
  117. package/dist/types/onboarding/steps/connect-accounts.d.ts +5 -0
  118. package/dist/types/onboarding/steps/connect-kalshi-modal.d.mts +5 -0
  119. package/dist/types/onboarding/steps/connect-kalshi-modal.d.ts +5 -0
  120. package/dist/types/onboarding/steps/connect-onchain-modal.d.mts +5 -0
  121. package/dist/types/onboarding/steps/connect-onchain-modal.d.ts +5 -0
  122. package/dist/types/onboarding/steps/how-it-works.d.mts +5 -0
  123. package/dist/types/onboarding/steps/how-it-works.d.ts +5 -0
  124. package/dist/types/onboarding/steps/profile-setup.d.mts +5 -0
  125. package/dist/types/onboarding/steps/profile-setup.d.ts +5 -0
  126. package/dist/types/pages/event-market/event-market.types.d.mts +42 -0
  127. package/dist/types/pages/event-market/event-market.types.d.ts +42 -0
  128. package/dist/types/pages/event-market/index.d.mts +6 -0
  129. package/dist/types/pages/event-market/index.d.ts +6 -0
  130. package/dist/types/pages/home/home.constants.d.mts +8 -0
  131. package/dist/types/pages/home/home.constants.d.ts +8 -0
  132. package/dist/{home-page.d.ts → types/pages/home/home.types.d.mts} +8 -18
  133. package/dist/{home-page.d.mts → types/pages/home/home.types.d.ts} +8 -18
  134. package/dist/types/pages/home/home.utils.d.mts +3 -0
  135. package/dist/types/pages/home/home.utils.d.ts +3 -0
  136. package/dist/types/pages/home/index.d.mts +6 -0
  137. package/dist/types/pages/home/index.d.ts +6 -0
  138. package/dist/types/pages/index.d.mts +3 -0
  139. package/dist/types/pages/index.d.ts +3 -0
  140. package/dist/types/pages/user-profile/components/activity-row.d.mts +10 -0
  141. package/dist/types/pages/user-profile/components/activity-row.d.ts +10 -0
  142. package/dist/types/pages/user-profile/components/balance-display.d.mts +12 -0
  143. package/dist/types/pages/user-profile/components/balance-display.d.ts +12 -0
  144. package/dist/types/pages/user-profile/components/balances-card.d.mts +12 -0
  145. package/dist/types/pages/user-profile/components/balances-card.d.ts +12 -0
  146. package/dist/types/pages/user-profile/components/default-avatar.d.mts +8 -0
  147. package/dist/types/pages/user-profile/components/default-avatar.d.ts +8 -0
  148. package/dist/types/pages/user-profile/components/empty-state.d.mts +10 -0
  149. package/dist/types/pages/user-profile/components/empty-state.d.ts +10 -0
  150. package/dist/types/pages/user-profile/components/position-row.d.mts +10 -0
  151. package/dist/types/pages/user-profile/components/position-row.d.ts +10 -0
  152. package/dist/types/pages/user-profile/components/positions-activity.d.mts +14 -0
  153. package/dist/types/pages/user-profile/components/positions-activity.d.ts +14 -0
  154. package/dist/types/pages/user-profile/components/user-info-card.d.mts +11 -0
  155. package/dist/types/pages/user-profile/components/user-info-card.d.ts +11 -0
  156. package/dist/types/pages/user-profile/index.d.mts +6 -0
  157. package/dist/types/pages/user-profile/index.d.ts +6 -0
  158. package/dist/types/pages/user-profile/user-profile.constants.d.mts +9 -0
  159. package/dist/types/pages/user-profile/user-profile.constants.d.ts +9 -0
  160. package/dist/{user-profile-page.d.ts → types/pages/user-profile/user-profile.types.d.mts} +12 -22
  161. package/dist/{user-profile-page.d.mts → types/pages/user-profile/user-profile.types.d.ts} +12 -22
  162. package/dist/types/primitives/badge/badge.constants.d.mts +4 -0
  163. package/dist/types/primitives/badge/badge.constants.d.ts +4 -0
  164. package/dist/types/primitives/badge/badge.types.d.mts +18 -0
  165. package/dist/types/primitives/badge/badge.types.d.ts +18 -0
  166. package/dist/types/primitives/badge/index.d.mts +7 -0
  167. package/dist/types/primitives/badge/index.d.ts +7 -0
  168. package/dist/types/primitives/button/button.constants.d.mts +6 -0
  169. package/dist/types/primitives/button/button.constants.d.ts +6 -0
  170. package/dist/types/primitives/button/button.types.d.mts +12 -0
  171. package/dist/types/primitives/button/button.types.d.ts +12 -0
  172. package/dist/types/primitives/button/index.d.mts +6 -0
  173. package/dist/types/primitives/button/index.d.ts +6 -0
  174. package/dist/types/primitives/card/card.types.d.mts +3 -0
  175. package/dist/types/primitives/card/card.types.d.ts +3 -0
  176. package/dist/types/primitives/card/index.d.mts +6 -0
  177. package/dist/types/primitives/card/index.d.ts +6 -0
  178. package/dist/{chart.d.mts → types/primitives/chart/index.d.mts} +7 -10
  179. package/dist/{chart.d.ts → types/primitives/chart/index.d.ts} +7 -10
  180. package/dist/types/primitives/hello-world.d.mts +4 -0
  181. package/dist/types/primitives/hello-world.d.ts +4 -0
  182. package/dist/types/primitives/icon/icon.constants.d.mts +2 -0
  183. package/dist/types/primitives/icon/icon.constants.d.ts +2 -0
  184. package/dist/types/primitives/icon/icon.types.d.mts +9 -0
  185. package/dist/types/primitives/icon/icon.types.d.ts +9 -0
  186. package/dist/types/primitives/icon/icon.utils.d.mts +2 -0
  187. package/dist/types/primitives/icon/icon.utils.d.ts +2 -0
  188. package/dist/types/primitives/icon/index.d.mts +46 -0
  189. package/dist/types/primitives/icon/index.d.ts +46 -0
  190. package/dist/types/primitives/icon/registry.d.mts +166 -0
  191. package/dist/types/primitives/icon/registry.d.ts +166 -0
  192. package/dist/types/primitives/icon/svg/arrow-trend-up.d.mts +5 -0
  193. package/dist/types/primitives/icon/svg/arrow-trend-up.d.ts +5 -0
  194. package/dist/types/primitives/icon/svg/arrows-to-dot.d.mts +5 -0
  195. package/dist/types/primitives/icon/svg/arrows-to-dot.d.ts +5 -0
  196. package/dist/types/primitives/icon/svg/bank.d.mts +5 -0
  197. package/dist/types/primitives/icon/svg/bank.d.ts +5 -0
  198. package/dist/types/primitives/icon/svg/best-prices.d.mts +5 -0
  199. package/dist/types/primitives/icon/svg/best-prices.d.ts +5 -0
  200. package/dist/types/primitives/icon/svg/bolt.d.mts +5 -0
  201. package/dist/types/primitives/icon/svg/bolt.d.ts +5 -0
  202. package/dist/types/primitives/icon/svg/check-badge.d.mts +5 -0
  203. package/dist/types/primitives/icon/svg/check-badge.d.ts +5 -0
  204. package/dist/types/primitives/icon/svg/check-circle.d.mts +5 -0
  205. package/dist/types/primitives/icon/svg/check-circle.d.ts +5 -0
  206. package/dist/types/primitives/icon/svg/chevron-down.d.mts +5 -0
  207. package/dist/types/primitives/icon/svg/chevron-down.d.ts +5 -0
  208. package/dist/types/primitives/icon/svg/chevron-left.d.mts +5 -0
  209. package/dist/types/primitives/icon/svg/chevron-left.d.ts +5 -0
  210. package/dist/types/primitives/icon/svg/chevron-right.d.mts +5 -0
  211. package/dist/types/primitives/icon/svg/chevron-right.d.ts +5 -0
  212. package/dist/types/primitives/icon/svg/chevron-up.d.mts +5 -0
  213. package/dist/types/primitives/icon/svg/chevron-up.d.ts +5 -0
  214. package/dist/types/primitives/icon/svg/close.d.mts +5 -0
  215. package/dist/types/primitives/icon/svg/close.d.ts +5 -0
  216. package/dist/types/primitives/icon/svg/copy.d.mts +5 -0
  217. package/dist/types/primitives/icon/svg/copy.d.ts +5 -0
  218. package/dist/types/primitives/icon/svg/create-account.d.mts +5 -0
  219. package/dist/types/primitives/icon/svg/create-account.d.ts +5 -0
  220. package/dist/types/primitives/icon/svg/credit-card.d.mts +5 -0
  221. package/dist/types/primitives/icon/svg/credit-card.d.ts +5 -0
  222. package/dist/types/primitives/icon/svg/disconnect.d.mts +5 -0
  223. package/dist/types/primitives/icon/svg/disconnect.d.ts +5 -0
  224. package/dist/types/primitives/icon/svg/discord.d.mts +5 -0
  225. package/dist/types/primitives/icon/svg/discord.d.ts +5 -0
  226. package/dist/types/primitives/icon/svg/document.d.mts +5 -0
  227. package/dist/types/primitives/icon/svg/document.d.ts +5 -0
  228. package/dist/types/primitives/icon/svg/dots-horizontal.d.mts +5 -0
  229. package/dist/types/primitives/icon/svg/dots-horizontal.d.ts +5 -0
  230. package/dist/types/primitives/icon/svg/download.d.mts +5 -0
  231. package/dist/types/primitives/icon/svg/download.d.ts +5 -0
  232. package/dist/types/primitives/icon/svg/email.d.mts +5 -0
  233. package/dist/types/primitives/icon/svg/email.d.ts +5 -0
  234. package/dist/types/primitives/icon/svg/external-link.d.mts +5 -0
  235. package/dist/types/primitives/icon/svg/external-link.d.ts +5 -0
  236. package/dist/types/primitives/icon/svg/info.d.mts +5 -0
  237. package/dist/types/primitives/icon/svg/info.d.ts +5 -0
  238. package/dist/types/primitives/icon/svg/link-accounts.d.mts +5 -0
  239. package/dist/types/primitives/icon/svg/link-accounts.d.ts +5 -0
  240. package/dist/types/primitives/icon/svg/pencil.d.mts +5 -0
  241. package/dist/types/primitives/icon/svg/pencil.d.ts +5 -0
  242. package/dist/types/primitives/icon/svg/play-square.d.mts +5 -0
  243. package/dist/types/primitives/icon/svg/play-square.d.ts +5 -0
  244. package/dist/types/primitives/icon/svg/profile.d.mts +5 -0
  245. package/dist/types/primitives/icon/svg/profile.d.ts +5 -0
  246. package/dist/types/primitives/icon/svg/revenue-alt.d.mts +5 -0
  247. package/dist/types/primitives/icon/svg/revenue-alt.d.ts +5 -0
  248. package/dist/types/primitives/icon/svg/search.d.mts +5 -0
  249. package/dist/types/primitives/icon/svg/search.d.ts +5 -0
  250. package/dist/types/primitives/icon/svg/shield-trust.d.mts +5 -0
  251. package/dist/types/primitives/icon/svg/shield-trust.d.ts +5 -0
  252. package/dist/types/primitives/icon/svg/stay-in-control.d.mts +5 -0
  253. package/dist/types/primitives/icon/svg/stay-in-control.d.ts +5 -0
  254. package/dist/types/primitives/icon/svg/telegram.d.mts +5 -0
  255. package/dist/types/primitives/icon/svg/telegram.d.ts +5 -0
  256. package/dist/types/primitives/icon/svg/triangle-down.d.mts +5 -0
  257. package/dist/types/primitives/icon/svg/triangle-down.d.ts +5 -0
  258. package/dist/types/primitives/icon/svg/triangle-up-filled.d.mts +5 -0
  259. package/dist/types/primitives/icon/svg/triangle-up-filled.d.ts +5 -0
  260. package/dist/types/primitives/icon/svg/triangle-up.d.mts +5 -0
  261. package/dist/types/primitives/icon/svg/triangle-up.d.ts +5 -0
  262. package/dist/types/primitives/icon/svg/twitter.d.mts +5 -0
  263. package/dist/types/primitives/icon/svg/twitter.d.ts +5 -0
  264. package/dist/types/primitives/icon/svg/upload.d.mts +5 -0
  265. package/dist/types/primitives/icon/svg/upload.d.ts +5 -0
  266. package/dist/types/primitives/icon/svg/wallet-avatar.d.mts +5 -0
  267. package/dist/types/primitives/icon/svg/wallet-avatar.d.ts +5 -0
  268. package/dist/types/primitives/icon/svg/wallet.d.mts +5 -0
  269. package/dist/types/primitives/icon/svg/wallet.d.ts +5 -0
  270. package/dist/types/primitives/icon/svg/warning-filled.d.mts +5 -0
  271. package/dist/types/primitives/icon/svg/warning-filled.d.ts +5 -0
  272. package/dist/types/primitives/icon/svg/warning.d.mts +5 -0
  273. package/dist/types/primitives/icon/svg/warning.d.ts +5 -0
  274. package/dist/types/primitives/icon/types.d.mts +5 -0
  275. package/dist/types/primitives/icon/types.d.ts +5 -0
  276. package/dist/types/primitives/index.d.mts +17 -0
  277. package/dist/types/primitives/index.d.ts +17 -0
  278. package/dist/types/primitives/loading-icon/index.d.mts +11 -0
  279. package/dist/types/primitives/loading-icon/index.d.ts +11 -0
  280. package/dist/types/primitives/modal/index.d.mts +10 -0
  281. package/dist/types/primitives/modal/index.d.ts +10 -0
  282. package/dist/types/primitives/modal/modal.types.d.mts +54 -0
  283. package/dist/types/primitives/modal/modal.types.d.ts +54 -0
  284. package/dist/{number-value.d.mts → types/primitives/number-value.d.mts} +3 -5
  285. package/dist/{number-value.d.ts → types/primitives/number-value.d.ts} +3 -5
  286. package/dist/types/primitives/search/index.d.mts +6 -0
  287. package/dist/types/primitives/search/index.d.ts +6 -0
  288. package/dist/types/primitives/search/search-empty-icon.d.mts +5 -0
  289. package/dist/types/primitives/search/search-empty-icon.d.ts +5 -0
  290. package/dist/types/primitives/search/search.types.d.mts +96 -0
  291. package/dist/types/primitives/search/search.types.d.ts +96 -0
  292. package/dist/{select.d.mts → types/primitives/select/index.d.mts} +3 -5
  293. package/dist/{select.d.ts → types/primitives/select/index.d.ts} +3 -5
  294. package/dist/types/primitives/skeleton/index.d.mts +7 -0
  295. package/dist/types/primitives/skeleton/index.d.ts +7 -0
  296. package/dist/types/primitives/skeleton/skeleton-block.d.mts +8 -0
  297. package/dist/types/primitives/skeleton/skeleton-block.d.ts +8 -0
  298. package/dist/{skeleton.d.mts → types/primitives/skeleton/skeleton.types.d.mts} +6 -9
  299. package/dist/{skeleton.d.ts → types/primitives/skeleton/skeleton.types.d.ts} +6 -9
  300. package/dist/types/primitives/skeleton/views/event-list-item-details-skeleton-view.d.mts +5 -0
  301. package/dist/types/primitives/skeleton/views/event-list-item-details-skeleton-view.d.ts +5 -0
  302. package/dist/types/primitives/skeleton/views/event-list-item-skeleton-view.d.mts +9 -0
  303. package/dist/types/primitives/skeleton/views/event-list-item-skeleton-view.d.ts +9 -0
  304. package/dist/types/primitives/skeleton/views/event-list-skeleton-view.d.mts +5 -0
  305. package/dist/types/primitives/skeleton/views/event-list-skeleton-view.d.ts +5 -0
  306. package/dist/types/primitives/skeleton/views/market-details-skeleton-view.d.mts +12 -0
  307. package/dist/types/primitives/skeleton/views/market-details-skeleton-view.d.ts +12 -0
  308. package/dist/types/primitives/skeleton/views/place-order-skeleton-view.d.mts +5 -0
  309. package/dist/types/primitives/skeleton/views/place-order-skeleton-view.d.ts +5 -0
  310. package/dist/types/primitives/skeleton/views/settlement-skeleton-view.d.mts +5 -0
  311. package/dist/types/primitives/skeleton/views/settlement-skeleton-view.d.ts +5 -0
  312. package/dist/types/primitives/state-message/index.d.mts +15 -0
  313. package/dist/types/primitives/state-message/index.d.ts +15 -0
  314. package/dist/{switch-button.d.mts → types/primitives/switch-button/index.d.mts} +4 -7
  315. package/dist/{switch-button.d.ts → types/primitives/switch-button/index.d.ts} +4 -7
  316. package/dist/types/primitives/tabs/index.d.mts +6 -0
  317. package/dist/types/primitives/tabs/index.d.ts +6 -0
  318. package/dist/types/primitives/tabs/tabs.types.d.mts +24 -0
  319. package/dist/types/primitives/tabs/tabs.types.d.ts +24 -0
  320. package/dist/types/primitives/tabs/tabs.utils.d.mts +14 -0
  321. package/dist/types/primitives/tabs/tabs.utils.d.ts +14 -0
  322. package/dist/types/primitives/typography/index.d.mts +7 -0
  323. package/dist/types/primitives/typography/index.d.ts +7 -0
  324. package/dist/types/primitives/typography/typography.constants.d.mts +3 -0
  325. package/dist/types/primitives/typography/typography.constants.d.ts +3 -0
  326. package/dist/types/primitives/typography/typography.types.d.mts +8 -0
  327. package/dist/types/primitives/typography/typography.types.d.ts +8 -0
  328. package/dist/types/primitives/venue-logo/index.d.mts +8 -0
  329. package/dist/types/primitives/venue-logo/index.d.ts +8 -0
  330. package/dist/types/primitives/venue-logo/logo-props.d.mts +10 -0
  331. package/dist/types/primitives/venue-logo/logo-props.d.ts +10 -0
  332. package/dist/types/primitives/venue-logo/svg/logo-kalshi.d.mts +5 -0
  333. package/dist/types/primitives/venue-logo/svg/logo-kalshi.d.ts +5 -0
  334. package/dist/types/primitives/venue-logo/svg/logo-opinion.d.mts +5 -0
  335. package/dist/types/primitives/venue-logo/svg/logo-opinion.d.ts +5 -0
  336. package/dist/types/primitives/venue-logo/svg/logo-polymarket.d.mts +5 -0
  337. package/dist/types/primitives/venue-logo/svg/logo-polymarket.d.ts +5 -0
  338. package/dist/types/primitives/venue-logo/svg/logo-probable.d.mts +5 -0
  339. package/dist/types/primitives/venue-logo/svg/logo-probable.d.ts +5 -0
  340. package/dist/types/primitives/venue-logo/venue-logo.constants.d.mts +9 -0
  341. package/dist/types/primitives/venue-logo/venue-logo.constants.d.ts +9 -0
  342. package/dist/types/primitives/venue-logo/venue-logo.types.d.mts +17 -0
  343. package/dist/types/primitives/venue-logo/venue-logo.types.d.ts +17 -0
  344. package/dist/types/profile/index.d.mts +6 -0
  345. package/dist/types/profile/index.d.ts +6 -0
  346. package/dist/types/profile/profile-modal.constants.d.mts +17 -0
  347. package/dist/types/profile/profile-modal.constants.d.ts +17 -0
  348. package/dist/{profile-modal.d.mts → types/profile/profile-modal.types.d.mts} +4 -11
  349. package/dist/{profile-modal.d.ts → types/profile/profile-modal.types.d.ts} +4 -11
  350. package/dist/types/profile/tabs/about-tab.d.mts +16 -0
  351. package/dist/types/profile/tabs/about-tab.d.ts +16 -0
  352. package/dist/types/profile/tabs/accounts-wallets-tab.d.mts +18 -0
  353. package/dist/types/profile/tabs/accounts-wallets-tab.d.ts +18 -0
  354. package/dist/types/shared/constants.d.mts +23 -0
  355. package/dist/types/shared/constants.d.ts +23 -0
  356. package/dist/types/shared/query-error.d.mts +2 -0
  357. package/dist/types/shared/query-error.d.ts +2 -0
  358. package/dist/types/shared/types.d.mts +1 -0
  359. package/dist/types/shared/types.d.ts +1 -0
  360. package/dist/types/shared/utils.d.mts +15 -0
  361. package/dist/types/shared/utils.d.ts +15 -0
  362. package/dist/types/trading/index.d.mts +4 -0
  363. package/dist/types/trading/index.d.ts +4 -0
  364. package/dist/{place-order.d.ts → types/trading/place-order/index.d.mts} +3 -7
  365. package/dist/{place-order.d.mts → types/trading/place-order/index.d.ts} +3 -7
  366. package/dist/{settlement.d.ts → types/trading/settlement/index.d.mts} +3 -7
  367. package/dist/{settlement.d.mts → types/trading/settlement/index.d.ts} +3 -7
  368. package/dist/{types-DkGlbmXq.d.ts → types/trading/types.d.mts} +35 -38
  369. package/dist/{types-DkGlbmXq.d.mts → types/trading/types.d.ts} +35 -38
  370. package/dist/types/trading/utils.d.mts +16 -0
  371. package/dist/types/trading/utils.d.ts +16 -0
  372. package/dist/types/withdraw/index.d.mts +6 -0
  373. package/dist/types/withdraw/index.d.ts +6 -0
  374. package/dist/types/withdraw/steps/kalshi-withdraw.d.mts +5 -0
  375. package/dist/types/withdraw/steps/kalshi-withdraw.d.ts +5 -0
  376. package/dist/types/withdraw/steps/venue-selection.d.mts +6 -0
  377. package/dist/types/withdraw/steps/venue-selection.d.ts +6 -0
  378. package/dist/types/withdraw/steps/withdraw-amount.d.mts +8 -0
  379. package/dist/types/withdraw/steps/withdraw-amount.d.ts +8 -0
  380. package/dist/types/withdraw/steps/withdraw-method.d.mts +7 -0
  381. package/dist/types/withdraw/steps/withdraw-method.d.ts +7 -0
  382. package/dist/types/withdraw/withdraw-modal.constants.d.mts +9 -0
  383. package/dist/types/withdraw/withdraw-modal.constants.d.ts +9 -0
  384. package/dist/{withdraw-modal.d.mts → types/withdraw/withdraw-modal.types.d.mts} +3 -10
  385. package/dist/{withdraw-modal.d.ts → types/withdraw/withdraw-modal.types.d.ts} +3 -10
  386. package/package.json +35 -273
  387. package/dist/badge.d.mts +0 -28
  388. package/dist/badge.d.ts +0 -28
  389. package/dist/badge.js +0 -110
  390. package/dist/badge.mjs +0 -9
  391. package/dist/button.d.mts +0 -20
  392. package/dist/button.d.ts +0 -20
  393. package/dist/button.js +0 -183
  394. package/dist/button.mjs +0 -8
  395. package/dist/card.d.mts +0 -10
  396. package/dist/card.d.ts +0 -10
  397. package/dist/card.js +0 -88
  398. package/dist/card.mjs +0 -7
  399. package/dist/chart.mjs +0 -8
  400. package/dist/chunk-3QLOUBDJ.mjs +0 -483
  401. package/dist/chunk-3W7NBJLU.mjs +0 -371
  402. package/dist/chunk-4S3I6X7F.mjs +0 -855
  403. package/dist/chunk-4VUDTWH7.mjs +0 -42
  404. package/dist/chunk-6JG6I5AY.mjs +0 -654
  405. package/dist/chunk-BNDFQPHF.mjs +0 -9
  406. package/dist/chunk-ERGNR6UQ.mjs +0 -67
  407. package/dist/chunk-FO263M3V.mjs +0 -10
  408. package/dist/chunk-FO2QCB4Z.mjs +0 -35
  409. package/dist/chunk-GJ4U5NCE.mjs +0 -134
  410. package/dist/chunk-GNSPZ53C.mjs +0 -991
  411. package/dist/chunk-HOXTJ742.mjs +0 -146
  412. package/dist/chunk-JNH64AKR.mjs +0 -720
  413. package/dist/chunk-K6IJ4WBM.mjs +0 -67
  414. package/dist/chunk-KAGYJ4XT.mjs +0 -126
  415. package/dist/chunk-LA3FBBSJ.mjs +0 -311
  416. package/dist/chunk-LCZKSITC.mjs +0 -162
  417. package/dist/chunk-M4RJHRFT.mjs +0 -445
  418. package/dist/chunk-MBHTXNHX.mjs +0 -289
  419. package/dist/chunk-MJHKBCXQ.mjs +0 -379
  420. package/dist/chunk-NDG43KGL.mjs +0 -44
  421. package/dist/chunk-NH2G3POM.mjs +0 -470
  422. package/dist/chunk-OBCHURW5.mjs +0 -64
  423. package/dist/chunk-OH56VUYK.mjs +0 -321
  424. package/dist/chunk-OJVTGNIF.mjs +0 -230
  425. package/dist/chunk-P2PJBO5C.mjs +0 -280
  426. package/dist/chunk-PORVP72S.mjs +0 -277
  427. package/dist/chunk-QLMVKLNJ.mjs +0 -669
  428. package/dist/chunk-QM7CGMFG.mjs +0 -156
  429. package/dist/chunk-S3H63TQ5.mjs +0 -537
  430. package/dist/chunk-ZFMCCBP6.mjs +0 -25
  431. package/dist/connect-button.mjs +0 -14
  432. package/dist/deposit-modal.mjs +0 -15
  433. package/dist/event-list-item-details.d.mts +0 -11
  434. package/dist/event-list-item-details.d.ts +0 -11
  435. package/dist/event-list-item-details.js +0 -2254
  436. package/dist/event-list-item-details.mjs +0 -19
  437. package/dist/event-list-item-details.types-CMbXOrT-.d.ts +0 -53
  438. package/dist/event-list-item-details.types-DekJKeMD.d.mts +0 -53
  439. package/dist/event-list-item.d.mts +0 -10
  440. package/dist/event-list-item.d.ts +0 -10
  441. package/dist/event-list-item.js +0 -2600
  442. package/dist/event-list-item.mjs +0 -17
  443. package/dist/event-list-item.types-Y6IeJ4e4.d.mts +0 -46
  444. package/dist/event-list-item.types-Y6IeJ4e4.d.ts +0 -46
  445. package/dist/event-list.d.mts +0 -9
  446. package/dist/event-list.d.ts +0 -9
  447. package/dist/event-list.js +0 -3578
  448. package/dist/event-list.mjs +0 -20
  449. package/dist/event-list.types-CkAAUqwW.d.mts +0 -13
  450. package/dist/event-list.types-CkAAUqwW.d.ts +0 -13
  451. package/dist/event-market-page.d.mts +0 -52
  452. package/dist/event-market-page.d.ts +0 -52
  453. package/dist/event-market-page.mjs +0 -28
  454. package/dist/hello-world.d.mts +0 -8
  455. package/dist/hello-world.d.ts +0 -8
  456. package/dist/hello-world.js +0 -92
  457. package/dist/hello-world.mjs +0 -8
  458. package/dist/home-page.js +0 -3842
  459. package/dist/home-page.mjs +0 -21
  460. package/dist/icon.d.mts +0 -193
  461. package/dist/icon.d.ts +0 -193
  462. package/dist/icon.js +0 -1465
  463. package/dist/loading-icon.d.mts +0 -14
  464. package/dist/loading-icon.d.ts +0 -14
  465. package/dist/loading-icon.js +0 -112
  466. package/dist/loading-icon.mjs +0 -8
  467. package/dist/market-details.d.mts +0 -73
  468. package/dist/market-details.d.ts +0 -73
  469. package/dist/market-details.mjs +0 -21
  470. package/dist/modal.d.mts +0 -66
  471. package/dist/modal.d.ts +0 -66
  472. package/dist/modal.js +0 -321
  473. package/dist/modal.mjs +0 -9
  474. package/dist/number-value.js +0 -67
  475. package/dist/number-value.mjs +0 -7
  476. package/dist/onboarding-modal.d.mts +0 -88
  477. package/dist/onboarding-modal.d.ts +0 -88
  478. package/dist/onboarding-modal.js +0 -2836
  479. package/dist/onboarding-modal.mjs +0 -24
  480. package/dist/place-order.mjs +0 -18
  481. package/dist/profile-modal.js +0 -2447
  482. package/dist/profile-modal.mjs +0 -14
  483. package/dist/registry-DfSCFAdC.d.mts +0 -178
  484. package/dist/registry-DfSCFAdC.d.ts +0 -178
  485. package/dist/search.d.mts +0 -51
  486. package/dist/search.d.ts +0 -51
  487. package/dist/search.js +0 -1954
  488. package/dist/search.mjs +0 -12
  489. package/dist/select.js +0 -1552
  490. package/dist/select.mjs +0 -11
  491. package/dist/settlement.js +0 -2445
  492. package/dist/settlement.mjs +0 -15
  493. package/dist/skeleton.js +0 -490
  494. package/dist/skeleton.mjs +0 -10
  495. package/dist/switch-button.js +0 -191
  496. package/dist/switch-button.mjs +0 -7
  497. package/dist/tabs.d.mts +0 -31
  498. package/dist/tabs.d.ts +0 -31
  499. package/dist/tabs.js +0 -2078
  500. package/dist/tabs.mjs +0 -12
  501. package/dist/types-BVj9ky9P.d.mts +0 -3
  502. package/dist/types-BVj9ky9P.d.ts +0 -3
  503. package/dist/typography.d.mts +0 -18
  504. package/dist/typography.d.ts +0 -18
  505. package/dist/typography.js +0 -93
  506. package/dist/typography.mjs +0 -9
  507. package/dist/user-profile-page.js +0 -3081
  508. package/dist/user-profile-page.mjs +0 -15
  509. package/dist/venue-logo.d.mts +0 -13
  510. package/dist/venue-logo.d.ts +0 -13
  511. package/dist/venue-logo.js +0 -323
  512. package/dist/venue-logo.mjs +0 -10
  513. package/dist/venue-logo.types-CGUc22ly.d.mts +0 -19
  514. package/dist/venue-logo.types-Dqr39S1-.d.ts +0 -19
  515. package/dist/withdraw-modal.js +0 -2449
  516. package/dist/withdraw-modal.mjs +0 -14
@@ -0,0 +1,999 @@
1
+ import {
2
+ Select
3
+ } from "./chunk-MHCHR65A.mjs";
4
+ import {
5
+ __objRest,
6
+ __spreadProps,
7
+ __spreadValues,
8
+ cn,
9
+ getMotionClassName,
10
+ getScrollBehavior
11
+ } from "./chunk-HI4EEDN5.mjs";
12
+
13
+ // src/primitives/card/index.tsx
14
+ import { useSdkUiConfig } from "@agg-market/hooks";
15
+ import { jsx } from "react/jsx-runtime";
16
+ var Card = (_a) => {
17
+ var _b = _a, { className, onClick } = _b, props = __objRest(_b, ["className", "onClick"]);
18
+ const { enableAnimations } = useSdkUiConfig();
19
+ return /* @__PURE__ */ jsx(
20
+ "div",
21
+ __spreadValues(__spreadValues({
22
+ className: cn(
23
+ "group/agg-card",
24
+ "flex w-full flex-col font-agg-sans",
25
+ "rounded-agg-xl border border-agg-separator",
26
+ "bg-agg-secondary text-agg-foreground shadow-agg-card",
27
+ getMotionClassName(
28
+ enableAnimations,
29
+ "transition-shadow hover:shadow-agg-card-hover duration-300 ease-in-out"
30
+ ),
31
+ className
32
+ )
33
+ }, onClick ? { onClick } : {}), props)
34
+ );
35
+ };
36
+ Card.displayName = "Card";
37
+
38
+ // src/primitives/skeleton/skeleton.types.ts
39
+ var skeletonViews = {
40
+ eventListItem: "event-list-item",
41
+ eventListItemDetails: "event-list-item-details",
42
+ marketDetailsMinified: "market-details-minified",
43
+ marketDetailsDetailed: "market-details-detailed",
44
+ eventList: "event-list",
45
+ settlement: "settlement",
46
+ placeOrder: "place-order"
47
+ };
48
+
49
+ // src/primitives/skeleton/views/event-list-skeleton-view.tsx
50
+ import { useLabels as useLabels2 } from "@agg-market/hooks";
51
+
52
+ // src/primitives/skeleton/skeleton-block.tsx
53
+ import { useSdkUiConfig as useSdkUiConfig2 } from "@agg-market/hooks";
54
+ import { jsx as jsx2 } from "react/jsx-runtime";
55
+ var SkeletonBlock = ({ className }) => {
56
+ const { enableAnimations } = useSdkUiConfig2();
57
+ return /* @__PURE__ */ jsx2(
58
+ "div",
59
+ {
60
+ "aria-hidden": true,
61
+ className: cn(
62
+ "bg-agg-separator",
63
+ getMotionClassName(enableAnimations, "animate-pulse"),
64
+ className
65
+ )
66
+ }
67
+ );
68
+ };
69
+ SkeletonBlock.displayName = "SkeletonBlock";
70
+
71
+ // src/primitives/skeleton/views/event-list-item-skeleton-view.tsx
72
+ import { useLabels } from "@agg-market/hooks";
73
+
74
+ // src/events/item/event-list-item.constants.ts
75
+ var baseCardClassName = "gap-3 overflow-hidden p-5 w-full";
76
+
77
+ // src/primitives/skeleton/views/event-list-item-skeleton-view.tsx
78
+ import { jsx as jsx3, jsxs } from "react/jsx-runtime";
79
+ var EventListItemSkeletonView = ({
80
+ className,
81
+ ariaLabel,
82
+ isStandalone = false
83
+ }) => {
84
+ const labels = useLabels();
85
+ const outcomeTitleWidths = ["w-40", "w-[200px]"];
86
+ return /* @__PURE__ */ jsxs(
87
+ Card,
88
+ {
89
+ className: cn("group/agg-skeleton", baseCardClassName, className),
90
+ role: isStandalone ? "status" : void 0,
91
+ "aria-label": isStandalone ? ariaLabel != null ? ariaLabel : labels.eventItem.loading : void 0,
92
+ "aria-busy": isStandalone || void 0,
93
+ "aria-hidden": isStandalone ? void 0 : true,
94
+ children: [
95
+ /* @__PURE__ */ jsxs("div", { className: "flex h-14 w-full items-center gap-3 justify-stretch", children: [
96
+ /* @__PURE__ */ jsx3(SkeletonBlock, { className: "size-10! rounded-agg-lg" }),
97
+ /* @__PURE__ */ jsx3(SkeletonBlock, { className: "h-6 w-fit flex-1 rounded-agg-sm" })
98
+ ] }),
99
+ /* @__PURE__ */ jsx3("div", { className: "flex flex-col gap-3", children: outcomeTitleWidths.map((outcomeTitleWidth, index) => /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center justify-between gap-3", children: [
100
+ /* @__PURE__ */ jsx3(SkeletonBlock, { className: cn("h-5 rounded-agg-sm", outcomeTitleWidth) }),
101
+ /* @__PURE__ */ jsx3(SkeletonBlock, { className: "h-9 w-[100px] rounded-agg-full" })
102
+ ] }, index)) }),
103
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-5 text-agg-muted-foreground", children: [
104
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
105
+ /* @__PURE__ */ jsx3(SkeletonBlock, { className: "h-5 w-[100px] rounded-agg-sm" }),
106
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
107
+ /* @__PURE__ */ jsx3(SkeletonBlock, { className: "size-[14px] rounded-agg-sm" }),
108
+ /* @__PURE__ */ jsx3(SkeletonBlock, { className: "size-[14px] rounded-agg-sm" })
109
+ ] })
110
+ ] }),
111
+ /* @__PURE__ */ jsx3(SkeletonBlock, { className: "h-5 w-[60px] rounded-agg-sm" })
112
+ ] })
113
+ ]
114
+ }
115
+ );
116
+ };
117
+ EventListItemSkeletonView.displayName = "EventListItemSkeletonView";
118
+
119
+ // src/primitives/skeleton/views/event-list-skeleton-view.tsx
120
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
121
+ var EventListSkeletonView = ({ className, ariaLabel }) => {
122
+ const labels = useLabels2();
123
+ return /* @__PURE__ */ jsxs2(
124
+ "section",
125
+ {
126
+ className: cn("group/agg-skeleton", "flex w-full flex-col gap-5", className),
127
+ role: "status",
128
+ "aria-label": ariaLabel != null ? ariaLabel : labels.eventList.loading("events"),
129
+ "aria-busy": true,
130
+ children: [
131
+ /* @__PURE__ */ jsxs2("header", { className: "flex w-full flex-col items-start justify-between gap-3 md:flex-row md:flex-nowrap md:items-center md:gap-5", children: [
132
+ /* @__PURE__ */ jsx4(SkeletonBlock, { className: "h-7 w-[120px] rounded-agg-md" }),
133
+ /* @__PURE__ */ jsx4(SkeletonBlock, { className: "h-8 w-full rounded-agg-md md:w-[400px]" })
134
+ ] }),
135
+ /* @__PURE__ */ jsx4("div", { className: "grid grid-cols-1 gap-5 md:grid-cols-3", children: Array.from({ length: 3 }).map((_, index) => /* @__PURE__ */ jsx4(
136
+ EventListItemSkeletonView,
137
+ {
138
+ isStandalone: false,
139
+ className: "w-full min-w-0 max-w-none"
140
+ },
141
+ index
142
+ )) })
143
+ ]
144
+ }
145
+ );
146
+ };
147
+ EventListSkeletonView.displayName = "EventListSkeletonView";
148
+
149
+ // src/primitives/skeleton/views/event-list-item-details-skeleton-view.tsx
150
+ import { useLabels as useLabels3 } from "@agg-market/hooks";
151
+
152
+ // src/events/item-details/event-list-item-details.constants.ts
153
+ var detailsBaseCardClassName = "w-full overflow-hidden gap-6 p-5 md:gap-8 md:p-10";
154
+ var eventListItemDetailsTimeRanges = [
155
+ "1H",
156
+ "6H",
157
+ "1D",
158
+ "1W",
159
+ "1M",
160
+ "ALL"
161
+ ];
162
+ var lineColorByVenue = {
163
+ polymarket: "#2e5cff",
164
+ kalshi: "#00d295",
165
+ probable: "#f05923",
166
+ opinion: "#020205"
167
+ };
168
+ var fallbackLineColors = ["#2e5cff", "#00d295", "#f05923", "#020205"];
169
+
170
+ // src/primitives/skeleton/views/event-list-item-details-skeleton-view.tsx
171
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
172
+ var EventListItemDetailsSkeletonView = ({
173
+ className,
174
+ ariaLabel
175
+ }) => {
176
+ const labels = useLabels3();
177
+ return /* @__PURE__ */ jsxs3(
178
+ Card,
179
+ {
180
+ className: cn("group/agg-skeleton", detailsBaseCardClassName, className),
181
+ role: "status",
182
+ "aria-label": ariaLabel != null ? ariaLabel : labels.eventItemDetails.loading,
183
+ "aria-busy": true,
184
+ children: [
185
+ /* @__PURE__ */ jsxs3("div", { className: "flex h-14 w-full items-center gap-3 justify-stretch", children: [
186
+ /* @__PURE__ */ jsx5(SkeletonBlock, { className: "size-10! rounded-agg-lg" }),
187
+ /* @__PURE__ */ jsx5(SkeletonBlock, { className: "h-6 w-fit flex-1 rounded-agg-sm" })
188
+ ] }),
189
+ /* @__PURE__ */ jsxs3("div", { className: "flex w-full flex-col gap-4 md:gap-6", children: [
190
+ /* @__PURE__ */ jsxs3("div", { className: "flex w-full flex-col gap-3 md:flex-row md:items-center md:justify-between", children: [
191
+ /* @__PURE__ */ jsxs3("div", { className: "flex max-w-full gap-2 overflow-hidden", children: [
192
+ /* @__PURE__ */ jsx5(SkeletonBlock, { className: "h-9 w-[100px] rounded-agg-full" }),
193
+ /* @__PURE__ */ jsx5(SkeletonBlock, { className: "h-9 w-[100px] rounded-agg-full" }),
194
+ /* @__PURE__ */ jsx5(SkeletonBlock, { className: "h-9 w-[100px] rounded-agg-full" })
195
+ ] }),
196
+ /* @__PURE__ */ jsx5(SkeletonBlock, { className: "h-9 w-full max-w-[221px] rounded-agg-full md:w-[221px]" })
197
+ ] }),
198
+ /* @__PURE__ */ jsxs3("div", { className: "flex w-full flex-col gap-3", children: [
199
+ /* @__PURE__ */ jsx5(SkeletonBlock, { className: "h-[220px] w-full rounded-agg-xl md:h-[240px]" }),
200
+ /* @__PURE__ */ jsxs3("div", { className: "flex items-center justify-between", children: [
201
+ /* @__PURE__ */ jsx5(SkeletonBlock, { className: "h-5 w-[59px] rounded-agg-sm" }),
202
+ /* @__PURE__ */ jsx5(SkeletonBlock, { className: "h-5 w-40 rounded-agg-sm" })
203
+ ] })
204
+ ] })
205
+ ] })
206
+ ]
207
+ }
208
+ );
209
+ };
210
+ EventListItemDetailsSkeletonView.displayName = "EventListItemDetailsSkeletonView";
211
+
212
+ // src/primitives/skeleton/views/market-details-skeleton-view.tsx
213
+ import { useLabels as useLabels4 } from "@agg-market/hooks";
214
+
215
+ // src/events/market-details/market-details.constants.ts
216
+ var marketDetailsBaseCardClassName = "w-full overflow-hidden rounded-agg-lg border border-agg-separator bg-agg-secondary text-agg-foreground shadow-none hover:shadow-none";
217
+ var getMarketDetailsTabs = (labels) => {
218
+ return [
219
+ { value: "order-book", label: labels.marketDetails.tabs.orderBook },
220
+ { value: "graph", label: labels.marketDetails.tabs.graph }
221
+ ];
222
+ };
223
+ var marketDetailsDefaultIsOpened = false;
224
+ var orderBookRowLimitDefault = 4;
225
+
226
+ // src/primitives/skeleton/views/market-details-skeleton-view.tsx
227
+ import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
228
+ var orderBookAskBarWidths = [
229
+ "w-[52px] md:w-[240px]",
230
+ "w-[48px] md:w-[200px]",
231
+ "w-[40px] md:w-[120px]",
232
+ "w-[36px] md:w-[60px]"
233
+ ];
234
+ var orderBookBidBarWidths = [
235
+ "w-[36px] md:w-[60px]",
236
+ "w-[40px] md:w-[120px]",
237
+ "w-[48px] md:w-[200px]",
238
+ "w-[52px] md:w-[240px]"
239
+ ];
240
+ var MarketDetailsHeaderSkeleton = () => {
241
+ return /* @__PURE__ */ jsxs4("div", { className: "flex flex-wrap items-center justify-between gap-3 px-4 py-3 md:px-5", children: [
242
+ /* @__PURE__ */ jsxs4("div", { className: "flex min-w-0 items-center gap-3 md:min-w-52 md:gap-4", children: [
243
+ /* @__PURE__ */ jsx6(SkeletonBlock, { className: "size-12 rounded-agg-lg md:size-[60px]" }),
244
+ /* @__PURE__ */ jsxs4("div", { className: "flex min-w-0 flex-col gap-2", children: [
245
+ /* @__PURE__ */ jsx6(SkeletonBlock, { className: "h-6 w-[132px] rounded-agg-sm" }),
246
+ /* @__PURE__ */ jsx6(SkeletonBlock, { className: "h-4 w-[141px] rounded-agg-sm" })
247
+ ] })
248
+ ] }),
249
+ /* @__PURE__ */ jsx6(SkeletonBlock, { className: "h-9 w-[60px] rounded-agg-md" }),
250
+ /* @__PURE__ */ jsxs4("div", { className: "flex w-full gap-2 md:w-auto", children: [
251
+ /* @__PURE__ */ jsx6(SkeletonBlock, { className: "h-9 w-full rounded-agg-full md:w-[135px]" }),
252
+ /* @__PURE__ */ jsx6(SkeletonBlock, { className: "h-9 w-full rounded-agg-full md:w-[131px]" })
253
+ ] })
254
+ ] });
255
+ };
256
+ var MarketDetailsTabsSkeleton = () => {
257
+ return /* @__PURE__ */ jsxs4("div", { className: "flex h-14 items-end px-4 md:px-5", children: [
258
+ /* @__PURE__ */ jsxs4("div", { className: "flex h-full flex-col items-end justify-end rounded-t-agg-lg", children: [
259
+ /* @__PURE__ */ jsx6("div", { className: "px-4 py-3", children: /* @__PURE__ */ jsx6(SkeletonBlock, { className: "h-6 w-20 rounded-agg-sm" }) }),
260
+ /* @__PURE__ */ jsx6(SkeletonBlock, { className: "h-[3px] w-full rounded-t-agg-sm" })
261
+ ] }),
262
+ /* @__PURE__ */ jsxs4("div", { className: "flex h-full flex-col justify-center", children: [
263
+ /* @__PURE__ */ jsx6("div", { className: "px-4 py-3", children: /* @__PURE__ */ jsx6(SkeletonBlock, { className: "h-6 w-12 rounded-agg-sm" }) }),
264
+ /* @__PURE__ */ jsx6("div", { className: "h-[3px] w-full" })
265
+ ] })
266
+ ] });
267
+ };
268
+ var MarketDetailsOrderBookRows = ({
269
+ side,
270
+ barWidths
271
+ }) => {
272
+ return /* @__PURE__ */ jsx6("div", { className: "flex flex-col gap-2", children: barWidths.map((barWidthClassName, index) => /* @__PURE__ */ jsxs4("div", { className: "flex flex-col gap-2", children: [
273
+ /* @__PURE__ */ jsxs4("div", { className: "grid grid-cols-[52px_1fr_1fr_52px] items-center gap-2 md:grid-cols-[88px_1fr_1fr_minmax(120px,220px)] md:gap-6", children: [
274
+ /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-1 md:gap-3", children: [
275
+ /* @__PURE__ */ jsx6(SkeletonBlock, { className: "size-4 rounded-agg-sm" }),
276
+ /* @__PURE__ */ jsx6(SkeletonBlock, { className: "h-5 w-[60px] rounded-agg-sm" })
277
+ ] }),
278
+ /* @__PURE__ */ jsx6(SkeletonBlock, { className: "h-5 rounded-agg-sm" }),
279
+ /* @__PURE__ */ jsx6(SkeletonBlock, { className: "h-5 rounded-agg-sm" }),
280
+ /* @__PURE__ */ jsx6("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx6(SkeletonBlock, { className: cn("h-2 rounded-agg-full", barWidthClassName) }) })
281
+ ] }),
282
+ index < barWidths.length - 1 ? /* @__PURE__ */ jsx6("div", { className: "h-px w-full bg-agg-separator" }) : null
283
+ ] }, `${side}-row-${index}`)) });
284
+ };
285
+ var MarketDetailsOderbookSkeleton = ({
286
+ className
287
+ }) => {
288
+ return /* @__PURE__ */ jsxs4("div", { className: cn("flex flex-col gap-5", className), children: [
289
+ /* @__PURE__ */ jsxs4("div", { className: "flex flex-col gap-2", children: [
290
+ /* @__PURE__ */ jsx6(SkeletonBlock, { className: "h-4 w-10 rounded-agg-sm" }),
291
+ /* @__PURE__ */ jsx6(MarketDetailsOrderBookRows, { side: "ask", barWidths: orderBookAskBarWidths })
292
+ ] }),
293
+ /* @__PURE__ */ jsxs4("div", { className: "flex flex-col gap-2", children: [
294
+ /* @__PURE__ */ jsx6(SkeletonBlock, { className: "h-4 w-10 rounded-agg-sm" }),
295
+ /* @__PURE__ */ jsx6(MarketDetailsOrderBookRows, { side: "bid", barWidths: orderBookBidBarWidths })
296
+ ] })
297
+ ] });
298
+ };
299
+ var MarketDetailsSkeletonView = ({
300
+ className,
301
+ ariaLabel,
302
+ isDetailed
303
+ }) => {
304
+ const labels = useLabels4();
305
+ return /* @__PURE__ */ jsxs4(
306
+ Card,
307
+ {
308
+ className: cn("group/agg-skeleton", marketDetailsBaseCardClassName, className),
309
+ role: "status",
310
+ "aria-label": ariaLabel != null ? ariaLabel : labels.marketDetails.loading,
311
+ "aria-busy": true,
312
+ children: [
313
+ /* @__PURE__ */ jsx6(MarketDetailsHeaderSkeleton, {}),
314
+ isDetailed ? /* @__PURE__ */ jsxs4(Fragment, { children: [
315
+ /* @__PURE__ */ jsx6("div", { className: "h-px w-full bg-agg-separator" }),
316
+ /* @__PURE__ */ jsx6(MarketDetailsTabsSkeleton, {}),
317
+ /* @__PURE__ */ jsx6("div", { className: "h-px w-full bg-agg-separator" }),
318
+ /* @__PURE__ */ jsx6(MarketDetailsOderbookSkeleton, { className: "p-5" })
319
+ ] }) : null
320
+ ]
321
+ }
322
+ );
323
+ };
324
+ MarketDetailsSkeletonView.displayName = "MarketDetailsSkeletonView";
325
+
326
+ // src/primitives/skeleton/views/place-order-skeleton-view.tsx
327
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
328
+ var placeOrderCardClassName = "overflow-hidden rounded-agg-xl border border-agg-border bg-agg-secondary shadow-none hover:shadow-none";
329
+ var TabsSkeletonBar = () => {
330
+ return /* @__PURE__ */ jsxs5("div", { className: "flex w-full items-end border-b border-agg-border", children: [
331
+ /* @__PURE__ */ jsxs5("div", { className: "flex flex-col rounded-t-agg-lg", children: [
332
+ /* @__PURE__ */ jsx7("div", { className: "px-5 py-2", children: /* @__PURE__ */ jsx7(SkeletonBlock, { className: "h-6 w-10 rounded-agg-sm" }) }),
333
+ /* @__PURE__ */ jsx7(SkeletonBlock, { className: "h-[3px] w-full rounded-t-agg-sm" })
334
+ ] }),
335
+ /* @__PURE__ */ jsxs5("div", { className: "flex flex-col", children: [
336
+ /* @__PURE__ */ jsx7("div", { className: "px-5 py-2", children: /* @__PURE__ */ jsx7(SkeletonBlock, { className: "h-6 w-10 rounded-agg-sm" }) }),
337
+ /* @__PURE__ */ jsx7("div", { className: "h-[3px] w-full" })
338
+ ] })
339
+ ] });
340
+ };
341
+ var ContentBody = () => {
342
+ return /* @__PURE__ */ jsxs5("div", { className: cn("flex flex-col gap-6 p-5"), children: [
343
+ /* @__PURE__ */ jsxs5("div", { className: "flex flex-col gap-2", children: [
344
+ /* @__PURE__ */ jsxs5("div", { className: "flex min-w-0 items-center gap-3", children: [
345
+ /* @__PURE__ */ jsx7(SkeletonBlock, { className: "size-12 shrink-0 rounded-agg-lg" }),
346
+ /* @__PURE__ */ jsxs5("div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
347
+ /* @__PURE__ */ jsx7(SkeletonBlock, { className: "h-4 w-[92%] max-w-[240px] rounded-agg-sm" }),
348
+ /* @__PURE__ */ jsx7(SkeletonBlock, { className: "h-4 w-[64%] max-w-[160px] rounded-agg-sm" })
349
+ ] })
350
+ ] }),
351
+ /* @__PURE__ */ jsx7(SkeletonBlock, { className: "h-6 w-[92px] rounded-agg-sm" }),
352
+ /* @__PURE__ */ jsx7(TabsSkeletonBar, {})
353
+ ] }),
354
+ /* @__PURE__ */ jsxs5("div", { className: "flex flex-col gap-4", children: [
355
+ /* @__PURE__ */ jsxs5("div", { className: "flex w-full gap-2", children: [
356
+ /* @__PURE__ */ jsx7(SkeletonBlock, { className: "h-11 flex-1 rounded-agg-full" }),
357
+ /* @__PURE__ */ jsx7(SkeletonBlock, { className: "h-11 flex-1 rounded-agg-full" })
358
+ ] }),
359
+ /* @__PURE__ */ jsxs5("div", { className: "flex items-center justify-between gap-4", children: [
360
+ /* @__PURE__ */ jsxs5("div", { className: "flex flex-col gap-2", children: [
361
+ /* @__PURE__ */ jsx7(SkeletonBlock, { className: "h-5 w-[63px] rounded-agg-sm" }),
362
+ /* @__PURE__ */ jsx7(SkeletonBlock, { className: "h-4 w-[118px] rounded-agg-sm" })
363
+ ] }),
364
+ /* @__PURE__ */ jsx7("p", { className: cn("text-agg-3xl font-agg-bold leading-agg-9 text-agg-separator"), children: "$0" })
365
+ ] })
366
+ ] }),
367
+ /* @__PURE__ */ jsx7(SkeletonBlock, { className: "h-12 w-full rounded-agg-full" }),
368
+ /* @__PURE__ */ jsx7(SkeletonBlock, { className: "h-4 w-full max-w-[240px] self-center rounded-agg-sm" })
369
+ ] });
370
+ };
371
+ var PlaceOrderSkeletonView = ({
372
+ className,
373
+ ariaLabel
374
+ }) => {
375
+ return /* @__PURE__ */ jsx7(
376
+ "div",
377
+ {
378
+ className: cn("group/agg-skeleton", "w-full", className),
379
+ role: "status",
380
+ "aria-label": ariaLabel != null ? ariaLabel : "Loading place order",
381
+ "aria-busy": true,
382
+ children: /* @__PURE__ */ jsx7("div", { className: "flex w-full items-end justify-center", children: /* @__PURE__ */ jsx7(Card, { className: cn(placeOrderCardClassName, "w-full"), children: /* @__PURE__ */ jsx7(ContentBody, {}) }) })
383
+ }
384
+ );
385
+ };
386
+ PlaceOrderSkeletonView.displayName = "PlaceOrderSkeletonView";
387
+
388
+ // src/primitives/skeleton/views/settlement-skeleton-view.tsx
389
+ import { useLabels as useLabels5 } from "@agg-market/hooks";
390
+ import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
391
+ var SettlementSkeletonView = ({
392
+ className,
393
+ ariaLabel
394
+ }) => {
395
+ const labels = useLabels5();
396
+ return /* @__PURE__ */ jsxs6(
397
+ Card,
398
+ {
399
+ className: cn(
400
+ "group/agg-skeleton",
401
+ "flex flex-col w-full gap-5 rounded-agg-xl border border-agg-separator bg-agg-secondary p-5 shadow-none hover:shadow-none",
402
+ className
403
+ ),
404
+ role: "status",
405
+ "aria-label": ariaLabel != null ? ariaLabel : labels.trading.settlementLoading,
406
+ "aria-busy": true,
407
+ children: [
408
+ /* @__PURE__ */ jsxs6("div", { className: "flex w-full items-center justify-between gap-4", children: [
409
+ /* @__PURE__ */ jsx8(SkeletonBlock, { className: "h-4 w-[81px] rounded-agg-sm" }),
410
+ /* @__PURE__ */ jsx8(SkeletonBlock, { className: "h-5 w-full max-w-[240px] rounded-agg-sm" })
411
+ ] }),
412
+ /* @__PURE__ */ jsxs6("div", { className: "flex w-full flex-col gap-3", children: [
413
+ /* @__PURE__ */ jsx8(SkeletonBlock, { className: "h-5 w-[200px] rounded-agg-sm" }),
414
+ /* @__PURE__ */ jsxs6("div", { className: "flex flex-col gap-2", children: [
415
+ /* @__PURE__ */ jsx8(SkeletonBlock, { className: "h-4 w-full max-w-[320px] rounded-agg-sm" }),
416
+ /* @__PURE__ */ jsx8(SkeletonBlock, { className: "h-4 w-full max-w-[280px] rounded-agg-sm" })
417
+ ] })
418
+ ] }),
419
+ /* @__PURE__ */ jsx8("div", { className: "h-px w-full bg-agg-separator" }),
420
+ /* @__PURE__ */ jsxs6("div", { className: "flex w-full flex-col gap-3", children: [
421
+ /* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-2", children: [
422
+ /* @__PURE__ */ jsx8(SkeletonBlock, { className: "size-4 rounded-agg-sm" }),
423
+ /* @__PURE__ */ jsx8(SkeletonBlock, { className: "h-5 w-[100px] rounded-agg-sm" })
424
+ ] }),
425
+ /* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-2", children: [
426
+ /* @__PURE__ */ jsx8(SkeletonBlock, { className: "size-4 rounded-agg-sm" }),
427
+ /* @__PURE__ */ jsx8(SkeletonBlock, { className: "h-5 w-[60px] rounded-agg-sm" })
428
+ ] })
429
+ ] })
430
+ ]
431
+ }
432
+ );
433
+ };
434
+ SettlementSkeletonView.displayName = "SettlementSkeletonView";
435
+
436
+ // src/primitives/skeleton/index.tsx
437
+ import { jsx as jsx9 } from "react/jsx-runtime";
438
+ var Skeleton = ({ view, className, ariaLabel }) => {
439
+ if (view === skeletonViews.eventListItem) {
440
+ return /* @__PURE__ */ jsx9(EventListItemSkeletonView, { className, ariaLabel, isStandalone: true });
441
+ }
442
+ if (view === skeletonViews.eventListItemDetails) {
443
+ return /* @__PURE__ */ jsx9(EventListItemDetailsSkeletonView, { className, ariaLabel });
444
+ }
445
+ if (view === skeletonViews.marketDetailsMinified) {
446
+ return /* @__PURE__ */ jsx9(MarketDetailsSkeletonView, { className, ariaLabel, isDetailed: false });
447
+ }
448
+ if (view === skeletonViews.marketDetailsDetailed) {
449
+ return /* @__PURE__ */ jsx9(MarketDetailsSkeletonView, { className, ariaLabel, isDetailed: true });
450
+ }
451
+ if (view === skeletonViews.settlement) {
452
+ return /* @__PURE__ */ jsx9(SettlementSkeletonView, { className, ariaLabel });
453
+ }
454
+ if (view === skeletonViews.placeOrder) {
455
+ return /* @__PURE__ */ jsx9(PlaceOrderSkeletonView, { className, ariaLabel });
456
+ }
457
+ return /* @__PURE__ */ jsx9(EventListSkeletonView, { className, ariaLabel });
458
+ };
459
+ Skeleton.displayName = "Skeleton";
460
+
461
+ // src/primitives/tabs/index.tsx
462
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
463
+ import { useLabels as useLabels6, useSdkUiConfig as useSdkUiConfig3 } from "@agg-market/hooks";
464
+
465
+ // src/primitives/tabs/tabs.utils.ts
466
+ var findNextEnabledIndex = (items, startIndex, direction) => {
467
+ var _a;
468
+ if (items.length === 0)
469
+ return -1;
470
+ for (let step = 1; step <= items.length; step += 1) {
471
+ const nextIndex = (startIndex + direction * step + items.length) % items.length;
472
+ if (!((_a = items[nextIndex]) == null ? void 0 : _a.disabled))
473
+ return nextIndex;
474
+ }
475
+ return -1;
476
+ };
477
+ var findEdgeEnabledIndex = (items, direction) => {
478
+ var _a;
479
+ if (direction === 1) {
480
+ return items.findIndex((item) => !item.disabled);
481
+ }
482
+ for (let index = items.length - 1; index >= 0; index -= 1) {
483
+ if (!((_a = items[index]) == null ? void 0 : _a.disabled))
484
+ return index;
485
+ }
486
+ return -1;
487
+ };
488
+
489
+ // src/primitives/tabs/index.tsx
490
+ import { Fragment as Fragment2, jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
491
+ var mobileTabsMediaQuery = "(max-width: 512px)";
492
+ var getTabButtonClassName = ({
493
+ enableAnimations,
494
+ isBarVariant,
495
+ isActive,
496
+ isDisabled,
497
+ size
498
+ }) => {
499
+ const isSmall = size === "s";
500
+ return cn(
501
+ "cursor-pointer disabled:cursor-not-allowed",
502
+ "relative inline-flex h-full shrink-0 items-center justify-center gap-2 font-agg-sans",
503
+ isBarVariant ? "hover:text-agg-foreground hover:bg-agg-secondary-hover" : "hover:text-agg-foreground hover:font-bold",
504
+ getMotionClassName(
505
+ enableAnimations,
506
+ "transition-[colors] duration-300 ease-in-out motion-reduce:transition-none"
507
+ ),
508
+ isBarVariant ? cn(
509
+ "min-w-20 overflow-hidden border-r border-agg-separator last:border-r-0",
510
+ isSmall ? "px-3 text-agg-sm leading-agg-5" : "px-4 text-agg-base leading-agg-6"
511
+ ) : cn(isSmall ? "px-4 text-agg-sm leading-agg-5" : "px-5 text-agg-base leading-agg-6"),
512
+ isBarVariant && isActive && "font-agg-bold text-agg-primary",
513
+ isBarVariant && !isActive && "font-agg-normal text-agg-foreground",
514
+ !isBarVariant && isActive && "font-agg-bold text-agg-primary",
515
+ !isBarVariant && !isActive && "font-agg-normal text-agg-foreground",
516
+ isDisabled && "cursor-not-allowed opacity-60"
517
+ );
518
+ };
519
+ var Tabs = ({
520
+ items,
521
+ value,
522
+ onChange,
523
+ variant = "bar",
524
+ size = "m",
525
+ overflowBehavior,
526
+ ariaLabel,
527
+ className,
528
+ classNames
529
+ }) => {
530
+ const labels = useLabels6();
531
+ const { enableAnimations } = useSdkUiConfig3();
532
+ const buttonRefs = useRef([]);
533
+ const dragStateRef = useRef({
534
+ isPointerDown: false,
535
+ isDragging: false,
536
+ pointerId: null,
537
+ startClientX: 0,
538
+ startClientY: 0,
539
+ startScrollLeft: 0
540
+ });
541
+ const suppressClickRef = useRef(false);
542
+ const resolvedAriaLabel = ariaLabel != null ? ariaLabel : labels.common.tabsAria;
543
+ const [isMobileViewport, setIsMobileViewport] = useState(false);
544
+ const [isDraggingTabs, setIsDraggingTabs] = useState(false);
545
+ const [activeUnderlineStyle, setActiveUnderlineStyle] = useState({
546
+ transform: "translateX(0px)",
547
+ width: 0,
548
+ opacity: 0
549
+ });
550
+ const [scrollAffordanceState, setScrollAffordanceState] = useState({
551
+ showStart: false,
552
+ showEnd: false
553
+ });
554
+ const tabListRef = useRef(null);
555
+ const isBarVariant = variant === "bar";
556
+ const resolvedOverflowBehavior = useMemo(() => {
557
+ if (overflowBehavior)
558
+ return overflowBehavior;
559
+ if (!isBarVariant)
560
+ return "scroll";
561
+ return isMobileViewport ? "select" : "scroll";
562
+ }, [isBarVariant, isMobileViewport, overflowBehavior]);
563
+ const shouldUseOverflowScroll = resolvedOverflowBehavior === "scroll";
564
+ const shouldUseOverflowSelect = resolvedOverflowBehavior === "select";
565
+ useEffect(() => {
566
+ if (typeof window === "undefined")
567
+ return;
568
+ const mediaQueryList = window.matchMedia(mobileTabsMediaQuery);
569
+ const handleMediaQueryChange = (event) => {
570
+ setIsMobileViewport(event.matches);
571
+ };
572
+ handleMediaQueryChange(mediaQueryList);
573
+ if (typeof mediaQueryList.addEventListener === "function") {
574
+ mediaQueryList.addEventListener("change", handleMediaQueryChange);
575
+ return () => {
576
+ mediaQueryList.removeEventListener("change", handleMediaQueryChange);
577
+ };
578
+ }
579
+ mediaQueryList.addListener(handleMediaQueryChange);
580
+ return () => {
581
+ mediaQueryList.removeListener(handleMediaQueryChange);
582
+ };
583
+ }, []);
584
+ const updateScrollAffordances = useCallback(() => {
585
+ if (!shouldUseOverflowScroll) {
586
+ setScrollAffordanceState({
587
+ showStart: false,
588
+ showEnd: false
589
+ });
590
+ return;
591
+ }
592
+ const tabListElement = tabListRef.current;
593
+ if (!tabListElement)
594
+ return;
595
+ const maxScrollLeft = tabListElement.scrollWidth - tabListElement.clientWidth;
596
+ setScrollAffordanceState({
597
+ showStart: tabListElement.scrollLeft > 4,
598
+ showEnd: maxScrollLeft - tabListElement.scrollLeft > 4
599
+ });
600
+ }, [shouldUseOverflowScroll]);
601
+ const renderedItems = items;
602
+ const selectItems = useMemo(() => {
603
+ return items.map((item) => ({
604
+ value: item.value,
605
+ label: item.label,
606
+ disabled: item.disabled
607
+ }));
608
+ }, [items]);
609
+ const isSelectDisabled = !items.some((item) => !item.disabled);
610
+ const handleSelect = (nextValue) => {
611
+ if (nextValue === value)
612
+ return;
613
+ onChange(nextValue);
614
+ };
615
+ const handleMoveFocus = (index) => {
616
+ var _a;
617
+ if (index < 0)
618
+ return;
619
+ const nextItem = renderedItems[index];
620
+ if (!nextItem)
621
+ return;
622
+ handleSelect(nextItem.value);
623
+ (_a = buttonRefs.current[index]) == null ? void 0 : _a.focus();
624
+ };
625
+ const handleKeyDown = (event, index) => {
626
+ switch (event == null ? void 0 : event.key) {
627
+ case "ArrowRight": {
628
+ event == null ? void 0 : event.preventDefault();
629
+ handleMoveFocus(findNextEnabledIndex(renderedItems, index, 1));
630
+ return;
631
+ }
632
+ case "ArrowLeft": {
633
+ event == null ? void 0 : event.preventDefault();
634
+ handleMoveFocus(findNextEnabledIndex(renderedItems, index, -1));
635
+ return;
636
+ }
637
+ case "Home": {
638
+ event == null ? void 0 : event.preventDefault();
639
+ handleMoveFocus(findEdgeEnabledIndex(renderedItems, 1));
640
+ return;
641
+ }
642
+ case "End": {
643
+ event == null ? void 0 : event.preventDefault();
644
+ handleMoveFocus(findEdgeEnabledIndex(renderedItems, -1));
645
+ return;
646
+ }
647
+ default:
648
+ return;
649
+ }
650
+ };
651
+ const tabListClassName = cn(
652
+ "inline-flex items-stretch bg-agg-secondary",
653
+ shouldUseOverflowScroll ? cn(
654
+ "overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
655
+ getMotionClassName(enableAnimations, "scroll-smooth")
656
+ ) : "overflow-x-auto",
657
+ isBarVariant ? "h-8 rounded-agg-sm border border-agg-separator" : "h-12 border-b border-agg-separator -mb-[1px]",
658
+ shouldUseOverflowScroll && "select-none",
659
+ shouldUseOverflowScroll && !isBarVariant && "snap-x snap-mandatory",
660
+ shouldUseOverflowScroll && (isDraggingTabs ? "cursor-grabbing" : "cursor-grab")
661
+ );
662
+ const handleTabListWheel = (event) => {
663
+ if (!shouldUseOverflowScroll)
664
+ return;
665
+ const tabListElement = event.currentTarget;
666
+ if (tabListElement.scrollWidth <= tabListElement.clientWidth)
667
+ return;
668
+ if (Math.abs(event.deltaX) > Math.abs(event.deltaY))
669
+ return;
670
+ event.preventDefault();
671
+ tabListElement.scrollLeft += event.deltaY;
672
+ };
673
+ const handleTabListPointerDown = (event) => {
674
+ if (!shouldUseOverflowScroll)
675
+ return;
676
+ if (event.pointerType !== "mouse")
677
+ return;
678
+ if (event.button !== 0)
679
+ return;
680
+ const tabListElement = tabListRef.current;
681
+ if (!tabListElement)
682
+ return;
683
+ if (tabListElement.scrollWidth <= tabListElement.clientWidth)
684
+ return;
685
+ dragStateRef.current = {
686
+ isPointerDown: true,
687
+ isDragging: false,
688
+ pointerId: event.pointerId,
689
+ startClientX: event.clientX,
690
+ startClientY: event.clientY,
691
+ startScrollLeft: tabListElement.scrollLeft
692
+ };
693
+ };
694
+ const handleTabListPointerMove = (event) => {
695
+ if (!shouldUseOverflowScroll)
696
+ return;
697
+ const dragState = dragStateRef.current;
698
+ const tabListElement = tabListRef.current;
699
+ if (!dragState.isPointerDown)
700
+ return;
701
+ if (dragState.pointerId !== event.pointerId)
702
+ return;
703
+ if (!tabListElement)
704
+ return;
705
+ const deltaX = event.clientX - dragState.startClientX;
706
+ const deltaY = event.clientY - dragState.startClientY;
707
+ const horizontalDistance = Math.abs(deltaX);
708
+ const verticalDistance = Math.abs(deltaY);
709
+ const hasExceededDragThreshold = horizontalDistance > 10 && horizontalDistance > verticalDistance;
710
+ if (hasExceededDragThreshold && !dragState.isDragging) {
711
+ dragState.isDragging = true;
712
+ setIsDraggingTabs(true);
713
+ tabListElement.setPointerCapture(event.pointerId);
714
+ }
715
+ if (!dragState.isDragging)
716
+ return;
717
+ event.preventDefault();
718
+ tabListElement.scrollLeft = dragState.startScrollLeft - deltaX;
719
+ };
720
+ const handleEndTabListDrag = (event) => {
721
+ const dragState = dragStateRef.current;
722
+ const tabListElement = tabListRef.current;
723
+ if (!dragState.isPointerDown)
724
+ return;
725
+ if (dragState.pointerId !== event.pointerId)
726
+ return;
727
+ if (tabListElement == null ? void 0 : tabListElement.hasPointerCapture(event.pointerId)) {
728
+ tabListElement.releasePointerCapture(event.pointerId);
729
+ }
730
+ if (dragState.isDragging) {
731
+ suppressClickRef.current = true;
732
+ window.setTimeout(() => {
733
+ suppressClickRef.current = false;
734
+ }, 0);
735
+ }
736
+ dragStateRef.current = {
737
+ isPointerDown: false,
738
+ isDragging: false,
739
+ pointerId: null,
740
+ startClientX: 0,
741
+ startClientY: 0,
742
+ startScrollLeft: 0
743
+ };
744
+ setIsDraggingTabs(false);
745
+ };
746
+ const handleTabListClickCapture = (event) => {
747
+ if (!suppressClickRef.current)
748
+ return;
749
+ event == null ? void 0 : event.preventDefault();
750
+ event == null ? void 0 : event.stopPropagation();
751
+ suppressClickRef.current = false;
752
+ };
753
+ const updateActiveUnderline = useCallback(() => {
754
+ if (isBarVariant) {
755
+ setActiveUnderlineStyle({
756
+ transform: "translateX(0px)",
757
+ width: 0,
758
+ opacity: 0
759
+ });
760
+ return;
761
+ }
762
+ const activeIndex = renderedItems.findIndex((item) => item.value === value);
763
+ const activeButton = activeIndex >= 0 ? buttonRefs.current[activeIndex] : null;
764
+ if (!activeButton || !tabListRef.current) {
765
+ setActiveUnderlineStyle((currentStyle) => __spreadProps(__spreadValues({}, currentStyle), {
766
+ opacity: 0
767
+ }));
768
+ return;
769
+ }
770
+ setActiveUnderlineStyle({
771
+ transform: `translateX(${activeButton.offsetLeft}px)`,
772
+ width: activeButton.offsetWidth,
773
+ opacity: 1
774
+ });
775
+ }, [isBarVariant, renderedItems, value]);
776
+ useLayoutEffect(() => {
777
+ updateActiveUnderline();
778
+ }, [updateActiveUnderline]);
779
+ useEffect(() => {
780
+ if (isBarVariant || !shouldUseOverflowScroll)
781
+ return;
782
+ const tabListElement = tabListRef.current;
783
+ if (!tabListElement)
784
+ return;
785
+ const handleScroll = () => {
786
+ updateActiveUnderline();
787
+ updateScrollAffordances();
788
+ };
789
+ tabListElement.addEventListener("scroll", handleScroll, { passive: true });
790
+ updateScrollAffordances();
791
+ return () => {
792
+ tabListElement.removeEventListener("scroll", handleScroll);
793
+ };
794
+ }, [isBarVariant, shouldUseOverflowScroll, updateActiveUnderline, updateScrollAffordances]);
795
+ useEffect(() => {
796
+ if (!shouldUseOverflowScroll)
797
+ return;
798
+ updateScrollAffordances();
799
+ }, [renderedItems, shouldUseOverflowScroll, updateScrollAffordances, value]);
800
+ useEffect(() => {
801
+ if (isBarVariant && !shouldUseOverflowScroll)
802
+ return;
803
+ if (typeof ResizeObserver === "undefined")
804
+ return;
805
+ const tabListElement = tabListRef.current;
806
+ if (!tabListElement)
807
+ return;
808
+ const resizeObserver = new ResizeObserver(() => {
809
+ updateActiveUnderline();
810
+ updateScrollAffordances();
811
+ });
812
+ resizeObserver.observe(tabListElement);
813
+ return () => {
814
+ resizeObserver.disconnect();
815
+ };
816
+ }, [isBarVariant, shouldUseOverflowScroll, updateActiveUnderline, updateScrollAffordances]);
817
+ useEffect(() => {
818
+ if (!shouldUseOverflowScroll)
819
+ return;
820
+ const tabListElement = tabListRef.current;
821
+ if (!tabListElement)
822
+ return;
823
+ const activeIndex = renderedItems.findIndex((item) => item.value === value);
824
+ const activeButton = activeIndex >= 0 ? buttonRefs.current[activeIndex] : null;
825
+ if (!activeButton)
826
+ return;
827
+ if (tabListElement.scrollWidth - tabListElement.clientWidth <= 1)
828
+ return;
829
+ const currentScrollLeft = tabListElement.scrollLeft;
830
+ const currentScrollRight = currentScrollLeft + tabListElement.clientWidth;
831
+ const activeButtonLeft = activeButton.offsetLeft;
832
+ const activeButtonRight = activeButtonLeft + activeButton.offsetWidth;
833
+ let nextScrollLeft = currentScrollLeft;
834
+ if (activeButtonLeft < currentScrollLeft) {
835
+ nextScrollLeft = activeButtonLeft;
836
+ } else if (activeButtonRight > currentScrollRight) {
837
+ nextScrollLeft = activeButtonRight - tabListElement.clientWidth;
838
+ }
839
+ if (Math.abs(nextScrollLeft - currentScrollLeft) < 1)
840
+ return;
841
+ tabListElement.scrollTo({
842
+ left: Math.max(0, nextScrollLeft),
843
+ behavior: getScrollBehavior(enableAnimations)
844
+ });
845
+ }, [enableAnimations, renderedItems, shouldUseOverflowScroll, value]);
846
+ if (shouldUseOverflowSelect) {
847
+ return /* @__PURE__ */ jsx10("div", { className: cn("w-full", className, classNames == null ? void 0 : classNames.root), children: /* @__PURE__ */ jsx10(
848
+ Select,
849
+ {
850
+ ariaLabel,
851
+ className: "w-full",
852
+ disabled: isSelectDisabled,
853
+ items: selectItems,
854
+ onChange: handleSelect,
855
+ value
856
+ }
857
+ ) });
858
+ }
859
+ return /* @__PURE__ */ jsxs7(
860
+ "div",
861
+ {
862
+ className: cn(
863
+ "group/agg-tabs",
864
+ "relative max-w-full items-stretch font-agg-sans bg-agg-secondary",
865
+ "inline-flex",
866
+ className,
867
+ classNames == null ? void 0 : classNames.root
868
+ ),
869
+ children: [
870
+ /* @__PURE__ */ jsxs7(
871
+ "div",
872
+ {
873
+ ref: tabListRef,
874
+ role: "tablist",
875
+ "aria-label": resolvedAriaLabel,
876
+ className: cn("relative", tabListClassName, classNames == null ? void 0 : classNames.tabList),
877
+ onClickCapture: handleTabListClickCapture,
878
+ onPointerCancel: handleEndTabListDrag,
879
+ onPointerDown: handleTabListPointerDown,
880
+ onPointerMove: handleTabListPointerMove,
881
+ onPointerUp: handleEndTabListDrag,
882
+ onWheel: handleTabListWheel,
883
+ children: [
884
+ renderedItems.map((item, index) => {
885
+ const isActive = item.value === value;
886
+ return /* @__PURE__ */ jsxs7(
887
+ "button",
888
+ {
889
+ ref: (buttonElement) => {
890
+ buttonRefs.current[index] = buttonElement;
891
+ },
892
+ type: "button",
893
+ role: "tab",
894
+ tabIndex: isActive ? 0 : -1,
895
+ "aria-selected": isActive,
896
+ "aria-label": item.label,
897
+ disabled: item.disabled,
898
+ onClick: (e) => {
899
+ e.preventDefault();
900
+ e.stopPropagation();
901
+ handleSelect(item.value);
902
+ },
903
+ onKeyDown: (event) => handleKeyDown(event, index),
904
+ className: cn(
905
+ getTabButtonClassName({
906
+ enableAnimations,
907
+ isBarVariant,
908
+ isActive,
909
+ isDisabled: !!item.disabled,
910
+ size
911
+ }),
912
+ shouldUseOverflowScroll && !isBarVariant && "snap-start"
913
+ ),
914
+ children: [
915
+ isBarVariant ? /* @__PURE__ */ jsx10(Fragment2, { children: /* @__PURE__ */ jsx10(
916
+ "span",
917
+ {
918
+ "aria-hidden": true,
919
+ className: cn(
920
+ "pointer-events-none absolute inset-px origin-bottom rounded-[2px] bg-agg-secondary-hover",
921
+ getMotionClassName(
922
+ enableAnimations,
923
+ "transition-[transform,opacity] duration-300 ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none"
924
+ ),
925
+ isActive ? "scale-y-100 opacity-100" : "scale-y-0 opacity-0"
926
+ )
927
+ }
928
+ ) }) : null,
929
+ item.icon ? /* @__PURE__ */ jsx10("span", { className: "relative z-10 inline-flex shrink-0 items-center justify-center", children: item.icon }) : null,
930
+ /* @__PURE__ */ jsx10("span", { className: "relative z-10 truncate whitespace-nowrap [&::first-letter]:uppercase", children: item.label })
931
+ ]
932
+ },
933
+ item.value
934
+ );
935
+ }),
936
+ !isBarVariant ? /* @__PURE__ */ jsx10(
937
+ "span",
938
+ {
939
+ "aria-hidden": true,
940
+ className: cn(
941
+ "pointer-events-none absolute bottom-0 left-0 rounded-t-agg-sm bg-agg-primary",
942
+ getMotionClassName(
943
+ enableAnimations,
944
+ "transition-[transform,width,opacity] duration-300 ease-in-out"
945
+ ),
946
+ "h-[3px]"
947
+ ),
948
+ style: activeUnderlineStyle
949
+ }
950
+ ) : null
951
+ ]
952
+ }
953
+ ),
954
+ shouldUseOverflowScroll && !isBarVariant ? /* @__PURE__ */ jsxs7(Fragment2, { children: [
955
+ /* @__PURE__ */ jsx10(
956
+ "span",
957
+ {
958
+ "aria-hidden": true,
959
+ className: cn(
960
+ "pointer-events-none absolute top-0 bottom-0 left-8 z-10 w-12 md:w-18 bg-linear-to-r from-agg-secondary via-agg-secondary to-transparent",
961
+ getMotionClassName(enableAnimations, "transition-opacity duration-200"),
962
+ scrollAffordanceState.showStart ? "opacity-100" : "opacity-0"
963
+ )
964
+ }
965
+ ),
966
+ /* @__PURE__ */ jsx10(
967
+ "span",
968
+ {
969
+ "aria-hidden": true,
970
+ className: cn(
971
+ "pointer-events-none absolute top-0 right-8 bottom-0 z-10 w-12 md:w-18 bg-linear-to-l from-agg-secondary via-agg-secondary to-transparent",
972
+ getMotionClassName(enableAnimations, "transition-opacity duration-200"),
973
+ scrollAffordanceState.showEnd ? "opacity-100" : "opacity-0"
974
+ )
975
+ }
976
+ )
977
+ ] }) : null
978
+ ]
979
+ }
980
+ );
981
+ };
982
+ Tabs.displayName = "Tabs";
983
+
984
+ export {
985
+ Card,
986
+ baseCardClassName,
987
+ detailsBaseCardClassName,
988
+ eventListItemDetailsTimeRanges,
989
+ lineColorByVenue,
990
+ fallbackLineColors,
991
+ marketDetailsBaseCardClassName,
992
+ getMarketDetailsTabs,
993
+ marketDetailsDefaultIsOpened,
994
+ orderBookRowLimitDefault,
995
+ MarketDetailsOderbookSkeleton,
996
+ skeletonViews,
997
+ Skeleton,
998
+ Tabs
999
+ };