@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,730 @@
1
+ import {
2
+ InlineAlert
3
+ } from "./chunk-OAJBTVZT.mjs";
4
+ import {
5
+ Card,
6
+ Skeleton,
7
+ Tabs,
8
+ skeletonViews
9
+ } from "./chunk-EERL6BZF.mjs";
10
+ import {
11
+ Button,
12
+ Icon,
13
+ VenueLogo,
14
+ __spreadProps,
15
+ __spreadValues,
16
+ cn,
17
+ formatUsd,
18
+ getMotionClassName
19
+ } from "./chunk-MUB7NYWZ.mjs";
20
+
21
+ // src/trading/utils.ts
22
+ import { resolveAggUiLabels } from "@agg-market/hooks";
23
+ import dayjs from "dayjs";
24
+ var defaultLabels = resolveAggUiLabels("en-US");
25
+ var defaultSettlementSectionLabel = defaultLabels.trading.settlementSection;
26
+ var defaultSettlementDifferencesTitle = defaultLabels.trading.settlementDifferencesTitle;
27
+ var defaultTradingDisclaimer = defaultLabels.trading.disclaimer;
28
+ var getTradingDateLabel = (value) => {
29
+ const parsedValue = dayjs(value);
30
+ if (!parsedValue.isValid()) {
31
+ return typeof value === "string" ? value : "";
32
+ }
33
+ return parsedValue.format("MMM D, YYYY");
34
+ };
35
+ var getTradingVenueLabel = (venue, label) => {
36
+ if (label)
37
+ return label;
38
+ return defaultLabels.venues[venue];
39
+ };
40
+ var getTradingValueLabel = ({
41
+ amount,
42
+ minimumFractionDigits = 0,
43
+ maximumFractionDigits = 2
44
+ }) => {
45
+ return amount.toLocaleString("en-US", {
46
+ style: "currency",
47
+ currency: "USD",
48
+ minimumFractionDigits,
49
+ maximumFractionDigits
50
+ });
51
+ };
52
+ var getTradingPriceLabel = (value) => {
53
+ return `${Math.round(value * 100)}\xA2`;
54
+ };
55
+ var getTradingAveragePriceLabel = (value) => {
56
+ return defaultLabels.trading.averagePrice(value);
57
+ };
58
+ var getTradingBalanceLabel = (value) => {
59
+ return defaultLabels.trading.balance(formatUsd(value));
60
+ };
61
+ var getTradingSharesLabel = (value) => {
62
+ return defaultLabels.trading.shares(value);
63
+ };
64
+ var getTradingSlippageLabel = (value) => {
65
+ return defaultLabels.trading.slippage(value);
66
+ };
67
+
68
+ // src/trading/place-order/index.tsx
69
+ import { useEffect, useMemo, useState } from "react";
70
+ import { useLabels, useSdkUiConfig } from "@agg-market/hooks";
71
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
72
+ var getPlaceOrderContainerClassName = () => {
73
+ return "overflow-hidden rounded-agg-xl border border-agg-border bg-agg-secondary shadow-none hover:shadow-none";
74
+ };
75
+ var getRoutingCardClassName = (isHighlighted) => {
76
+ if (!isHighlighted) {
77
+ return "border-agg-border bg-agg-secondary";
78
+ }
79
+ return "border-agg-trade-highlight-border bg-agg-trade-highlight-surface";
80
+ };
81
+ var getResultValueClassName = (tone) => {
82
+ if (tone === "default")
83
+ return "text-agg-foreground";
84
+ return "text-agg-success";
85
+ };
86
+ var negativeOutcomePattern = /\b(no|down|against|under|lose|false)\b/i;
87
+ var resolveIsPositiveOutcome = (outcome, index) => {
88
+ const outcomeText = `${outcome.id} ${outcome.label}`;
89
+ if (negativeOutcomePattern.test(outcomeText))
90
+ return false;
91
+ if (index === 1)
92
+ return false;
93
+ return true;
94
+ };
95
+ var getOutcomeButtonClassName = ({
96
+ enableAnimations,
97
+ isActive,
98
+ isPositive
99
+ }) => {
100
+ return cn(
101
+ "flex-1 cursor-pointer rounded-agg-full border px-6 py-2.5 text-agg-base leading-agg-6",
102
+ getMotionClassName(enableAnimations, "transition-all duration-300 ease-in-out"),
103
+ isActive ? isPositive ? "border-transparent bg-[#18c15c] font-agg-bold text-agg-on-primary" : "border-transparent bg-[#e5455f] font-agg-bold text-agg-on-primary" : "border-transparent bg-agg-secondary-hover font-agg-normal text-agg-foreground hover:bg-agg-tertiary"
104
+ );
105
+ };
106
+ var getStatusContent = ({
107
+ placement,
108
+ status,
109
+ onStatusAction
110
+ }) => {
111
+ if (!status || status.placement !== placement)
112
+ return null;
113
+ if (status.tone === "warning") {
114
+ return /* @__PURE__ */ jsx(InlineAlert, { tone: "warning", message: status.message });
115
+ }
116
+ return /* @__PURE__ */ jsx(
117
+ InlineAlert,
118
+ {
119
+ tone: "error",
120
+ message: status.message,
121
+ actionLabel: status.actionLabel,
122
+ onAction: status.actionLabel ? onStatusAction : void 0
123
+ }
124
+ );
125
+ };
126
+ var PlaceOrder = ({
127
+ title,
128
+ marketDate,
129
+ marketImageUrl,
130
+ activeTab,
131
+ buyLabel,
132
+ sellLabel,
133
+ outcomes,
134
+ selectedOutcomeId,
135
+ primaryMetric,
136
+ routing,
137
+ result,
138
+ actionLabel,
139
+ disclaimer = defaultTradingDisclaimer,
140
+ isDismissible = false,
141
+ isLoading = false,
142
+ status,
143
+ className,
144
+ isPrimaryActionDisabled = false,
145
+ isPrimaryActionLoading = false,
146
+ onClose,
147
+ onOutcomeChange,
148
+ onPrimaryAction,
149
+ onStatusAction,
150
+ onTabChange
151
+ }) => {
152
+ const { enableAnimations } = useSdkUiConfig();
153
+ const labels = useLabels();
154
+ const resolvedDisclaimer = disclaimer === defaultTradingDisclaimer ? labels.trading.disclaimer : disclaimer;
155
+ if (isLoading) {
156
+ return /* @__PURE__ */ jsx(
157
+ Skeleton,
158
+ {
159
+ ariaLabel: labels.common.loading,
160
+ className,
161
+ view: skeletonViews.placeOrder
162
+ }
163
+ );
164
+ }
165
+ const [internalTab, setInternalTab] = useState(activeTab);
166
+ const [internalOutcomeId, setInternalOutcomeId] = useState(selectedOutcomeId);
167
+ useEffect(() => {
168
+ setInternalTab(activeTab);
169
+ }, [activeTab]);
170
+ useEffect(() => {
171
+ setInternalOutcomeId(selectedOutcomeId);
172
+ }, [selectedOutcomeId]);
173
+ const resolvedTab = onTabChange ? activeTab : internalTab;
174
+ const resolvedOutcomeId = onOutcomeChange ? selectedOutcomeId : internalOutcomeId;
175
+ const hasHighlightedRouting = routing.tone === "highlighted";
176
+ const dateLabel = getTradingDateLabel(marketDate);
177
+ const tabItems = useMemo(() => {
178
+ return [
179
+ { value: "buy", label: buyLabel },
180
+ { value: "sell", label: sellLabel }
181
+ ];
182
+ }, [buyLabel, sellLabel]);
183
+ const handleTabChange = (nextTab) => {
184
+ if (!onTabChange) {
185
+ setInternalTab(nextTab);
186
+ }
187
+ onTabChange == null ? void 0 : onTabChange(nextTab);
188
+ };
189
+ const handleOutcomeChange = (nextOutcomeId) => {
190
+ if (!onOutcomeChange) {
191
+ setInternalOutcomeId(nextOutcomeId);
192
+ }
193
+ onOutcomeChange == null ? void 0 : onOutcomeChange(nextOutcomeId);
194
+ };
195
+ const actionButton = /* @__PURE__ */ jsx(
196
+ Button,
197
+ {
198
+ size: "large",
199
+ className: "w-full",
200
+ disabled: isPrimaryActionDisabled,
201
+ isLoading: isPrimaryActionLoading,
202
+ "aria-label": actionLabel,
203
+ onClick: onPrimaryAction,
204
+ children: actionLabel
205
+ }
206
+ );
207
+ const contentBody = /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6 p-5", children: [
208
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
209
+ /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-5", children: [
210
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-3", children: [
211
+ marketImageUrl ? /* @__PURE__ */ jsx(
212
+ "img",
213
+ {
214
+ src: marketImageUrl,
215
+ alt: "",
216
+ className: "h-12 w-12 shrink-0 rounded-agg-lg object-cover"
217
+ }
218
+ ) : null,
219
+ /* @__PURE__ */ jsx("p", { className: "min-w-0 text-agg-base font-agg-bold leading-agg-6 text-agg-foreground", children: title })
220
+ ] }),
221
+ isDismissible ? /* @__PURE__ */ jsx(
222
+ "button",
223
+ {
224
+ type: "button",
225
+ "aria-label": labels.common.close,
226
+ className: "shrink-0 text-agg-foreground",
227
+ onClick: onClose,
228
+ children: /* @__PURE__ */ jsx(
229
+ Icon,
230
+ {
231
+ name: "close",
232
+ size: "medium",
233
+ className: "h-6 w-6 text-agg-foreground",
234
+ color: "currentColor"
235
+ }
236
+ )
237
+ }
238
+ ) : null
239
+ ] }),
240
+ /* @__PURE__ */ jsx("p", { className: "text-agg-base leading-agg-6 text-agg-foreground", children: dateLabel })
241
+ ] }),
242
+ /* @__PURE__ */ jsx(
243
+ Tabs,
244
+ {
245
+ ariaLabel: labels.common.tabsAria,
246
+ items: tabItems,
247
+ value: resolvedTab,
248
+ onChange: handleTabChange,
249
+ variant: "underline",
250
+ size: "s",
251
+ overflowBehavior: "scroll",
252
+ classNames: {
253
+ root: "w-full",
254
+ tabList: "w-full"
255
+ }
256
+ }
257
+ ),
258
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
259
+ /* @__PURE__ */ jsx("div", { className: "flex w-full gap-2", children: outcomes.map((outcome, index) => {
260
+ const isActive = outcome.id === resolvedOutcomeId;
261
+ const isPositive = resolveIsPositiveOutcome(outcome, index);
262
+ return /* @__PURE__ */ jsx(
263
+ "button",
264
+ {
265
+ type: "button",
266
+ className: getOutcomeButtonClassName({
267
+ enableAnimations,
268
+ isActive,
269
+ isPositive
270
+ }),
271
+ "aria-pressed": isActive,
272
+ "aria-label": `${outcome.label} ${outcome.priceLabel}`,
273
+ onClick: () => handleOutcomeChange(outcome.id),
274
+ children: `${outcome.label} ${outcome.priceLabel}`
275
+ },
276
+ outcome.id
277
+ );
278
+ }) }),
279
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4", children: [
280
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
281
+ /* @__PURE__ */ jsx("p", { className: "text-agg-base font-agg-bold leading-agg-6 text-agg-foreground", children: primaryMetric.label }),
282
+ /* @__PURE__ */ jsx("p", { className: "text-agg-sm leading-agg-5 text-agg-muted-foreground", children: primaryMetric.hint })
283
+ ] }),
284
+ /* @__PURE__ */ jsx("p", { className: "text-agg-3xl font-agg-bold leading-agg-9 text-agg-foreground", children: primaryMetric.value })
285
+ ] })
286
+ ] }),
287
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
288
+ /* @__PURE__ */ jsxs(
289
+ "div",
290
+ {
291
+ className: cn(
292
+ "relative overflow-hidden rounded-agg-lg border p-3",
293
+ getRoutingCardClassName(hasHighlightedRouting)
294
+ ),
295
+ children: [
296
+ /* @__PURE__ */ jsx(
297
+ "div",
298
+ {
299
+ className: cn(
300
+ "pointer-events-none absolute inset-x-0 bottom-0 h-11 bg-linear-to-b from-transparent to-agg-trade-highlight-glow",
301
+ hasHighlightedRouting ? "opacity-100" : "opacity-0"
302
+ )
303
+ }
304
+ ),
305
+ /* @__PURE__ */ jsxs("div", { className: "relative flex flex-col gap-3", children: [
306
+ routing.rows.map((row, index) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
307
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4", children: [
308
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
309
+ /* @__PURE__ */ jsx(
310
+ VenueLogo,
311
+ {
312
+ venue: row.venue,
313
+ size: "small",
314
+ ariaLabel: getTradingVenueLabel(row.venue)
315
+ }
316
+ ),
317
+ /* @__PURE__ */ jsx("p", { className: "truncate text-agg-base leading-agg-6 text-agg-foreground", children: row.label })
318
+ ] }),
319
+ /* @__PURE__ */ jsx("p", { className: "shrink-0 text-agg-base leading-agg-6 text-agg-foreground", children: row.priceLabel })
320
+ ] }),
321
+ index < routing.rows.length - 1 ? /* @__PURE__ */ jsx(
322
+ "div",
323
+ {
324
+ className: cn(
325
+ "h-px w-full",
326
+ hasHighlightedRouting ? "bg-agg-trade-highlight-border" : "bg-agg-separator"
327
+ )
328
+ }
329
+ ) : null
330
+ ] }, `${row.venue}-${row.label}`)),
331
+ routing.highlightLabel ? /* @__PURE__ */ jsx("p", { className: "text-center text-agg-sm font-agg-bold leading-agg-5 uppercase text-agg-trade-highlight-accent", children: routing.highlightLabel }) : null
332
+ ] })
333
+ ]
334
+ }
335
+ ),
336
+ /* @__PURE__ */ jsx("p", { className: "text-agg-sm leading-agg-5 text-agg-muted-foreground", children: routing.helperLabel })
337
+ ] }),
338
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4", children: [
339
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
340
+ /* @__PURE__ */ jsx("p", { className: "text-agg-base font-agg-bold leading-agg-6 text-agg-foreground", children: result.label }),
341
+ /* @__PURE__ */ jsx("p", { className: "text-agg-sm leading-agg-5 text-agg-muted-foreground", children: result.hint })
342
+ ] }),
343
+ /* @__PURE__ */ jsx(
344
+ "p",
345
+ {
346
+ className: cn(
347
+ "text-agg-3xl font-agg-bold leading-agg-9",
348
+ getResultValueClassName(result.tone)
349
+ ),
350
+ children: result.value
351
+ }
352
+ )
353
+ ] }),
354
+ /* @__PURE__ */ jsxs(Fragment, { children: [
355
+ getStatusContent({
356
+ placement: "above-action",
357
+ status,
358
+ onStatusAction
359
+ }),
360
+ actionButton,
361
+ getStatusContent({
362
+ placement: "below-action",
363
+ status,
364
+ onStatusAction
365
+ })
366
+ ] }),
367
+ /* @__PURE__ */ jsx("p", { className: "text-center text-agg-xs leading-agg-4 text-agg-muted-foreground", children: resolvedDisclaimer })
368
+ ] });
369
+ return /* @__PURE__ */ jsx(Card, { className: cn(getPlaceOrderContainerClassName(), className), children: contentBody });
370
+ };
371
+ PlaceOrder.displayName = "PlaceOrder";
372
+
373
+ // src/trading/settlement/index.tsx
374
+ import { useCallback, useEffect as useEffect2, useRef, useState as useState2 } from "react";
375
+ import { useLabels as useLabels2, useSdkUiConfig as useSdkUiConfig2 } from "@agg-market/hooks";
376
+ import { Fragment as Fragment2, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
377
+ var getSettlementHeaderClassName = () => {
378
+ return "flex items-center justify-between gap-4";
379
+ };
380
+ var Settlement = ({
381
+ sectionLabel = defaultSettlementSectionLabel,
382
+ question,
383
+ differencesTitle = defaultSettlementDifferencesTitle,
384
+ differences,
385
+ venues,
386
+ defaultExpandedVenue,
387
+ expandedVenue,
388
+ isLoading = false,
389
+ onExpandedVenueChange,
390
+ onShowMore,
391
+ className
392
+ }) => {
393
+ var _a, _b;
394
+ const labels = useLabels2();
395
+ const { enableAnimations } = useSdkUiConfig2();
396
+ const resolvedSectionLabel = sectionLabel === defaultSettlementSectionLabel ? labels.trading.settlementSection : sectionLabel;
397
+ const resolvedDifferencesTitle = differencesTitle === defaultSettlementDifferencesTitle ? labels.trading.settlementDifferencesTitle : differencesTitle;
398
+ const [internalExpandedVenue, setInternalExpandedVenue] = useState2(
399
+ (_b = defaultExpandedVenue != null ? defaultExpandedVenue : (_a = venues[0]) == null ? void 0 : _a.venue) != null ? _b : null
400
+ );
401
+ const [expandedDescriptionByVenue, setExpandedDescriptionByVenue] = useState2({});
402
+ const [overflowingDescriptionByVenue, setOverflowingDescriptionByVenue] = useState2({});
403
+ const [collapsedDescriptionByVenue, setCollapsedDescriptionByVenue] = useState2({});
404
+ const descriptionWrapperRefs = useRef(/* @__PURE__ */ new Map());
405
+ const descriptionMeasureRefs = useRef(/* @__PURE__ */ new Map());
406
+ useEffect2(() => {
407
+ if (expandedVenue === void 0)
408
+ return;
409
+ setInternalExpandedVenue(expandedVenue);
410
+ }, [expandedVenue]);
411
+ const resolvedExpandedVenue = expandedVenue === void 0 ? internalExpandedVenue : expandedVenue;
412
+ const handleVenueClick = (venue) => {
413
+ const nextVenue = resolvedExpandedVenue === venue ? null : venue;
414
+ if (expandedVenue === void 0) {
415
+ setInternalExpandedVenue(nextVenue);
416
+ }
417
+ onExpandedVenueChange == null ? void 0 : onExpandedVenueChange(nextVenue);
418
+ };
419
+ const handleDescriptionWrapperRef = useCallback(
420
+ (venue, element) => {
421
+ if (!element) {
422
+ descriptionWrapperRefs.current.delete(venue);
423
+ return;
424
+ }
425
+ descriptionWrapperRefs.current.set(venue, element);
426
+ },
427
+ []
428
+ );
429
+ const handleDescriptionMeasureRef = useCallback(
430
+ (venue, element) => {
431
+ if (!element) {
432
+ descriptionMeasureRefs.current.delete(venue);
433
+ return;
434
+ }
435
+ descriptionMeasureRefs.current.set(venue, element);
436
+ },
437
+ []
438
+ );
439
+ const updateDescriptionLayout = useCallback(
440
+ (venue, description, showMoreLabel) => {
441
+ const descriptionWrapperElement = descriptionWrapperRefs.current.get(venue);
442
+ const descriptionMeasureElement = descriptionMeasureRefs.current.get(venue);
443
+ if (!descriptionWrapperElement || !descriptionMeasureElement)
444
+ return;
445
+ const wrapperWidth = descriptionWrapperElement.clientWidth;
446
+ if (wrapperWidth <= 0)
447
+ return;
448
+ const computedStyles = window.getComputedStyle(descriptionWrapperElement);
449
+ const parsedLineHeight = Number.parseFloat(computedStyles.lineHeight);
450
+ const lineHeight = Number.isFinite(parsedLineHeight) ? parsedLineHeight : 20;
451
+ const maxHeight = lineHeight * 2 + 1;
452
+ descriptionMeasureElement.style.width = `${wrapperWidth}px`;
453
+ const getHeight = (value) => {
454
+ descriptionMeasureElement.textContent = value;
455
+ return descriptionMeasureElement.scrollHeight;
456
+ };
457
+ const fullHeight = getHeight(description);
458
+ if (fullHeight <= maxHeight) {
459
+ setOverflowingDescriptionByVenue((currentState) => {
460
+ if (currentState[venue] === false)
461
+ return currentState;
462
+ return __spreadProps(__spreadValues({}, currentState), {
463
+ [venue]: false
464
+ });
465
+ });
466
+ setCollapsedDescriptionByVenue((currentState) => {
467
+ if (currentState[venue] === description)
468
+ return currentState;
469
+ return __spreadProps(__spreadValues({}, currentState), {
470
+ [venue]: description
471
+ });
472
+ });
473
+ return;
474
+ }
475
+ const suffix = `... ${showMoreLabel}`;
476
+ let left = 0;
477
+ let right = description.length;
478
+ let bestLength = 0;
479
+ while (left <= right) {
480
+ const middle = Math.floor((left + right) / 2);
481
+ const candidate = description.slice(0, middle).trimEnd();
482
+ const candidateHeight = getHeight(`${candidate}${suffix}`);
483
+ if (candidateHeight <= maxHeight) {
484
+ bestLength = middle;
485
+ left = middle + 1;
486
+ continue;
487
+ }
488
+ right = middle - 1;
489
+ }
490
+ const collapsedDescription = description.slice(0, bestLength).trimEnd();
491
+ setOverflowingDescriptionByVenue((currentState) => {
492
+ if (currentState[venue] === true)
493
+ return currentState;
494
+ return __spreadProps(__spreadValues({}, currentState), {
495
+ [venue]: true
496
+ });
497
+ });
498
+ setCollapsedDescriptionByVenue((currentState) => {
499
+ if (currentState[venue] === collapsedDescription)
500
+ return currentState;
501
+ return __spreadProps(__spreadValues({}, currentState), {
502
+ [venue]: collapsedDescription
503
+ });
504
+ });
505
+ },
506
+ []
507
+ );
508
+ useEffect2(() => {
509
+ if (typeof window === "undefined")
510
+ return;
511
+ if (!resolvedExpandedVenue)
512
+ return;
513
+ if (expandedDescriptionByVenue[resolvedExpandedVenue])
514
+ return;
515
+ const expandedVenueItem = venues.find((venueItem) => venueItem.venue === resolvedExpandedVenue);
516
+ if (!expandedVenueItem)
517
+ return;
518
+ const frameId = window.requestAnimationFrame(() => {
519
+ var _a2;
520
+ updateDescriptionLayout(
521
+ resolvedExpandedVenue,
522
+ expandedVenueItem.description,
523
+ (_a2 = expandedVenueItem.showMoreLabel) != null ? _a2 : "Show more"
524
+ );
525
+ });
526
+ return () => {
527
+ window.cancelAnimationFrame(frameId);
528
+ };
529
+ }, [expandedDescriptionByVenue, resolvedExpandedVenue, updateDescriptionLayout, venues]);
530
+ useEffect2(() => {
531
+ if (!resolvedExpandedVenue)
532
+ return;
533
+ if (expandedDescriptionByVenue[resolvedExpandedVenue])
534
+ return;
535
+ if (typeof ResizeObserver === "undefined")
536
+ return;
537
+ const expandedVenueItem = venues.find((venueItem) => venueItem.venue === resolvedExpandedVenue);
538
+ if (!expandedVenueItem)
539
+ return;
540
+ const descriptionWrapperElement = descriptionWrapperRefs.current.get(resolvedExpandedVenue);
541
+ if (!descriptionWrapperElement)
542
+ return;
543
+ const resizeObserver = new ResizeObserver(() => {
544
+ var _a2;
545
+ updateDescriptionLayout(
546
+ resolvedExpandedVenue,
547
+ expandedVenueItem.description,
548
+ (_a2 = expandedVenueItem.showMoreLabel) != null ? _a2 : "Show more"
549
+ );
550
+ });
551
+ resizeObserver.observe(descriptionWrapperElement);
552
+ return () => {
553
+ resizeObserver.disconnect();
554
+ };
555
+ }, [expandedDescriptionByVenue, resolvedExpandedVenue, updateDescriptionLayout, venues]);
556
+ const handleDescriptionShowMoreClick = (event, venue) => {
557
+ event == null ? void 0 : event.stopPropagation();
558
+ setExpandedDescriptionByVenue((currentState) => {
559
+ if (currentState[venue])
560
+ return currentState;
561
+ return __spreadProps(__spreadValues({}, currentState), {
562
+ [venue]: true
563
+ });
564
+ });
565
+ onShowMore == null ? void 0 : onShowMore(venue);
566
+ };
567
+ if (isLoading) {
568
+ return /* @__PURE__ */ jsx2(
569
+ Skeleton,
570
+ {
571
+ ariaLabel: labels.trading.settlementLoading,
572
+ className,
573
+ view: skeletonViews.settlement
574
+ }
575
+ );
576
+ }
577
+ return /* @__PURE__ */ jsxs2(
578
+ Card,
579
+ {
580
+ className: cn(
581
+ "flex flex-col w-full gap-5 rounded-agg-xl border border-agg-separator bg-agg-secondary p-5 shadow-none hover:shadow-none",
582
+ className
583
+ ),
584
+ children: [
585
+ /* @__PURE__ */ jsxs2("div", { className: getSettlementHeaderClassName(), children: [
586
+ /* @__PURE__ */ jsx2("p", { className: "text-agg-xs font-agg-bold leading-agg-4 uppercase text-agg-muted-foreground", children: resolvedSectionLabel }),
587
+ /* @__PURE__ */ jsx2("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: question })
588
+ ] }),
589
+ /* @__PURE__ */ jsxs2("div", { className: "flex flex-col gap-2", children: [
590
+ /* @__PURE__ */ jsx2("p", { className: "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground", children: resolvedDifferencesTitle }),
591
+ /* @__PURE__ */ jsx2("ul", { className: "list-disc pl-5 text-agg-sm leading-agg-5 text-agg-foreground", children: differences.map((difference) => /* @__PURE__ */ jsx2("li", { children: difference }, difference)) })
592
+ ] }),
593
+ /* @__PURE__ */ jsx2("div", { className: "h-px w-full bg-agg-separator" }),
594
+ /* @__PURE__ */ jsx2("div", { className: "flex flex-col gap-3", children: venues.map((venue) => {
595
+ var _a2, _b2;
596
+ const venueLabel = getTradingVenueLabel(venue.venue, venue.label);
597
+ const isExpanded = resolvedExpandedVenue === venue.venue;
598
+ const isDescriptionExpanded = !!expandedDescriptionByVenue[venue.venue];
599
+ const isDescriptionOverflowing = !!overflowingDescriptionByVenue[venue.venue];
600
+ const shouldShowDescriptionCta = isExpanded && isDescriptionOverflowing && !isDescriptionExpanded;
601
+ const resolvedShowMoreLabel = (_a2 = venue.showMoreLabel) != null ? _a2 : "Show more";
602
+ return /* @__PURE__ */ jsxs2("div", { className: "flex flex-col", children: [
603
+ /* @__PURE__ */ jsxs2(
604
+ "button",
605
+ {
606
+ type: "button",
607
+ className: cn(
608
+ "flex items-center gap-2 text-left",
609
+ "cursor-pointer disabled:cursor-not-allowed hover:opacity-50",
610
+ getMotionClassName(
611
+ enableAnimations,
612
+ "transition-[opacity,color] duration-200 ease-in-out"
613
+ )
614
+ ),
615
+ "aria-expanded": isExpanded,
616
+ "aria-label": labels.trading.settlementDetailsAria(venueLabel),
617
+ onClick: () => handleVenueClick(venue.venue),
618
+ children: [
619
+ /* @__PURE__ */ jsx2(
620
+ VenueLogo,
621
+ {
622
+ venue: venue.venue,
623
+ size: "small",
624
+ ariaLabel: venueLabel
625
+ }
626
+ ),
627
+ /* @__PURE__ */ jsx2(
628
+ "span",
629
+ {
630
+ className: cn(
631
+ "text-agg-sm font-agg-bold leading-agg-5 text-agg-foreground",
632
+ isExpanded ? "text-agg-primary" : "text-agg-foreground"
633
+ ),
634
+ children: venueLabel
635
+ }
636
+ ),
637
+ /* @__PURE__ */ jsx2(
638
+ Icon,
639
+ {
640
+ name: isExpanded ? "chevron-up" : "chevron-down",
641
+ size: "small",
642
+ className: "text-agg-foreground",
643
+ color: "currentColor"
644
+ }
645
+ )
646
+ ]
647
+ }
648
+ ),
649
+ /* @__PURE__ */ jsx2(
650
+ "div",
651
+ {
652
+ "aria-hidden": !isExpanded,
653
+ className: cn(
654
+ "grid overflow-hidden",
655
+ isExpanded ? "mt-2 grid-rows-[1fr] opacity-100" : "mt-0 grid-rows-[0fr] opacity-0",
656
+ !isExpanded && "pointer-events-none",
657
+ getMotionClassName(
658
+ enableAnimations,
659
+ "transition-[grid-template-rows,opacity,margin-top] duration-300 ease-in-out"
660
+ )
661
+ ),
662
+ children: /* @__PURE__ */ jsxs2(
663
+ "div",
664
+ {
665
+ ref: (element) => handleDescriptionWrapperRef(venue.venue, element),
666
+ className: "relative min-h-0",
667
+ children: [
668
+ /* @__PURE__ */ jsxs2("p", { className: "min-h-0 text-agg-sm leading-agg-5 text-agg-foreground", children: [
669
+ isDescriptionExpanded || !isDescriptionOverflowing ? venue.description : (_b2 = collapsedDescriptionByVenue[venue.venue]) != null ? _b2 : venue.description,
670
+ shouldShowDescriptionCta ? /* @__PURE__ */ jsxs2(Fragment2, { children: [
671
+ "... ",
672
+ /* @__PURE__ */ jsx2(
673
+ "button",
674
+ {
675
+ type: "button",
676
+ tabIndex: isExpanded ? 0 : -1,
677
+ className: cn(
678
+ "cursor-pointer disabled:cursor-not-allowed",
679
+ "text-agg-sm leading-agg-5 text-agg-foreground underline-offset-2 hover:underline hover:font-agg-bold",
680
+ getMotionClassName(
681
+ enableAnimations,
682
+ "transition-[text-decoration] duration-200 ease-in-out"
683
+ )
684
+ ),
685
+ "aria-label": labels.trading.settlementShowMoreAria(
686
+ resolvedShowMoreLabel,
687
+ venueLabel
688
+ ),
689
+ onClick: (event) => handleDescriptionShowMoreClick(event, venue.venue),
690
+ children: resolvedShowMoreLabel
691
+ }
692
+ )
693
+ ] }) : null
694
+ ] }),
695
+ /* @__PURE__ */ jsx2(
696
+ "p",
697
+ {
698
+ ref: (element) => handleDescriptionMeasureRef(venue.venue, element),
699
+ "aria-hidden": true,
700
+ className: "pointer-events-none invisible fixed top-0 left-0 -z-10 whitespace-normal text-agg-sm leading-agg-5"
701
+ }
702
+ )
703
+ ]
704
+ }
705
+ )
706
+ }
707
+ )
708
+ ] }, venue.venue);
709
+ }) })
710
+ ]
711
+ }
712
+ );
713
+ };
714
+ Settlement.displayName = "Settlement";
715
+
716
+ export {
717
+ defaultSettlementSectionLabel,
718
+ defaultSettlementDifferencesTitle,
719
+ defaultTradingDisclaimer,
720
+ getTradingDateLabel,
721
+ getTradingVenueLabel,
722
+ getTradingValueLabel,
723
+ getTradingPriceLabel,
724
+ getTradingAveragePriceLabel,
725
+ getTradingBalanceLabel,
726
+ getTradingSharesLabel,
727
+ getTradingSlippageLabel,
728
+ PlaceOrder,
729
+ Settlement
730
+ };