@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
@@ -1,156 +0,0 @@
1
- import {
2
- toDate
3
- } from "./chunk-GJ4U5NCE.mjs";
4
-
5
- // src/events/item/event-list-item.utils.ts
6
- var resolveEventListItemEvent = (fetchedEvent) => {
7
- if (!fetchedEvent)
8
- return void 0;
9
- const mergedVenueMarkets = fetchedEvent.markets.flatMap(
10
- (market) => market.venueMarkets
11
- );
12
- if (mergedVenueMarkets.length === 0)
13
- return void 0;
14
- return fetchedEvent;
15
- };
16
- var normalizeProbability = (value) => {
17
- if (typeof value !== "number" || !Number.isFinite(value))
18
- return void 0;
19
- if (value < 0)
20
- return 0;
21
- if (value > 1)
22
- return 1;
23
- return value;
24
- };
25
- var hasDateLabel = (outcome) => {
26
- return !!toDate(outcome.label);
27
- };
28
- var sortOutcomes = (outcomes) => {
29
- if (outcomes.length <= 1)
30
- return outcomes;
31
- const now = Date.now();
32
- if (outcomes.some(hasDateLabel)) {
33
- return [...outcomes].sort((a, b) => {
34
- var _a, _b, _c, _d;
35
- const aDate = (_b = (_a = toDate(a.label)) == null ? void 0 : _a.getTime()) != null ? _b : 0;
36
- const bDate = (_d = (_c = toDate(b.label)) == null ? void 0 : _c.getTime()) != null ? _d : 0;
37
- return Math.abs(aDate - now) - Math.abs(bDate - now);
38
- });
39
- }
40
- return [...outcomes].sort((a, b) => {
41
- var _a, _b;
42
- const aPrice = (_a = normalizeProbability(a.price)) != null ? _a : 0;
43
- const bPrice = (_b = normalizeProbability(b.price)) != null ? _b : 0;
44
- return bPrice - aPrice;
45
- });
46
- };
47
- var compareVisibleOutcomeRows = (left, right) => {
48
- var _a, _b;
49
- const leftDate = toDate(resolveOutcomeTitle(left.outcome));
50
- const rightDate = toDate(resolveOutcomeTitle(right.outcome));
51
- if (leftDate && rightDate) {
52
- return leftDate.getTime() - rightDate.getTime();
53
- }
54
- const leftProbability = (_a = normalizeProbability(left.outcome.price)) != null ? _a : -1;
55
- const rightProbability = (_b = normalizeProbability(right.outcome.price)) != null ? _b : -1;
56
- return rightProbability - leftProbability;
57
- };
58
- var shouldReplaceVisibleOutcome = (current, next) => {
59
- var _a, _b;
60
- const currentVolume = typeof current.market.volume === "number" ? current.market.volume : -1;
61
- const nextVolume = typeof next.market.volume === "number" ? next.market.volume : -1;
62
- if (currentVolume !== nextVolume) {
63
- return nextVolume > currentVolume;
64
- }
65
- const currentProbability = (_a = normalizeProbability(current.outcome.price)) != null ? _a : -1;
66
- const nextProbability = (_b = normalizeProbability(next.outcome.price)) != null ? _b : -1;
67
- return nextProbability > currentProbability;
68
- };
69
- var resolveVisibleOutcomes = (venueMarkets, maxOutcomes) => {
70
- const visibleOutcomesByLabel = /* @__PURE__ */ new Map();
71
- venueMarkets.forEach((market) => {
72
- sortOutcomes(market.venueMarketOutcomes).forEach((outcome) => {
73
- const title = resolveOutcomeTitle(outcome);
74
- const normalizedTitle = title.trim().toLowerCase();
75
- const nextVisibleOutcome = {
76
- venue: market.venue,
77
- market,
78
- outcome,
79
- title
80
- };
81
- const currentVisibleOutcome = visibleOutcomesByLabel.get(normalizedTitle);
82
- if (!currentVisibleOutcome || shouldReplaceVisibleOutcome(currentVisibleOutcome, nextVisibleOutcome)) {
83
- visibleOutcomesByLabel.set(normalizedTitle, nextVisibleOutcome);
84
- }
85
- });
86
- });
87
- return [...visibleOutcomesByLabel.values()].sort(compareVisibleOutcomeRows).slice(0, Math.max(1, maxOutcomes));
88
- };
89
- var resolveOutcomeTitle = (outcome) => {
90
- if (outcome.title && outcome.title.trim())
91
- return outcome.title;
92
- return outcome.label;
93
- };
94
- var selectPrimaryVenueMarket = (venueMarkets) => {
95
- if (venueMarkets.length === 0)
96
- return void 0;
97
- if (venueMarkets.length === 1)
98
- return venueMarkets[0];
99
- return [...venueMarkets].sort((a, b) => {
100
- const aVolume = typeof a.volume === "number" ? a.volume : -1;
101
- const bVolume = typeof b.volume === "number" ? b.volume : -1;
102
- return bVolume - aVolume;
103
- })[0];
104
- };
105
- var resolveTileTitle = (event, primaryVenueMarket, titleOverride) => {
106
- if (typeof titleOverride === "string" && titleOverride.trim()) {
107
- return titleOverride;
108
- }
109
- if (typeof (primaryVenueMarket == null ? void 0 : primaryVenueMarket.question) === "string" && primaryVenueMarket.question.trim()) {
110
- return primaryVenueMarket.question;
111
- }
112
- return event.title;
113
- };
114
- var resolveTileImage = (event, primaryVenueMarket, imageOverride) => {
115
- if (typeof imageOverride === "string" && imageOverride.trim()) {
116
- return imageOverride;
117
- }
118
- if (typeof (primaryVenueMarket == null ? void 0 : primaryVenueMarket.image) === "string" && primaryVenueMarket.image.trim()) {
119
- return primaryVenueMarket.image;
120
- }
121
- if (typeof event.image === "string" && event.image.trim()) {
122
- return event.image;
123
- }
124
- return void 0;
125
- };
126
- var formatCountLabel = (count, singular, plural) => {
127
- return `${count} ${count === 1 ? singular : plural}`;
128
- };
129
- var getVenueSummary = (venueMarkets) => {
130
- const uniqueVenues = Array.from(new Set(venueMarkets.map((market) => market.venue)));
131
- return {
132
- marketCount: venueMarkets.length,
133
- venueCount: uniqueVenues.length,
134
- singleVenue: uniqueVenues.length === 1 ? uniqueVenues[0] : void 0
135
- };
136
- };
137
- var resolveVenueLabel = (venue, venueInfo, labels) => {
138
- var _a, _b;
139
- if (!venue)
140
- return labels.eventItem.venueSingular;
141
- return (_b = (_a = venueInfo == null ? void 0 : venueInfo[venue]) == null ? void 0 : _a.label) != null ? _b : labels.venues[venue];
142
- };
143
-
144
- export {
145
- resolveEventListItemEvent,
146
- normalizeProbability,
147
- sortOutcomes,
148
- resolveVisibleOutcomes,
149
- resolveOutcomeTitle,
150
- selectPrimaryVenueMarket,
151
- resolveTileTitle,
152
- resolveTileImage,
153
- formatCountLabel,
154
- getVenueSummary,
155
- resolveVenueLabel
156
- };
@@ -1,537 +0,0 @@
1
- import {
2
- Select
3
- } from "./chunk-YJA5VQW6.mjs";
4
- import {
5
- __spreadProps,
6
- __spreadValues,
7
- cn,
8
- getMotionClassName,
9
- getScrollBehavior
10
- } from "./chunk-GJ4U5NCE.mjs";
11
-
12
- // src/primitives/tabs/index.tsx
13
- import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
14
- import { useLabels, useSdkUiConfig } from "@agg-market/hooks";
15
-
16
- // src/primitives/tabs/tabs.utils.ts
17
- var findNextEnabledIndex = (items, startIndex, direction) => {
18
- var _a;
19
- if (items.length === 0)
20
- return -1;
21
- for (let step = 1; step <= items.length; step += 1) {
22
- const nextIndex = (startIndex + direction * step + items.length) % items.length;
23
- if (!((_a = items[nextIndex]) == null ? void 0 : _a.disabled))
24
- return nextIndex;
25
- }
26
- return -1;
27
- };
28
- var findEdgeEnabledIndex = (items, direction) => {
29
- var _a;
30
- if (direction === 1) {
31
- return items.findIndex((item) => !item.disabled);
32
- }
33
- for (let index = items.length - 1; index >= 0; index -= 1) {
34
- if (!((_a = items[index]) == null ? void 0 : _a.disabled))
35
- return index;
36
- }
37
- return -1;
38
- };
39
-
40
- // src/primitives/tabs/index.tsx
41
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
42
- var mobileTabsMediaQuery = "(max-width: 512px)";
43
- var getTabButtonClassName = ({
44
- enableAnimations,
45
- isBarVariant,
46
- isActive,
47
- isDisabled,
48
- size
49
- }) => {
50
- const isSmall = size === "s";
51
- return cn(
52
- "cursor-pointer disabled:cursor-not-allowed",
53
- "relative inline-flex h-full shrink-0 items-center justify-center gap-2 font-agg-sans",
54
- isBarVariant ? "hover:text-agg-foreground hover:bg-agg-secondary-hover" : "hover:text-agg-foreground hover:font-bold",
55
- getMotionClassName(
56
- enableAnimations,
57
- "transition-[colors] duration-300 ease-in-out motion-reduce:transition-none"
58
- ),
59
- isBarVariant ? cn(
60
- "min-w-20 overflow-hidden border-r border-agg-separator last:border-r-0",
61
- isSmall ? "px-3 text-agg-sm leading-agg-5" : "px-4 text-agg-base leading-agg-6"
62
- ) : cn(isSmall ? "px-4 text-agg-sm leading-agg-5" : "px-5 text-agg-base leading-agg-6"),
63
- isBarVariant && isActive && "font-agg-bold text-agg-primary",
64
- isBarVariant && !isActive && "font-agg-normal text-agg-foreground",
65
- !isBarVariant && isActive && "font-agg-bold text-agg-primary",
66
- !isBarVariant && !isActive && "font-agg-normal text-agg-foreground",
67
- isDisabled && "cursor-not-allowed opacity-60"
68
- );
69
- };
70
- var Tabs = ({
71
- items,
72
- value,
73
- onChange,
74
- variant = "bar",
75
- size = "m",
76
- overflowBehavior,
77
- ariaLabel,
78
- className,
79
- classNames
80
- }) => {
81
- const labels = useLabels();
82
- const { enableAnimations } = useSdkUiConfig();
83
- const buttonRefs = useRef([]);
84
- const dragStateRef = useRef({
85
- isPointerDown: false,
86
- isDragging: false,
87
- pointerId: null,
88
- startClientX: 0,
89
- startClientY: 0,
90
- startScrollLeft: 0
91
- });
92
- const suppressClickRef = useRef(false);
93
- const resolvedAriaLabel = ariaLabel != null ? ariaLabel : labels.common.tabsAria;
94
- const [isMobileViewport, setIsMobileViewport] = useState(false);
95
- const [isDraggingTabs, setIsDraggingTabs] = useState(false);
96
- const [activeUnderlineStyle, setActiveUnderlineStyle] = useState({
97
- transform: "translateX(0px)",
98
- width: 0,
99
- opacity: 0
100
- });
101
- const [scrollAffordanceState, setScrollAffordanceState] = useState({
102
- showStart: false,
103
- showEnd: false
104
- });
105
- const tabListRef = useRef(null);
106
- const isBarVariant = variant === "bar";
107
- const resolvedOverflowBehavior = useMemo(() => {
108
- if (overflowBehavior)
109
- return overflowBehavior;
110
- if (!isBarVariant)
111
- return "scroll";
112
- return isMobileViewport ? "select" : "scroll";
113
- }, [isBarVariant, isMobileViewport, overflowBehavior]);
114
- const shouldUseOverflowScroll = resolvedOverflowBehavior === "scroll";
115
- const shouldUseOverflowSelect = resolvedOverflowBehavior === "select";
116
- useEffect(() => {
117
- if (typeof window === "undefined")
118
- return;
119
- const mediaQueryList = window.matchMedia(mobileTabsMediaQuery);
120
- const handleMediaQueryChange = (event) => {
121
- setIsMobileViewport(event.matches);
122
- };
123
- handleMediaQueryChange(mediaQueryList);
124
- if (typeof mediaQueryList.addEventListener === "function") {
125
- mediaQueryList.addEventListener("change", handleMediaQueryChange);
126
- return () => {
127
- mediaQueryList.removeEventListener("change", handleMediaQueryChange);
128
- };
129
- }
130
- mediaQueryList.addListener(handleMediaQueryChange);
131
- return () => {
132
- mediaQueryList.removeListener(handleMediaQueryChange);
133
- };
134
- }, []);
135
- const updateScrollAffordances = useCallback(() => {
136
- if (!shouldUseOverflowScroll) {
137
- setScrollAffordanceState({
138
- showStart: false,
139
- showEnd: false
140
- });
141
- return;
142
- }
143
- const tabListElement = tabListRef.current;
144
- if (!tabListElement)
145
- return;
146
- const maxScrollLeft = tabListElement.scrollWidth - tabListElement.clientWidth;
147
- setScrollAffordanceState({
148
- showStart: tabListElement.scrollLeft > 4,
149
- showEnd: maxScrollLeft - tabListElement.scrollLeft > 4
150
- });
151
- }, [shouldUseOverflowScroll]);
152
- const renderedItems = items;
153
- const selectItems = useMemo(() => {
154
- return items.map((item) => ({
155
- value: item.value,
156
- label: item.label,
157
- disabled: item.disabled
158
- }));
159
- }, [items]);
160
- const isSelectDisabled = !items.some((item) => !item.disabled);
161
- const handleSelect = (nextValue) => {
162
- if (nextValue === value)
163
- return;
164
- onChange(nextValue);
165
- };
166
- const handleMoveFocus = (index) => {
167
- var _a;
168
- if (index < 0)
169
- return;
170
- const nextItem = renderedItems[index];
171
- if (!nextItem)
172
- return;
173
- handleSelect(nextItem.value);
174
- (_a = buttonRefs.current[index]) == null ? void 0 : _a.focus();
175
- };
176
- const handleKeyDown = (event, index) => {
177
- switch (event == null ? void 0 : event.key) {
178
- case "ArrowRight": {
179
- event == null ? void 0 : event.preventDefault();
180
- handleMoveFocus(findNextEnabledIndex(renderedItems, index, 1));
181
- return;
182
- }
183
- case "ArrowLeft": {
184
- event == null ? void 0 : event.preventDefault();
185
- handleMoveFocus(findNextEnabledIndex(renderedItems, index, -1));
186
- return;
187
- }
188
- case "Home": {
189
- event == null ? void 0 : event.preventDefault();
190
- handleMoveFocus(findEdgeEnabledIndex(renderedItems, 1));
191
- return;
192
- }
193
- case "End": {
194
- event == null ? void 0 : event.preventDefault();
195
- handleMoveFocus(findEdgeEnabledIndex(renderedItems, -1));
196
- return;
197
- }
198
- default:
199
- return;
200
- }
201
- };
202
- const tabListClassName = cn(
203
- "inline-flex items-stretch bg-agg-secondary",
204
- shouldUseOverflowScroll ? cn(
205
- "overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
206
- getMotionClassName(enableAnimations, "scroll-smooth")
207
- ) : "overflow-x-auto",
208
- isBarVariant ? "h-8 rounded-agg-sm border border-agg-separator" : "h-12 border-b border-agg-separator -mb-[1px]",
209
- shouldUseOverflowScroll && "select-none",
210
- shouldUseOverflowScroll && !isBarVariant && "snap-x snap-mandatory",
211
- shouldUseOverflowScroll && (isDraggingTabs ? "cursor-grabbing" : "cursor-grab")
212
- );
213
- const handleTabListWheel = (event) => {
214
- if (!shouldUseOverflowScroll)
215
- return;
216
- const tabListElement = event.currentTarget;
217
- if (tabListElement.scrollWidth <= tabListElement.clientWidth)
218
- return;
219
- if (Math.abs(event.deltaX) > Math.abs(event.deltaY))
220
- return;
221
- event.preventDefault();
222
- tabListElement.scrollLeft += event.deltaY;
223
- };
224
- const handleTabListPointerDown = (event) => {
225
- if (!shouldUseOverflowScroll)
226
- return;
227
- if (event.pointerType !== "mouse")
228
- return;
229
- if (event.button !== 0)
230
- return;
231
- const tabListElement = tabListRef.current;
232
- if (!tabListElement)
233
- return;
234
- if (tabListElement.scrollWidth <= tabListElement.clientWidth)
235
- return;
236
- dragStateRef.current = {
237
- isPointerDown: true,
238
- isDragging: false,
239
- pointerId: event.pointerId,
240
- startClientX: event.clientX,
241
- startClientY: event.clientY,
242
- startScrollLeft: tabListElement.scrollLeft
243
- };
244
- };
245
- const handleTabListPointerMove = (event) => {
246
- if (!shouldUseOverflowScroll)
247
- return;
248
- const dragState = dragStateRef.current;
249
- const tabListElement = tabListRef.current;
250
- if (!dragState.isPointerDown)
251
- return;
252
- if (dragState.pointerId !== event.pointerId)
253
- return;
254
- if (!tabListElement)
255
- return;
256
- const deltaX = event.clientX - dragState.startClientX;
257
- const deltaY = event.clientY - dragState.startClientY;
258
- const horizontalDistance = Math.abs(deltaX);
259
- const verticalDistance = Math.abs(deltaY);
260
- const hasExceededDragThreshold = horizontalDistance > 10 && horizontalDistance > verticalDistance;
261
- if (hasExceededDragThreshold && !dragState.isDragging) {
262
- dragState.isDragging = true;
263
- setIsDraggingTabs(true);
264
- tabListElement.setPointerCapture(event.pointerId);
265
- }
266
- if (!dragState.isDragging)
267
- return;
268
- event.preventDefault();
269
- tabListElement.scrollLeft = dragState.startScrollLeft - deltaX;
270
- };
271
- const handleEndTabListDrag = (event) => {
272
- const dragState = dragStateRef.current;
273
- const tabListElement = tabListRef.current;
274
- if (!dragState.isPointerDown)
275
- return;
276
- if (dragState.pointerId !== event.pointerId)
277
- return;
278
- if (tabListElement == null ? void 0 : tabListElement.hasPointerCapture(event.pointerId)) {
279
- tabListElement.releasePointerCapture(event.pointerId);
280
- }
281
- if (dragState.isDragging) {
282
- suppressClickRef.current = true;
283
- window.setTimeout(() => {
284
- suppressClickRef.current = false;
285
- }, 0);
286
- }
287
- dragStateRef.current = {
288
- isPointerDown: false,
289
- isDragging: false,
290
- pointerId: null,
291
- startClientX: 0,
292
- startClientY: 0,
293
- startScrollLeft: 0
294
- };
295
- setIsDraggingTabs(false);
296
- };
297
- const handleTabListClickCapture = (event) => {
298
- if (!suppressClickRef.current)
299
- return;
300
- event == null ? void 0 : event.preventDefault();
301
- event == null ? void 0 : event.stopPropagation();
302
- suppressClickRef.current = false;
303
- };
304
- const updateActiveUnderline = useCallback(() => {
305
- if (isBarVariant) {
306
- setActiveUnderlineStyle({
307
- transform: "translateX(0px)",
308
- width: 0,
309
- opacity: 0
310
- });
311
- return;
312
- }
313
- const activeIndex = renderedItems.findIndex((item) => item.value === value);
314
- const activeButton = activeIndex >= 0 ? buttonRefs.current[activeIndex] : null;
315
- if (!activeButton || !tabListRef.current) {
316
- setActiveUnderlineStyle((currentStyle) => __spreadProps(__spreadValues({}, currentStyle), {
317
- opacity: 0
318
- }));
319
- return;
320
- }
321
- setActiveUnderlineStyle({
322
- transform: `translateX(${activeButton.offsetLeft}px)`,
323
- width: activeButton.offsetWidth,
324
- opacity: 1
325
- });
326
- }, [isBarVariant, renderedItems, value]);
327
- useLayoutEffect(() => {
328
- updateActiveUnderline();
329
- }, [updateActiveUnderline]);
330
- useEffect(() => {
331
- if (isBarVariant || !shouldUseOverflowScroll)
332
- return;
333
- const tabListElement = tabListRef.current;
334
- if (!tabListElement)
335
- return;
336
- const handleScroll = () => {
337
- updateActiveUnderline();
338
- updateScrollAffordances();
339
- };
340
- tabListElement.addEventListener("scroll", handleScroll, { passive: true });
341
- updateScrollAffordances();
342
- return () => {
343
- tabListElement.removeEventListener("scroll", handleScroll);
344
- };
345
- }, [isBarVariant, shouldUseOverflowScroll, updateActiveUnderline, updateScrollAffordances]);
346
- useEffect(() => {
347
- if (!shouldUseOverflowScroll)
348
- return;
349
- updateScrollAffordances();
350
- }, [renderedItems, shouldUseOverflowScroll, updateScrollAffordances, value]);
351
- useEffect(() => {
352
- if (isBarVariant && !shouldUseOverflowScroll)
353
- return;
354
- if (typeof ResizeObserver === "undefined")
355
- return;
356
- const tabListElement = tabListRef.current;
357
- if (!tabListElement)
358
- return;
359
- const resizeObserver = new ResizeObserver(() => {
360
- updateActiveUnderline();
361
- updateScrollAffordances();
362
- });
363
- resizeObserver.observe(tabListElement);
364
- return () => {
365
- resizeObserver.disconnect();
366
- };
367
- }, [isBarVariant, shouldUseOverflowScroll, updateActiveUnderline, updateScrollAffordances]);
368
- useEffect(() => {
369
- if (!shouldUseOverflowScroll)
370
- return;
371
- const tabListElement = tabListRef.current;
372
- if (!tabListElement)
373
- return;
374
- const activeIndex = renderedItems.findIndex((item) => item.value === value);
375
- const activeButton = activeIndex >= 0 ? buttonRefs.current[activeIndex] : null;
376
- if (!activeButton)
377
- return;
378
- if (tabListElement.scrollWidth - tabListElement.clientWidth <= 1)
379
- return;
380
- const currentScrollLeft = tabListElement.scrollLeft;
381
- const currentScrollRight = currentScrollLeft + tabListElement.clientWidth;
382
- const activeButtonLeft = activeButton.offsetLeft;
383
- const activeButtonRight = activeButtonLeft + activeButton.offsetWidth;
384
- let nextScrollLeft = currentScrollLeft;
385
- if (activeButtonLeft < currentScrollLeft) {
386
- nextScrollLeft = activeButtonLeft;
387
- } else if (activeButtonRight > currentScrollRight) {
388
- nextScrollLeft = activeButtonRight - tabListElement.clientWidth;
389
- }
390
- if (Math.abs(nextScrollLeft - currentScrollLeft) < 1)
391
- return;
392
- tabListElement.scrollTo({
393
- left: Math.max(0, nextScrollLeft),
394
- behavior: getScrollBehavior(enableAnimations)
395
- });
396
- }, [enableAnimations, renderedItems, shouldUseOverflowScroll, value]);
397
- if (shouldUseOverflowSelect) {
398
- return /* @__PURE__ */ jsx("div", { className: cn("w-full", className, classNames == null ? void 0 : classNames.root), children: /* @__PURE__ */ jsx(
399
- Select,
400
- {
401
- ariaLabel,
402
- className: "w-full",
403
- disabled: isSelectDisabled,
404
- items: selectItems,
405
- onChange: handleSelect,
406
- value
407
- }
408
- ) });
409
- }
410
- return /* @__PURE__ */ jsxs(
411
- "div",
412
- {
413
- className: cn(
414
- "group/agg-tabs",
415
- "relative max-w-full items-stretch font-agg-sans bg-agg-secondary",
416
- "inline-flex",
417
- className,
418
- classNames == null ? void 0 : classNames.root
419
- ),
420
- children: [
421
- /* @__PURE__ */ jsxs(
422
- "div",
423
- {
424
- ref: tabListRef,
425
- role: "tablist",
426
- "aria-label": resolvedAriaLabel,
427
- className: cn("relative", tabListClassName, classNames == null ? void 0 : classNames.tabList),
428
- onClickCapture: handleTabListClickCapture,
429
- onPointerCancel: handleEndTabListDrag,
430
- onPointerDown: handleTabListPointerDown,
431
- onPointerMove: handleTabListPointerMove,
432
- onPointerUp: handleEndTabListDrag,
433
- onWheel: handleTabListWheel,
434
- children: [
435
- renderedItems.map((item, index) => {
436
- const isActive = item.value === value;
437
- return /* @__PURE__ */ jsxs(
438
- "button",
439
- {
440
- ref: (buttonElement) => {
441
- buttonRefs.current[index] = buttonElement;
442
- },
443
- type: "button",
444
- role: "tab",
445
- tabIndex: isActive ? 0 : -1,
446
- "aria-selected": isActive,
447
- "aria-label": item.label,
448
- disabled: item.disabled,
449
- onClick: (e) => {
450
- e.preventDefault();
451
- e.stopPropagation();
452
- handleSelect(item.value);
453
- },
454
- onKeyDown: (event) => handleKeyDown(event, index),
455
- className: cn(
456
- getTabButtonClassName({
457
- enableAnimations,
458
- isBarVariant,
459
- isActive,
460
- isDisabled: !!item.disabled,
461
- size
462
- }),
463
- shouldUseOverflowScroll && !isBarVariant && "snap-start"
464
- ),
465
- children: [
466
- isBarVariant ? /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
467
- "span",
468
- {
469
- "aria-hidden": true,
470
- className: cn(
471
- "pointer-events-none absolute inset-px origin-bottom rounded-[2px] bg-agg-secondary-hover",
472
- getMotionClassName(
473
- enableAnimations,
474
- "transition-[transform,opacity] duration-300 ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none"
475
- ),
476
- isActive ? "scale-y-100 opacity-100" : "scale-y-0 opacity-0"
477
- )
478
- }
479
- ) }) : null,
480
- item.icon ? /* @__PURE__ */ jsx("span", { className: "relative z-10 inline-flex shrink-0 items-center justify-center", children: item.icon }) : null,
481
- /* @__PURE__ */ jsx("span", { className: "relative z-10 truncate whitespace-nowrap [&::first-letter]:uppercase", children: item.label })
482
- ]
483
- },
484
- item.value
485
- );
486
- }),
487
- !isBarVariant ? /* @__PURE__ */ jsx(
488
- "span",
489
- {
490
- "aria-hidden": true,
491
- className: cn(
492
- "pointer-events-none absolute bottom-0 left-0 rounded-t-agg-sm bg-agg-primary",
493
- getMotionClassName(
494
- enableAnimations,
495
- "transition-[transform,width,opacity] duration-300 ease-in-out"
496
- ),
497
- "h-[3px]"
498
- ),
499
- style: activeUnderlineStyle
500
- }
501
- ) : null
502
- ]
503
- }
504
- ),
505
- shouldUseOverflowScroll && !isBarVariant ? /* @__PURE__ */ jsxs(Fragment, { children: [
506
- /* @__PURE__ */ jsx(
507
- "span",
508
- {
509
- "aria-hidden": true,
510
- className: cn(
511
- "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",
512
- getMotionClassName(enableAnimations, "transition-opacity duration-200"),
513
- scrollAffordanceState.showStart ? "opacity-100" : "opacity-0"
514
- )
515
- }
516
- ),
517
- /* @__PURE__ */ jsx(
518
- "span",
519
- {
520
- "aria-hidden": true,
521
- className: cn(
522
- "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",
523
- getMotionClassName(enableAnimations, "transition-opacity duration-200"),
524
- scrollAffordanceState.showEnd ? "opacity-100" : "opacity-0"
525
- )
526
- }
527
- )
528
- ] }) : null
529
- ]
530
- }
531
- );
532
- };
533
- Tabs.displayName = "Tabs";
534
-
535
- export {
536
- Tabs
537
- };