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